public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-misc/anki/, app-misc/anki/files/24.06.3/
@ 2024-08-19 19:04 Joonas Niilola
  0 siblings, 0 replies; only message in thread
From: Joonas Niilola @ 2024-08-19 19:04 UTC (permalink / raw
  To: gentoo-commits

commit:     c937c2dbceb318f3a4323d9964d7d7237832c8c6
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Wed Aug  7 14:59:22 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 18:54:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c937c2db

app-misc/anki: add 24.06.3

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-misc/anki/Manifest                             |  53 ++
 app-misc/anki/anki-24.06.3.ebuild                  | 982 +++++++++++++++++++++
 .../anki/files/24.06.3/ninja-gentoo-setup.patch    |  44 +
 app-misc/anki/files/24.06.3/remove-yarn.patch      |  58 ++
 4 files changed, 1137 insertions(+)

diff --git a/app-misc/anki/Manifest b/app-misc/anki/Manifest
index 0926ca93b63c..0d8523a58c04 100644
--- a/app-misc/anki/Manifest
+++ b/app-misc/anki/Manifest
@@ -9,8 +9,12 @@ DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf1
 DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
 DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
 DIST anki-24.04.1.gh.tar.gz 2394990 BLAKE2B 9e38d460bd7591bfefa4d6e90b3c0565c7558acbd867d9303f89b69e486c5f174964ec1a1d4adba4148837cd95e887c62484d06bbcb685e43ce3659a3771b754 SHA512 998e62181f37243f0357c185426697bcca53a3f7d2c1703f869849b20d175ca07a27b0b344f308771ee9e0f07c8120d5aa45940e6964e1a66087a58ac4547cee
+DIST anki-24.06.3.gh.tar.gz 2389824 BLAKE2B 4e1e908bc003ddee25976f1040ad0867980fadc90876c785025e4acf0e043f6cb1b973b568ff3a0a21907e0c12bcccb0d66078d1387fa400b8a61a06e7a2a395 SHA512 9690eed253f5ef1f065800f1a7778be5d36cf253ec34abb89996e5b0b8eee376fe3e752d1c63ce5c392787fc34c58cfae4dba14457c2963b39d674ee3f4212a8
+DIST anki-core-i18n-b4813a328f44c8224d2649adbdbcbef095db9a40.gh.tar.gz 1346295 BLAKE2B 8e8c20a2a456ae87dbb4103be3506233731da7418e22081343a78075166d37a9ac7aab9212bd42480fd7ee91850ff1d66578594ffe9b24577e8480e5ee44e342 SHA512 a9346db7509cc6895977f20f3e2a1de4d58e7dc76df21c74d869c1fee0ed49b1954bed96d1bc9e503612b135a47ddc156d604cb6bd1b3245a43775d8c9fe1999
 DIST anki-core-i18n-e3af3c983241448a239871ca573c9dd2fa5e8619.gh.tar.gz 1295257 BLAKE2B 00aa9ced09aad9633189ae29597cde56ffea627455003bc6f4622241a2ce80a634d8c992c6a10289c940cbcfeb3247080b74cdf88d871febc96ea886158b3277 SHA512 abbb6f77cd476aa798b66d283c7b560a9ad82bb17daec241d021a7aab73212f6272baefae1f49144054654efa74df7ac6c1b5ef8eb9305308ae5b08831c4da2e
 DIST anki-desktop-ftl-45155310c3302cbbbe645dec52ca196894422463.gh.tar.gz 218582 BLAKE2B 0e0b43c3b6565a657915c6ee1e69967dcd42c76712cc521e3273efcd4c18e43ce359dc7dec8611f275b1aef1f941b308a8d5d45d6c93d991c83f09e92b9786a0 SHA512 b5163edd076562b89d90a12bb05eff2ac3f1adc5fd5f9f7450679ed7064fd79a2e741cee6fab59e571233c9ba6f6181b61915945eb916c3c4a5916489ababff3
+DIST anki-desktop-ftl-b95608421ba2ba1cdca407933aff9ba25d567e12.gh.tar.gz 224579 BLAKE2B a0b8520c5a68e0714762b92c7b9cb07e8a39d3e2c3f6fb1209d83ba74af7f51075d530860ce595239fae66f00a68a3c6cdb8d0fe399d5ddf9d21974b629cda15 SHA512 7d6242250dac72afa0c27dff26f6738a23ac13e7fffd9868c918296802bedb07e37c56f5aba04e6d99173b89d585ba3304ca482c2551646f157c8b1c5253db67
+DIST anki-node_modules-b9a182d8e2f3a11b633a6d5fbb582e9e7d8a4f34.tar.xz 55303852 BLAKE2B 80a3f7259552406360480148e2d1baa60c411a18f4a6f3f987119e5eaa5d0e97c23256f85efe3511dfd09d6386d2849879f18cb85eb93ffe53465987d047327b SHA512 e712d47ec7a8119a992e4e9dcb2876aa59c9d338262b3192ff2123a4f2981128c67f6c99c25c5176efa3d41393060dd02fc19e26ec62d129489146e43d60d0be
 DIST anki-node_modules-ea8f0c1491d0b0f9e0fdff589b1f0d297e6e11a6.tar.xz 52164300 BLAKE2B f8c1b3b7d02d7a9b0fe9736769b023c083b08dc6a863bbc67576c25baf20ddbafe3c25328e8eb145ee813c0cd12438fa916480ba6d07734df88ca2ab6ce67728 SHA512 84f65d552044d6bd95d0d8141a7d50fff8a4f3a97c9635ffead42842238a59a48be67150fc49a91b0950e57e93ab64473daa1165d206a9ab9e18dec4aa5970de
 DIST anstream-0.6.13.crate 30928 BLAKE2B 0c6d0932dc486ccbe8d7e6f97bd8aae03fb84d4db90d0488070b7109de673e0af845a70a39e546af87f71f4c7f7bb159ab8ed68ac0f03a0297457062d9d69dc0 SHA512 4f9ccfd135de9be22a01230f39d571c8d8ccf7c3eba837fbf0868c9660693b60ee0c1c2f9490a587d5307e892ed45cb946da7a0690a9f972619c94fb050bde09
 DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa
@@ -28,6 +32,7 @@ DIST async-compression-0.4.6.crate 99437 BLAKE2B a5419a49c52d89604b1015370cb45dc
 DIST async-stream-0.3.5.crate 11916 BLAKE2B d79804d7310d1f47d7848007518e0b0e0f0724f2589a20478eda3ab1a1db8775c5aea494688c69437046accd10eaec789b244451e84a19e489f071519b50d2fa SHA512 d34ab46a9e18bdf35fe0e58808fadf422dd50246cedf48110b3273be17939678d2cb5b61fae9da176bc2c2b373933821e912fc395627f7a6fed1d2c43bc66c9d
 DIST async-stream-impl-0.3.5.crate 4173 BLAKE2B e7c0d2371299af6fe9983adf4f8cbb6402ceaa5f9d286f124362332a4016404069c362176dd3b71061027b0768ac1f772b3e5e38809b870411f4590126a74ca6 SHA512 3725216119cf4cc78d433e2f8a8df9bfb7a3f046e4a8346bbe76e91b23686dfcbdb7cd182765e12d606ed0e3391477c43652a025597de9120170fd0b1151d204
 DIST async-trait-0.1.77.crate 29986 BLAKE2B f678cea4defa1cc7c0f1571e71f87392c0fdca8ba175bd94be68b92adaf2b4afe13fac9020bd27bfbb2af9a7d5f2f7047e3bbd0b080a7213354a8175e6ccd455 SHA512 7ddadfe6c434267cbb22de62f09373ea83ec3c4eceb7781e0bc438ce422266f30193730e0215411f1c7c9c6d5cc589ed9bbbd71c836e440bbcddf8afd3d8950f
+DIST async-trait-0.1.80.crate 28775 BLAKE2B d95384a8828c9273e0f295d3c3826b3a8716cd0c4ab39bdb43d65ec57fe886f7c5926c1666a76ca25b1536eedef61b0d92c78ff9c8a52a0515900360b66b0f13 SHA512 3e92bc8d38feea49ebb5011303e55853bbbf5d0fb7c4f6ed6aa471b9000a2a0ea5475619f98831641e8ee484beaa6fd8880770a96b8a5a7df26e392c1b4b3a19
 DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
 DIST axum-0.6.20.crate 146227 BLAKE2B 24592e684de9b7c0b06b9871028dd6ed14b9a2ed259076b50b12a2376e93b8fc028831a94bc748eb6c66dce49978987d3655fc30313daccb0ddf92919fa9da00 SHA512 e0ef6bab62d465a607a49c799823133d634d93d7a389fddd2e165fc3895eeb4c544f35e044e3c8f52a21c8421e4e4880982fc0be62de613f98ee571186f55646
 DIST axum-client-ip-0.4.2.crate 15027 BLAKE2B 9f472f6c155959e3931088a776aaf1f8703917aba2b735b4055a16ee132b1ee34e7b2bf6d1500bb68e6cc7614b2b2f15961fc5a6cde2544d8013a653ef223de4 SHA512 d3b7444afd1bae08688616f59b655d28482e331830a6866cf8a890c1e91963a85465c9468698ce37b4e17f7e584facae83e27fd55804620bd3e9d782067c946f
@@ -36,6 +41,7 @@ DIST axum-macros-0.3.8.crate 35948 BLAKE2B 21b99a12243289570e49a4b25e7273b63d4a7
 DIST backtrace-0.3.69.crate 77299 BLAKE2B 594358f1d9171fc369f50cacffab03b8a10a8fe3da5b915611cb74b0dbad0e048c7dc79c53569d89827db583e0f61fb7269147b6258781a1599a811e642414a8 SHA512 6e86de53e1c5003ef68b6a85479cde1e70bf416bdc50e6e32ead9f9f070fa30ad46de22574041c844ddfeabd5d15de01ef746f19f8cb7f257c491ef0bf071244
 DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
 DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
 DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c
 DIST bincode-2.0.0-rc.3.crate 57746 BLAKE2B ab3337700486b329a8ffb6e11779fbe63707059480abc3ca27d9556c08afcc3672718019fdf63f9ec07f99ef5cc381e5cc47a8afb145dfd693f63c2cb2ee79f0 SHA512 d9e1686df2b419b9a02ff84efa08e4b6070498362fc1fdbcf761ad04fcece36f6270b0dbcdbdf5abcfe1e534fa4ea1dcf3213aceadc5955f8f6a6fb20dc156d2
 DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6
@@ -50,19 +56,34 @@ DIST block-padding-0.3.3.crate 8504 BLAKE2B d62481c25fd8680cdf0ad0bc259bd3777c39
 DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172
 DIST bumpalo-3.15.3.crate 84438 BLAKE2B b76885372dbf91d3991fe5428c187bf4f66f3a8ed7ae44932d7479cc154ae0f03356d3f4fe56ccb5cb54f1690a3b21c4def5081228e778a5e64071023a73db97 SHA512 0871115264dd63ea9b636481bcc6f7fbe1c9f7579bb7cd69622ae79a3df216a639cda2f91af370f84d3e8a8bd615d894906ad614a20f94b9ece954d31df5dbc1
 DIST burn-0.12.1.crate 15175 BLAKE2B 5ee5618170630c78e47d19418cb6895024b0382ea65b577d16c4c6669c1c94352c1b4d046234ddca1163ad0b966bcaba327b405f9dc9b06cf4362f0b245fb380 SHA512 10891ac9ea17986dab761bb8907c82d51ee879804a541373ec0c576d8b83bc11c03905a6f3953d43e6c92a68fd395f6daca3186d4906da70ddd35c403780b8af
+DIST burn-0.13.1.crate 15357 BLAKE2B a81930340575c74df13c9d18764b4622b37c3dbe4dec41c23e6069b089c7b4fa187d739fcfab5d0ccec2fca5a9cc3e43998c16bcae552a694042d7ec05231be9 SHA512 04ee1da4add8d76993bc332e716b93427c5bbfbc48a6d7164c0eb2b4eaa058ccaaa47a93d62c2ddd074f36ba56d9c2e168ee1802287dadb3a14d4f8e7e4c4e17
 DIST burn-autodiff-0.12.1.crate 38099 BLAKE2B 873fdcd21da7a8dd8235e3bbd6e4c441a13cc30d49f43ac1bdec1562d06e793c3ec2fb0ce88c4e4eafd0e47f843f4156a45ac0b6d3e18ace2de1beba4eca63e2 SHA512 d1049107ef48db1fe9460331a101c27c6d39e911aa9ccb29abd38c95fec27fd62489ae657f4e666ae14dd036439df2d5c7c389436068a1243b4bca6ec08d94ed
+DIST burn-autodiff-0.13.1.crate 56185 BLAKE2B 7a0449dbe00d77f811d5cd7c4c3acb8aeaedd754b3a931283ca4d8d0a24a3bb0d665f8dae905532d2c0a850a8fbf1a0213e170777fb96abe96055e7504dae665 SHA512 4b9a0e7da0adbb2a737adb4cb040cfb1bc9c71833ec2344cd5d7c866f54c355c4a54144d5c4f07e442a0c593ab7afa73ed618483406569e42e5da6f8d075cd56
 DIST burn-candle-0.12.1.crate 8974 BLAKE2B eca7341b38adb923b52ee381a1d2256738d116d6745edde1f2f36740c470755c987d0b282f18b62baa46768efdc5e9904f645488e22724045380cb1ef8b47874 SHA512 dfbbe00667cc358a4eb0325dd8657a1fcda634f6a8140d0a0d4115c92d75016b4dd8a0964351b86f5146f3a893fb7aa1d06b0a139dda1e58b089614046ea54db
+DIST burn-candle-0.13.1.crate 14461 BLAKE2B 5df499dcf6e4044c0883e8b7211e8da15b5c723bfb068134a91bb2ec78862b1d83668a4e3ea0818bb42f379c96a1a3aecc8f8e06905270e11ad0eb77354184d3 SHA512 a1d8cc0902b49ab3e563d5ada893ac3563cb04b41b2fe9414592c72cb77147c695bf14f9e745dbf3a750d5fc5a5ae310a2b1e7a6edcedb18b8ba46a0f9c39e16
 DIST burn-common-0.12.1.crate 10814 BLAKE2B 44fe710413223fd7d1403eadccb54a521db97a451936ab2d61d93b3a69a0ab5a8583d50778611a508e6488568afe9722e5b8917d18f881284f5769e2da476afc SHA512 2c5b3f7d55ba73ac3e7e68ed49e4ddf0e63f245a5afeca4d43114be1093bb95030b0c0a2c5093b23cfe2f3a38dd4b2688fcdab33a67c417e3c5d02dfd897950d
+DIST burn-common-0.13.1.crate 12064 BLAKE2B 27a9b643b87fda9d53c333e19b39c5c32326ed518f712c84ef329f5d82ab1a7a51d3dbd0bf1f4f737add52f034fae8c89a1b2aa3f66c22388b43ba3eaaa9345d SHA512 eb855f498372139488024645d8f3560900c851b68515ba23b1610578046773c236ab293cbeaf7c28a46512d21856f4daae766771c8a130f77a6341fc2d5b18cd
 DIST burn-compute-0.12.1.crate 18570 BLAKE2B 81736f4bb0d731bb8cc6c02c54b7c80af8304cf0f587aaa5c5ea49a121df5a7eefb97c15273c7f45e4ecbef88ae64ec392c7e52c2379c25f9639d85c22ea7ace SHA512 aca5b13524b8c0c300cf93af3fc467c9cba1be51ff3b8ec474c3ad76e84e61aee5eb6c0524ec56499b92a3457313c7db0cd91abf52d8f303fce0f57ea9112c22
+DIST burn-compute-0.13.1.crate 23064 BLAKE2B b6dc255056a67dde38600972ddfdb31f8e4f8853162b635c3c3dae0bc0eea0f6acaf569aadec1c9add60f52b982646e6f5b5ecf6566cdb334845678ceb587c8d SHA512 84e8205bb4d7fb8db551b52aa24fc554680175a79e4f5d86c30dfbf9bfa3dfcfcf05aba670f2b399f2cef4c3ea8a46408d51d292ec46337fa4afc459a07781ff
 DIST burn-core-0.12.1.crate 1994180 BLAKE2B a35e5a0d7e9338df96587ad5da7788f316ca1e2d113e016f384cd917feb3615eb6c624dd7331a6f7df82b83da6992f7b21b60bdc33cb5a0659ae5ee9fdaa957c SHA512 b52e5a5cb4595444833d2b1e9676e6ac4d744e1170b3d26f5936c19f26938771a1eba116b2294d03c99f87399bbe1951538213ee9b8ce4d16227c1e1e019399c
+DIST burn-core-0.13.1.crate 97316 BLAKE2B 555466f250e94f9a85a9cd2e8765d237d020c775393c496111ded7b48a3f0c1e91ca7f873f4ae109348dba8ca7c8afe3e0217fc5f400cf3f3d424a0437bfaab5 SHA512 04f657ead2d4a31ca2084a42b119bcae762202ab2efbc42abd2e4a15d253e4f100291a2b213698a4984d086eb8c383a60b684e3013b618f461f880677127d802
 DIST burn-dataset-0.12.1.crate 42611 BLAKE2B d4e6ca27a0a8c3b20a01856151e09e4f89ff2fbea642b5f93c05cde336084961d1e1970a4cf0bd31830b649a68dfdc5f746ca9e5bd4807c8576c1054ceae55e8 SHA512 0a2da11e58922d13eab5830a86278b1ea5ab415503288da60d98248e37e5ee94e15e5608b516dad5b2b7de27613a361285a19260e38afd0ec21dc2f3f98e5a69
+DIST burn-dataset-0.13.1.crate 47195 BLAKE2B fb666bdaf46b8b67d478e2d2d32f4c20cd0909b139436dd2f730ed70ea9a98ae455fc401aa5c609d360c182794bd46c14237b0c3e37626a48949375a9febd02d SHA512 2a0c5924788e72d313407c2d23cdb0038bc2b551b6db1c7a30801d7a6deae3df4708000b44a77cf4dbcfbbb6309aa92c5728f0f8d7ec0f544d0ec789d68abb95
 DIST burn-derive-0.12.1.crate 14315 BLAKE2B c921b3ab387fbbfe0ee6014feb33e6ee9f618d380371c172b211a6f4cce0737623c4580d636fa7b598a3746374d7ce5724d1c4bf9bf180016facd15c5b496762 SHA512 28efac40a2e042f3a30a509d2c40d946086d9040219a657e0a5223a8c3303d0300ee19cfc399b33c84047482c5c95de732bf7c7c034f3ad72601fb453d4e0096
+DIST burn-derive-0.13.1.crate 15873 BLAKE2B 44b4a85b765bb9427da76e4a1f9f7fe036c2476bf933770704c1112f494ac976e5bd88bce50f6a0b00c0fffb647d2ee5f3b2d1b547f1fe146bf6f56d6003eab4 SHA512 44c4e5f21d4805ef5c5e749986669940673edaf4078e12e4df7b801ef9faeffd6ae08b25dd716ee323a5c39eabdc4dc9ee023ac998552d68151b954dc67d97f8
 DIST burn-fusion-0.12.1.crate 42358 BLAKE2B a49a2a10733574fe6867e31c3d19cc24cba946c97e5db26cf46cb95b3389d802c5f38e49fc3bfab1b103e8b0df1e829bbc6a632ba34d2b884b49846d88680013 SHA512 ddf71d245be976b4ce979ef8c1d6d86490f3659e821d0b9686fb900beedbdd3ff6ea37a6469b76b9001fe1a24102ed75eea76dd70cdc470efd55729673ce0698
+DIST burn-fusion-0.13.1.crate 49334 BLAKE2B fdf264fa33d537849a3929f48563e0d4566cf27f3d7f1a584664494eb62246ac8a36065f8df31c7329cf9cab944c2a6e2997d10bbabd584e0b4df4530aaf87d6 SHA512 5bbadf6851823e1c5b68c6a8d6848715aab95f6db4f2bd129ba3dbfce110db07711d66c00526e8a32a29a075b8437fa28c63d3252c47d8da523168ebe482e73f
+DIST burn-jit-0.13.1.crate 99652 BLAKE2B e288f6cb173dab13ac7ff0c663438eed7b7e81a20a953a5da3db9ae1ace81128bf2ddb2a9f96054d3e23f063eb841692eadce543eb6d76842f2a22ebe3741407 SHA512 740016c22832c6ef43a13e51e0c42dd59766d1d2cceff0eacc224629bd4c8b9bdfd3fc82742520444fd76e2be1ac70cebecda4c3bbb603c7a97076e086dfa5b5
 DIST burn-ndarray-0.12.1.crate 21677 BLAKE2B 99cb5f702f6964fe15c81211c7c31008fef33a85679f33aaa81a8ed42f654408748fe933089bb8d17f81297da5a171a1ce2560894e704a21566897dd467b05bf SHA512 e5585658014aeee27e692542610d78afd8a862ab39f60084beb93c18ea9669bad6a49651121e90b950458c33275c68086ac9ced351c375f9308059011aff543d
+DIST burn-ndarray-0.13.1.crate 24601 BLAKE2B d9f2c4830d4ed8372c554e54749c291a89f38ace766f0d2f83a371a7aba2c5a1ac076364fae926d381ea48a71857694b7e39bf7144ac013c25bbfa933b214396 SHA512 f06250c7ffe2f4c6e018cd51ed292de5dce036b563509f320bfc31418653bf9c2c0cff2d484350178b1e4ba477592704229751f3bc4e6c12dfc0cc55b3e939fd
 DIST burn-tch-0.12.1.crate 26323 BLAKE2B e4ef17d5225eb00b4a08f77bfd1ad9a3ba74cb1f8c18a4a7f0963a8e5a51a0a0e8d9a88924c15061e8b94c81988bd3b188599246235481ee994ad11c346796ec SHA512 50b7618f5036242ff3d1ed4321d91f122db761c2ef2d8f37b003dc02737f5031316e4c5e9fd62a04e0ef42e98fa56d6d055b5273ae85da10b6fb4374f8942d62
+DIST burn-tch-0.13.1.crate 28194 BLAKE2B f34c77b4a502bb99bb17f871066fd0cf6ad870e4207b7a35328f37d804bafbfce0f60235b50d03b4e6e305eff2e30cd639e8069f89795f1e6207fd25d12b4a55 SHA512 afcbdb5c76fad58894967998b43f4b50043bc27c6d511f82973f92197e4f6105f75a7e6358a618fdca0f0130d2af90175bad827124afe913b8436426003924d1
 DIST burn-tensor-0.12.1.crate 82745 BLAKE2B 012a8d986e05dbda35c8342e955c61118731f9fb11de072a732a7a90def2385bc0d1a63da9859f8e2667da646fc11e0792b633ea055ed980023140f06ff1893c SHA512 8fd7f7eaea70ff0eb83be6ae6476e22daa295cbee48d76482d72afdb0c3d7eb363d5040179d41e83100ffd0fa818ed77482a63ce47defe03531a569ef4a83e8c
+DIST burn-tensor-0.13.1.crate 107135 BLAKE2B 187d6bd224ce60bd6add149c086d791f2dc17128f4c04b5d7eaf3c6d185ad8e879eb85abb632e9a297c53453dd6e9c5cf5344f57459a860f78e11b529576e4eb SHA512 d435e909c1151e03d721a2b5ca2c71d73f50a1ee124eb16c087ba8ff10a2d3a3d2bf1f37a22d59b2133f7fa87510a7c1fb00b449489c56335cbfd4115de4d008
 DIST burn-train-0.12.1.crate 42343 BLAKE2B a9de54efba8fb1de89e054ea3fa1019bf4cbfb45c062909e76a458cf891021f7e5e011c97309f6969f849b55eedb92c5e36b097b9e08a247f7890406f98e1d59 SHA512 9bf46222e847cc65ed63b9859414814460cddc9f5a9523ddcb129b9f3caad2490f876c1fb73142556d4971ade6b2e46dd390ddc0b89aa888c5246f002c3284f6
+DIST burn-train-0.13.1.crate 46649 BLAKE2B a16fd48e35c4cea588d4ca5948cae67313035d7a55b87976e6a5349b035138f5fbe05a5f62db5d4c5c40785603f40adb66ec796eff1d427838d18caacb1ba26c SHA512 894c94cfaeb40ba5a6bbe8cec0eea8611d58a4f77db8fa9eea1baf1cc6d2b43ee5f9d9a26d1e0d19bfc5484e549767c15d42c0d1266bd332a0b6fc1e34e2ec59
 DIST burn-wgpu-0.12.1.crate 82313 BLAKE2B ce6e1c7c810bd090f4fc84e5d3b8e90638f4eee3e8def41c241f5f5420e08c02245d93dcd6caa598727bfc73a4b8aee8e7a3465afcb7a060d0246f23973fa06f SHA512 1f8a5a8ffada25ee780c5c56da8756fe6b1f76530e8b012926c05947d97ab9c7c9bdaa47f3e6346ca2c01c80ad6f82eb1c2e993536446e1873772df6cb0ceb6e
+DIST burn-wgpu-0.13.1.crate 23742 BLAKE2B 9434d13c5e7246139dfdd6c7c75ac3e165ba1546c995b3d23ab664b5f72278bc98804582200b7cdae79c178a63d280b6ae9ac2596367d8126ccacb10ee123733 SHA512 73cce70c4581dbd410d5ffa2d3a499dd46b0480f6b1d416d6e47a779ce5bf91889283622bf134418269d4acedd04a74ba7b749513f0ee7d6db829f193b6425e1
 DIST bytemuck-1.14.3.crate 47032 BLAKE2B 7364a8b474013fd1ffd1df66e47f4f3fa516ab762e10e7b31d9135c5a811ebd87d368b1e723ef41095d17a05465b80128893cb76af310c52fd1fb04b57f7e1f2 SHA512 f01f21142273c53daf07bd168068661ab763f4696a39543a73d9341335f6da6f2e3c88e8859bb06ab3c1ddfddec9bbebf00f4cbd42ad49d77618dea612523c13
 DIST bytemuck_derive-1.5.0.crate 17323 BLAKE2B 847cbbe7a4449d17295d9b6082a8f38be8a1a426638a80f0fc097b208533bdf74d2192d5d898c4a7baf69921a56344e52e70c50daedd4818d6d0e0cd9f8959ff SHA512 aec9f0a10da379a0e909430d4f752457221a53a2a44801be1850072e3a0c6e9dbb1bae6c00609c85419f634a88204b9916a63276692399270223e4d67d7dbe29
 DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
@@ -71,10 +92,12 @@ DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed74045
 DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b
 DIST camino-1.1.6.crate 30519 BLAKE2B 3696bee362c9a6c7331079f86823aede0df06c1c36fdc2d11c0628267ca7635fd78430cc927cf3b2af34591537d3968b3c5f1cf9d500f3e889c202c944fc6138 SHA512 e777cc6e2a01c95931a81521eb278156d1c50ffd0126f914b21e35dbb7644b835f3c26bbe7a487bbca508d26b4c933bbbb9e051fa42825b154c2fa03c04375b0
 DIST candle-core-0.3.3.crate 193222 BLAKE2B 43e884d5067740fe42d60e0a81918ad5edcdd0eb960104015bf4e6340903042cf6a6ccc15edcc6de2af4c374ad46cf792f11c4af1e3455b7a0cb8c1cd1dfde85 SHA512 a0c1fcf4cfa9961e0ba512e5013b8c77f1791e8837e4a53d678e5a38d67cb5250c82e2e22db14da76c570b6c0458a00cff21ae851411e77d4aec46ce4d770677
+DIST candle-core-0.4.1.crate 200622 BLAKE2B 78e41a9d239b2be1082946ec2fae2d33a4392111c9c98eaed9493b37c3cd27872865f3825ce5dd2fae31177c1910788b1a96e2015616455e952c8a245d030c1e SHA512 a835cb35866f7151c6142581eb22a3e742f8dec5f0780d798e0b508cc00979e19895b971c6a72c45ba76ee7c740cc4bef881cb7eff7ab288d39474ab125f36be
 DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
 DIST cbc-0.1.2.crate 23501 BLAKE2B c0d537af0323a92cd01a9ec197bbe46507835348e16dcec7360072226647abe2eaa4823023930da93885347fe1429acc2f9c079b7bcac686c1293ef73b91bf0a SHA512 d3b33deff64d839ad25141f1c3b5fbeaa21f71aee7b58dbed91e7d257f93e68073c8d4a63d4c4eb9775c20f00bb0ceeee714a8218e85a231f30cd7423022f820
 DIST cc-1.0.88.crate 75288 BLAKE2B 81c512bff79ddc40af633620ea440a73d3f7370c96878b3a84606ac0523f13a9ea756765afedaf2148344ffca3ce928fbb0678977273c918c21b4e3985507938 SHA512 67ca5820d36d1be38e56f54a0292d550c9c129d680611a60fbbfa458b8cb748e5f27c7ed1eb767ac3df41cd4e875160525b81ab624726183b1d298ffdcb87846
 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cfg_aliases-0.1.1.crate 6009 BLAKE2B 6acfae9a89d3479f7ce1f0b5dbb13bfe27c006b936a96685606a61a06f69d17ab754a8a0d96c54213f758281c2fb32ac74d03a34e0f836dc7e438387955aac37 SHA512 238828445c5b48ca41ff88825af0a1ad30494e423bb6f89b6d5e4d26042afaa1ceb0e32041f7cddd79c3e15c6c82a1ddb9469c4b63a1ac52d4bcc1174900f880
 DIST chrono-0.4.34.crate 228932 BLAKE2B a2feab8d8b079209f8661fd8c5069f2a5fc3e5b0a6233187ace16f8f2ad8b4a147253e47af306cb31aacd82bdf490a8c8a171ad702b8dc22f9b934205d080c55 SHA512 2aaccde5e5ecaec744613429f807b3c34b92632973de7fdbdafd7ca510b917a23a0abc92a6497754d0d3368d684305648aec1fa2a0a61c88a100a20fab2348f1
 DIST ciborium-0.2.2.crate 35611 BLAKE2B 7bb34ed2b16f55af2d762bbc83263bba901a0f05bc7677a370460549297839c4d6e913622e8a6cb3a5c2447b94b0bd17b7d5007228ea8881193d08e5b8deb072 SHA512 8d1af6a09f116e42f0098d7d0e34dd906dc3e718b257ff1a1fde655a235d40619f61f18917c0cf35c55de9160c255a9795d5e7525989037e3512807cc6a900b1
 DIST ciborium-io-0.2.2.crate 6697 BLAKE2B 07636da78f59859515af0075cb36d9ca969113ac327ff727953c73b64b60ddae22e5b1b65d8be5aa401f8b13d34074cbc8b47f23abd7a13d551f0b1c78f23575 SHA512 641b8592f9699d5e6c607815c8e6dfc82b2bd01897015e04ef8853420a7d90c2ec5c1140e39eb7623ce05587bea52ef63659eae76baee5b6592d2ac5298ce106
@@ -90,7 +113,10 @@ DIST codespan-0.11.1.crate 8895 BLAKE2B af314a191a4dbfaac84aac58662209ff688de33d
 DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
 DIST color_quant-1.1.0.crate 6649 BLAKE2B 9a2488dd00b7a33e15e05531ea49ef1961131f0be0922ba41e2d74d2b1a047daed483ac3a9dd87c847a81cce70a347395c557cad8228ab9a8dc5be7cc0f1bcaa SHA512 690c928bda4b7b57425f38ea68ac89cde2473b7a91b7e62c04a8f2c5a0fa3505e26b065d48b7ad0a8bb491f92f600f896fefdad3ce0e86e43cbf4f9a89e94201
 DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST com-0.6.0.crate 24855 BLAKE2B 3cb2eaae6864f05a6d47819d58c83c9be2ecff8e382ed84dec93763f605d1392947dc5025198ccff4b28be5b37287725ee4cc7d7f8e057f1804351b82ed0bd2c SHA512 3ca186fdfb130863ab62fabb2c266f2258ee45482fa9b925dc0d5d7ff492a49fde5c75f8850b18895a27f804aea16fe7bd4c53011e8badfc5114a9740b5b52d9
 DIST com-rs-0.2.1.crate 10647 BLAKE2B fe4306095363fc20ed18b3880527d7a574e96d1b1b9613fea73b9c311ed391db7c2f3ae5e649b16b4975161220bb2907eec14238df4e9bb329898224bed5ca12 SHA512 e4bddb8d740553351e58a46c5dca95182db6eac90bc3f7a5f9fcb1d41b6dd7988eb12596ee8eec4f1c114a283f15f1fb15b0506fff9c1beadf811638c2a636b0
+DIST com_macros-0.6.0.crate 1075 BLAKE2B e271f5e11a62d666bfcb530879b0f41dbb2d81b94b6cbea15a306a72c97cde9eb77360cd8b5b169f861dd1d5c422c3de07442f016ae169287f243b0e9ebbe7df SHA512 737df65d1281fcb0b636ec1dd908ac48dfc020681022d64de1e327605604cecf9100c6ed629a991716693cd251563e259c4ff5611410117a6e585c94de03faff
+DIST com_macros_support-0.6.0.crate 17334 BLAKE2B a786a331c0080b0803684d1447efbe2f6903ce5139242b6c81773727fa61c7721cb198050119f3cefdaed32753f756f9862debf5e8f91d49e39804291080d572 SHA512 e4ec9f58d8ee25b0447854db8f528fe4e989d8944b3fc2b74ef8ea899d3bf6e082e8b516a51a7f77a09073f18c1ad7efdc62d6da8c82e52bbfee02cd7a552cb3
 DIST concurrent-queue-2.4.0.crate 20244 BLAKE2B b30b97eeaabf0205bbd8f4eddcc57e59b6863f18969731be66b134cdc5bcac9eb543493c54b17bb394b6e227e808f016e4f3c1da2fd6b40269b9b24a5c433f7f SHA512 5821bb396a73692e5b033d8406c2996bc4318cebf8807e596e441a2bdc28715fc6bb8eb29b575ea318f84b748ce47341a8d23f5c4de65660f86056e99b6a8b78
 DIST constant_time_eq-0.1.5.crate 4936 BLAKE2B 882dbf33f20954205fcc5b6e39863db8969d184b697fd51ef462f6890c1a754e3fae67bcc7db685d8cc26abe6e3871d3b80aa542489ba9551a0c95a49f7a6dc2 SHA512 a4e0155a7ad72babcfd418d832d362b3fca7333aaaf36c246b00e948983837c3c93378b86e37c5fa7626fe137e3b6d77276ccc61624a7f4ab914605905a88a01
 DIST constant_time_eq-0.3.0.crate 11369 BLAKE2B a6fb4ad3146b26bb3e18458938e65133431df129963041465291b38a69ba2b53ffcc849f455e67a65a5291803591b350afe4ad4996f1c4cb76c18a987b5b3ee2 SHA512 77bf6817c521daa45c0df7721418b4aa367531adde46b1db97316d52ffb46fc4ee2d3e6f62ff91ca6292db5e1d3e040f0f5287c3936f12a595b2c8c5928bf5e6
@@ -110,6 +136,7 @@ DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3
 DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
 DIST csv-1.3.0.crate 888212 BLAKE2B df05956223c50cde32f4ae6df922fbdedd8b50008a8898dd49bcc8bb7430d25727a03430c32ec23cc44ced043709de1f80f4d750e335bd12b22d0b06050881c6 SHA512 1b9e870c433e4d37e61cd604d2712c59ccd392cab55b8c88596a7094245072dcae02ecc80d3ee7cdaaa083ec2c2865b71712330c55e93715917a86106a2230ed
 DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee
+DIST d3d12-0.19.0.crate 16772 BLAKE2B da5466148c3bfdd47a9a70d8eea4599b68cd0381a8fc0e5f7e27893d6a5d35b9507712cdeb1d753c4e321fca07cbddc898daf0ede1bba0ac3ca6ea746950b6bf SHA512 8d36d0ddad5da12fde6db6dbcf0493059221bae91b16ab2832dcb73e692d47344c407882b25cae9e95e4554f4c8ffe96721b1dbe8053caff931956adb53e365b
 DIST d3d12-0.7.0.crate 17319 BLAKE2B aff7692ca8aaf6f9a55917dbcbcbeb7ba68abc5e5c8306c8ef2f738aabb5a88d8369f3a49a62ca587228831a8b226e429af6e33d16f597cfb9a677059cb8be16 SHA512 55e1506e35c65059c9c1f5448e9c1e628ad317e124773a516ed7bacad35e7dcf400e88c9b853c95a38cca94ef15db887f34874582bd287b8707527e6a08f55e8
 DIST dashmap-5.5.3.crate 24061 BLAKE2B 2bdd62f674e90007a81b76419dd5df1b58c3d9b80bed4324d9e0298355cd66706794c7187c74bd9a6ce119d81ba9400c47aa2729ec923979b0bc081329051e71 SHA512 15079a921d768224defebdf8d5339257c9e94a46d115b37ddfca8eb83718b2448555a8982bcf0381a915d292aff9d271a89d3398d2ae2f396dd581cc6883963a
 DIST data-encoding-2.5.0.crate 20632 BLAKE2B 16ea08dd12f09f2e6f8ba2910b3db07d4e7c9916e6a70d41420ef1a0e5393284b49787c47af0868bceb7f5d3f1fadf203f5a547dc8cb97713d5225dc9181fdef SHA512 b1de8bcfd7cfbfb988091fdb550eb98dfa5739ff58c4b789663e5db0d539c9acf145ccd72d87f7e1cdefd09d5771772d131d2b2e2589ac8f0bc6972c801ee0ae
@@ -163,6 +190,7 @@ DIST forwarded-header-value-0.1.1.crate 5805 BLAKE2B bc51cb0eb5f922cc34c2a3f79d6
 DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50
 DIST fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
 DIST fsrs-0.5.5.crate 35913 BLAKE2B f71c4c908dae552b908eaa5693a90195abde0c307fbdcac795658ee7a7eda4d699cdc0b1fc2cf3323dffce35248dee1f7279e59b702b83e5e0b0e6cc4104645f SHA512 99b991b96e4f2188ef37e867ec64ae0a509cf7fa6082982c211ae14fbf9f89442bde487b58f1c1890a745040b66fd4b051492f88cf4a5b34a22dbec78b321dca
+DIST fsrs-0.6.4.crate 36422 BLAKE2B b610a03dbda0c979a227c99e8c5effe4052273d1180368e3e6b9762b0739d54033fe3276646f3909ef76d61c26b4e204c2c88e2b5ee82572b1ef978bc95e018e SHA512 a732c2ebf8db16a2ff2a3c51f08781b6b2ab912bba65cad9ddf76e9f13cfd08fbec46682a0d94435d957a0d261a270d34469965b06dae908c788702b98eda292
 DIST futf-0.1.5.crate 11344 BLAKE2B 2cc5e5f5d4ace47e9273546e46c500432da47f246cee18f24607432305dec9481ec3d02b8a9bff4724efe05ea1d235294c52ee4eeb2f5f285ce56c2987b62d24 SHA512 4cee071c067c879742839d3d32192ca94ee2f9241468656357c3aed116cb7c656bf81722f32b67d60214b7db66858dca6443f0d52f0ff2114fc70971bdddd2d3
 DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e
 DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c
@@ -187,6 +215,7 @@ DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281e
 DIST getopts-0.2.21.crate 18457 BLAKE2B 10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d SHA512 5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
 DIST getrandom-0.1.16.crate 25077 BLAKE2B 0cbe96c27e78100c181a064e5fe524efa9a7a267fe60f8336d2ae0125883acd5d575ff17d1d56607255d9b2c30cb9d962026fdea1a5c3c29a5e0760d27c3136a SHA512 c5450c522c07c7a38b326f9a9062bac7d089630219d577ea4b55abad4e0c31d17b7cde385fc43912dfa100b42334e7a52422c55fda8b738caae428c6f9addb53
 DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
 DIST gif-0.13.1.crate 36408 BLAKE2B f2544552c177a4e33440b05a949f6b205d3dda1afcb7e6574c92ed9d31cdb3bf536e1914186730bd8777e1c10d86466dffbee34d975884f0125a1dfcce937bda SHA512 7e76ee111c6a94763c4dfe01faf4cb0b5272d5041e2b2b8f4db666debf647e192b963c6fb3228cdde28e1d112830c2aa31eaf0551d712ea9963e41e47e26fb26
 DIST gimli-0.28.1.crate 270497 BLAKE2B 4089e0f871295d464e548610ab5f0c2fd863825416109cf58ca827e482897f00eab23b795295758f1e3af16167b52c77c91df6f707f1f445984a6c4bcd68c6ef SHA512 695e46471fc07813dc4a47744458729b097f6efbfceeb57eb3db4165654e99bebb98dde2d73230b90bb5dd7c0ca0c6e77c7c3dc6f2abf70058b830a2fb386d25
 DIST gix-features-0.36.1.crate 29362 BLAKE2B 13e2aef38ee33dcde780fd2ff68f36c3ee32612f4853f7b56144ff5ec21b50f3d6ad8748a0e0f00289a1e33f861eb23bda8b8aeee7a684848cd003123ba299fa SHA512 558d9ee8d48f3867cc8e4fde8f4a189ea7788b1859c9493a5e87e28c3c545bd4eecd14a23ccfe457858273dac1e59fce6089f554423a815740054c2656875169
@@ -202,15 +231,19 @@ DIST glutin_wgl_sys-0.5.0.crate 5469 BLAKE2B 853aeadd1e7a775deb075116d08efc0b17e
 DIST gpu-alloc-0.6.0.crate 19649 BLAKE2B 47fbe3b604b4ffdd2e44d2298e969117688378ef5ed32aaf698106cc06f9973caefbad0cf7ee7a4e75a5602bae9ac0eb3b0661ceaaa82ec1c0d08184d0880ea8 SHA512 b0d19c68c3d122b89dde988d2df53798ba7f3cc9475698eddb0bd116a55509610a9e4edeea81ffd501b3e0a3d50a656161b6f3eabadc7a14e46578f9f5230314
 DIST gpu-alloc-types-0.3.0.crate 4128 BLAKE2B 3f14d804b0d02cd8b2a3532412085db3b6e78a500c9629e3908ab1ac7787d8b807cfc88c8b98bba8b9aea0635787e3d6cdc65d2f565047c6ec74a90ed74002e3 SHA512 9b9f7e81269070269c592c3ded750e0507bf56e1062708ae0f3784fdffa86786f15fd647b07a5d9a4d8c83d5bc277f4062711a5af99e88604e0a0b5d708534e4
 DIST gpu-allocator-0.23.0.crate 50234 BLAKE2B e8dbcb30a3a9771cc79671d6a48f16cdf92fb1a426880b080b3552b9c6ba7055140faf13874605733a75a34d71cd2f8f882974258df9b63223359ddd5dbe7877 SHA512 1afb4638158b007249ece8448822a512e9c7b47363653515c990ec9fd4d23d929a2a7fd6b150baf6e75d93dd40688e3c6472c4593d25d6b4e750f9595ad4113d
+DIST gpu-allocator-0.25.0.crate 44341 BLAKE2B ebc71ad9ce8178c07dd86c5b0db68177809b60d63d8c7094b23a0bbdbbd0c43b50c85a967ff6ba8802e87dfc11d8b2a526c096454dab34931d2135ce9578205a SHA512 b311f10c39cf01afa6d196b3557f3d1193c110ec3d4d8195b55c84eadd9e34a75c1b2fb72e79106d19b3399bb917b5d46dedf73ce3be049db918de4db9fe9f7d
 DIST gpu-descriptor-0.2.4.crate 6641 BLAKE2B e80259593e7768e96829e262f1cdcee69fad3e5ba635e61e83d40d1c43e3d50db4f88c7fd0ce70160e65b60f220cafea290bfe286e16267c72dede48dd7cd8e9 SHA512 f68c75425ea5c675a61f7dc0ef23a9b38772acafe6eab15d5a1f74f2c41a5aaf3433f685dad31810df2c82cbaf8ea2b0b15c272fbde38e0d9a02629861e8a83f
 DIST gpu-descriptor-types-0.1.2.crate 1928 BLAKE2B 5f36337952eccc0d564d9342932235d26cc01c5234a7ee6f01525cec10236e59b6c039e81c595e3252e5ddfce246c877aaa8af928f6965d4e07b67694df5f7fa SHA512 570308c4f788abeaa0de6df121b8111b73c7c9f81661968a9b3fb40d2ab1f593ac89711407a91693b05ae0a8189b741030b7b8154a5dbbb2e6b3aa794c5d015e
 DIST h2-0.3.24.crate 167814 BLAKE2B df25fee9f6e39f8ddcb9c1be4775d055328606b3454786a397c50564e3e8340d72d0fd58581239063e29fb80acf92444e1d588b0672817b12cc5c1322652189d SHA512 4741e2732f08c6388c112877f52d6f859088026f75bf928f90b06a521d43e8e8c10f14d088f8a17b42a0a613ee43009882077a68df9300d17365d936400f1695
+DIST h2-0.3.26.crate 168315 BLAKE2B 81c65e519bacc8570a28b82808828044d1c94f8cf9111ae432b1684f216ce51c1b583b87a2bda3c36cf206dd508084b8f0877e93d58c8d511f87eb143bc77ca9 SHA512 3e1fb02d42d86c9fbaee6f10fec78eebd9a31a70efbead1f4ca22664ee0e96809a52b06e23a9b6f5d0646422dc8054b5ff5d82644ef65cbc0ed2b3729d849163
 DIST half-2.4.0.crate 50666 BLAKE2B 5175650e5cb9fa08a5d45ce35b76b15454d27f214d9b9236902ffab71834b342beba0654f9c85fc796bbb499a1a979b60714a5bf7666d1faf59d61530073adbd SHA512 7357a0f84dc6ae394efdd464f5a6da2bafa48bf8d794b2c34d1507d4d66af31ece8a012b58e6f76eacea2c249488a12c20f8c7e516ddd42a70633c9dbaa13bf5
+DIST half-2.4.1.crate 50892 BLAKE2B c275a9ec70d2fc0c50cb63421399202d31252b0dbf463798ed0a12a17493817c66b8933811d483b348f8f945cb05aab7cc2a4d952bd16009c3da4860202e28dc SHA512 0bce235583ca128723186e1fb50f636b519bf826c942f02c5b969db4117baa87c644665c541991c16d1f1dd97c7233c017a513d45075fc72c5d99ccc7c1ac193
 DIST handlebars-5.1.0.crate 97779 BLAKE2B 584b6f710a4860168b0ca6e587adf19181ea7580a733ba2570380d0d7418fbf7551a77d5a52677704122e7ba7f2d63d3740d6f95a2731119669e6335389ff81a SHA512 6f80735c183bdfea58547329bfd72bc63aa21e6bdf74dc06782adfbb4e987ee31f0f86d9ceee4abab99b5ea2083c3d3369856ac51123e3bfaa0e4704e2406d64
 DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
 DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
 DIST hashlink-0.8.4.crate 26514 BLAKE2B b4f0e4c964a7a3f7bb31f5b04c34598372fa867fca4550c3e170a1eb31d58cff44314448a467d4b8d6748aa7a7bea4ed422bff76e9e0a5018f29b85a6c51f3f0 SHA512 4b21564c26673458668da18fd95246514e90cad603ada7875466bb056fe461ab31c1db77fc2ebfe207a1bcff06df2b0b29c258f7fa9e5c19cb4e4b2388d53ff7
 DIST hassle-rs-0.10.0.crate 25867 BLAKE2B a323b80b53446312ca465ac8bd86da29aba7e282d3d76b53c96517fed57b0023aeede9817e04a40aef7fc25610ee17b6352c1a2699ab0ce3cd06a8116d5365f8 SHA512 c7ef8c2ba7fd853af848348b641dfed55c9f612340a3ea6a1fb882647d0c0164d5ab8837bdfb3f98b9bbe5a90adf72fd9d2cbea1a64227f497d4a76a64d1fb3d
+DIST hassle-rs-0.11.0.crate 27178 BLAKE2B 5af929f5989f5522fc04aa27631b24dc53aac842a238d2c7e3a5f45221ab56a0725578cf3bde1b070b88a3d151ee6522e914318fcaeb0317c0da9d2cd74d082f SHA512 b4eeed4e47236cfb88087b1b6e4d2ad7c93acd90e55ef4c1b039d3798b3a7c6f81238200c15948e42be69010a7bfc24bc20f309dedd90625160a5a50f35e0930
 DIST headers-0.3.9.crate 68290 BLAKE2B 32cce72c68bc1bf162eb733f0e90bdeeb06c13a622b22d74e0d3e1f0d2f82137d9a691ab080bc204ac35cccdb21783e456e2c5db3c00f775bbbe36849ccd0212 SHA512 d7b191ce9bfe0103bb4e6ea308f4f6943c1df12bace405bd8b733ade8f0a89b3d156ef7c77aa04233c51e6d34d832a837c12ea9c2f9693fa12f2cca49c1740e1
 DIST headers-core-0.2.0.crate 2380 BLAKE2B b9edc2634ef43c53372038a67713785656bf5c030ae285bce287b7b130abc04bf56e66fcc2c67e3eda162d64b008c9a45a1f7be990d248da3ec1c18b361f33bc SHA512 1d502e6a3b2ad70a0d1e410c55864ddbf4118ea073ff7697e6b763cd18748d91f074b36451c015e3bbadad4400d099f4a2e350c609f44daee4ad40398633a8fd
 DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
@@ -253,6 +286,7 @@ DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a4
 DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
 DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
 DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST jni-sys-0.3.0.crate 10232 BLAKE2B dd6334daa6db9fae6cf1b31b9c13f09f9dc3f6a0e227bf6779880a6e197189d91583cd463b9876125cf892ffa5f8417dcc51aa010cdb8c99bb4f969990e969b1 SHA512 1e47582ed4dcf608ffd218549f1eef5ee3c87a89e28c65eeb5bba801edd6cabc0f095e213e8df606e050a57608653a59ced6f01a8bc76a5eb32ba1a337a63321
 DIST jpeg-decoder-0.3.1.crate 744364 BLAKE2B 0ccc3a7f42e471fc1fc7995fa99573b798da89911667e477a310d10b95745708e583d53776467b9d54a399047b727a3fd4c26a1387382c226f6594770b21ba05 SHA512 103b7602876069603620cc2b5530e84fdab88ec96855a821606560a67cfa26f628b401eace62ee793e6c16ef282f958ed789f5db725ff901124fe6c9b123de00
 DIST js-sys-0.3.68.crate 80764 BLAKE2B 961f58c181f060af37c00e99f55906140a4c8f1729847d6dd7da7e29b715d69ff822853dc6affb185195347e3d3bfeed392b8969c9d15a5ee28e9f01febbc148 SHA512 9b1b59f1688f95f9bd5031f68c18c0bbb8c16519c7b09aa3042e08e57921a3807d86f15407bb4d9d63c49747ac4847aa963f83373fd0d778a7e7962ea6551b6b
 DIST junction-1.0.0.crate 11136 BLAKE2B 70bfedc3265462b936cdc0e9cf7574c5accd6d95878272aeaddfe03d87e66eea303b5524ae2db60da41522a9a528395b4f7d1523f17081c06ceb6ee0a0a4c90b SHA512 51c9fe5894f41bc180ad716b7afbf54f0015b512e43d9244ad9292c5ab39b5c2feae3c5f961228dbd59cb11c8abc02b0b9f62451cabd7ae027cd898c9d5188a3
@@ -274,6 +308,7 @@ DIST linkify-0.7.0.crate 15498 BLAKE2B 71b3a9935f3921fa49eac2cc89c1a8de3ab9edfaa
 DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
 DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
 DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
 DIST lzma-sys-0.1.20.crate 760045 BLAKE2B 1f66d32008178c218575fba12df95a2cdc448e080c0a81ef4617f35dde09f0d56c86c28050db61c2ae7b464d0eaed7dd8c59a1fa605b39ff8c329e49165cd922 SHA512 393908b4e3006e4d9948a077d84ba7f5004765c4cc0f854e04847e504a246ab9a8e761fa48d4f211a7ac08dc119d950481da1ed1a480778d6b6e9b446a697279
 DIST mac-0.1.1.crate 4838 BLAKE2B c87e9f9283f179acd28c189d02d9d3de0ec99f9cfbefa590daa2880c275894951c5b0b935b652ab6c8c0172ac59e87f52fd49b787b230e6730365dc076d17578 SHA512 dbc6def04c482911ace311f34be79992fa04042c7ce36b71459b5af5c1c43e9fa66b6b40f63f8c3647daba287bf1c1be9b1a8031ead1d855f99a988898c96f1a
 DIST malloc_buf-0.0.6.crate 1239 BLAKE2B baa59345fd372db162773adbb441caff1f6bad965c3681f244161deaee76282fa09b9af0d0642cd39ef35689f85f5bd7c2efb7ba8119a58e86c7cd12d81b2c6b SHA512 463b3d7666cdd7de618abf0cc4e488060c84d6d93c56d4e922169511a0b03de380ea988cd998f5a162b244088902198763351ac16dea3762f0fa0840fc29d6ed
@@ -298,10 +333,12 @@ DIST mio-0.8.11.crate 102983 BLAKE2B 913a8e0e4843b3b19cce3eeaaff0a0024eaf1bdb478
 DIST multer-2.1.0.crate 23976 BLAKE2B 3124a7858a70ebd00cae02c5863ad631eeb4243e848001a097ac81166360d6eff64533ff109722eb6fa2fd2f4e9d3dfa677fa78e2990943932a1e58408411c8c SHA512 6824de499cc180dadf6e7535aef39e2b92921b6bac135b5849129e72ec1ed2a85bd56a08a849b7c3718f35365d3fc7489f579487cd4a141cf839e6491242b4e9
 DIST multimap-0.8.3.crate 13518 BLAKE2B 7e00324be2944f3ca38bf02bfe37f47313aa501fc166ec417cd05f11059b14aa761b58f7a737792e2f9488ef5e7825fbb13cbb6ba2ce4935f4c39414fe069730 SHA512 8580982dde6624a0d181cfdf6cc2293c368762b548f32d196fb7a29fb698d1cb743bc2572ca284c6ecd107a632ea2a428fc998c05df164437f2cb470d24d23cd
 DIST naga-0.14.2.crate 527007 BLAKE2B ce8b9a00704abdb4708abf64446b5e377af4505bde32bfda5f19aa9283d581177c7c0ebd37a37dfc08564f1dcf40bb2fa80a5dcefc73b3111f15ec8b54176ec0 SHA512 6f3b0e5312ff875d2d7c83e8c5cbeca08e2886b9f0f7dc38d406facf24f4f7d007e79981a28a95342c27c20a453d2b5499c8fa1f6034ca2e2372a7f2294e7d64
+DIST naga-0.19.2.crate 537942 BLAKE2B 0368d7de05f3ba696b1581792ffe8a420e632e287930a53ae2df5de4735783de83e20758eb6f95c1b8d33bd5452f619fb9ce7c6c9d9a2b7d2aab06787372c182 SHA512 521926b6704a6dba2d1dfbf083641bb71e575474a4c44aa5be10285f0be4467c36e68f5b2f4542a2073b7f59ba6d901249d9957ad10d0414c0015a5e1005049b
 DIST nanorand-0.7.0.crate 18437 BLAKE2B f4aaf18b7cf32b385d97842cee234f0781bc2e55ca5662031204b999293d417e0ab2726eacff084dc6681ea5e46ce01335a1a5cfaa5e8bc6e602aacb1fd25252 SHA512 3ac650451d629852236eeb45dfee808acbea616036025676b47310100982d7e8317df647fe8649e7753dd0f57c501dcb3f7401c3d804af52ff2a2f50ace8cc69
 DIST native-tls-0.2.11.crate 29008 BLAKE2B 594511c364e639e309f32f37ae20ecfc5ddeeb39c3f7180c5f3f2cf304d8c323b977af933ffe70cce696a5a63e17c5fa7ddb119d46fc3db819a28e31a388640b SHA512 7e77959932f2859757f1aeb37b78fdd459b7b6fd02424f4b7399525b94c21d1f499a718775503b8f3dfe3b4b740e1cfbee77052a2ebd0994468addb3fa665e6c
 DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
 DIST ndarray-rand-0.14.0.crate 10025 BLAKE2B fae3169a0b0ed67e37fa556d850effc24ec25303d8754163eabe270441d63c2122ed6bb8eb6adcd5f339838c09f667ba8f49f140667ccbf09086637bbfde558a SHA512 d14f77910dac3f70183eb5a10fe819514354f0a8eaa51c884289fe73620bcd15f7b37f638e77b995d51b94716a5a6668c13099747cbda8976d01983a909f20d6
+DIST ndk-sys-0.5.0+25.2.9519653.crate 307233 BLAKE2B 884f73ab15acf81b238d0ef06b66942949222506ff0f6deeb009348ac8870b0a8e74b4015ceceb2bf0611609ec4acd0923c2724b1240f314d0b56a42213e0b44 SHA512 380a6c0124df4bc2a835465506c1837ced58f1174ddfd89891c1784ea27508023543dfd229a5440ec1e593461e0e96b07557da72eff4b90032deb8cdf9db9be5
 DIST new_debug_unreachable-1.0.4.crate 2561 BLAKE2B 5c9831b04e2a44b2dd27816df0a331a8108991a84ebdfefe4e42f325ec3519ee50e89a99d490020a65a3d75acc371316c2253d2c6382453a0b15f4c3d5b96520 SHA512 6f964bb322aa8f2ff92078381dd720527600c6449e237b703278cbcf47b39a2581fddfc2f34ebb7cf31229e33d58de48bb5050e083fec6dad9aefddc1d771c85
 DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
 DIST nonempty-0.7.0.crate 7157 BLAKE2B 2d68e804a93f7737c7349a82ab2a6363579de96a74538f251e7ae521f7deff5e3c62f578c9c2ff9779ff125e0be315bf9ce85fe61220a30ad375c54ea05e5568 SHA512 c005ae2955465e3c98126ab4c3abe918660f3730ddb438caba1d7d8e2b4dc2a4d5e7581c7832c49522983b6a220cb0d720451e28eb3e1227543bf46b63c74272
@@ -375,6 +412,7 @@ DIST prettyplease-0.2.16.crate 57630 BLAKE2B b3548f37a41d1bf46d58e84297142e8d3ad
 DIST proc-macro-crate-3.1.0.crate 11084 BLAKE2B 9a9d02f0f34a30668ba94e34d51199c332209c47fd8bef28c452924f75984dcf3aef2c92c4ab3fb03205d589e4f773d960064b4d08fdb2480168f10b84fafe98 SHA512 eb5ad763aa700f2cb1604c32a4bf2fad499a03ad868a22d06b0697b77875b1cc13c739fcf165b2bd547207ef6dc3bd13ceb75e1a59c596daf916f356ed27d8e2
 DIST proc-macro-hack-0.5.20+deprecated.crate 15045 BLAKE2B fb7b9fa57ad64f2920e801482bfccc762bb7b2c8c1db7da32f393c7b47414fab37234c8a408a4ca9d7072a541df22b07775fc509f76f352fb6be9fe822f84dfd SHA512 278e786f8e0c93e346de900666b3d55d366324167a2e5e553565870c4444bfe661cf8c151a29cbd3176a4905ec49d69cffb81ae1e4a129f30404f930972c4b43
 DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
 DIST profiling-1.0.15.crate 14255 BLAKE2B fb2281d4a8f09896278f4aabd91f054daee0bf30c58ff03c740daccaded75c79c2ffa838d5058f5fafc8d21d12c2b18470a5018b67fee931f4fca2f9319f0036 SHA512 3f944c6e219e2410be4b555c4421fa26cb4b6ebdde3058c8c191c12290ba1009ad28f2e021d1d86feb71d29bbd717050a6567a2ef8b40a5d431fb8ca1b03925d
 DIST prost-0.12.3.crate 29461 BLAKE2B 5a0a183ae2d5981463befbd915664a3f3b334151f2d16df898c1999fc3a6470639ba7c701c4fbd02a9283406b922fbeab2558b744988d95e159fcfcde468279a SHA512 08a910897ba623e2773964a016a16f5b40b8f95037825fd6b2160912346ef83522482745ff3a17a77a634867b9dece8d5c10a22ac1cf779e632c5c7501897f24
 DIST prost-build-0.12.3.crate 39018 BLAKE2B 293a521917ab9468a59100df96c943038586097082f3ab040bcbd59a40c8349e59a192d2fe9c549f838db9569232a0d8d5cf0fdd2c555a71be2eb1f954c7c2e9 SHA512 65f69a406d71656b099c7eef8a70412aa06ef7d479aece8eee5edc8ed69a4492ca042a4752ce20f14f96282f6c9c64bff5dd3b974e9b0e88d799c87b60072fe9
@@ -407,7 +445,9 @@ DIST rand_hc-0.2.0.crate 11670 BLAKE2B 55fd048f2524cecd4f0e17927a81111e3070a8cc6
 DIST range-alloc-0.1.3.crate 7664 BLAKE2B 19c453738d48d09d0e076d3cf833a5cec2721627ada1e88eada2a4a5087b00dbd2784594e63c379c2d15977696a83bbacc6cda76e9bf37ca29a20f73ed082781 SHA512 b165ff007057143e1e68e8ccbca955364749cb45d7ca6aecc37c9099478ca3d954e959685941f0e505aa1cdccc9e25e43131c18d3eb447b2486254a32401653e
 DIST raw-cpuid-10.7.0.crate 107292 BLAKE2B 5452276b4e7d3ab164bf0fe65eb767df262404d059a140548afdbd34725af80dfb0e1fd9f0f3816cd31455a1d7b2b00476dcb60d8634aa113249b3832ae42d86 SHA512 74a80eb24c01946e96e995e63cc346cf9ebb1cebdab4026bfe30dd18926d23a95d3eacc140ba2742cf847b0df4097017ae365f76c6d7f09dbf1aa027ee72c892
 DIST raw-window-handle-0.5.2.crate 17063 BLAKE2B af6170239d2a2e9db62ed9450cee9be6350fd8f74d6344ddd76acfa873d124996dd8dff798a79e8c03fed50fdf26b2731b150bd20f8dcf905c8d68da351e0861 SHA512 51d93a4609533742178ab15d4454ffca1668e2a03c2a6e742ee2a61554564c74307311a50e3992919451f4f4d30ac112284413fb4310abbf06c0fa24d85d5971
+DIST raw-window-handle-0.6.1.crate 19274 BLAKE2B b90be0c9fccbd3ed3f1a997c074a0985902f09c854557802b2c89f1ac75b84cb61c4d657311e0137f8d7844cbc48473e555f31786cb35a3ddea1a0923b58a5df SHA512 1444f5468ea148fe1062b6992312b47c821145df918d15af32cc5d77f0570f1d51efbfbfdf68a1293eeb35d2f5345eb99341f66938b4b898e29ae9a91fdda82c
 DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
 DIST rayon-1.9.0.crate 177770 BLAKE2B 34e20aeb82a548bd80b8ab3faf8fd870201ba3d67f9618e5493332a3c43bcf1443c027b8ccc76cec8df6bff852434531a01c8490f829f57df5cfbc3d8a6e8a42 SHA512 c9763503fb135eefdebebb82d4d19d20e48a182f1125030a7df085ebda4184942d9057598194ab8e8d39b942c83c231834b10a677e89badb6305a2b571fc1abc
 DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
 DIST rc2-0.8.1.crate 7009 BLAKE2B c1f33c4959a541dd8e1bda791df995cfe0424d27f7d3f13d446118ca5121a3e434b7133be15f057a1573b1744b20dc84aacea891c3a2ae4fe3c777b5fa9e4747 SHA512 d2245a18df4e3e7cd979734f9be62a894e291e228fa894a2ad6e2463eaf0374718f20e65012b3de43cca0ba1c1d61d0acb9a0db46ac42b4dc99313f040a930d8
@@ -433,9 +473,12 @@ DIST rustc-demangle-0.1.23.crate 28970 BLAKE2B 611d2e41a8a9799db2f8bcb8fc8fefcda
 DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
 DIST rustix-0.38.31.crate 375443 BLAKE2B 9e8ba6bb4eb4fdf0bacfbc719124f745f383abbabfeb161bff9908d1948942d358f46191377b90c180a2793a88bb01be20dab556cfabc8da8efa2533af8e460b SHA512 593e0395a7bc5bba949e6f2a5ed9e39ae13140970a598def32ab7d6d91b4ec100752fb05abda407ee2e5e420d950b19e607f963f3974213637423c751df75960
 DIST rustls-0.21.10.crate 284920 BLAKE2B eb4628b6e0384fa7cbb5468c75c11512eb111a8a7dc7c655c6ac6beac72fc3025b1a590324ec3275ba66b632dab14dd78da4d62c1c66b2c2502099ad153900f5 SHA512 3bfcd137e6d4d86c716e8afe75450a39ca055d44557fd1a8d4b6ad4d7c58e2d5fb86ba92c3825a667c9daf5bd7a89a779ffcf8c23d6cd0af05ad47ad437da139
+DIST rustls-0.21.11.crate 284815 BLAKE2B 1d14027e1bffe6f0f1190330eeb19dbd4eb2df1c52e7b78dc2e35102d008a55724a3948d04b2598b2b698e1d934c90be337799831dcb63b04d7daee89b0f484b SHA512 e16d817d94b28e7d7d5b466497d8d52b5a850ce289b3d899bed81bc69246ef3fde7ed5a8e7a64babf5566c8b3666124dae67bbcf14f2f2f3ad84a021b938dcb1
 DIST rustls-0.22.2.crate 332080 BLAKE2B e384541cb737c17af63b494b13533256ac15692124e64db7c3939e61c1097b5ee9ca96ab3e2336500d2554c9fcd8244e76a4f72d05e0791e16432f37ff8cdf39 SHA512 c25f71a3291420ccc33ad21f2495296d092f7d01365f1ce27c71343d9fb5f50c45024d84fdd25791d7ac9aa0dd53d6b7e25f31f35f9a7e823fac8117560ea6c1
+DIST rustls-0.22.4.crate 333681 BLAKE2B 01f84b7f44883c807d8651b6058647180d6e9d48deb51fab0e76d7b587ad11face13215170db3bb7d0216505eb108438dcc3bc08ed2080816401f3955f73fbab SHA512 0b62c741b73dd49dd9d5531c9ae749fc8eedd4a396c5b4c02b1b33062d56c84e327e12f5a984b9ca22c7984103896d4ac69899032397dd6eac1b737e0647e2da
 DIST rustls-native-certs-0.6.3.crate 24438 BLAKE2B 5f019685414f19eb709ad61caf5b3df4c8b498aeac499b1e841d081f3bafbdc66a7f3892c6cfe699d5d2b702c3d1fbc90f0f6720e4cd5bf8366c91f94a02141e SHA512 53a3a4b96f05dd06c575b2eb62eb7b6d026bda539c87c0e2a4bc84fd332c6401a825135fecdda39c489b0c910ffbe4d42c93844fbdd8da4fc2badad400b27264
 DIST rustls-pemfile-1.0.4.crate 22092 BLAKE2B 9a776027d6e43a336ecfdd6713d4b1e6642378f81b73c97752563ee1d2cac5b3988afd48c92d25d55f655a6fa248436954aaa0e0bd9c7c679c987ce7df0cc99f SHA512 bc748ee06f2c101d8e54e8c4555e88c5ca824ac7bb0182f8e49bfe1fc66d418d2a3da8e454f3741697f491ad0c7bc8e924a752697023a191c1bb6eb98c48aa37
+DIST rustls-pemfile-2.1.2.crate 25928 BLAKE2B 790545dd6347badda8f67bbe67b8d4d7de9f24c134857840d7ba2335f2755cf03c05b26c16c8b1e397b3257cd39a6d3a333103c2c3ea32ccf4118bc3d42995c2 SHA512 35127c68250c31f2fd6924355ec37d5318d8a86ad38da48e68b3ea6e241deeb019eb967c510e95230be6d6c3357b0a85aa022942d21a50423632f8e2496177cb
 DIST rustls-pki-types-1.3.1.crate 21637 BLAKE2B 7734df5facdf21120d0dba9d6e2c0e30ac36d4368048e89639d53e68d6cb72a03cab08dc64e443f6d5b43c3f25020016bb2010ec8d20c329fb60d6cd93c9134b SHA512 741cf0def113336865320aecde54a56cd5bbc7f3aad6e71dd209b4e38b642f42d0244b6fabf03a55467aa42fc3d1582bfa1fd5fda6402ae2ca11191f21158939
 DIST rustls-webpki-0.101.7.crate 168808 BLAKE2B ab7177449be359e17f1f4553193e96e71b8e26e1298a0937af658b1a6f9485f051183d1bf8262d52430ea4c3b96263d1fd903c7a5f046bfe5f87b6b97ebb0672 SHA512 680e3d52f699c9d6200e2e738a4245a5114fc7122546c07d3f15f1e6741a52275061b3e016c2240f1dc3eb9f701f7346193bd82e827274fb73b8e9e0d5af4e68
 DIST rustls-webpki-0.102.2.crate 196881 BLAKE2B 783877064d2cfbc9078d33f081b2b1edfe43218184e60a8a3b3917ba0a3ab97a226f677d4bf4addef5d19d29ac63a8268dab5bd3cf973d64df866e3e71492f9d SHA512 697d44daa5e0a8ea2d12aa6f68026eb63a6e1c4420ee92656c9479df77e3f672ca2525442be55ab6183111fe594ac85661647150326223129ec23686792f6014
@@ -461,6 +504,7 @@ DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eee
 DIST serde-aux-4.5.0.crate 12448 BLAKE2B 33b59c46f182e6e6a7d8bf9273863cfed3eceaca5fda53b9c3381dd10096ecefb4a38fc00f165eac26f97fa52c8a11d9399fc49220e6e5d4432a0b1b32b1a8ef SHA512 1b40fa8aeb6698bcd625c49fee25c34d6a2e796a20c3767d09812bbde532864b3a528981c7972ba97dd320ccc2694fde597f6fb9f6245f06ebc7e554277a94b3
 DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
 DIST serde_json-1.0.114.crate 146986 BLAKE2B 229f0a8e2c0bc35435b49774fab9d4cec4e2323e85e2f97ccaa2a18277ecfb9cff9e9b165786e782cba043e9ac670717364b0f9c145254eefd74582b728f2186 SHA512 2c35cd0e29ee2af6046ce849b5854b82b90f402b51c04ea86b32ce7d67869736f17a4d028dd8245c31201036bcca7a1d3df11d842a92a45b0eaebd809687d436
+DIST serde_json-1.0.116.crate 146790 BLAKE2B 20492ac3c431fd3666599f079383a9d945549e02357127a58acaa7011684ef0caca221a253218402ceff6956ee8a20cc41ca3394b25bb69669be75ab22b66a1e SHA512 d383de754b0a50cc4ab3e6378b758ebd6178ad32ebed80cb4e32a9d8e81d0c689585ee5cd35f12b376e488d25ecfaca659be943c9bb4104b63a1c4f9ded2f337
 DIST serde_path_to_error-0.1.15.crate 16623 BLAKE2B 99700d1e70d9c80bea941fad34f9c6168891139c0446223eec46e6fd4185aa3fcf37a084a533b54b0f96ac4c9f9d1a141fee2b42f0a433dfd66b0259a27f4852 SHA512 b6c84dd3b5e9fa3d50f6af4a95facf67d2c5ec0590ad6b0e5e3914ae509c787a17e7a099295ae98695bba6e22184d4f515bf240db9513a42c8c73df96f884ef1
 DIST serde_qs-0.8.5.crate 44854 BLAKE2B 85beaf2fb1c5918cc4cebd536b351e34e0fdee08659ce1db4c7776a8793c3765f0f9c525f33db239b7a52d9e6f997e2b2fb14b1531a5205dba4bac4fab79ded9 SHA512 c9c94a791c5dbd6c87a6c4f487c98f1be44f7206ae0de1ff836fa43b2c867d45b5019f4b91d3d9dfc764b3043ed4f6df63e8de208b6a9288a2e283588b970274
 DIST serde_repr-0.1.18.crate 9974 BLAKE2B f6a8b2c8bc759bc8cfb3826489faf67da13b1cbe2432c30ec877036924869b9cf7c1ead2809b8e5852e352b51c91f40fa892ca68832ea567e4a7df29f8590a98 SHA512 09d77ccc60a748f8c95998632459f52268cf45949c0e22250f751eeaceb7336c03a457587af7bdc6fbc188cea4e15e77c8bf63d9741a9ae31fd0b8e787cabcde
@@ -488,6 +532,7 @@ DIST socket2-0.5.6.crate 55270 BLAKE2B 10eb32486b9a2908e05ab24620ad7a79243e59c2c
 DIST spin-0.5.2.crate 12004 BLAKE2B d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c SHA512 fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267
 DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
 DIST spirv-0.2.0+1.5.4.crate 30491 BLAKE2B adc19c32ceafee6eddde0e92fff3b995fa062877f653efe60bcf4a73b86da4e00f77c5922ee36b239e10e4d942a12724130b726eeacca6a60ddbe2c0a87d204b SHA512 a0725df0ae9ce0ebd0b3037a740ce82c565c21a0ee343408291b30a2aebd3ced236d1df511a73abf5480ab3d23e83a88b237ee172adf5832ea7014355a3733f3
+DIST spirv-0.3.0+sdk-1.3.268.0.crate 30802 BLAKE2B 8608a8613b02bb5c9e5258bb604db55c81d289664383606686c70f314e5bd31d5b4b0cd1e0b77c8431c363e023861c18a08f642b690a9ce01ce485d069bb6a25 SHA512 82187b94f32ee784eca112408e61e3c3ca8c825207b4c817b2b87900b252c514d137e6ea5e9384a2e241d5352ebad0e153a72d5b3db2b0dc938aaa472d3c261d
 DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
 DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
 DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479
@@ -514,7 +559,9 @@ DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678
 DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681
 DIST text_placeholder-0.5.0.crate 7102 BLAKE2B 420900107e31f92f20c3e3260167a27c99ae17dc564dbb2233ea19a40be265bd2ff9e8311c4d449d9f5585ef4a6cc59cdf7c4deffb46d430dd2c62bafb8930ab SHA512 a42a3e5c0827a0c59b5ceccf113edd30d3f6a02bb916c35ffcd27860aa2f14eb14b19fcf8f5a3dcf14d93b8a352b2bffa5f8aae0e01308ab2890846c7548bc81
 DIST thiserror-1.0.57.crate 20993 BLAKE2B 4eb90b8ee027e39102d6c030176db94510180f2bd2966503501ff89ca6b49afd61e6d9e1ebf18c08d374ff9de4e958dfcb3da8740fdfe31cceace5be456bfe4b SHA512 0ff7e48c3696f4f4c6af29f3142f0a7bb88a07b7a9877ec243e3ea15d89c48f1898b731311da5d4a7c88060628cae3eeea6a4eccf25bd851cb3075920cb1a936
+DIST thiserror-1.0.59.crate 21040 BLAKE2B d9ae0b1d810e7631edf072a41267a871c1cd88d71c882c8fb47d65b3dc563ca2addef0ebf9a9cb122fbfdccff5b92815b8f2e0f7c3382963828cb69d21ec8531 SHA512 254b0ad6c4b135234f89db8bd5674fb8c6b633495810140abf93cf06c58e911ad2ebcfdc002e7ce29739e95ea066eeed3fbd7c831e2858822dff620598dd147a
 DIST thiserror-impl-1.0.57.crate 15639 BLAKE2B 2838235c5536fcb16d19382fe286850d6fb882b1d77ca4ade6a62e1d4727ef89f69cf0383cf330996f9e2303226d5fd709557331a45c9a91393db1788fbf4422 SHA512 a850806f09b232546d1e0df5e35cd961a8aa32f1d8ac3b24df360981da53b75325a46dc788c994042c95a5887fdc77234b9f6ee5851242f734a613e579548e3c
+DIST thiserror-impl-1.0.59.crate 15726 BLAKE2B 0e524c851f999f4592e5450d7d8ad45a922c9cc5d2229f4dd106144238c8a0ceaeff5a4d1c7e27cdc53a7eb44e60f890fabe1f43ba3d5b950da9c63e6ddcc9d1 SHA512 75543ad39d1243dab23a4b50075bec337c39045f0271337a1ccc144f25dc1e7fc23b0163f16958ded9a1f44ff359378bd22f4c0f5e095c1823e928fc929457e8
 DIST thread-tree-0.3.3.crate 12263 BLAKE2B 893f1a26377d6d14fdc7dd8bf44715a23d8bd10e6ec366753a7e955025c9b5ea8167a71f9f42fb684b192abbd507ec98e5eff581c1da4f7be7a647739bc70cf2 SHA512 80e6bdd55520a8372f944834546b250f33747f35617bde94a38d1ec2320c93fa9b145cbc3c091e3f44c8aaf336ecfd09676adf3de1bdff09eb38798b867ae922
 DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492
 DIST tiff-0.9.1.crate 1423953 BLAKE2B d01949cc3a76a32f2e802a151a4c1d4bbe47c7f217f198f940293d02fd6a1a6d3087c66b3fbc099da3e155f959774d2a9d4d8c5f5f00cd6486f5f44571a1dedd SHA512 82419e671c6a896f1d639d46a3c5a019e3bff6c75d961b838f5311e5ecb31c3baafc5f88fe928e88f6b3b31881a867ea4ca9905f43e3e24f77f183260dc27b93
@@ -581,6 +628,7 @@ DIST utf-8-0.7.6.crate 10422 BLAKE2B 296690040895ba9da9e69d527aea415f4bd6bd3c010
 DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
 DIST utime-0.3.1.crate 8311 BLAKE2B 8068a7257a42b35046c7b6d88ffd6c93db1e8aefe8503baa4879d4e0ed247e9a678b1466c1a678f35283d17db585ba4db41b17ee7ede71a736df1b446a57d12a SHA512 106a430f215b4c7fb2e05c159a0deaa3d3fb5b832fcde759e362c62567c069fb8bec989e88befa09d5bcc46467791de1ab45e928afc82fdf04d622cd189b0a42
 DIST uuid-1.7.0.crate 42627 BLAKE2B 493f6a3a643d3493a2bd7e0e92a1ccfb7bd722e3a1fc8deb7df0ddc875a822daead1cdd35dc3ac6f26346844100a671318d71e5ad760c9587471d4f05bbb0c69 SHA512 2ea704d082b725d98717d772e1af84fe743929ee32658ebeb111c6fa2395ff5f44558b7e375087617f91c6f7bc242f2db96e80a631071722de6fe15af845e856
+DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5
 DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
 DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
 DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
@@ -599,14 +647,19 @@ DIST wasm-bindgen-macro-support-0.2.91.crate 20091 BLAKE2B 337b1b2a9e9e9c1350267
 DIST wasm-bindgen-shared-0.2.91.crate 7267 BLAKE2B a9dca2db84a33c650a7abbb6dc552bc4bab1446e66aace751d3709d2c63b878b127748a83cb174aae3ff8c5f5ec017b97623e5e9294e6ebf92d669efc618c357 SHA512 97072a8bdfadde104f6e9e760e1ac5ec665fdaff38a93a0bf601c95e652b35403e58a99fa8c0fefea6e47b38fb97f2e1ffcf52736f9ab890b0b9632efb26cb4b
 DIST wasm-streams-0.4.0.crate 34328 BLAKE2B a29fc66c00b9fab42ba1691ddbc251bebba429837875989874073427cfcd2ed1874597d7f7a9f1097e0bab74a3cef04ba6d312ee9138a5cd973d71837a545d6c SHA512 9a729b183999bd5cd6a31e69014381371d7c750bd0ff5c3ef0b08682fa4563ad8de1a2db0901bfc53f6721269c937cfdc4742b34388829513dfee1337d30d60d
 DIST web-sys-0.3.64.crate 725584 BLAKE2B f650eecc22ca53b75fff06c4117439d8fe9efa486701cb16a0daf76865cd017a9e25ed8c7ae1fc65fa2dd94a12c14bc2e6f9e837b70b47b4ca468bef65a29f82 SHA512 b02b0bc3f1354842b364d2f062ea4f5025edb6e615046750b56a6e2fcacef7e0b46a190eb45e14e590cf297e3ec1a813a81612ac5acfc12d744fe16c5ce041a4
+DIST web-sys-0.3.68.crate 728353 BLAKE2B d0e8d47bb44e83f376b3d3556caf2d243eeeb5f2798fed767ce3cf0eb0c67fa13b74cdd9a9999f48de06fd2f2d720f68b602ba24c20b50fa6e78966e5cc19893 SHA512 f4b537310e9900410bf4a00b382c2bff29317efd2ccfe12b9680dd3ed49a896eb8e8e10d9964d463f1627cc9df1e27dfef1c86693e90b94ce3c488915762d88e
 DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f
 DIST webpki-roots-0.25.4.crate 253559 BLAKE2B 737f608323fec02b77c47a40f8b2f9bf44f1b29d32b936fd7bd8c1066efd8916451b96ffab8949f5b5ba537bb1ed6300143bf51d1ef8663ce5a9a7a33947e81d SHA512 4891aa5c6a5bb8a4d6bd730fca5ab5bbddb5a39b9267c81951ca8d3ff0dbcd305b498328f99b2da79ac65cdc9dfa42c40631a4f8d6975ac6f4ed9c85a8d2178e
 DIST webpki-roots-0.26.1.crate 249748 BLAKE2B 6a2468eb2f868c65c599d2f6664798f75e77cb7a7228a2c7285ee5256cb01d110709474feb389991f12ba0d143211770c6922932c7fab01b4b0e37b612cbd453 SHA512 89ac53267d850953aa78550a60f58f5bcb0f9e885c4c448911dc55bbb8dbc3fb845cd7545fc40ff26998b0c360756de85206adcb148ca6190e50bc2daea7f61f
 DIST weezl-0.1.8.crate 42175 BLAKE2B 2a8dc84f018a4364ef814044a590477724b79655cd01d605e02442bdc8de1f7df3003946041dbcc17bc82315f0c11e7fc3c3b0b0375f65436f53bcac11b2bc71 SHA512 6012de47d6bb5177820be9794e70ce6354577247750b8a125dad1d3e093d96cacba62471d8f67f056a72447bb6bf7fffabc6254ae96d93014a5200c71d571c97
 DIST wgpu-0.18.0.crate 99673 BLAKE2B 19568a0860390104d7d62fb279051134f4f467310a6f3700ca6a524dcd1871abb5499716f51083fdfa2356ff57faec125b17ed72fe7e479984446734699720ce SHA512 de51fb90fd012cd11c28142f82ff9023eb9b61ceddbc044f648aff6c65d02351faf9843e6d81947fe8ed9292183d111a07ea6634ee18bbd7a23610ad2899873d
+DIST wgpu-0.19.4.crate 140361 BLAKE2B e1cab07eec353b487f7cec5ef7924dfd8b892a58332ef492ad0ed2baff77766dfcdd4aab4b16c1e28b5704702b12e5f8c0cec6a33836283b628cec4bda2b332b SHA512 6a4e92be70b639ad7870db2a1425f145448e480315ae1d2f5de061c4a2b4be3dd83a2971138dc6de107356947a8bc40ec869b7b0f03a99873065f07217cd8b62
 DIST wgpu-core-0.18.1.crate 225351 BLAKE2B 5099bae6c88ec08389ba92072e155776560922e8fbd709a1cf198886a64e7e783747ac740a9994ed739a70d77f0ca60d87f5df2a0bf791ad65ac503f9f584b3d SHA512 7e0ded80117e68f269ba98493ed4f5fed908791700c62a37ce26556257b378b6eee968b9eece52ab3ccccc24b40364840269d07a0fa066655661f32ec4fad291
+DIST wgpu-core-0.19.4.crate 235954 BLAKE2B f8a8ef81071ca15091f4b6b7b73ac86353994d4bdb39f2329816bb095e4d4300602eb4954d4c0f4e78385a8371b3c5df7a970de4daede58ceaa6735a6ae013e3 SHA512 2260c1482553805c518cc4c589496763003243e357c4b1c40703e4db3b6060f0b275fc011ac09e03e7dbf5735c973535b15c50d3135113fd1aba783d4a6aaa9d
 DIST wgpu-hal-0.18.1.crate 268148 BLAKE2B e710f602b4d5011bb921b07bd27c39def6acaa0168180f9a64e61bf32c8ceefa112965fa13c3a1f4b3c6eb3d8468f8713ba200522901ca298e9908b870f26727 SHA512 e84f3f2f47d2ed9d257ece555f16ede622fdf2e7b2ecbc74e77af686a6b5a51f53a2e45d4df5a579feca061e50cce88a2b0698d1ffe304d5da159f46370445bb
+DIST wgpu-hal-0.19.4.crate 290171 BLAKE2B a4508762024279cbac741ea77888464ef44b024131a3191c0d68349f74128bd751024d246821139a242e807ebac624a5ed56774f3896384080cf7087cf85deee SHA512 7101f95e12e9c57af90c52e82093c60a218e86fc4517ee262091bff81d800249b30322e076f29583b4d1dc445b7c1b8f2e9e662d7d50c27d53a7b25dc23b4e13
 DIST wgpu-types-0.18.0.crate 55501 BLAKE2B a7a2cded68c54c645ee68107db3529a4a23148c50ac3ef99b9d8b8172a89497710851f731216cc46963f9e668bb5505ba64247a681ada6c4bdfbf59fe26988d2 SHA512 0d886b0d1f7c1b618297e03db92dffb775ae5aac6768af348297e78cb1798df93d41ce3b005b5ec7c77d22156b5920bcf17fc341549acddd5c203091f332e20a
+DIST wgpu-types-0.19.2.crate 59463 BLAKE2B 25d333b889e4fa21a79d0ae2a4b613cc317afa1eb57cfc73e08191facc29a2536a00a0cbb67470da9f98b1dcb11e96e3d63d0b434a6ddaec479db2beea2faa2f SHA512 5476fb614a92cd74197831ee7f7aa16e7cd1ed8258d699458c7a77d2ea2d6224c58076f994e01554cee8010b826a8d0dc15fa2c03a25797f87f4d92060c69ce6
 DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5
 DIST which-5.0.0.crate 16635 BLAKE2B 5319f2effea2b86ed865be31efbb66035670cb80245f212268a9d3b4798b97fb658ef02b4db3ba85aaf82007e0498e98f35f67128bd9a6796accbbb37161fadd SHA512 cf2b6ec2f156f4d6af0bdb8b468965784000158bc7ab8f76fa1b1d7a1a2c732a7392c8ea09d3cc79259411e3ed7ed2d448a6aa94fe7c2fae077186086b0f826a
 DIST widestring-1.0.2.crate 79706 BLAKE2B 64423d0c485d1596015e9fcee691222a2a69b85a1b13a91651c50c1e3c5ec61c5105232904c6239bb442a2b3f2e808379d802856b93bb62ec8779cbf3db77655 SHA512 cbebac37d87808e791d7839ad69e0b86af49b0e8a354a22e11797915c719937ed5b0cb638e5afc9d710cd1e073eaa9f7db76cd3ca1ec35a71b565f0b8f55407b

diff --git a/app-misc/anki/anki-24.06.3.ebuild b/app-misc/anki/anki-24.06.3.ebuild
new file mode 100644
index 000000000000..77c1754f1f9b
--- /dev/null
+++ b/app-misc/anki/anki-24.06.3.ebuild
@@ -0,0 +1,982 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+CRATES="
+	addr2line@0.21.0
+	adler@1.0.2
+	aes@0.8.4
+	ahash@0.8.10
+	aho-corasick@1.1.2
+	allocator-api2@0.2.16
+	ammonia@3.3.0
+	android-tzdata@0.1.1
+	android_system_properties@0.1.5
+	anes@0.1.6
+	anstream@0.6.13
+	anstyle-parse@0.2.3
+	anstyle-query@1.0.2
+	anstyle-wincon@3.0.2
+	anstyle@1.0.6
+	anyhow@1.0.80
+	apple-bundles@0.17.0
+	arrayref@0.3.7
+	arrayvec@0.7.4
+	ash@0.37.3+1.3.251
+	assert-json-diff@2.0.2
+	async-channel@1.9.0
+	async-compression@0.4.6
+	async-stream-impl@0.3.5
+	async-stream@0.3.5
+	async-trait@0.1.80
+	autocfg@1.1.0
+	axum-client-ip@0.4.2
+	axum-core@0.3.4
+	axum-macros@0.3.8
+	axum@0.6.20
+	backtrace@0.3.69
+	base64@0.13.1
+	base64@0.21.7
+	base64@0.22.1
+	base64ct@1.6.0
+	bincode@2.0.0-rc.3
+	bit-set@0.5.3
+	bit-vec@0.6.3
+	bit_field@0.10.2
+	bitflags@1.3.2
+	bitflags@2.4.2
+	blake3@1.5.0
+	block-buffer@0.10.4
+	block-padding@0.3.3
+	block@0.1.6
+	bstr@1.9.1
+	bumpalo@3.15.3
+	burn-autodiff@0.13.1
+	burn-candle@0.13.1
+	burn-common@0.13.1
+	burn-compute@0.13.1
+	burn-core@0.13.1
+	burn-dataset@0.13.1
+	burn-derive@0.13.1
+	burn-fusion@0.13.1
+	burn-jit@0.13.1
+	burn-ndarray@0.13.1
+	burn-tch@0.13.1
+	burn-tensor@0.13.1
+	burn-train@0.13.1
+	burn-wgpu@0.13.1
+	burn@0.13.1
+	bytemuck@1.14.3
+	bytemuck_derive@1.5.0
+	byteorder@1.5.0
+	bytes@1.5.0
+	bzip2-sys@0.1.11+1.0.8
+	bzip2@0.4.4
+	camino@1.1.6
+	candle-core@0.4.1
+	cast@0.3.0
+	cbc@0.1.2
+	cc@1.0.88
+	cfg-if@1.0.0
+	cfg_aliases@0.1.1
+	chrono@0.4.34
+	ciborium-io@0.2.2
+	ciborium-ll@0.2.2
+	ciborium@0.2.2
+	cipher@0.4.4
+	clap@4.5.1
+	clap_builder@4.5.1
+	clap_complete@4.5.1
+	clap_derive@4.5.0
+	clap_lex@0.7.0
+	coarsetime@0.1.34
+	codespan-reporting@0.11.1
+	codespan@0.11.1
+	color_quant@1.1.0
+	colorchoice@1.0.0
+	com@0.6.0
+	com_macros@0.6.0
+	com_macros_support@0.6.0
+	concurrent-queue@2.4.0
+	constant_time_eq@0.1.5
+	constant_time_eq@0.3.0
+	convert_case@0.6.0
+	core-foundation-sys@0.8.6
+	core-foundation@0.9.4
+	core-graphics-types@0.1.3
+	cpufeatures@0.2.12
+	crc32fast@1.4.0
+	criterion-plot@0.5.0
+	criterion@0.5.1
+	crossbeam-channel@0.5.11
+	crossbeam-deque@0.8.5
+	crossbeam-epoch@0.9.18
+	crossbeam-utils@0.8.19
+	crunchy@0.2.2
+	crypto-common@0.1.6
+	csv-core@0.1.11
+	csv@1.3.0
+	d3d12@0.19.0
+	dashmap@5.5.3
+	data-encoding@2.5.0
+	deadpool-runtime@0.1.3
+	deadpool@0.9.5
+	deranged@0.3.11
+	derive-new@0.6.0
+	des@0.8.1
+	difflib@0.4.0
+	digest@0.10.7
+	dirs-sys@0.4.1
+	dirs@5.0.1
+	displaydoc@0.2.4
+	duct@0.13.7
+	dunce@1.0.4
+	dyn-stack@0.10.0
+	either@1.10.0
+	elasticlunr-rs@3.0.2
+	encoding_rs@0.8.33
+	enum-as-inner@0.6.0
+	env_filter@0.1.0
+	env_logger@0.11.2
+	envy@0.4.2
+	equivalent@1.0.1
+	errno@0.3.8
+	event-listener@2.5.3
+	exr@1.72.0
+	fallible-iterator@0.3.0
+	fallible-streaming-iterator@0.1.9
+	faster-hex@0.9.0
+	fastrand@1.9.0
+	fastrand@2.0.1
+	fdeflate@0.3.4
+	filetime@0.2.23
+	find-winsdk@0.2.0
+	fixedbitset@0.4.2
+	flate2@1.0.28
+	fluent-bundle@0.15.2
+	fluent-langneg@0.13.0
+	fluent-syntax@0.11.0
+	fluent@0.16.0
+	flume@0.11.0
+	fnv@1.0.7
+	foreign-types-macros@0.2.3
+	foreign-types-shared@0.1.1
+	foreign-types-shared@0.3.1
+	foreign-types@0.3.2
+	foreign-types@0.5.0
+	form_urlencoded@1.2.1
+	forwarded-header-value@0.1.1
+	fs2@0.4.3
+	fsevent-sys@4.1.0
+	fsrs@0.6.4
+	futf@0.1.5
+	futures-channel@0.3.30
+	futures-core@0.3.30
+	futures-executor@0.3.30
+	futures-intrusive@0.5.0
+	futures-io@0.3.30
+	futures-lite@1.13.0
+	futures-macro@0.3.30
+	futures-sink@0.3.30
+	futures-task@0.3.30
+	futures-timer@3.0.3
+	futures-util@0.3.30
+	futures@0.3.30
+	gemm-c32@0.17.1
+	gemm-c64@0.17.1
+	gemm-common@0.17.1
+	gemm-f16@0.17.1
+	gemm-f32@0.17.1
+	gemm-f64@0.17.1
+	gemm@0.17.1
+	generic-array@0.14.7
+	getopts@0.2.21
+	getrandom@0.1.16
+	getrandom@0.2.14
+	gif@0.13.1
+	gimli@0.28.1
+	gix-features@0.36.1
+	gix-fs@0.8.1
+	gix-hash@0.13.3
+	gix-tempfile@11.0.1
+	gix-trace@0.1.7
+	gl_generator@0.14.0
+	glob@0.3.1
+	globset@0.4.14
+	glow@0.13.1
+	glutin_wgl_sys@0.5.0
+	gpu-alloc-types@0.3.0
+	gpu-alloc@0.6.0
+	gpu-allocator@0.25.0
+	gpu-descriptor-types@0.1.2
+	gpu-descriptor@0.2.4
+	h2@0.3.26
+	half@2.4.1
+	handlebars@5.1.0
+	hashbrown@0.13.2
+	hashbrown@0.14.3
+	hashlink@0.8.4
+	hassle-rs@0.11.0
+	headers-core@0.2.0
+	headers@0.3.9
+	heck@0.4.1
+	hermit-abi@0.3.8
+	hex@0.4.3
+	hexf-parse@0.2.1
+	hmac@0.12.1
+	home@0.5.9
+	html5ever@0.26.0
+	htmlescape@0.3.1
+	http-body@0.4.6
+	http-range-header@0.3.1
+	http-types@2.12.0
+	http@0.2.11
+	httparse@1.8.0
+	httpdate@1.0.3
+	humantime@2.1.0
+	hyper-rustls@0.24.2
+	hyper-tls@0.5.0
+	hyper@0.14.28
+	iana-time-zone-haiku@0.1.2
+	iana-time-zone@0.1.60
+	id_tree@1.8.0
+	idna@0.5.0
+	ignore@0.4.22
+	image@0.24.9
+	indexmap@2.2.3
+	indoc@2.0.4
+	infer@0.2.3
+	inflections@1.1.1
+	inotify-sys@0.1.5
+	inotify@0.9.6
+	inout@0.1.3
+	instant@0.1.12
+	intl-memoizer@0.5.1
+	intl_pluralrules@7.0.2
+	ipnet@2.9.0
+	is-terminal@0.4.12
+	itertools@0.10.5
+	itertools@0.11.0
+	itertools@0.12.1
+	itoa@1.0.10
+	jni-sys@0.3.0
+	jpeg-decoder@0.3.1
+	js-sys@0.3.68
+	junction@1.0.0
+	khronos-egl@6.0.0
+	khronos_api@3.1.0
+	kqueue-sys@1.0.4
+	kqueue@1.0.8
+	lazy_static@1.4.0
+	lebe@0.5.2
+	libc@0.2.153
+	libloading@0.7.4
+	libloading@0.8.1
+	libm@0.2.8
+	libredox@0.0.1
+	libsqlite3-sys@0.27.0
+	line-wrap@0.1.1
+	linkify@0.7.0
+	linux-raw-sys@0.4.13
+	lock_api@0.4.11
+	log@0.4.21
+	lzma-sys@0.1.20
+	mac@0.1.1
+	malloc_buf@0.0.6
+	maplit@1.0.2
+	markup5ever@0.11.0
+	markup5ever_rcdom@0.2.0
+	matchers@0.1.0
+	matches@0.1.10
+	matchit@0.7.3
+	matrixmultiply@0.3.8
+	md5@0.7.0
+	mdbook@0.4.37
+	memchr@2.7.1
+	memmap2@0.9.4
+	memoffset@0.9.0
+	metal@0.27.0
+	mime@0.3.17
+	mime_guess@2.0.4
+	minimal-lexical@0.2.1
+	miniz_oxide@0.7.2
+	mio@0.8.11
+	multer@2.1.0
+	multimap@0.8.3
+	naga@0.19.2
+	native-tls@0.2.11
+	ndarray-rand@0.14.0
+	ndarray@0.15.6
+	ndk-sys@0.5.0+25.2.9519653
+	new_debug_unreachable@1.0.4
+	nom@7.1.3
+	nonempty@0.7.0
+	normpath@1.2.0
+	notify-debouncer-mini@0.4.1
+	notify@6.1.1
+	nu-ansi-term@0.46.0
+	num-complex@0.4.5
+	num-conv@0.1.0
+	num-format@0.4.4
+	num-integer@0.1.46
+	num-traits@0.2.18
+	num_cpus@1.16.0
+	num_enum@0.7.2
+	num_enum_derive@0.7.2
+	objc@0.2.7
+	objc_exception@0.1.2
+	object@0.32.2
+	once_cell@1.19.0
+	oorandom@11.1.3
+	opener@0.6.1
+	openssl-macros@0.1.1
+	openssl-probe@0.1.5
+	openssl-sys@0.9.101
+	openssl@0.10.64
+	option-ext@0.2.0
+	os_pipe@1.1.5
+	overload@0.1.1
+	p12@0.6.3
+	parking@2.2.0
+	parking_lot@0.12.1
+	parking_lot_core@0.9.9
+	password-hash@0.4.2
+	password-hash@0.5.0
+	paste@1.0.14
+	pathdiff@0.2.1
+	pbkdf2@0.11.0
+	pbkdf2@0.12.2
+	pem@1.1.1
+	percent-encoding@2.3.1
+	pest@2.7.7
+	pest_derive@2.7.7
+	pest_generator@2.7.7
+	pest_meta@2.7.7
+	petgraph@0.6.4
+	phf@0.10.1
+	phf@0.11.2
+	phf_codegen@0.10.0
+	phf_generator@0.10.0
+	phf_generator@0.11.2
+	phf_macros@0.11.2
+	phf_shared@0.10.0
+	phf_shared@0.11.2
+	pin-project-internal@1.1.4
+	pin-project-lite@0.2.13
+	pin-project@1.1.4
+	pin-utils@0.1.0
+	pkg-config@0.3.30
+	plist@1.6.0
+	plotters-backend@0.3.5
+	plotters-svg@0.3.5
+	plotters@0.3.5
+	png@0.17.13
+	pollster@0.3.0
+	portable-atomic@1.6.0
+	powerfmt@0.2.0
+	ppv-lite86@0.2.17
+	precomputed-hash@0.1.1
+	presser@0.3.1
+	prettyplease@0.2.16
+	proc-macro-crate@3.1.0
+	proc-macro-hack@0.5.20+deprecated
+	proc-macro2@1.0.81
+	profiling@1.0.15
+	prost-build@0.12.3
+	prost-derive@0.12.3
+	prost-reflect@0.12.0
+	prost-types@0.12.3
+	prost@0.12.3
+	pulldown-cmark-escape@0.10.0
+	pulldown-cmark@0.10.0
+	pulldown-cmark@0.8.0
+	pulldown-cmark@0.9.6
+	pulp@0.18.8
+	pyo3-build-config@0.20.3
+	pyo3-ffi@0.20.3
+	pyo3-macros-backend@0.20.3
+	pyo3-macros@0.20.3
+	pyo3@0.20.3
+	qoi@0.4.1
+	quick-xml@0.31.0
+	quote@1.0.35
+	r2d2@0.8.10
+	r2d2_sqlite@0.23.0
+	rand@0.7.3
+	rand@0.8.5
+	rand_chacha@0.2.2
+	rand_chacha@0.3.1
+	rand_core@0.5.1
+	rand_core@0.6.4
+	rand_distr@0.4.3
+	rand_hc@0.2.0
+	range-alloc@0.1.3
+	raw-cpuid@10.7.0
+	raw-window-handle@0.6.1
+	rawpointer@0.2.1
+	rayon-core@1.12.1
+	rayon@1.10.0
+	rc2@0.8.1
+	rcgen@0.10.0
+	reborrow@0.5.5
+	redox_syscall@0.4.1
+	redox_users@0.4.4
+	regex-automata@0.1.10
+	regex-automata@0.4.5
+	regex-syntax@0.6.29
+	regex-syntax@0.8.2
+	regex@1.10.3
+	renderdoc-sys@1.0.0
+	reqwest@0.11.24
+	retain_mut@0.1.9
+	ring@0.16.20
+	ring@0.17.8
+	rmp-serde@1.1.2
+	rmp@0.8.12
+	rusqlite@0.30.0
+	rustc-demangle@0.1.23
+	rustc-hash@1.1.0
+	rustix@0.38.31
+	rustls-native-certs@0.6.3
+	rustls-pemfile@1.0.4
+	rustls-pemfile@2.1.2
+	rustls-pki-types@1.3.1
+	rustls-webpki@0.101.7
+	rustls-webpki@0.102.2
+	rustls@0.21.11
+	rustls@0.22.4
+	rustversion@1.0.14
+	ryu@1.0.17
+	safemem@0.3.3
+	safetensors@0.3.3
+	safetensors@0.4.2
+	same-file@1.0.6
+	sanitize-filename@0.5.0
+	schannel@0.1.23
+	scheduled-thread-pool@0.2.7
+	scoped-tls@1.0.1
+	scopeguard@1.2.0
+	sct@0.7.1
+	security-framework-sys@2.9.1
+	security-framework@2.9.2
+	self_cell@0.10.3
+	self_cell@1.0.3
+	semver@1.0.22
+	seq-macro@0.3.5
+	serde-aux@4.5.0
+	serde@1.0.197
+	serde_derive@1.0.197
+	serde_json@1.0.116
+	serde_path_to_error@0.1.15
+	serde_qs@0.8.5
+	serde_repr@0.1.18
+	serde_rusqlite@0.34.0
+	serde_tuple@0.5.0
+	serde_tuple_macros@0.5.0
+	serde_urlencoded@0.7.1
+	sha1@0.10.6
+	sha2@0.10.8
+	sharded-slab@0.1.7
+	shared_child@1.0.0
+	shlex@1.3.0
+	signal-hook-registry@1.4.1
+	signal-hook@0.3.17
+	simd-adler32@0.3.7
+	simple-file-manifest@0.11.0
+	siphasher@0.3.11
+	slab@0.4.9
+	slotmap@1.0.7
+	smallvec@1.13.1
+	snafu-derive@0.8.1
+	snafu@0.8.1
+	snowflake@1.3.0
+	socket2@0.5.6
+	spin@0.5.2
+	spin@0.9.8
+	spirv@0.3.0+sdk-1.3.268.0
+	stable_deref_trait@1.2.0
+	static_assertions@1.1.0
+	string_cache@0.8.7
+	string_cache_codegen@0.5.2
+	strsim@0.11.0
+	strum@0.25.0
+	strum@0.26.1
+	strum_macros@0.25.3
+	strum_macros@0.26.1
+	subtle@2.5.0
+	syn@1.0.109
+	syn@2.0.51
+	sync_wrapper@0.1.2
+	synstructure@0.13.1
+	sysctl@0.5.5
+	system-configuration-sys@0.5.0
+	system-configuration@0.5.1
+	tar@0.4.40
+	target-lexicon@0.12.14
+	tch@0.15.0
+	tempfile@3.10.1
+	tendril@0.4.3
+	termcolor@1.4.1
+	terminal_size@0.3.0
+	text_placeholder@0.5.0
+	thiserror-impl@1.0.59
+	thiserror@1.0.59
+	thread-tree@0.3.3
+	thread_local@1.1.8
+	tiff@0.9.1
+	time-core@0.1.2
+	tinystr@0.7.5
+	tinytemplate@1.2.1
+	tinyvec@1.6.0
+	tinyvec_macros@0.1.1
+	tokio-macros@2.2.0
+	tokio-native-tls@0.3.1
+	tokio-rustls@0.24.1
+	tokio-socks@0.5.1
+	tokio-stream@0.1.14
+	tokio-tungstenite@0.20.1
+	tokio-util@0.7.10
+	tokio@1.36.0
+	toml@0.5.11
+	toml_datetime@0.6.5
+	toml_edit@0.21.1
+	topological-sort@0.2.2
+	torch-sys@0.15.0
+	tower-http@0.4.4
+	tower-layer@0.3.2
+	tower-service@0.3.2
+	tower@0.4.13
+	tracing-appender@0.2.3
+	tracing-attributes@0.1.27
+	tracing-core@0.1.32
+	tracing-log@0.2.0
+	tracing-subscriber@0.3.18
+	tracing@0.1.40
+	try-lock@0.2.5
+	tugger-common@0.10.0
+	tugger-windows-codesign@0.10.0
+	tugger-windows@0.10.0
+	tungstenite@0.20.1
+	type-map@0.4.0
+	typenum@1.17.0
+	ucd-trie@0.1.6
+	unic-char-property@0.9.0
+	unic-char-range@0.9.0
+	unic-common@0.9.0
+	unic-langid-impl@0.9.4
+	unic-langid-macros-impl@0.9.4
+	unic-langid-macros@0.9.4
+	unic-langid@0.9.4
+	unic-ucd-category@0.9.0
+	unic-ucd-version@0.9.0
+	unicase@2.6.0
+	unicode-bidi@0.3.15
+	unicode-ident@1.0.12
+	unicode-normalization@0.1.23
+	unicode-segmentation@1.11.0
+	unicode-width@0.1.11
+	unicode-xid@0.2.4
+	unindent@0.2.3
+	untrusted@0.7.1
+	untrusted@0.9.0
+	ureq@2.9.6
+	url@2.5.0
+	utf-8@0.7.6
+	utf8parse@0.2.1
+	utime@0.3.1
+	uuid@1.8.0
+	valuable@0.1.0
+	vcpkg@0.2.15
+	version_check@0.9.4
+	waker-fn@1.1.1
+	walkdir@2.4.0
+	want@0.3.1
+	warp@0.3.6
+	wasi@0.11.0+wasi-snapshot-preview1
+	wasi@0.9.0+wasi-snapshot-preview1
+	wasix@0.12.21
+	wasm-bindgen-backend@0.2.91
+	wasm-bindgen-futures@0.4.41
+	wasm-bindgen-macro-support@0.2.91
+	wasm-bindgen-macro@0.2.91
+	wasm-bindgen-shared@0.2.91
+	wasm-bindgen@0.2.91
+	wasm-streams@0.4.0
+	web-sys@0.3.68
+	web-time@1.1.0
+	webpki-roots@0.25.4
+	webpki-roots@0.26.1
+	weezl@0.1.8
+	wgpu-core@0.19.4
+	wgpu-hal@0.19.4
+	wgpu-types@0.19.2
+	wgpu@0.19.4
+	which@4.4.2
+	which@5.0.0
+	widestring@1.0.2
+	winapi-i686-pc-windows-gnu@0.4.0
+	winapi-util@0.1.6
+	winapi-x86_64-pc-windows-gnu@0.4.0
+	winapi@0.3.9
+	windows-core@0.51.1
+	windows-core@0.52.0
+	windows-core@0.54.0
+	windows-result@0.1.0
+	windows-sys@0.48.0
+	windows-sys@0.52.0
+	windows-targets@0.48.5
+	windows-targets@0.52.3
+	windows@0.51.1
+	windows@0.54.0
+	windows_aarch64_gnullvm@0.48.5
+	windows_aarch64_gnullvm@0.52.3
+	windows_aarch64_msvc@0.48.5
+	windows_aarch64_msvc@0.52.3
+	windows_i686_gnu@0.48.5
+	windows_i686_gnu@0.52.3
+	windows_i686_msvc@0.48.5
+	windows_i686_msvc@0.52.3
+	windows_x86_64_gnu@0.48.5
+	windows_x86_64_gnu@0.52.3
+	windows_x86_64_gnullvm@0.48.5
+	windows_x86_64_gnullvm@0.52.3
+	windows_x86_64_msvc@0.48.5
+	windows_x86_64_msvc@0.52.3
+	winnow@0.5.40
+	winreg@0.5.1
+	winreg@0.50.0
+	wiremock@0.5.22
+	xattr@1.3.1
+	xml-rs@0.8.19
+	xml5ever@0.17.0
+	xz2@0.1.7
+	yasna@0.5.2
+	yoke-derive@0.7.3
+	yoke@0.7.3
+	zerocopy-derive@0.7.32
+	zerocopy@0.7.32
+	zerofrom-derive@0.1.3
+	zerofrom@0.1.3
+	zeroize@1.7.0
+	zip@0.6.6
+	zstd-safe@5.0.2+zstd.1.5.2
+	zstd-safe@7.0.0
+	zstd-sys@2.0.9+zstd.1.5.5
+	zstd@0.11.2+zstd.1.5.2
+	zstd@0.13.0
+	zune-inflate@0.2.54
+"
+# https://github.com/time-rs/time/issues/693
+# cargo update time@0.3.34 --precise 0.3.36
+CRATES+="
+	time-macros@0.2.18
+	time@0.3.36
+"
+declare -A GIT_CRATES=(
+	[linkcheck]='https://github.com/ankitects/linkcheck;184b2ca50ed39ca43da13f0b830a463861adb9ca;linkcheck-%commit%'
+	[percent-encoding-iri]='https://github.com/ankitects/rust-url;bb930b8d089f4d30d7d19c12e54e66191de47b88;rust-url-%commit%/percent_encoding'
+)
+inherit cargo desktop edo multiprocessing ninja-utils optfeature \
+	python-single-r1 readme.gentoo-r1 toolchain-funcs xdg
+
+DESCRIPTION="A spaced-repetition memory training program (flash cards)"
+HOMEPAGE="https://apps.ankiweb.net/"
+
+# Don't forget to update COMMITS if PV changes.
+# Update [node_modules] to the most recent commit hash until ${PV}, that
+# changed yarn.lock.
+# Oftentimes this file does not change between releases. This versioning
+# scheme prevents unnecessary downloads of the (sizeable) node_modules
+# folder.
+declare -A COMMITS=(
+	[anki]="d678e39350a2d243242a69f4e22f5192b04398f2"
+	[ftl-core]="b4813a328f44c8224d2649adbdbcbef095db9a40"
+	[ftl-desktop]="b95608421ba2ba1cdca407933aff9ba25d567e12"
+	[node_modules]="b9a182d8e2f3a11b633a6d5fbb582e9e7d8a4f34"
+)
+SRC_URI="${CARGO_CRATE_URIS}
+	https://github.com/ankitects/anki/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
+	https://github.com/ankitects/anki-core-i18n/archive/${COMMITS[ftl-core]}.tar.gz
+	-> anki-core-i18n-${COMMITS[ftl-core]}.gh.tar.gz
+	https://github.com/ankitects/anki-desktop-ftl/archive/${COMMITS[ftl-desktop]}.tar.gz
+	-> anki-desktop-ftl-${COMMITS[ftl-desktop]}.gh.tar.gz
+	gui? ( https://git.sr.ht/~antecrescent/gentoo-files/blob/main/app-misc/anki/anki-node_modules-${COMMITS[node_modules]}.tar.xz )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PV}/ninja-gentoo-setup.patch
+	"${FILESDIR}"/${PV}/remove-yarn.patch
+	"${FILESDIR}"/24.04.1/remove-mypy-protobuf.patch
+	"${FILESDIR}"/24.04.1/revert-cert-store-hack.patch
+	"${FILESDIR}"/24.04.1/rust-1.80.0.patch
+	"${FILESDIR}"/23.12.1/ninja-rules-for-cargo.patch
+	"${FILESDIR}"/23.12.1/remove-formatter-dep.patch
+)
+
+# How to get an up-to-date summary of runtime JS libs' licenses:
+# ./node_modules/.bin/license-checker-rseidelsohn --production --excludePackages anki --summary
+LICENSE="AGPL-3+ BSD public-domain gui? ( 0BSD CC-BY-4.0 GPL-3+ Unlicense )"
+# Dependent crate licenses
+LICENSE+="
+	Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0 ISC MIT
+	MPL-2.0 Unicode-DFS-2016 ZLIB
+"
+# Manually added crate licenses
+LICENSE+=" Unicode-3.0 openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc +gui qt6 test"
+REQUIRED_USE="gui? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!gui? ( test ) !test? ( test )"
+
+# Dependencies:
+# Python: python/requirements.{anki,aqt}.in
+# If ENABLE_QT5_COMPAT is set at runtime
+# additionally depend on PyQt6[dbus,printsupport].
+# Qt: qt/{aqt/{sound.py,qt/*.py},tools/build_ui.py}
+# app-misc/certificates: The rust backend library is built against
+# rustls-native-certs to use the native certificate store.
+
+DEPEND="
+	dev-db/sqlite:3
+	>=app-arch/zstd-1.5.5:=
+"
+GUI_RDEPEND="
+	${PYTHON_DEPS}
+	$(python_gen_cond_dep '
+		dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+		dev-python/distro[${PYTHON_USEDEP}]
+		dev-python/decorator[${PYTHON_USEDEP}]
+		dev-python/flask[${PYTHON_USEDEP}]
+		dev-python/flask-cors[${PYTHON_USEDEP}]
+		dev-python/jsonschema[${PYTHON_USEDEP}]
+		dev-python/markdown[${PYTHON_USEDEP}]
+		dev-python/protobuf-python[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+		dev-python/send2trash[${PYTHON_USEDEP}]
+		dev-python/waitress[${PYTHON_USEDEP}]')
+	qt6? (
+		dev-qt/qtsvg:6
+		$(python_gen_cond_dep '
+			>=dev-python/PyQt6-6.6.1[gui,network,opengl,quick,webchannel,widgets,${PYTHON_USEDEP}]
+			>=dev-python/PyQt6-sip-13.6.0[${PYTHON_USEDEP}]
+			>=dev-python/PyQt6-WebEngine-6.6.0[widgets,${PYTHON_USEDEP}]')
+	)
+	!qt6? (
+		dev-qt/qtgui:5[jpeg,png]
+		dev-qt/qtsvg:5
+		$(python_gen_cond_dep '
+			>=dev-python/PyQt5-5.15.5[gui,network,webchannel,widgets,${PYTHON_USEDEP}]
+			>=dev-python/PyQt5-sip-12.9.0[${PYTHON_USEDEP}]
+			>=dev-python/PyQtWebEngine-5.15.5[${PYTHON_USEDEP}]')
+	)
+"
+RDEPEND="
+	${DEPEND}
+	app-misc/ca-certificates
+	gui? ( ${GUI_RDEPEND} )
+"
+
+BDEPEND="
+	>=app-arch/zstd-1.5.5:=
+	dev-libs/protobuf
+	virtual/pkgconfig
+	>=virtual/rust-1.75.0
+	doc? (
+		$(python_gen_cond_dep '
+			>=dev-python/sphinx-7.2.6[${PYTHON_USEDEP}]
+			dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+			dev-python/sphinx-autoapi[${PYTHON_USEDEP}]')
+	)
+	gui? (
+		${PYTHON_DEPS}
+		app-alternatives/ninja
+		app-arch/unzip
+		>=net-libs/nodejs-20.12.1
+		sys-apps/yarn
+		$(python_gen_cond_dep 'dev-python/wheel[${PYTHON_USEDEP}]')
+		qt6?	( $(python_gen_cond_dep 'dev-python/PyQt6[${PYTHON_USEDEP}]') )
+		!qt6?	( $(python_gen_cond_dep 'dev-python/PyQt5[${PYTHON_USEDEP}]') )
+	)
+	test? (
+		${RDEPEND}
+		app-text/dvipng
+		app-text/texlive
+		dev-libs/openssl
+		dev-util/cargo-nextest
+		$(python_gen_cond_dep '
+			dev-python/pytest[${PYTHON_USEDEP}]
+			dev-python/mock[${PYTHON_USEDEP}]')
+	)
+"
+
+QA_FLAGS_IGNORED="usr/bin/anki-sync-server
+	usr/lib/python.*/site-packages/anki/_rsbridge.so"
+
+pkg_setup() {
+	export PROTOC_BINARY="${BROOT}"/usr/bin/protoc
+	export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+	export ZSTD_SYS_USE_PKG_CONFIG=1
+
+	if use gui; then
+		python-single-r1_pkg_setup
+		export NODE_BINARY="${BROOT}"/usr/bin/node
+		export YARN_BINARY="${BROOT}"/usr/bin/yarn
+		export OFFLINE_BUILD=1
+		if ! use debug; then
+			if tc-is-lto; then
+				export RELEASE=2
+			else
+				export RELEASE=1
+			fi
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+	rm -r ftl/{core,qt}-repo || die
+	ln -s "${WORKDIR}"/anki-core-i18n-${COMMITS[ftl-core]} ftl/core-repo || die
+	ln -s "${WORKDIR}"/anki-desktop-ftl-${COMMITS[ftl-desktop]} ftl/qt-repo || die
+
+	mkdir out || die
+	echo -e "${COMMITS[anki]:0:8}" > out/buildhash || die
+	if use gui; then
+		mv "${WORKDIR}"/node_modules out || die
+
+		# Some parts of the runner build system expect to be in a git repository
+		mkdir .git || die
+
+		# Creating the pseudo venv early skips pip dependency checks in src_configure.
+		mkdir -p out/pyenv/bin || die
+		ln -s "${PYTHON}" out/pyenv/bin/python || die
+		# TODO: ln -s "${BROOT}/usr/bin/protoc-gen-mypy" out/pyenv/bin || die
+		if use doc; then
+			ln -s "${BROOT}"/usr/bin/sphinx-apidoc out/pyenv/bin || die
+			ln -s "${BROOT}"/usr/bin/sphinx-build out/pyenv/bin || die
+		fi
+
+		# Anki's Qt detection mechanism falls back to Qt5 Python bindings, if Qt6
+		# Python bindings don't get imported successfully.
+		if ! use qt6; then
+			sed -i "s/import PyQt6/raise ImportError/" qt/aqt/qt/__init__.py || die
+		fi
+
+		# Fix hardcoded runner location
+		export CARGO_TARGET_DIR="${S}"/out/rust
+		cbuild_dir="$(CHOST=${CBUILD:-${CHOST}} cargo_target_dir)"
+		sed "s,rust/release,${cbuild_dir##*out/}," \
+			-i build/ninja_gen/src/render.rs || die
+
+		# Separate src_configure from runner build
+		sed '/ConfigureBuild/d' -i build/ninja_gen/src/build.rs || die
+	fi
+}
+
+_cbuild_cargo_build() {
+	CHOST=${CBUILD:-${CHOST}} cargo_src_compile "${@}"
+}
+
+src_configure() {
+	cargo_src_configure
+	if use gui; then
+		tc-env_build _cbuild_cargo_build -p configure
+		cargo_env edo "${cbuild_dir}"/configure
+	fi
+}
+
+src_compile() {
+	if use gui; then
+		MY_RUNNER="cargo_env edo ${cbuild_dir}/runner build -- $(get_NINJAOPTS)"
+		unset cbuild_dir
+
+		tc-env_build _cbuild_cargo_build -p runner
+		${MY_RUNNER} wheels
+		use doc && ${MY_RUNNER} python:sphinx
+	else
+		cargo_src_compile --package anki-sync-server
+	fi
+}
+
+src_test() {
+	ln -s "${BROOT}"/usr/bin/pytest out/pyenv/bin/pytest || die
+	mkdir out/bin || die
+	ln -s "${BROOT}"/usr/bin/cargo-nextest out/bin/cargo-nextest || die
+
+	local nextest_opts=(
+		cargo-verbose
+		failure-output=immediate
+		status-level=all
+		test-threads=$(get_makeopts_jobs)
+	)
+	# cargo-nextest respects Cargo's CARGO_TERM_COLOR variable
+	if [[ ! ${CARGO_TERM_COLOR} ]]; then
+		[[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && nextest_opts+=( color=never )
+	fi
+
+	nextest_opts=( ${nextest_opts[@]/#/--} )
+	# Override hardcoded cargo-nextest options
+	sed -i -e "s/\(cargo nextest run\).*\\$/\1 ${nextest_opts[*]} \\$/" \
+		"${S}"/build/ninja_gen/src/cargo.rs || die
+
+	local runner
+	for runner in pytest rust_test vitest; do
+		${MY_RUNNER} check:${runner}
+	done
+}
+
+src_install() {
+	local DOC_CONTENTS="Users with add-ons that still rely on Anki's Qt5 GUI can either
+	switch to ${CATEGORY}/${PN}[-qt6], or temporarily set the environment variable
+	ENABLE_QT5_COMPAT to 1 to have Anki install the previous compatibility code.
+	The latter option has additional runtime dependencies. Please take a look
+	at this package's optional runtime features for a complete listing.
+	\n\nIn an early 2024 update, ENABLE_QT5_COMPAT will be removed, so this is not
+	a long-term solution.
+	\n\nAnki's user manual is located online at https://docs.ankiweb.net/
+	\nAnki's add-on developer manual is located online at
+	https://addon-docs.ankiweb.net/"
+
+	readme.gentoo_create_doc
+	if use gui; then
+		pushd qt/bundle/lin > /dev/null || die
+		doman anki.1
+		doicon anki.{png,xpm}
+		domenu anki.desktop
+		insinto /usr/share/mime/packages
+		doins anki.xml
+		popd || die
+		use doc && dodoc -r out/python/sphinx/html
+
+		local w
+		for w in out/wheels/*.whl; do
+			unzip "${w}" -d out/wheels || die
+		done
+		python_domodule out/wheels/{anki,{,_}aqt,*.dist-info}
+		printf "#!/usr/bin/python3\nimport sys;from aqt import run;sys.exit(run())" > runanki || die
+		python_newscript runanki anki
+	else
+		cargo_src_install --path rslib/sync
+	fi
+}
+
+pkg_postinst() {
+	[[ "${REPLACING_VERSIONS%-r*}" = '2.1.15' ]] && local FORCE_PRINT_ELOG=1
+	readme.gentoo_print_elog
+	if use gui; then
+		xdg_pkg_postinst
+		optfeature "LaTeX in cards" "app-text/texlive[extra] app-text/dvipng"
+		optfeature "sound support" media-video/mpv media-video/mplayer
+		optfeature "recording support" "media-sound/lame[frontend] dev-python/PyQt$(usex qt6 6 5)[multimedia]"
+		optfeature "faster database operations" dev-python/orjson
+		use qt6 && optfeature "compatibility with Qt5-dependent add-ons" dev-python/PyQt6[dbus,printsupport]
+		use qt6 && optfeature "Vulkan driver" "media-libs/vulkan-loader dev-qt/qtbase[vulkan]
+			dev-qt/qtdeclarative:6[vulkan] dev-qt/qtwebengine:6[vulkan]"
+
+		einfo "You can customize the LaTeX header for your cards to fit your needs:"
+		einfo "Notes > Manage Note Types > [select a note type] > Options"
+	fi
+}

diff --git a/app-misc/anki/files/24.06.3/ninja-gentoo-setup.patch b/app-misc/anki/files/24.06.3/ninja-gentoo-setup.patch
new file mode 100644
index 000000000000..22df6adcaaf0
--- /dev/null
+++ b/app-misc/anki/files/24.06.3/ninja-gentoo-setup.patch
@@ -0,0 +1,44 @@
+Respect app-alternatives/ninja (n2 is not yet in the tree) and
+user variables from the ninja-utils eclass.
+This is a workaround. A proper implementation similar to
+the LTO implementation (c6f429) should allow the build system to be set at
+configure time.
+
+From: Lucio Sauer <watermanpaint@posteo.net>
+--- a/build/ninja_gen/src/build.rs
++++ b/build/ninja_gen/src/build.rs
+@@ -49,7 +49,7 @@ impl Build {
+             output_text: Default::default(),
+             action_names: Default::default(),
+             groups: Default::default(),
+-            have_n2: which::which("n2").is_ok(),
++            have_n2: false,
+         };
+ 
+         build.add_action("build:configure", ConfigureBuild {})?;
+--- a/build/runner/src/build.rs
++++ b/build/runner/src/build.rs
+@@ -56,6 +56,10 @@ pub fn run_build(args: BuildArgs) {
+ 
+     let start_time = Instant::now();
+     let mut command = Command::new(get_ninja_command());
++
++    if env::var("NINJA_VERBOSE").unwrap_or(String::from("ON")).eq("ON") {
++        command.arg("-v");
++    }
+     command
+         .arg("-f")
+         .arg(&build_file)
+@@ -108,11 +112,7 @@ pub fn run_build(args: BuildArgs) {
+ }
+ 
+ fn get_ninja_command() -> &'static str {
+-    if which::which("n2").is_ok() {
+-        "n2"
+-    } else {
+-        "ninja"
+-    }
++    "ninja"
+ }
+ 
+ fn setup_build_root() -> Utf8PathBuf {

diff --git a/app-misc/anki/files/24.06.3/remove-yarn.patch b/app-misc/anki/files/24.06.3/remove-yarn.patch
new file mode 100644
index 000000000000..e13588505bc5
--- /dev/null
+++ b/app-misc/anki/files/24.06.3/remove-yarn.patch
@@ -0,0 +1,58 @@
+Pre-built node_modules allows us to run JS tests but we lose the ability to
+hack node packages' source files in YARN_CACHE_FOLDER.
+
+From: Lucio Sauer <watermanpaint@posteo.net>
+--- a/build/ninja_gen/src/node.rs
++++ b/build/ninja_gen/src/node.rs
+@@ -76,12 +76,11 @@ pub struct YarnInstall<'a> {
+ 
+ impl BuildAction for YarnInstall<'_> {
+     fn command(&self) -> &str {
+-        "$runner yarn $yarn $out"
++        "$runner yarn $out"
+     }
+ 
+     fn files(&mut self, build: &mut impl build::FilesHandle) {
+         build.add_inputs("", &self.package_json_and_lock);
+-        build.add_inputs("yarn", inputs![":yarn:bin"]);
+         build.add_outputs("out", vec!["node_modules/.marker"]);
+         for (key, value) in &self.exports {
+             let outputs: Vec<_> = value.iter().map(|o| format!("node_modules/{o}")).collect();
+--- a/build/runner/src/yarn.rs
++++ b/build/runner/src/yarn.rs
+@@ -1,36 +1,18 @@
+ // Copyright: Ankitects Pty Ltd and contributors
+ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+ 
+-use std::env;
+ use std::path::Path;
+-use std::process::Command;
+ 
+ use clap::Args;
+ 
+-use crate::run::run_command;
+-
+ #[derive(Args)]
+ pub struct YarnArgs {
+-    yarn_bin: String,
+     stamp: String,
+ }
+ 
+ pub fn setup_yarn(args: YarnArgs) {
+     link_node_modules();
+ 
+-    if env::var("OFFLINE_BUILD").is_ok() {
+-        println!("OFFLINE_BUILD is set");
+-        println!("Running yarn with '--offline' and '--ignore-scripts'.");
+-        run_command(
+-            Command::new(&args.yarn_bin)
+-                .arg("install")
+-                .arg("--offline")
+-                .arg("--ignore-scripts"),
+-        );
+-    } else {
+-        run_command(Command::new(&args.yarn_bin).arg("install"));
+-    }
+-
+     std::fs::write(args.stamp, b"").unwrap();
+ }


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-08-19 19:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-19 19:04 [gentoo-commits] repo/gentoo:master commit in: app-misc/anki/, app-misc/anki/files/24.06.3/ Joonas Niilola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox