aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--www/Makefile1
-rw-r--r--www/sqlpage/Makefile48
-rw-r--r--www/sqlpage/Makefile.crates378
-rw-r--r--www/sqlpage/distinfo771
-rw-r--r--www/sqlpage/files/patch-build.rs39
-rw-r--r--www/sqlpage/files/sqlpage.conf6
-rw-r--r--www/sqlpage/files/sqlpage.in47
-rw-r--r--www/sqlpage/files/sqlpage.json11
-rw-r--r--www/sqlpage/pkg-descr10
-rw-r--r--www/sqlpage/pkg-message18
-rw-r--r--www/sqlpage/pkg-plist7
13 files changed, 1338 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index c9accb2ce7ce..fac411e9d546 100644
--- a/GIDs
+++ b/GIDs
@@ -808,7 +808,7 @@ plocate:*:860:
# free: 864
# free: 865
# free: 866
-# free: 867
+sqlpage:*:867:
jellyfin:*:868:
keyd:*:869:
buildbot:*:870:
diff --git a/UIDs b/UIDs
index 82618ab8a00b..695e9df7ee2e 100644
--- a/UIDs
+++ b/UIDs
@@ -813,7 +813,7 @@ opensearch:*:855:855::0:0:opensearch user:/nonexistent:/usr/sbin/nologin
# free: 864
# free: 865
# free: 866
-# free: 867
+sqlpage:*:867:867::0:0:SQLPage:/nonexistent:/usr/sbin/nologin
jellyfin:*:868:868::0:0:Jellyfin:/nonexistent:/usr/sbin/nologin
keyd:*:869:869::0:0:Key remapping daemon for evdev:/nonexistent:/usr/sbin/nologin
buildbot:*:870:870::0:0:Buildbot user:/var/db/buildbot:/usr/sbin/nologin
diff --git a/www/Makefile b/www/Makefile
index 721540c31124..101a2484d959 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2311,6 +2311,7 @@
SUBDIR += sogo2-activesync
SUBDIR += spawn-fcgi
SUBDIR += spreadlogd
+ SUBDIR += sqlpage
SUBDIR += sqstat
SUBDIR += squid
SUBDIR += squid-langpack
diff --git a/www/sqlpage/Makefile b/www/sqlpage/Makefile
new file mode 100644
index 000000000000..167957c20772
--- /dev/null
+++ b/www/sqlpage/Makefile
@@ -0,0 +1,48 @@
+# FATAL: Makefile: order must be PORTNAME/PORTVERSION/DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX/PORTREVISION/PORTEPOCH/CATEGORIES/MASTER_SITES/MASTER_SITE_SUBDIR/PROJECTHOST/PKGNAMEPREFIX/PKGNAMESUFFIX/DISTNAME/EXTRACT_SUFX/DISTFILES(_\w+)?/DIST_SUBDIR/EXTRACT_ONLY.
+
+PORTNAME= sqlpage
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.17.1
+CATEGORIES= www databases
+MASTER_SITES= https://cdn.jsdelivr.net/npm/:npm
+DISTFILES= ${NPM_DISTFILES}
+EXTRACT_ONLY= ${_DISTFILES:M*${EXTRACT_SUFX}} ${_DISTFILES:M*crate}
+
+MAINTAINER= girgen@FreeBSD.org
+COMMENT= SQL-only webapp builder.
+WWW= https://github.com/lovasoa/SQLpage
+
+LICENSE= MIT
+
+LIB_DEPENDS= libzstd.so:archivers/zstd
+
+USES= cargo
+USE_RC_SUBR= ${PORTNAME}
+
+USE_GITHUB= yes
+GH_ACCOUNT= lovasoa
+GH_PROJECT= SQLpage
+
+USERS= sqlpage
+GROUPS= sqlpage
+
+NPM_DISTFILES= apexcharts@3.44.0/dist/apexcharts.min.js:npm \
+ @tabler/core@1.0.0-beta20/dist/css/tabler.min.css:npm \
+ @tabler/core@1.0.0-beta20/dist/css/tabler-vendors.min.css:npm \
+ @tabler/core@1.0.0-beta20/dist/js/tabler.min.js:npm \
+ list.js-fixed@2.3.4/dist/list.min.js:npm \
+ @tabler/icons@2.43.0/tabler-sprite.svg:npm
+
+post-extract:
+ cd ${DISTDIR}; ${PAX} -rw ${NPM_DISTFILES:C/\/.*//g} ${WRKSRC}
+
+post-install:
+ ${MKDIR} ${STAGEDIR}/${ETCDIR} ;\
+ ${INSTALL_DATA} ${FILESDIR}/sqlpage.json ${STAGEDIR}${ETCDIR}/sqlpage.json.sample
+ ${MKDIR} ${STAGEDIR}/${WWWDIR} ${STAGEDIR}${DATADIR} ;\
+ ${INSTALL_DATA} ${WRKSRC}/index.sql ${STAGEDIR}${DATADIR}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d ;\
+ ${INSTALL_DATA} ${FILESDIR}/sqlpage.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/sqlpage.conf.sample
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/sqlpage/Makefile.crates b/www/sqlpage/Makefile.crates
new file mode 100644
index 000000000000..1ea0e0b9a3f7
--- /dev/null
+++ b/www/sqlpage/Makefile.crates
@@ -0,0 +1,378 @@
+CARGO_CRATES= actix-codec-0.5.1 \
+ actix-http-3.4.0 \
+ actix-macros-0.2.4 \
+ actix-multipart-0.6.1 \
+ actix-multipart-derive-0.6.1 \
+ actix-router-0.5.1 \
+ actix-rt-2.9.0 \
+ actix-server-2.3.0 \
+ actix-service-2.0.2 \
+ actix-tls-3.1.1 \
+ actix-utils-3.0.1 \
+ actix-web-4.4.0 \
+ actix-web-codegen-4.2.2 \
+ actix-web-httpauth-0.8.1 \
+ addr2line-0.21.0 \
+ adler-1.0.2 \
+ adler32-1.2.0 \
+ ahash-0.7.7 \
+ ahash-0.8.6 \
+ aho-corasick-1.1.2 \
+ alloc-no-stdlib-2.0.4 \
+ alloc-stdlib-0.2.2 \
+ allocator-api2-0.2.16 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anyhow-1.0.75 \
+ argon2-0.5.2 \
+ asn1-rs-0.3.1 \
+ asn1-rs-derive-0.1.0 \
+ asn1-rs-impl-0.1.0 \
+ async-channel-2.1.1 \
+ async-http-codec-0.5.8 \
+ async-io-1.13.0 \
+ async-lock-2.8.0 \
+ async-lock-3.2.0 \
+ async-net-1.8.0 \
+ async-recursion-1.0.5 \
+ async-stream-0.3.5 \
+ async-stream-impl-0.3.5 \
+ async-task-4.5.0 \
+ async-trait-0.1.74 \
+ async-web-client-0.2.7 \
+ async-ws-0.3.4 \
+ atoi-2.0.0 \
+ atomic-waker-1.1.2 \
+ autocfg-1.1.0 \
+ awc-3.2.0 \
+ backtrace-0.3.69 \
+ base64-0.13.1 \
+ base64-0.21.5 \
+ base64ct-1.6.0 \
+ bitflags-1.3.2 \
+ bitflags-2.4.1 \
+ blake2-0.10.6 \
+ block-buffer-0.10.4 \
+ blocking-1.5.1 \
+ brotli-3.4.0 \
+ brotli-decompressor-2.5.1 \
+ bstr-1.8.0 \
+ bumpalo-3.14.0 \
+ byteorder-1.5.0 \
+ bytes-1.5.0 \
+ bytestring-1.3.1 \
+ cc-1.0.83 \
+ cfg-if-1.0.0 \
+ chrono-0.4.31 \
+ concurrent-queue-2.4.0 \
+ config-0.13.4 \
+ const-oid-0.9.5 \
+ convert_case-0.4.0 \
+ cookie-0.16.2 \
+ core-foundation-sys-0.8.6 \
+ core2-0.4.0 \
+ cpufeatures-0.2.11 \
+ crc-3.0.1 \
+ crc-catalog-2.4.0 \
+ crc32fast-1.3.2 \
+ crossbeam-queue-0.3.8 \
+ crossbeam-utils-0.8.16 \
+ crypto-common-0.1.6 \
+ csv-async-1.2.6 \
+ csv-core-0.1.11 \
+ darling-0.20.3 \
+ darling_core-0.20.3 \
+ darling_macro-0.20.3 \
+ dary_heap-0.3.6 \
+ dashmap-5.5.3 \
+ data-encoding-2.5.0 \
+ der-0.7.8 \
+ der-parser-7.0.0 \
+ deranged-0.3.10 \
+ derive_more-0.99.17 \
+ digest-0.10.7 \
+ dirs-5.0.1 \
+ dirs-sys-0.4.1 \
+ displaydoc-0.2.4 \
+ dlv-list-0.3.0 \
+ dotenvy-0.15.7 \
+ either-1.9.0 \
+ encoding_rs-0.8.33 \
+ env_logger-0.10.1 \
+ equivalent-1.0.1 \
+ errno-0.3.8 \
+ event-listener-2.5.3 \
+ event-listener-3.1.0 \
+ event-listener-4.0.0 \
+ event-listener-strategy-0.4.0 \
+ fastrand-1.9.0 \
+ fastrand-2.0.1 \
+ finl_unicode-1.2.0 \
+ flate2-1.0.28 \
+ flume-0.11.0 \
+ fnv-1.0.7 \
+ form_urlencoded-1.2.1 \
+ futures-0.3.29 \
+ futures-channel-0.3.29 \
+ futures-core-0.3.29 \
+ futures-executor-0.3.29 \
+ futures-intrusive-0.5.0 \
+ futures-io-0.3.29 \
+ futures-lite-1.13.0 \
+ futures-lite-2.1.0 \
+ futures-macro-0.3.29 \
+ futures-rustls-0.24.0 \
+ futures-sink-0.3.29 \
+ futures-task-0.3.29 \
+ futures-util-0.3.29 \
+ generic-array-0.14.7 \
+ generic_static-0.2.0 \
+ getrandom-0.2.11 \
+ gimli-0.28.1 \
+ gloo-net-0.2.6 \
+ gloo-utils-0.1.7 \
+ h2-0.3.22 \
+ handlebars-5.0.0-beta.5 \
+ hashbrown-0.12.3 \
+ hashbrown-0.13.2 \
+ hashbrown-0.14.3 \
+ hashlink-0.8.4 \
+ heck-0.4.1 \
+ hermit-abi-0.3.3 \
+ hex-0.4.3 \
+ hkdf-0.12.3 \
+ hmac-0.12.1 \
+ http-0.2.11 \
+ http-body-0.4.6 \
+ httparse-1.8.0 \
+ httpdate-1.0.3 \
+ humantime-2.1.0 \
+ hyper-0.14.27 \
+ iana-time-zone-0.1.58 \
+ iana-time-zone-haiku-0.1.2 \
+ ident_case-1.0.1 \
+ idna-0.5.0 \
+ impl-more-0.1.6 \
+ include_dir-0.7.3 \
+ include_dir_macros-0.7.3 \
+ indexmap-2.1.0 \
+ instant-0.1.12 \
+ io-lifetimes-1.0.11 \
+ is-terminal-0.4.9 \
+ itertools-0.12.0 \
+ itoa-1.0.10 \
+ jobserver-0.1.27 \
+ js-sys-0.3.66 \
+ json5-0.4.1 \
+ lambda-web-0.2.1 \
+ lambda_runtime-0.7.3 \
+ lambda_runtime_api_client-0.7.0 \
+ language-tags-0.3.2 \
+ lazy_static-1.4.0 \
+ libc-0.2.150 \
+ libflate-2.0.0 \
+ libflate_lz77-2.0.0 \
+ libm-0.2.8 \
+ libredox-0.0.1 \
+ libsqlite3-sys-0.27.0 \
+ linked-hash-map-0.5.6 \
+ linux-raw-sys-0.3.8 \
+ linux-raw-sys-0.4.12 \
+ local-channel-0.1.5 \
+ local-waker-0.1.4 \
+ lock_api-0.4.11 \
+ log-0.4.20 \
+ markdown-1.0.0-alpha.16 \
+ md-5-0.10.6 \
+ memchr-2.6.4 \
+ mime-0.3.17 \
+ mime_guess-2.0.4 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.1 \
+ mio-0.8.10 \
+ nom-7.1.3 \
+ num-bigint-0.4.4 \
+ num-bigint-dig-0.8.4 \
+ num-integer-0.1.45 \
+ num-iter-0.1.43 \
+ num-traits-0.2.17 \
+ num_cpus-1.16.0 \
+ object-0.32.1 \
+ oid-registry-0.4.0 \
+ once_cell-1.19.0 \
+ option-ext-0.2.0 \
+ ordered-multimap-0.4.3 \
+ parking-2.2.0 \
+ parking_lot-0.12.1 \
+ parking_lot_core-0.9.9 \
+ parse-size-1.0.0 \
+ password-hash-0.5.0 \
+ paste-1.0.14 \
+ pathdiff-0.2.1 \
+ pem-1.1.1 \
+ pem-rfc7468-0.7.0 \
+ percent-encoding-2.3.1 \
+ pest-2.7.5 \
+ pest_derive-2.7.5 \
+ pest_generator-2.7.5 \
+ pest_meta-2.7.5 \
+ pin-project-1.1.3 \
+ pin-project-internal-1.1.3 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ piper-0.2.1 \
+ pkcs1-0.7.5 \
+ pkcs8-0.10.2 \
+ pkg-config-0.3.27 \
+ polling-2.8.0 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.17 \
+ proc-macro2-1.0.70 \
+ quote-1.0.33 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rcgen-0.10.0 \
+ redox_syscall-0.4.1 \
+ redox_users-0.4.4 \
+ regex-1.10.2 \
+ regex-automata-0.4.3 \
+ regex-syntax-0.8.2 \
+ ring-0.16.20 \
+ ring-0.17.7 \
+ rle-decode-fast-1.0.3 \
+ ron-0.7.1 \
+ rsa-0.9.6 \
+ rust-ini-0.18.0 \
+ rustc-demangle-0.1.23 \
+ rustc_version-0.4.0 \
+ rusticata-macros-4.1.0 \
+ rustix-0.37.27 \
+ rustix-0.38.28 \
+ rustls-0.20.9 \
+ rustls-0.21.10 \
+ rustls-acme-0.7.7 \
+ rustls-pemfile-1.0.4 \
+ rustls-webpki-0.101.7 \
+ rustversion-1.0.14 \
+ ryu-1.0.16 \
+ scopeguard-1.2.0 \
+ sct-0.7.1 \
+ semver-1.0.20 \
+ serde-1.0.193 \
+ serde_derive-1.0.193 \
+ serde_json-1.0.108 \
+ serde_plain-1.0.2 \
+ serde_urlencoded-0.7.1 \
+ sha1-0.10.6 \
+ sha2-0.10.8 \
+ signal-hook-registry-1.4.1 \
+ signature-2.2.0 \
+ slab-0.4.9 \
+ smallvec-1.11.2 \
+ socket2-0.4.10 \
+ socket2-0.5.5 \
+ spin-0.5.2 \
+ spin-0.9.8 \
+ spki-0.7.3 \
+ sqlformat-0.2.3 \
+ sqlparser-0.40.0 \
+ sqlparser_derive-0.2.1 \
+ sqlx-core-oldapi-0.6.18 \
+ sqlx-macros-oldapi-0.6.18 \
+ sqlx-oldapi-0.6.18 \
+ sqlx-rt-oldapi-0.6.18 \
+ stringprep-0.1.4 \
+ strsim-0.10.0 \
+ strum-0.24.1 \
+ strum_macros-0.24.3 \
+ subtle-2.5.0 \
+ syn-1.0.109 \
+ syn-2.0.39 \
+ synstructure-0.12.6 \
+ tempfile-3.8.1 \
+ termcolor-1.4.0 \
+ thiserror-1.0.50 \
+ thiserror-impl-1.0.50 \
+ time-0.3.30 \
+ time-core-0.1.2 \
+ time-macros-0.2.15 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.35.0 \
+ tokio-macros-2.2.0 \
+ tokio-rustls-0.23.4 \
+ tokio-rustls-0.24.1 \
+ tokio-stream-0.1.14 \
+ tokio-util-0.7.10 \
+ toml-0.5.11 \
+ tower-0.4.13 \
+ tower-layer-0.3.2 \
+ tower-service-0.3.2 \
+ tracing-0.1.40 \
+ tracing-attributes-0.1.27 \
+ tracing-core-0.1.32 \
+ try-lock-0.2.5 \
+ typenum-1.17.0 \
+ ucd-trie-0.1.6 \
+ unicase-2.7.0 \
+ unicode-bidi-0.3.14 \
+ unicode-id-0.3.4 \
+ unicode-ident-1.0.12 \
+ unicode-normalization-0.1.22 \
+ unicode-segmentation-1.10.1 \
+ unicode-xid-0.2.4 \
+ unicode_categories-0.1.1 \
+ untrusted-0.7.1 \
+ untrusted-0.9.0 \
+ url-2.5.0 \
+ utf-8-0.7.6 \
+ uuid-1.6.1 \
+ vcpkg-0.2.15 \
+ version_check-0.9.4 \
+ waker-fn-1.1.1 \
+ want-0.3.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.89 \
+ wasm-bindgen-backend-0.2.89 \
+ wasm-bindgen-futures-0.4.39 \
+ wasm-bindgen-macro-0.2.89 \
+ wasm-bindgen-macro-support-0.2.89 \
+ wasm-bindgen-shared-0.2.89 \
+ web-sys-0.3.66 \
+ webpki-0.22.4 \
+ webpki-roots-0.22.6 \
+ webpki-roots-0.25.3 \
+ whoami-1.4.1 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-core-0.51.1 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0 \
+ x509-parser-0.13.2 \
+ yaml-rust-0.4.5 \
+ yasna-0.5.2 \
+ zerocopy-0.7.30 \
+ zerocopy-derive-0.7.30 \
+ zeroize-1.7.0 \
+ zstd-0.12.4 \
+ zstd-safe-6.0.6 \
+ zstd-sys-2.0.9+zstd.1.5.5
diff --git a/www/sqlpage/distinfo b/www/sqlpage/distinfo
new file mode 100644
index 000000000000..8b8ef11f7aa4
--- /dev/null
+++ b/www/sqlpage/distinfo
@@ -0,0 +1,771 @@
+TIMESTAMP = 1703865215
+SHA256 (apexcharts@3.44.0/dist/apexcharts.min.js) = 57c7be0aef8d8e4b496940ff059a9757e6d3327c9edbff605c1b6f83b0714294
+SIZE (apexcharts@3.44.0/dist/apexcharts.min.js) = 517155
+SHA256 (@tabler/core@1.0.0-beta20/dist/css/tabler.min.css) = 952de72b130c6622884491bb5205289ce1d8baf1e05b979c9048ef1cc6316fd4
+SIZE (@tabler/core@1.0.0-beta20/dist/css/tabler.min.css) = 548265
+SHA256 (@tabler/core@1.0.0-beta20/dist/css/tabler-vendors.min.css) = 01aec050e6b3ea124b894cd04ad653cb654f399ca0d15892a36302ce90d4d6d6
+SIZE (@tabler/core@1.0.0-beta20/dist/css/tabler-vendors.min.css) = 30278
+SHA256 (@tabler/core@1.0.0-beta20/dist/js/tabler.min.js) = ca03b9393454b58c430e41114700427eaf9f99a92133ac9bc1f97a80208f9404
+SIZE (@tabler/core@1.0.0-beta20/dist/js/tabler.min.js) = 136512
+SHA256 (list.js-fixed@2.3.4/dist/list.min.js) = b18cbba8d256ed14ee68d0348eae98aed7ece7bca962b22d6777fc4fb92a7cf3
+SIZE (list.js-fixed@2.3.4/dist/list.min.js) = 18786
+SHA256 (@tabler/icons@2.43.0/tabler-sprite.svg) = 95f2ee02ba266d1e9d88460ee5d2c72fb6884a7259d73b4edb22e84c569829b1
+SIZE (@tabler/icons@2.43.0/tabler-sprite.svg) = 2194120
+SHA256 (rust/crates/actix-codec-0.5.1.crate) = 617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8
+SIZE (rust/crates/actix-codec-0.5.1.crate) = 14337
+SHA256 (rust/crates/actix-http-3.4.0.crate) = a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9
+SIZE (rust/crates/actix-http-3.4.0.crate) = 151156
+SHA256 (rust/crates/actix-macros-0.2.4.crate) = e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb
+SIZE (rust/crates/actix-macros-0.2.4.crate) = 8380
+SHA256 (rust/crates/actix-multipart-0.6.1.crate) = 3b960e2aea75f49c8f069108063d12a48d329fc8b60b786dfc7552a9d5918d2d
+SIZE (rust/crates/actix-multipart-0.6.1.crate) = 24535
+SHA256 (rust/crates/actix-multipart-derive-0.6.1.crate) = 0a0a77f836d869f700e5b47ac7c3c8b9c8bc82e4aec861954c6198abee3ebd4d
+SIZE (rust/crates/actix-multipart-derive-0.6.1.crate) = 9348
+SHA256 (rust/crates/actix-router-0.5.1.crate) = d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799
+SIZE (rust/crates/actix-router-0.5.1.crate) = 31905
+SHA256 (rust/crates/actix-rt-2.9.0.crate) = 28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d
+SIZE (rust/crates/actix-rt-2.9.0.crate) = 22096
+SHA256 (rust/crates/actix-server-2.3.0.crate) = 3eb13e7eef0423ea6eab0e59f6c72e7cb46d33691ad56a726b3cd07ddec2c2d4
+SIZE (rust/crates/actix-server-2.3.0.crate) = 38806
+SHA256 (rust/crates/actix-service-2.0.2.crate) = 3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a
+SIZE (rust/crates/actix-service-2.0.2.crate) = 25293
+SHA256 (rust/crates/actix-tls-3.1.1.crate) = 72616e7fbec0aa99c6f3164677fa48ff5a60036d0799c98cab894a44f3e0efc3
+SIZE (rust/crates/actix-tls-3.1.1.crate) = 35389
+SHA256 (rust/crates/actix-utils-3.0.1.crate) = 88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8
+SIZE (rust/crates/actix-utils-3.0.1.crate) = 10096
+SHA256 (rust/crates/actix-web-4.4.0.crate) = 0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9
+SIZE (rust/crates/actix-web-4.4.0.crate) = 228719
+SHA256 (rust/crates/actix-web-codegen-4.2.2.crate) = eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5
+SIZE (rust/crates/actix-web-codegen-4.2.2.crate) = 17159
+SHA256 (rust/crates/actix-web-httpauth-0.8.1.crate) = 1d613edf08a42ccc6864c941d30fe14e1b676a77d16f1dbadc1174d065a0a775
+SIZE (rust/crates/actix-web-httpauth-0.8.1.crate) = 27480
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
+SIZE (rust/crates/adler32-1.2.0.crate) = 6411
+SHA256 (rust/crates/ahash-0.7.7.crate) = 5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd
+SIZE (rust/crates/ahash-0.7.7.crate) = 38508
+SHA256 (rust/crates/ahash-0.8.6.crate) = 91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a
+SIZE (rust/crates/ahash-0.8.6.crate) = 42780
+SHA256 (rust/crates/aho-corasick-1.1.2.crate) = b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0
+SIZE (rust/crates/aho-corasick-1.1.2.crate) = 183136
+SHA256 (rust/crates/alloc-no-stdlib-2.0.4.crate) = cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3
+SIZE (rust/crates/alloc-no-stdlib-2.0.4.crate) = 10105
+SHA256 (rust/crates/alloc-stdlib-0.2.2.crate) = 94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece
+SIZE (rust/crates/alloc-stdlib-0.2.2.crate) = 6693
+SHA256 (rust/crates/allocator-api2-0.2.16.crate) = 0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5
+SIZE (rust/crates/allocator-api2-0.2.16.crate) = 59025
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+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/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
+SHA256 (rust/crates/argon2-0.5.2.crate) = 17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9
+SIZE (rust/crates/argon2-0.5.2.crate) = 28471
+SHA256 (rust/crates/asn1-rs-0.3.1.crate) = 30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33
+SIZE (rust/crates/asn1-rs-0.3.1.crate) = 65754
+SHA256 (rust/crates/asn1-rs-derive-0.1.0.crate) = db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf
+SIZE (rust/crates/asn1-rs-derive-0.1.0.crate) = 2483
+SHA256 (rust/crates/asn1-rs-impl-0.1.0.crate) = 2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed
+SIZE (rust/crates/asn1-rs-impl-0.1.0.crate) = 2256
+SHA256 (rust/crates/async-channel-2.1.1.crate) = 1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c
+SIZE (rust/crates/async-channel-2.1.1.crate) = 14159
+SHA256 (rust/crates/async-http-codec-0.5.8.crate) = afc4f0600c43df768851edad95ad43119ebde70e2feec8e39b91f97c9b62029e
+SIZE (rust/crates/async-http-codec-0.5.8.crate) = 24046
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b
+SIZE (rust/crates/async-lock-2.8.0.crate) = 29944
+SHA256 (rust/crates/async-lock-3.2.0.crate) = 7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c
+SIZE (rust/crates/async-lock-3.2.0.crate) = 33101
+SHA256 (rust/crates/async-net-1.8.0.crate) = 0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f
+SIZE (rust/crates/async-net-1.8.0.crate) = 17763
+SHA256 (rust/crates/async-recursion-1.0.5.crate) = 5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0
+SIZE (rust/crates/async-recursion-1.0.5.crate) = 11890
+SHA256 (rust/crates/async-stream-0.3.5.crate) = cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51
+SIZE (rust/crates/async-stream-0.3.5.crate) = 11916
+SHA256 (rust/crates/async-stream-impl-0.3.5.crate) = 16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193
+SIZE (rust/crates/async-stream-impl-0.3.5.crate) = 4173
+SHA256 (rust/crates/async-task-4.5.0.crate) = b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1
+SIZE (rust/crates/async-task-4.5.0.crate) = 36956
+SHA256 (rust/crates/async-trait-0.1.74.crate) = a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9
+SIZE (rust/crates/async-trait-0.1.74.crate) = 28997
+SHA256 (rust/crates/async-web-client-0.2.7.crate) = 3838368c36426d00ad882467ea2308b17eceee33a10d840c2c90fd0923ee3b7e
+SIZE (rust/crates/async-web-client-0.2.7.crate) = 16473
+SHA256 (rust/crates/async-ws-0.3.4.crate) = e1b9363f44ce91e6425b719432e3ff359a803434af3e577754a07e5d9ddbeda4
+SIZE (rust/crates/async-ws-0.3.4.crate) = 30381
+SHA256 (rust/crates/atoi-2.0.0.crate) = f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528
+SIZE (rust/crates/atoi-2.0.0.crate) = 7785
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/awc-3.2.0.crate) = 7fa3c705a9c7917ac0f41c0757a0a747b43bbc29b0b364b081bd7c5fc67fb223
+SIZE (rust/crates/awc-3.2.0.crate) = 72680
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64-0.21.5.crate) = 35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9
+SIZE (rust/crates/base64-0.21.5.crate) = 77134
+SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
+SIZE (rust/crates/base64ct-1.6.0.crate) = 28870
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.4.1.crate) = 327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07
+SIZE (rust/crates/bitflags-2.4.1.crate) = 37043
+SHA256 (rust/crates/blake2-0.10.6.crate) = 46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe
+SIZE (rust/crates/blake2-0.10.6.crate) = 47234
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/blocking-1.5.1.crate) = 6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118
+SIZE (rust/crates/blocking-1.5.1.crate) = 17277
+SHA256 (rust/crates/brotli-3.4.0.crate) = 516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f
+SIZE (rust/crates/brotli-3.4.0.crate) = 1362057
+SHA256 (rust/crates/brotli-decompressor-2.5.1.crate) = 4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f
+SIZE (rust/crates/brotli-decompressor-2.5.1.crate) = 193087
+SHA256 (rust/crates/bstr-1.8.0.crate) = 542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c
+SIZE (rust/crates/bstr-1.8.0.crate) = 380176
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223
+SIZE (rust/crates/bytes-1.5.0.crate) = 58909
+SHA256 (rust/crates/bytestring-1.3.1.crate) = 74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72
+SIZE (rust/crates/bytestring-1.3.1.crate) = 9142
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.31.crate) = 7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38
+SIZE (rust/crates/chrono-0.4.31.crate) = 214513
+SHA256 (rust/crates/concurrent-queue-2.4.0.crate) = d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363
+SIZE (rust/crates/concurrent-queue-2.4.0.crate) = 20244
+SHA256 (rust/crates/config-0.13.4.crate) = 23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca
+SIZE (rust/crates/config-0.13.4.crate) = 80328
+SHA256 (rust/crates/const-oid-0.9.5.crate) = 28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f
+SIZE (rust/crates/const-oid-0.9.5.crate) = 45229
+SHA256 (rust/crates/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e
+SIZE (rust/crates/convert_case-0.4.0.crate) = 8098
+SHA256 (rust/crates/cookie-0.16.2.crate) = e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb
+SIZE (rust/crates/cookie-0.16.2.crate) = 34632
+SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f
+SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
+SHA256 (rust/crates/core2-0.4.0.crate) = b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505
+SIZE (rust/crates/core2-0.4.0.crate) = 37075
+SHA256 (rust/crates/cpufeatures-0.2.11.crate) = ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0
+SIZE (rust/crates/cpufeatures-0.2.11.crate) = 12727
+SHA256 (rust/crates/crc-3.0.1.crate) = 86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe
+SIZE (rust/crates/crc-3.0.1.crate) = 9950
+SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5
+SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/crossbeam-queue-0.3.8.crate) = d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add
+SIZE (rust/crates/crossbeam-queue-0.3.8.crate) = 16731
+SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
+SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/csv-async-1.2.6.crate) = 71933d3f2d0481d5111cb2817b15b6961961458ec58adf8008194e6c850046f4
+SIZE (rust/crates/csv-async-1.2.6.crate) = 85954
+SHA256 (rust/crates/csv-core-0.1.11.crate) = 5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70
+SIZE (rust/crates/csv-core-0.1.11.crate) = 25852
+SHA256 (rust/crates/darling-0.20.3.crate) = 0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e
+SIZE (rust/crates/darling-0.20.3.crate) = 26066
+SHA256 (rust/crates/darling_core-0.20.3.crate) = 177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621
+SIZE (rust/crates/darling_core-0.20.3.crate) = 60281
+SHA256 (rust/crates/darling_macro-0.20.3.crate) = 836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5
+SIZE (rust/crates/darling_macro-0.20.3.crate) = 1859
+SHA256 (rust/crates/dary_heap-0.3.6.crate) = 7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca
+SIZE (rust/crates/dary_heap-0.3.6.crate) = 23683
+SHA256 (rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856
+SIZE (rust/crates/dashmap-5.5.3.crate) = 24061
+SHA256 (rust/crates/data-encoding-2.5.0.crate) = 7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5
+SIZE (rust/crates/data-encoding-2.5.0.crate) = 20632
+SHA256 (rust/crates/der-0.7.8.crate) = fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c
+SIZE (rust/crates/der-0.7.8.crate) = 85085
+SHA256 (rust/crates/der-parser-7.0.0.crate) = fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82
+SIZE (rust/crates/der-parser-7.0.0.crate) = 62990
+SHA256 (rust/crates/deranged-0.3.10.crate) = 8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc
+SIZE (rust/crates/deranged-0.3.10.crate) = 17803
+SHA256 (rust/crates/derive_more-0.99.17.crate) = 4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321
+SIZE (rust/crates/derive_more-0.99.17.crate) = 55771
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dirs-5.0.1.crate) = 44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225
+SIZE (rust/crates/dirs-5.0.1.crate) = 12255
+SHA256 (rust/crates/dirs-sys-0.4.1.crate) = 520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c
+SIZE (rust/crates/dirs-sys-0.4.1.crate) = 10719
+SHA256 (rust/crates/displaydoc-0.2.4.crate) = 487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d
+SIZE (rust/crates/displaydoc-0.2.4.crate) = 23200
+SHA256 (rust/crates/dlv-list-0.3.0.crate) = 0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257
+SIZE (rust/crates/dlv-list-0.3.0.crate) = 11920
+SHA256 (rust/crates/dotenvy-0.15.7.crate) = 1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b
+SIZE (rust/crates/dotenvy-0.15.7.crate) = 20293
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
+SHA256 (rust/crates/encoding_rs-0.8.33.crate) = 7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1
+SIZE (rust/crates/encoding_rs-0.8.33.crate) = 1370071
+SHA256 (rust/crates/env_logger-0.10.1.crate) = 95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece
+SIZE (rust/crates/env_logger-0.10.1.crate) = 36524
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0
+SIZE (rust/crates/event-listener-2.5.3.crate) = 15392
+SHA256 (rust/crates/event-listener-3.1.0.crate) = d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2
+SIZE (rust/crates/event-listener-3.1.0.crate) = 38793
+SHA256 (rust/crates/event-listener-4.0.0.crate) = 770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae
+SIZE (rust/crates/event-listener-4.0.0.crate) = 39070
+SHA256 (rust/crates/event-listener-strategy-0.4.0.crate) = 958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3
+SIZE (rust/crates/event-listener-strategy-0.4.0.crate) = 10225
+SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be
+SIZE (rust/crates/fastrand-1.9.0.crate) = 11910
+SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5
+SIZE (rust/crates/fastrand-2.0.1.crate) = 14664
+SHA256 (rust/crates/finl_unicode-1.2.0.crate) = 8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6
+SIZE (rust/crates/finl_unicode-1.2.0.crate) = 687752
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/flume-0.11.0.crate) = 55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181
+SIZE (rust/crates/flume-0.11.0.crate) = 67502
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-0.3.29.crate) = da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335
+SIZE (rust/crates/futures-0.3.29.crate) = 53624
+SHA256 (rust/crates/futures-channel-0.3.29.crate) = ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb
+SIZE (rust/crates/futures-channel-0.3.29.crate) = 32432
+SHA256 (rust/crates/futures-core-0.3.29.crate) = eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c
+SIZE (rust/crates/futures-core-0.3.29.crate) = 14808
+SHA256 (rust/crates/futures-executor-0.3.29.crate) = 0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc
+SIZE (rust/crates/futures-executor-0.3.29.crate) = 17745
+SHA256 (rust/crates/futures-intrusive-0.5.0.crate) = 1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f
+SIZE (rust/crates/futures-intrusive-0.5.0.crate) = 85563
+SHA256 (rust/crates/futures-io-0.3.29.crate) = 8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa
+SIZE (rust/crates/futures-io-0.3.29.crate) = 8908
+SHA256 (rust/crates/futures-lite-1.13.0.crate) = 49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce
+SIZE (rust/crates/futures-lite-1.13.0.crate) = 37058
+SHA256 (rust/crates/futures-lite-2.1.0.crate) = aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143
+SIZE (rust/crates/futures-lite-2.1.0.crate) = 37884
+SHA256 (rust/crates/futures-macro-0.3.29.crate) = 53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb
+SIZE (rust/crates/futures-macro-0.3.29.crate) = 11278
+SHA256 (rust/crates/futures-rustls-0.24.0.crate) = 35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28
+SIZE (rust/crates/futures-rustls-0.24.0.crate) = 22542
+SHA256 (rust/crates/futures-sink-0.3.29.crate) = e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817
+SIZE (rust/crates/futures-sink-0.3.29.crate) = 7853
+SHA256 (rust/crates/futures-task-0.3.29.crate) = efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2
+SIZE (rust/crates/futures-task-0.3.29.crate) = 11853
+SHA256 (rust/crates/futures-util-0.3.29.crate) = a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104
+SIZE (rust/crates/futures-util-0.3.29.crate) = 160207
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/generic_static-0.2.0.crate) = 28ccff179d8070317671db09aee6d20affc26e88c5394714553b04f509b43a60
+SIZE (rust/crates/generic_static-0.2.0.crate) = 3371
+SHA256 (rust/crates/getrandom-0.2.11.crate) = fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f
+SIZE (rust/crates/getrandom-0.2.11.crate) = 35391
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/gloo-net-0.2.6.crate) = 9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10
+SIZE (rust/crates/gloo-net-0.2.6.crate) = 16226
+SHA256 (rust/crates/gloo-utils-0.1.7.crate) = 037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e
+SIZE (rust/crates/gloo-utils-0.1.7.crate) = 5101
+SHA256 (rust/crates/h2-0.3.22.crate) = 4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178
+SIZE (rust/crates/h2-0.3.22.crate) = 166413
+SHA256 (rust/crates/handlebars-5.0.0-beta.5.crate) = fa5bb5621f5b879a43fe21b22a1c6baa725a01383a4c99a2d7e067d539cb6943
+SIZE (rust/crates/handlebars-5.0.0-beta.5.crate) = 95208
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e
+SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/hashlink-0.8.4.crate) = e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7
+SIZE (rust/crates/hashlink-0.8.4.crate) = 26514
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hkdf-0.12.3.crate) = 791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437
+SIZE (rust/crates/hkdf-0.12.3.crate) = 170910
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/http-0.2.11.crate) = 8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb
+SIZE (rust/crates/http-0.2.11.crate) = 100478
+SHA256 (rust/crates/http-body-0.4.6.crate) = 7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2
+SIZE (rust/crates/http-body-0.4.6.crate) = 10773
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
+SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/hyper-0.14.27.crate) = ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468
+SIZE (rust/crates/hyper-0.14.27.crate) = 195700
+SHA256 (rust/crates/iana-time-zone-0.1.58.crate) = 8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20
+SIZE (rust/crates/iana-time-zone-0.1.58.crate) = 27020
+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/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/impl-more-0.1.6.crate) = 206ca75c9c03ba3d4ace2460e57b189f39f43de612c2f85836e65c929701bb2d
+SIZE (rust/crates/impl-more-0.1.6.crate) = 13967
+SHA256 (rust/crates/include_dir-0.7.3.crate) = 18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e
+SIZE (rust/crates/include_dir-0.7.3.crate) = 6046
+SHA256 (rust/crates/include_dir_macros-0.7.3.crate) = b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f
+SIZE (rust/crates/include_dir_macros-0.7.3.crate) = 3700
+SHA256 (rust/crates/indexmap-2.1.0.crate) = d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f
+SIZE (rust/crates/indexmap-2.1.0.crate) = 68224
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/io-lifetimes-1.0.11.crate) = eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2
+SIZE (rust/crates/io-lifetimes-1.0.11.crate) = 37346
+SHA256 (rust/crates/is-terminal-0.4.9.crate) = cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b
+SIZE (rust/crates/is-terminal-0.4.9.crate) = 8109
+SHA256 (rust/crates/itertools-0.12.0.crate) = 25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0
+SIZE (rust/crates/itertools-0.12.0.crate) = 133620
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/jobserver-0.1.27.crate) = 8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d
+SIZE (rust/crates/jobserver-0.1.27.crate) = 24774
+SHA256 (rust/crates/js-sys-0.3.66.crate) = cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca
+SIZE (rust/crates/js-sys-0.3.66.crate) = 80765
+SHA256 (rust/crates/json5-0.4.1.crate) = 96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1
+SIZE (rust/crates/json5-0.4.1.crate) = 15678
+SHA256 (rust/crates/lambda-web-0.2.1.crate) = ea6277b60649250d681654162b7e8e875c938295ea5f883eb9a8da7e27d2c051
+SIZE (rust/crates/lambda-web-0.2.1.crate) = 33752
+SHA256 (rust/crates/lambda_runtime-0.7.3.crate) = bd32d5799db2155ae4d47116bb3e169b59f531ced4d5762a10c2125bdd2bf134
+SIZE (rust/crates/lambda_runtime-0.7.3.crate) = 16602
+SHA256 (rust/crates/lambda_runtime_api_client-0.7.0.crate) = 7210012be904051520f0dc502140ba599bae3042b65b3737b87727f1aa88a7d6
+SIZE (rust/crates/lambda_runtime_api_client-0.7.0.crate) = 3456
+SHA256 (rust/crates/language-tags-0.3.2.crate) = d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388
+SIZE (rust/crates/language-tags-0.3.2.crate) = 53420
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.150.crate) = 89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c
+SIZE (rust/crates/libc-0.2.150.crate) = 719359
+SHA256 (rust/crates/libflate-2.0.0.crate) = 9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf
+SIZE (rust/crates/libflate-2.0.0.crate) = 42505
+SHA256 (rust/crates/libflate_lz77-2.0.0.crate) = be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524
+SIZE (rust/crates/libflate_lz77-2.0.0.crate) = 5893
+SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058
+SIZE (rust/crates/libm-0.2.8.crate) = 113450
+SHA256 (rust/crates/libredox-0.0.1.crate) = 85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8
+SIZE (rust/crates/libredox-0.0.1.crate) = 4212
+SHA256 (rust/crates/libsqlite3-sys-0.27.0.crate) = cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716
+SIZE (rust/crates/libsqlite3-sys-0.27.0.crate) = 4948458
+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.3.8.crate) = ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519
+SIZE (rust/crates/linux-raw-sys-0.3.8.crate) = 1013776
+SHA256 (rust/crates/linux-raw-sys-0.4.12.crate) = c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456
+SIZE (rust/crates/linux-raw-sys-0.4.12.crate) = 1465800
+SHA256 (rust/crates/local-channel-0.1.5.crate) = b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8
+SIZE (rust/crates/local-channel-0.1.5.crate) = 7881
+SHA256 (rust/crates/local-waker-0.1.4.crate) = 4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487
+SIZE (rust/crates/local-waker-0.1.4.crate) = 6730
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/markdown-1.0.0-alpha.16.crate) = 5b0f0025e8c0d89b84d6dc63e859475e40e8e82ab1a08be0a93ad5731513a508
+SIZE (rust/crates/markdown-1.0.0-alpha.16.crate) = 193486
+SHA256 (rust/crates/md-5-0.10.6.crate) = d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf
+SIZE (rust/crates/md-5-0.10.6.crate) = 16161
+SHA256 (rust/crates/memchr-2.6.4.crate) = f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167
+SIZE (rust/crates/memchr-2.6.4.crate) = 94439
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
+SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
+SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
+SHA256 (rust/crates/mio-0.8.10.crate) = 8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09
+SIZE (rust/crates/mio-0.8.10.crate) = 102345
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/num-bigint-0.4.4.crate) = 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0
+SIZE (rust/crates/num-bigint-0.4.4.crate) = 99369
+SHA256 (rust/crates/num-bigint-dig-0.8.4.crate) = dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151
+SIZE (rust/crates/num-bigint-dig-0.8.4.crate) = 123825
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-iter-0.1.43.crate) = 7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252
+SIZE (rust/crates/num-iter-0.1.43.crate) = 10655
+SHA256 (rust/crates/num-traits-0.2.17.crate) = 39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c
+SIZE (rust/crates/num-traits-0.2.17.crate) = 50190
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/object-0.32.1.crate) = 9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0
+SIZE (rust/crates/object-0.32.1.crate) = 275463
+SHA256 (rust/crates/oid-registry-0.4.0.crate) = 38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a
+SIZE (rust/crates/oid-registry-0.4.0.crate) = 14884
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/ordered-multimap-0.4.3.crate) = ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a
+SIZE (rust/crates/ordered-multimap-0.4.3.crate) = 19599
+SHA256 (rust/crates/parking-2.2.0.crate) = bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae
+SIZE (rust/crates/parking-2.2.0.crate) = 9730
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/parse-size-1.0.0.crate) = 944553dd59c802559559161f9816429058b869003836120e262e8caec061b7ae
+SIZE (rust/crates/parse-size-1.0.0.crate) = 6588
+SHA256 (rust/crates/password-hash-0.5.0.crate) = 346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166
+SIZE (rust/crates/password-hash-0.5.0.crate) = 26884
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
+SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd
+SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142
+SHA256 (rust/crates/pem-1.1.1.crate) = a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8
+SIZE (rust/crates/pem-1.1.1.crate) = 11352
+SHA256 (rust/crates/pem-rfc7468-0.7.0.crate) = 88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412
+SIZE (rust/crates/pem-rfc7468-0.7.0.crate) = 24159
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pest-2.7.5.crate) = ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5
+SIZE (rust/crates/pest-2.7.5.crate) = 117583
+SHA256 (rust/crates/pest_derive-2.7.5.crate) = 81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2
+SIZE (rust/crates/pest_derive-2.7.5.crate) = 35415
+SHA256 (rust/crates/pest_generator-2.7.5.crate) = 68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227
+SIZE (rust/crates/pest_generator-2.7.5.crate) = 17709
+SHA256 (rust/crates/pest_meta-2.7.5.crate) = 7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6
+SIZE (rust/crates/pest_meta-2.7.5.crate) = 40969
+SHA256 (rust/crates/pin-project-1.1.3.crate) = fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422
+SIZE (rust/crates/pin-project-1.1.3.crate) = 57740
+SHA256 (rust/crates/pin-project-internal-1.1.3.crate) = 4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405
+SIZE (rust/crates/pin-project-internal-1.1.3.crate) = 27824
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/piper-0.2.1.crate) = 668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4
+SIZE (rust/crates/piper-0.2.1.crate) = 15878
+SHA256 (rust/crates/pkcs1-0.7.5.crate) = c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f
+SIZE (rust/crates/pkcs1-0.7.5.crate) = 35790
+SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7
+SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/polling-2.8.0.crate) = 4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce
+SIZE (rust/crates/polling-2.8.0.crate) = 43554
+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.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/proc-macro2-1.0.70.crate) = 39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b
+SIZE (rust/crates/proc-macro2-1.0.70.crate) = 44343
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+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/rcgen-0.10.0.crate) = ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b
+SIZE (rust/crates/rcgen-0.10.0.crate) = 40402
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/redox_users-0.4.4.crate) = a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4
+SIZE (rust/crates/redox_users-0.4.4.crate) = 15438
+SHA256 (rust/crates/regex-1.10.2.crate) = 380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343
+SIZE (rust/crates/regex-1.10.2.crate) = 252839
+SHA256 (rust/crates/regex-automata-0.4.3.crate) = 5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f
+SIZE (rust/crates/regex-automata-0.4.3.crate) = 617011
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/ring-0.17.7.crate) = 688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74
+SIZE (rust/crates/ring-0.17.7.crate) = 4146482
+SHA256 (rust/crates/rle-decode-fast-1.0.3.crate) = 3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422
+SIZE (rust/crates/rle-decode-fast-1.0.3.crate) = 62086
+SHA256 (rust/crates/ron-0.7.1.crate) = 88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a
+SIZE (rust/crates/ron-0.7.1.crate) = 53572
+SHA256 (rust/crates/rsa-0.9.6.crate) = 5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc
+SIZE (rust/crates/rsa-0.9.6.crate) = 80048
+SHA256 (rust/crates/rust-ini-0.18.0.crate) = f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df
+SIZE (rust/crates/rust-ini-0.18.0.crate) = 15439
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rusticata-macros-4.1.0.crate) = faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632
+SIZE (rust/crates/rusticata-macros-4.1.0.crate) = 11746
+SHA256 (rust/crates/rustix-0.37.27.crate) = fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2
+SIZE (rust/crates/rustix-0.37.27.crate) = 324534
+SHA256 (rust/crates/rustix-0.38.28.crate) = 72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316
+SIZE (rust/crates/rustix-0.38.28.crate) = 365398
+SHA256 (rust/crates/rustls-0.20.9.crate) = 1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99
+SIZE (rust/crates/rustls-0.20.9.crate) = 270582
+SHA256 (rust/crates/rustls-0.21.10.crate) = f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba
+SIZE (rust/crates/rustls-0.21.10.crate) = 284920
+SHA256 (rust/crates/rustls-acme-0.7.7.crate) = e0e7754a9b89270815d1b119cdd35489380dc3598e24a952bf8a167c00b68b61
+SIZE (rust/crates/rustls-acme-0.7.7.crate) = 40963
+SHA256 (rust/crates/rustls-pemfile-1.0.4.crate) = 1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c
+SIZE (rust/crates/rustls-pemfile-1.0.4.crate) = 22092
+SHA256 (rust/crates/rustls-webpki-0.101.7.crate) = 8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765
+SIZE (rust/crates/rustls-webpki-0.101.7.crate) = 168808
+SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4
+SIZE (rust/crates/rustversion-1.0.14.crate) = 17261
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/sct-0.7.1.crate) = da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414
+SIZE (rust/crates/sct-0.7.1.crate) = 27501
+SHA256 (rust/crates/semver-1.0.20.crate) = 836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090
+SIZE (rust/crates/semver-1.0.20.crate) = 30451
+SHA256 (rust/crates/serde-1.0.193.crate) = 25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89
+SIZE (rust/crates/serde-1.0.193.crate) = 76863
+SHA256 (rust/crates/serde_derive-1.0.193.crate) = 43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3
+SIZE (rust/crates/serde_derive-1.0.193.crate) = 55692
+SHA256 (rust/crates/serde_json-1.0.108.crate) = 3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b
+SIZE (rust/crates/serde_json-1.0.108.crate) = 146476
+SHA256 (rust/crates/serde_plain-1.0.2.crate) = 9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50
+SIZE (rust/crates/serde_plain-1.0.2.crate) = 11183
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
+SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
+SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de
+SIZE (rust/crates/signature-2.2.0.crate) = 15531
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.11.2.crate) = 4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970
+SIZE (rust/crates/smallvec-1.11.2.crate) = 34801
+SHA256 (rust/crates/socket2-0.4.10.crate) = 9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d
+SIZE (rust/crates/socket2-0.4.10.crate) = 45697
+SHA256 (rust/crates/socket2-0.5.5.crate) = 7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9
+SIZE (rust/crates/socket2-0.5.5.crate) = 54863
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d
+SIZE (rust/crates/spki-0.7.3.crate) = 16409
+SHA256 (rust/crates/sqlformat-0.2.3.crate) = ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c
+SIZE (rust/crates/sqlformat-0.2.3.crate) = 21878
+SHA256 (rust/crates/sqlparser-0.40.0.crate) = 7c80afe31cdb649e56c0d9bb5503be9166600d68a852c38dd445636d126858e5
+SIZE (rust/crates/sqlparser-0.40.0.crate) = 158273
+SHA256 (rust/crates/sqlparser_derive-0.2.1.crate) = 3e9c2e1dde0efa87003e7923d94a90f46e3274ad1649f51de96812be561f041f
+SIZE (rust/crates/sqlparser_derive-0.2.1.crate) = 3850
+SHA256 (rust/crates/sqlx-core-oldapi-0.6.18.crate) = 1ee0376b1647a2ff749f7c472931b12894b936939ebd7ec4f94e6c1e14173054
+SIZE (rust/crates/sqlx-core-oldapi-0.6.18.crate) = 307303
+SHA256 (rust/crates/sqlx-macros-oldapi-0.6.18.crate) = baee63ed1642518050ce5f1713279263c40ea36b468fdad957e250d94f805192
+SIZE (rust/crates/sqlx-macros-oldapi-0.6.18.crate) = 24656
+SHA256 (rust/crates/sqlx-oldapi-0.6.18.crate) = e9c2facc30fcad0ac3f2027e19370565c6603fbea7a28cd1a6d132fb40610f47
+SIZE (rust/crates/sqlx-oldapi-0.6.18.crate) = 131368
+SHA256 (rust/crates/sqlx-rt-oldapi-0.6.18.crate) = ed70ff9df47eedcb1489793d909b72dadd1043a22272d4d3cc34afbe550ab881
+SIZE (rust/crates/sqlx-rt-oldapi-0.6.18.crate) = 2358
+SHA256 (rust/crates/stringprep-0.1.4.crate) = bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6
+SIZE (rust/crates/stringprep-0.1.4.crate) = 23551
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/strum-0.24.1.crate) = 063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f
+SIZE (rust/crates/strum-0.24.1.crate) = 5636
+SHA256 (rust/crates/strum_macros-0.24.3.crate) = 1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59
+SIZE (rust/crates/strum_macros-0.24.3.crate) = 20696
+SHA256 (rust/crates/subtle-2.5.0.crate) = 81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc
+SIZE (rust/crates/subtle-2.5.0.crate) = 13909
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.39.crate) = 23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a
+SIZE (rust/crates/syn-2.0.39.crate) = 244129
+SHA256 (rust/crates/synstructure-0.12.6.crate) = f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f
+SIZE (rust/crates/synstructure-0.12.6.crate) = 18429
+SHA256 (rust/crates/tempfile-3.8.1.crate) = 7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5
+SIZE (rust/crates/tempfile-3.8.1.crate) = 32164
+SHA256 (rust/crates/termcolor-1.4.0.crate) = ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449
+SIZE (rust/crates/termcolor-1.4.0.crate) = 18765
+SHA256 (rust/crates/thiserror-1.0.50.crate) = f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2
+SIZE (rust/crates/thiserror-1.0.50.crate) = 19414
+SHA256 (rust/crates/thiserror-impl-1.0.50.crate) = 266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8
+SIZE (rust/crates/thiserror-impl-1.0.50.crate) = 15357
+SHA256 (rust/crates/time-0.3.30.crate) = c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5
+SIZE (rust/crates/time-0.3.30.crate) = 120289
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.15.crate) = 4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20
+SIZE (rust/crates/time-macros-0.2.15.crate) = 23568
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.35.0.crate) = 841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c
+SIZE (rust/crates/tokio-1.35.0.crate) = 743314
+SHA256 (rust/crates/tokio-macros-2.2.0.crate) = 5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b
+SIZE (rust/crates/tokio-macros-2.2.0.crate) = 11520
+SHA256 (rust/crates/tokio-rustls-0.23.4.crate) = c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59
+SIZE (rust/crates/tokio-rustls-0.23.4.crate) = 27024
+SHA256 (rust/crates/tokio-rustls-0.24.1.crate) = c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081
+SIZE (rust/crates/tokio-rustls-0.24.1.crate) = 33049
+SHA256 (rust/crates/tokio-stream-0.1.14.crate) = 397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842
+SIZE (rust/crates/tokio-stream-0.1.14.crate) = 35881
+SHA256 (rust/crates/tokio-util-0.7.10.crate) = 5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15
+SIZE (rust/crates/tokio-util-0.7.10.crate) = 110508
+SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234
+SIZE (rust/crates/toml-0.5.11.crate) = 54910
+SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c
+SIZE (rust/crates/tower-0.4.13.crate) = 106906
+SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0
+SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
+SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/ucd-trie-0.1.6.crate) = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9
+SIZE (rust/crates/ucd-trie-0.1.6.crate) = 45790
+SHA256 (rust/crates/unicase-2.7.0.crate) = f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89
+SIZE (rust/crates/unicase-2.7.0.crate) = 23783
+SHA256 (rust/crates/unicode-bidi-0.3.14.crate) = 6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416
+SIZE (rust/crates/unicode-bidi-0.3.14.crate) = 56429
+SHA256 (rust/crates/unicode-id-0.3.4.crate) = b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f
+SIZE (rust/crates/unicode-id-0.3.4.crate) = 15345
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-segmentation-1.10.1.crate) = 1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36
+SIZE (rust/crates/unicode-segmentation-1.10.1.crate) = 98416
+SHA256 (rust/crates/unicode-xid-0.2.4.crate) = f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c
+SIZE (rust/crates/unicode-xid-0.2.4.crate) = 15352
+SHA256 (rust/crates/unicode_categories-0.1.1.crate) = 39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e
+SIZE (rust/crates/unicode_categories-0.1.1.crate) = 87298
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
+SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
+SHA256 (rust/crates/uuid-1.6.1.crate) = 5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560
+SIZE (rust/crates/uuid-1.6.1.crate) = 55554
+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.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/waker-fn-1.1.1.crate) = f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690
+SIZE (rust/crates/waker-fn-1.1.1.crate) = 6323
+SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e
+SIZE (rust/crates/want-0.3.1.crate) = 6398
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.89.crate) = 0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e
+SIZE (rust/crates/wasm-bindgen-0.2.89.crate) = 181935
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826
+SIZE (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 28205
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.39.crate) = ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12
+SIZE (rust/crates/wasm-bindgen-futures-0.4.39.crate) = 15376
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2
+SIZE (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 13906
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = 20008
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7265
+SHA256 (rust/crates/web-sys-0.3.66.crate) = 50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f
+SIZE (rust/crates/web-sys-0.3.66.crate) = 733024
+SHA256 (rust/crates/webpki-0.22.4.crate) = ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53
+SIZE (rust/crates/webpki-0.22.4.crate) = 63472
+SHA256 (rust/crates/webpki-roots-0.22.6.crate) = b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87
+SIZE (rust/crates/webpki-roots-0.22.6.crate) = 242386
+SHA256 (rust/crates/webpki-roots-0.25.3.crate) = 1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10
+SIZE (rust/crates/webpki-roots-0.25.3.crate) = 251565
+SHA256 (rust/crates/whoami-1.4.1.crate) = 22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50
+SIZE (rust/crates/whoami-1.4.1.crate) = 19677
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-core-0.51.1.crate) = f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64
+SIZE (rust/crates/windows-core-0.51.1.crate) = 42364
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (rust/crates/x509-parser-0.13.2.crate) = 9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c
+SIZE (rust/crates/x509-parser-0.13.2.crate) = 83120
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (rust/crates/yasna-0.5.2.crate) = e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd
+SIZE (rust/crates/yasna-0.5.2.crate) = 34859
+SHA256 (rust/crates/zerocopy-0.7.30.crate) = 306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7
+SIZE (rust/crates/zerocopy-0.7.30.crate) = 149425
+SHA256 (rust/crates/zerocopy-derive-0.7.30.crate) = be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba
+SIZE (rust/crates/zerocopy-derive-0.7.30.crate) = 533513
+SHA256 (rust/crates/zeroize-1.7.0.crate) = 525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d
+SIZE (rust/crates/zeroize-1.7.0.crate) = 19039
+SHA256 (rust/crates/zstd-0.12.4.crate) = 1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c
+SIZE (rust/crates/zstd-0.12.4.crate) = 30434
+SHA256 (rust/crates/zstd-safe-6.0.6.crate) = ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581
+SIZE (rust/crates/zstd-safe-6.0.6.crate) = 20828
+SHA256 (rust/crates/zstd-sys-2.0.9+zstd.1.5.5.crate) = 9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656
+SIZE (rust/crates/zstd-sys-2.0.9+zstd.1.5.5.crate) = 728791
+SHA256 (lovasoa-SQLpage-v0.17.1_GH0.tar.gz) = 6217976a1e7eda32cbfb25924e27e0754617f76ccbae0a3201df2b83f94879a7
+SIZE (lovasoa-SQLpage-v0.17.1_GH0.tar.gz) = 18875442
diff --git a/www/sqlpage/files/patch-build.rs b/www/sqlpage/files/patch-build.rs
new file mode 100644
index 000000000000..640dd12f8aa1
--- /dev/null
+++ b/www/sqlpage/files/patch-build.rs
@@ -0,0 +1,39 @@
+--- build.rs.orig 2023-12-10 14:43:17.000000000 +0100
++++ build.rs 2024-01-10 23:41:55.935212000 +0100
+@@ -1,7 +1,7 @@
+ use actix_rt::spawn;
+-use futures_util::StreamExt;
+ use libflate::gzip;
+ use std::collections::hash_map::DefaultHasher;
++use std::fs;
+ use std::fs::File;
+ use std::hash::Hasher;
+ use std::io::Read;
+@@ -41,14 +41,16 @@
+ }
+
+ async fn process_input_file(path_out: &Path, original: File) {
+- let client = awc::Client::default();
+ let mut outfile = gzip::Encoder::new(File::create(path_out).unwrap()).unwrap();
+ for l in BufReader::new(original).lines() {
+ let line = l.unwrap();
+ if line.starts_with("/* !include https://") {
+- let url = line
+- .trim_start_matches("/* !include ")
++ let file_path = line
++ .trim_start_matches("/* !include https://cdn.jsdelivr.net/npm/")
+ .trim_end_matches(" */");
++ let contents = fs::read_to_string(file_path).expect("Failed to read data from file");
++ outfile.write_all(contents.as_bytes()).expect("Failed to write to file");
++ /*
+ let mut resp = client.get(url).send().await.expect(
+ "We need to download external frontend dependencies to build the static frontend.",
+ );
+@@ -61,6 +63,7 @@
+ .write_all(&chunk)
+ .expect("Failed to write external frontend dependency to local file");
+ }
++ */
+ outfile.write_all(b"\n").unwrap();
+ } else {
+ writeln!(outfile, "{}", line).unwrap();
diff --git a/www/sqlpage/files/sqlpage.conf b/www/sqlpage/files/sqlpage.conf
new file mode 100644
index 000000000000..4406e62ca991
--- /dev/null
+++ b/www/sqlpage/files/sqlpage.conf
@@ -0,0 +1,6 @@
+# configuration file for newsyslog for sqlpage
+#
+# see newsyslog.conf(5) for details
+#
+# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
+/var/log/sqlpage sqlpage:sqlpage 644 7 100 * J /var/run/sqlpage_daemon.pid
diff --git a/www/sqlpage/files/sqlpage.in b/www/sqlpage/files/sqlpage.in
new file mode 100644
index 000000000000..a5ff90440ada
--- /dev/null
+++ b/www/sqlpage/files/sqlpage.in
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# PROVIDE: sqlpage
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `sqlpage':
+#
+# sqlpage_enable="YES"
+#
+# and be sure to configure %%PREFIX%%/etc/sqlpage/sqlpage.json
+#
+# Additional variables you can define are:
+#
+# sqlpage_user: Username to run sqlpage
+# Default: sqlpage
+
+. /etc/rc.subr
+
+name=sqlpage
+rcvar=sqlpage_enable
+
+command=/usr/sbin/daemon
+pidfile=/var/run/${name}.pid
+pidfile_daemon=/var/run/${name}_daemon.pid
+procname=%%PREFIX%%/bin/${name}
+sqlpage_chdir=%%PREFIX%%/etc
+
+# read configuration and set defaults
+load_rc_config ${name}
+: ${sqlpage_enable:="NO"}
+: ${sqlpage_user:="${name}"}
+
+command_args="-P ${pidfile_daemon} -p ${pidfile} -t ${name} -Ho /var/log/${name} ${procname}"
+
+start_precmd=sqlpage_precmd
+
+# Sets up a pidfile the daemon user can access
+sqlpage_precmd()
+{
+ /usr/bin/install -o ${sqlpage_user} -m 0600 /dev/null ${pidfile}
+ /usr/bin/install -o ${sqlpage_user} -m 0600 /dev/null ${pidfile_daemon}
+ /usr/bin/touch /var/log/${name}
+ /usr/sbin/chown ${sqlpage_user}:${sqlpage_user} /var/log/${name}
+}
+
+run_rc_command "$1"
diff --git a/www/sqlpage/files/sqlpage.json b/www/sqlpage/files/sqlpage.json
new file mode 100644
index 000000000000..ae061563ad9e
--- /dev/null
+++ b/www/sqlpage/files/sqlpage.json
@@ -0,0 +1,11 @@
+{
+ // This is a json5 file where comments are allowed.
+ // Documentation for the configuration can be found here:
+ // https://github.com/lovasoa/SQLpage/blob/main/configuration.md
+ //
+ // If you keep database login credentials here, make sure to set
+ // access appropriately: chown sqlpage and chmod 600
+
+ "database_url": "sqlite:///var/db/sqlpage/sqlpage.db?mode=rwc",
+ "web_root": "/usr/local/www/sqlpage",
+}
diff --git a/www/sqlpage/pkg-descr b/www/sqlpage/pkg-descr
new file mode 100644
index 000000000000..c3b1e85bd580
--- /dev/null
+++ b/www/sqlpage/pkg-descr
@@ -0,0 +1,10 @@
+SQLPage transforms your SQL queries into stunning websites
+
+SQLPage is a tool that allows you to build websites using nothing more than SQL
+queries. You write simple text files containing SQL queries, SQLPage runs them
+on your database, and renders the results as a website.
+
+You can display the information you SELECT from your database in lists, tables,
+cards and other user interface widgets. But you can also INSERT, UPDATE and
+DELETE data from your database using SQLPage, and build a full webapp with
+Create, Read, Update, Delete functionality.
diff --git a/www/sqlpage/pkg-message b/www/sqlpage/pkg-message
new file mode 100644
index 000000000000..609aced35838
--- /dev/null
+++ b/www/sqlpage/pkg-message
@@ -0,0 +1,18 @@
+[
+{
+ type: install
+ message: <<EOM
+To get started, configure ${PREFIX}/etc/sqlpage/sqlpage.json and at least set
+your database source and create a database. If using SQLite, set ownership
+appropriately. SQLPage runs as user sqlpage per default. Once the datasource is
+set, you can start the sqlpage using normal rc script:
+
+ sysrc sqlpage_enable=yes
+ service sqlpage start
+
+This will start a web server on port 8080. See
+https://github.com/lovasoa/SQLpage/blob/main/configuration.md for more
+configuration details.
+EOM
+}
+]
diff --git a/www/sqlpage/pkg-plist b/www/sqlpage/pkg-plist
new file mode 100644
index 000000000000..bbe2633b077f
--- /dev/null
+++ b/www/sqlpage/pkg-plist
@@ -0,0 +1,7 @@
+bin/sqlpage
+@sample %%ETCDIR%%/sqlpage.json.sample
+@sample etc/newsyslog.conf.d/sqlpage.conf.sample
+@preunexec if cmp -s %D/%%WWWDIR%%/index.sql %D/%%DATADIR%%/index.sql; then rm -f %D/%%WWWDIR%%/index.sql; fi
+%%DATADIR%%/index.sql
+@postexec [ -f %D/%%WWWDIR%%/index.sql ] || cp %D/%%DATADIR%%/index.sql %D/%%WWWDIR%%/index.sql
+@dir %%WWWDIR%%