alamin655 commited on
Commit
193b4e3
·
unverified ·
2 Parent(s): 9984ba0 e582960

Merge pull request #604 from neon-mmd/PERF/603_several-optimizations-to-improve-search-engine-performance

Browse files
Cargo.lock CHANGED
@@ -8,13 +8,13 @@ version = "0.5.2"
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
  checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
10
  dependencies = [
11
- "bitflags 2.5.0",
12
- "bytes 1.6.0",
13
  "futures-core",
14
  "futures-sink",
15
  "memchr",
16
  "pin-project-lite",
17
- "tokio 1.38.0",
18
  "tokio-util",
19
  "tracing",
20
  ]
@@ -36,16 +36,16 @@ dependencies = [
36
 
37
  [[package]]
38
  name = "actix-files"
39
- version = "0.6.5"
40
  source = "registry+https://github.com/rust-lang/crates.io-index"
41
- checksum = "bf0bdd6ff79de7c9a021f5d9ea79ce23e108d8bfc9b49b5b4a2cf6fad5a35212"
42
  dependencies = [
43
  "actix-http",
44
  "actix-service",
45
  "actix-utils",
46
  "actix-web",
47
- "bitflags 2.5.0",
48
- "bytes 1.6.0",
49
  "derive_more",
50
  "futures-core",
51
  "http-range",
@@ -71,9 +71,9 @@ dependencies = [
71
 
72
  [[package]]
73
  name = "actix-http"
74
- version = "3.7.0"
75
  source = "registry+https://github.com/rust-lang/crates.io-index"
76
- checksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d"
77
  dependencies = [
78
  "actix-codec",
79
  "actix-rt",
@@ -81,9 +81,9 @@ dependencies = [
81
  "actix-utils",
82
  "ahash",
83
  "base64 0.22.1",
84
- "bitflags 2.5.0",
85
  "brotli",
86
- "bytes 1.6.0",
87
  "bytestring",
88
  "derive_more",
89
  "encoding_rs",
@@ -100,7 +100,7 @@ dependencies = [
100
  "rand 0.8.5",
101
  "sha1",
102
  "smallvec 1.13.2",
103
- "tokio 1.38.0",
104
  "tokio-util",
105
  "tracing",
106
  ]
@@ -111,8 +111,8 @@ version = "0.2.4"
111
  source = "registry+https://github.com/rust-lang/crates.io-index"
112
  checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
113
  dependencies = [
114
- "quote 1.0.36",
115
- "syn 2.0.66",
116
  ]
117
 
118
  [[package]]
@@ -131,29 +131,29 @@ dependencies = [
131
 
132
  [[package]]
133
  name = "actix-rt"
134
- version = "2.9.0"
135
  source = "registry+https://github.com/rust-lang/crates.io-index"
136
- checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
137
  dependencies = [
138
  "futures-core",
139
- "tokio 1.38.0",
140
  "tokio-uring",
141
  ]
142
 
143
  [[package]]
144
  name = "actix-server"
145
- version = "2.3.0"
146
  source = "registry+https://github.com/rust-lang/crates.io-index"
147
- checksum = "3eb13e7eef0423ea6eab0e59f6c72e7cb46d33691ad56a726b3cd07ddec2c2d4"
148
  dependencies = [
149
  "actix-rt",
150
  "actix-service",
151
  "actix-utils",
152
  "futures-core",
153
  "futures-util",
154
- "mio 0.8.11",
155
  "socket2 0.5.7",
156
- "tokio 1.38.0",
157
  "tokio-uring",
158
  "tracing",
159
  ]
@@ -195,7 +195,7 @@ dependencies = [
195
  "actix-utils",
196
  "actix-web-codegen",
197
  "ahash",
198
- "bytes 1.6.0",
199
  "bytestring",
200
  "cfg-if 1.0.0",
201
  "cookie 0.16.2",
@@ -217,7 +217,7 @@ dependencies = [
217
  "smallvec 1.13.2",
218
  "socket2 0.5.7",
219
  "time 0.3.36",
220
- "url 2.5.0",
221
  ]
222
 
223
  [[package]]
@@ -227,9 +227,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
227
  checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8"
228
  dependencies = [
229
  "actix-router",
230
- "proc-macro2 1.0.85",
231
- "quote 1.0.36",
232
- "syn 2.0.66",
233
  ]
234
 
235
  [[package]]
@@ -247,6 +247,12 @@ version = "1.0.2"
247
  source = "registry+https://github.com/rust-lang/crates.io-index"
248
  checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
249
 
 
 
 
 
 
 
250
  [[package]]
251
  name = "adler32"
252
  version = "1.2.0"
@@ -317,9 +323,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
317
 
318
  [[package]]
319
  name = "anstyle"
320
- version = "1.0.7"
321
  source = "registry+https://github.com/rust-lang/crates.io-index"
322
- checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
323
 
324
  [[package]]
325
  name = "anyhow"
@@ -335,15 +341,15 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
335
 
336
  [[package]]
337
  name = "arrayref"
338
- version = "0.3.7"
339
  source = "registry+https://github.com/rust-lang/crates.io-index"
340
- checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
341
 
342
  [[package]]
343
  name = "arrayvec"
344
- version = "0.7.4"
345
  source = "registry+https://github.com/rust-lang/crates.io-index"
346
- checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
347
 
348
  [[package]]
349
  name = "async-compression"
@@ -356,7 +362,18 @@ dependencies = [
356
  "futures-core",
357
  "memchr",
358
  "pin-project-lite",
359
- "tokio 1.38.0",
 
 
 
 
 
 
 
 
 
 
 
360
  ]
361
 
362
  [[package]]
@@ -367,13 +384,13 @@ checksum = "9338790e78aa95a416786ec8389546c4b6a1dfc3dc36071ed9518a9413a542eb"
367
 
368
  [[package]]
369
  name = "async-trait"
370
- version = "0.1.80"
371
  source = "registry+https://github.com/rust-lang/crates.io-index"
372
- checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
373
  dependencies = [
374
- "proc-macro2 1.0.85",
375
- "quote 1.0.36",
376
- "syn 2.0.66",
377
  ]
378
 
379
  [[package]]
@@ -399,15 +416,15 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
399
 
400
  [[package]]
401
  name = "backtrace"
402
- version = "0.3.72"
403
  source = "registry+https://github.com/rust-lang/crates.io-index"
404
- checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
405
  dependencies = [
406
  "addr2line",
407
  "cc",
408
  "cfg-if 1.0.0",
409
  "libc",
410
- "miniz_oxide",
411
  "object",
412
  "rustc-demangle",
413
  ]
@@ -433,6 +450,15 @@ version = "0.22.1"
433
  source = "registry+https://github.com/rust-lang/crates.io-index"
434
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
435
 
 
 
 
 
 
 
 
 
 
436
  [[package]]
437
  name = "bit-set"
438
  version = "0.5.3"
@@ -456,9 +482,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
456
 
457
  [[package]]
458
  name = "bitflags"
459
- version = "2.5.0"
460
  source = "registry+https://github.com/rust-lang/crates.io-index"
461
- checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
462
 
463
  [[package]]
464
  name = "blake3"
@@ -495,9 +521,9 @@ dependencies = [
495
 
496
  [[package]]
497
  name = "brotli-decompressor"
498
- version = "4.0.0"
499
  source = "registry+https://github.com/rust-lang/crates.io-index"
500
- checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76"
501
  dependencies = [
502
  "alloc-no-stdlib",
503
  "alloc-stdlib",
@@ -505,9 +531,9 @@ dependencies = [
505
 
506
  [[package]]
507
  name = "bstr"
508
- version = "1.9.1"
509
  source = "registry+https://github.com/rust-lang/crates.io-index"
510
- checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
511
  dependencies = [
512
  "memchr",
513
  "serde",
@@ -519,12 +545,6 @@ version = "3.16.0"
519
  source = "registry+https://github.com/rust-lang/crates.io-index"
520
  checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
521
 
522
- [[package]]
523
- name = "bytecount"
524
- version = "0.6.8"
525
- source = "registry+https://github.com/rust-lang/crates.io-index"
526
- checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
527
-
528
  [[package]]
529
  name = "byteorder"
530
  version = "1.5.0"
@@ -544,9 +564,9 @@ dependencies = [
544
 
545
  [[package]]
546
  name = "bytes"
547
- version = "1.6.0"
548
  source = "registry+https://github.com/rust-lang/crates.io-index"
549
- checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
550
 
551
  [[package]]
552
  name = "bytestring"
@@ -554,38 +574,7 @@ version = "1.3.1"
554
  source = "registry+https://github.com/rust-lang/crates.io-index"
555
  checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72"
556
  dependencies = [
557
- "bytes 1.6.0",
558
- ]
559
-
560
- [[package]]
561
- name = "camino"
562
- version = "1.1.7"
563
- source = "registry+https://github.com/rust-lang/crates.io-index"
564
- checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
565
- dependencies = [
566
- "serde",
567
- ]
568
-
569
- [[package]]
570
- name = "cargo-platform"
571
- version = "0.1.8"
572
- source = "registry+https://github.com/rust-lang/crates.io-index"
573
- checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
574
- dependencies = [
575
- "serde",
576
- ]
577
-
578
- [[package]]
579
- name = "cargo_metadata"
580
- version = "0.14.2"
581
- source = "registry+https://github.com/rust-lang/crates.io-index"
582
- checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
583
- dependencies = [
584
- "camino",
585
- "cargo-platform",
586
- "semver 1.0.23",
587
- "serde",
588
- "serde_json",
589
  ]
590
 
591
  [[package]]
@@ -596,9 +585,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
596
 
597
  [[package]]
598
  name = "cc"
599
- version = "1.1.15"
600
  source = "registry+https://github.com/rust-lang/crates.io-index"
601
- checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
602
  dependencies = [
603
  "shlex",
604
  ]
@@ -688,18 +677,18 @@ dependencies = [
688
 
689
  [[package]]
690
  name = "clap"
691
- version = "4.5.6"
692
  source = "registry+https://github.com/rust-lang/crates.io-index"
693
- checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7"
694
  dependencies = [
695
  "clap_builder",
696
  ]
697
 
698
  [[package]]
699
  name = "clap_builder"
700
- version = "4.5.6"
701
  source = "registry+https://github.com/rust-lang/crates.io-index"
702
- checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df"
703
  dependencies = [
704
  "anstyle",
705
  "clap_lex",
@@ -707,9 +696,9 @@ dependencies = [
707
 
708
  [[package]]
709
  name = "clap_lex"
710
- version = "0.7.1"
711
  source = "registry+https://github.com/rust-lang/crates.io-index"
712
- checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
713
 
714
  [[package]]
715
  name = "cloudabi"
@@ -726,14 +715,23 @@ version = "4.6.7"
726
  source = "registry+https://github.com/rust-lang/crates.io-index"
727
  checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
728
  dependencies = [
729
- "bytes 1.6.0",
730
  "futures-core",
731
  "memchr",
732
  "pin-project-lite",
733
- "tokio 1.38.0",
734
  "tokio-util",
735
  ]
736
 
 
 
 
 
 
 
 
 
 
737
  [[package]]
738
  name = "const-str"
739
  version = "0.3.2"
@@ -749,16 +747,16 @@ version = "0.3.2"
749
  source = "registry+https://github.com/rust-lang/crates.io-index"
750
  checksum = "5e1e0fdd2e5d3041e530e1b21158aeeef8b5d0e306bc5c1e3d6cf0930d10e25a"
751
  dependencies = [
752
- "proc-macro2 1.0.85",
753
- "quote 1.0.36",
754
  "syn 1.0.109",
755
  ]
756
 
757
  [[package]]
758
  name = "constant_time_eq"
759
- version = "0.3.0"
760
  source = "registry+https://github.com/rust-lang/crates.io-index"
761
- checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
762
 
763
  [[package]]
764
  name = "convert_case"
@@ -766,6 +764,15 @@ version = "0.4.0"
766
  source = "registry+https://github.com/rust-lang/crates.io-index"
767
  checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
768
 
 
 
 
 
 
 
 
 
 
769
  [[package]]
770
  name = "cookie"
771
  version = "0.12.0"
@@ -817,15 +824,15 @@ dependencies = [
817
 
818
  [[package]]
819
  name = "core-foundation-sys"
820
- version = "0.8.6"
821
  source = "registry+https://github.com/rust-lang/crates.io-index"
822
- checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
823
 
824
  [[package]]
825
  name = "cpufeatures"
826
- version = "0.2.12"
827
  source = "registry+https://github.com/rust-lang/crates.io-index"
828
- checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
829
  dependencies = [
830
  "libc",
831
  ]
@@ -888,11 +895,21 @@ version = "0.7.4"
888
  source = "registry+https://github.com/rust-lang/crates.io-index"
889
  checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
890
  dependencies = [
891
- "crossbeam-epoch",
892
  "crossbeam-utils 0.7.2",
893
  "maybe-uninit",
894
  ]
895
 
 
 
 
 
 
 
 
 
 
 
896
  [[package]]
897
  name = "crossbeam-epoch"
898
  version = "0.8.2"
@@ -908,6 +925,15 @@ dependencies = [
908
  "scopeguard",
909
  ]
910
 
 
 
 
 
 
 
 
 
 
911
  [[package]]
912
  name = "crossbeam-queue"
913
  version = "0.2.3"
@@ -994,8 +1020,8 @@ version = "0.6.1"
994
  source = "registry+https://github.com/rust-lang/crates.io-index"
995
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
996
  dependencies = [
997
- "quote 1.0.36",
998
- "syn 2.0.66",
999
  ]
1000
 
1001
  [[package]]
@@ -1028,15 +1054,15 @@ dependencies = [
1028
 
1029
  [[package]]
1030
  name = "derive_more"
1031
- version = "0.99.17"
1032
  source = "registry+https://github.com/rust-lang/crates.io-index"
1033
- checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
1034
  dependencies = [
1035
- "convert_case",
1036
- "proc-macro2 1.0.85",
1037
- "quote 1.0.36",
1038
- "rustc_version 0.4.0",
1039
- "syn 1.0.109",
1040
  ]
1041
 
1042
  [[package]]
@@ -1088,15 +1114,15 @@ dependencies = [
1088
 
1089
  [[package]]
1090
  name = "ego-tree"
1091
- version = "0.6.2"
1092
  source = "registry+https://github.com/rust-lang/crates.io-index"
1093
- checksum = "3a68a4904193147e0a8dec3314640e6db742afd5f6e634f428a6af230d9b3591"
1094
 
1095
  [[package]]
1096
  name = "either"
1097
- version = "1.12.0"
1098
  source = "registry+https://github.com/rust-lang/crates.io-index"
1099
- checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
1100
 
1101
  [[package]]
1102
  name = "encoding_rs"
@@ -1109,18 +1135,18 @@ dependencies = [
1109
 
1110
  [[package]]
1111
  name = "env_filter"
1112
- version = "0.1.0"
1113
  source = "registry+https://github.com/rust-lang/crates.io-index"
1114
- checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
1115
  dependencies = [
1116
  "log",
1117
  ]
1118
 
1119
  [[package]]
1120
  name = "env_logger"
1121
- version = "0.11.3"
1122
  source = "registry+https://github.com/rust-lang/crates.io-index"
1123
- checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
1124
  dependencies = [
1125
  "env_filter",
1126
  "log",
@@ -1153,22 +1179,34 @@ dependencies = [
1153
  ]
1154
 
1155
  [[package]]
1156
- name = "error-chain"
1157
- version = "0.12.4"
1158
  source = "registry+https://github.com/rust-lang/crates.io-index"
1159
- checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
1160
  dependencies = [
1161
- "version_check",
 
1162
  ]
1163
 
1164
  [[package]]
1165
- name = "error-stack"
1166
- version = "0.4.1"
1167
  source = "registry+https://github.com/rust-lang/crates.io-index"
1168
- checksum = "27a72baa257b5e0e2de241967bc5ee8f855d6072351042688621081d66b2a76b"
1169
  dependencies = [
1170
- "anyhow",
1171
- "rustc_version 0.4.0",
 
 
 
 
 
 
 
 
 
 
 
1172
  ]
1173
 
1174
  [[package]]
@@ -1187,8 +1225,8 @@ version = "0.1.8"
1187
  source = "registry+https://github.com/rust-lang/crates.io-index"
1188
  checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
1189
  dependencies = [
1190
- "proc-macro2 1.0.85",
1191
- "quote 1.0.36",
1192
  "syn 1.0.109",
1193
  "synstructure",
1194
  ]
@@ -1206,18 +1244,18 @@ dependencies = [
1206
 
1207
  [[package]]
1208
  name = "fastrand"
1209
- version = "2.1.0"
1210
  source = "registry+https://github.com/rust-lang/crates.io-index"
1211
- checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
1212
 
1213
  [[package]]
1214
  name = "flate2"
1215
- version = "1.0.30"
1216
  source = "registry+https://github.com/rust-lang/crates.io-index"
1217
- checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
1218
  dependencies = [
1219
  "crc32fast",
1220
- "miniz_oxide",
1221
  ]
1222
 
1223
  [[package]]
@@ -1358,9 +1396,9 @@ version = "0.3.30"
1358
  source = "registry+https://github.com/rust-lang/crates.io-index"
1359
  checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
1360
  dependencies = [
1361
- "proc-macro2 1.0.85",
1362
- "quote 1.0.36",
1363
- "syn 2.0.66",
1364
  ]
1365
 
1366
  [[package]]
@@ -1444,12 +1482,6 @@ version = "0.29.0"
1444
  source = "registry+https://github.com/rust-lang/crates.io-index"
1445
  checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
1446
 
1447
- [[package]]
1448
- name = "glob"
1449
- version = "0.3.1"
1450
- source = "registry+https://github.com/rust-lang/crates.io-index"
1451
- checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
1452
-
1453
  [[package]]
1454
  name = "governor"
1455
  version = "0.6.3"
@@ -1490,19 +1522,19 @@ dependencies = [
1490
 
1491
  [[package]]
1492
  name = "h2"
1493
- version = "0.4.5"
1494
  source = "registry+https://github.com/rust-lang/crates.io-index"
1495
- checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
1496
  dependencies = [
1497
  "atomic-waker",
1498
- "bytes 1.6.0",
1499
  "fnv",
1500
  "futures-core",
1501
  "futures-sink",
1502
  "http 1.1.0",
1503
- "indexmap 2.2.6",
1504
  "slab",
1505
- "tokio 1.38.0",
1506
  "tokio-util",
1507
  "tracing",
1508
  ]
@@ -1545,6 +1577,12 @@ version = "0.3.9"
1545
  source = "registry+https://github.com/rust-lang/crates.io-index"
1546
  checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
1547
 
 
 
 
 
 
 
1548
  [[package]]
1549
  name = "home"
1550
  version = "0.5.9"
@@ -1577,9 +1615,9 @@ dependencies = [
1577
  "log",
1578
  "mac",
1579
  "markup5ever 0.12.1",
1580
- "proc-macro2 1.0.85",
1581
- "quote 1.0.36",
1582
- "syn 2.0.66",
1583
  ]
1584
 
1585
  [[package]]
@@ -1599,7 +1637,7 @@ version = "0.2.12"
1599
  source = "registry+https://github.com/rust-lang/crates.io-index"
1600
  checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
1601
  dependencies = [
1602
- "bytes 1.6.0",
1603
  "fnv",
1604
  "itoa 1.0.11",
1605
  ]
@@ -1610,7 +1648,7 @@ version = "1.1.0"
1610
  source = "registry+https://github.com/rust-lang/crates.io-index"
1611
  checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
1612
  dependencies = [
1613
- "bytes 1.6.0",
1614
  "fnv",
1615
  "itoa 1.0.11",
1616
  ]
@@ -1629,24 +1667,24 @@ dependencies = [
1629
 
1630
  [[package]]
1631
  name = "http-body"
1632
- version = "1.0.0"
1633
  source = "registry+https://github.com/rust-lang/crates.io-index"
1634
- checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
1635
  dependencies = [
1636
- "bytes 1.6.0",
1637
  "http 1.1.0",
1638
  ]
1639
 
1640
  [[package]]
1641
  name = "http-body-util"
1642
- version = "0.1.1"
1643
  source = "registry+https://github.com/rust-lang/crates.io-index"
1644
- checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
1645
  dependencies = [
1646
- "bytes 1.6.0",
1647
- "futures-core",
1648
  "http 1.1.0",
1649
- "http-body 1.0.0",
1650
  "pin-project-lite",
1651
  ]
1652
 
@@ -1658,9 +1696,9 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
1658
 
1659
  [[package]]
1660
  name = "httparse"
1661
- version = "1.8.0"
1662
  source = "registry+https://github.com/rust-lang/crates.io-index"
1663
- checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
1664
 
1665
  [[package]]
1666
  name = "httpdate"
@@ -1700,37 +1738,37 @@ dependencies = [
1700
 
1701
  [[package]]
1702
  name = "hyper"
1703
- version = "1.3.1"
1704
  source = "registry+https://github.com/rust-lang/crates.io-index"
1705
- checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
1706
  dependencies = [
1707
- "bytes 1.6.0",
1708
  "futures-channel",
1709
  "futures-util",
1710
- "h2 0.4.5",
1711
  "http 1.1.0",
1712
- "http-body 1.0.0",
1713
  "httparse",
1714
  "itoa 1.0.11",
1715
  "pin-project-lite",
1716
  "smallvec 1.13.2",
1717
- "tokio 1.38.0",
1718
  "want 0.3.1",
1719
  ]
1720
 
1721
  [[package]]
1722
  name = "hyper-rustls"
1723
- version = "0.27.2"
1724
  source = "registry+https://github.com/rust-lang/crates.io-index"
1725
- checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
1726
  dependencies = [
1727
  "futures-util",
1728
  "http 1.1.0",
1729
- "hyper 1.3.1",
1730
  "hyper-util",
1731
  "rustls",
1732
  "rustls-pki-types",
1733
- "tokio 1.38.0",
1734
  "tokio-rustls",
1735
  "tower-service",
1736
  "webpki-roots",
@@ -1751,19 +1789,19 @@ dependencies = [
1751
 
1752
  [[package]]
1753
  name = "hyper-util"
1754
- version = "0.1.5"
1755
  source = "registry+https://github.com/rust-lang/crates.io-index"
1756
- checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
1757
  dependencies = [
1758
- "bytes 1.6.0",
1759
  "futures-channel",
1760
  "futures-util",
1761
  "http 1.1.0",
1762
- "http-body 1.0.0",
1763
- "hyper 1.3.1",
1764
  "pin-project-lite",
1765
  "socket2 0.5.7",
1766
- "tokio 1.38.0",
1767
  "tower",
1768
  "tower-service",
1769
  "tracing",
@@ -1819,9 +1857,9 @@ dependencies = [
1819
 
1820
  [[package]]
1821
  name = "indexmap"
1822
- version = "2.2.6"
1823
  source = "registry+https://github.com/rust-lang/crates.io-index"
1824
- checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
1825
  dependencies = [
1826
  "equivalent",
1827
  "hashbrown 0.14.5",
@@ -1838,9 +1876,9 @@ dependencies = [
1838
 
1839
  [[package]]
1840
  name = "io-uring"
1841
- version = "0.5.13"
1842
  source = "registry+https://github.com/rust-lang/crates.io-index"
1843
- checksum = "dd1e1a01cfb924fd8c5c43b6827965db394f5a3a16c599ce03452266e1cf984c"
1844
  dependencies = [
1845
  "bitflags 1.3.2",
1846
  "libc",
@@ -1863,11 +1901,11 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
1863
 
1864
  [[package]]
1865
  name = "is-terminal"
1866
- version = "0.4.12"
1867
  source = "registry+https://github.com/rust-lang/crates.io-index"
1868
- checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
1869
  dependencies = [
1870
- "hermit-abi",
1871
  "libc",
1872
  "windows-sys 0.52.0",
1873
  ]
@@ -1904,9 +1942,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
1904
 
1905
  [[package]]
1906
  name = "js-sys"
1907
- version = "0.3.69"
1908
  source = "registry+https://github.com/rust-lang/crates.io-index"
1909
- checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
1910
  dependencies = [
1911
  "wasm-bindgen",
1912
  ]
@@ -1927,6 +1965,7 @@ version = "1.4.3"
1927
  source = "registry+https://github.com/rust-lang/crates.io-index"
1928
  checksum = "f0efa28e79b3a5f72586318c07c24477a169c688e5065fde647c71b3952a2d42"
1929
  dependencies = [
 
1930
  "regex",
1931
  "unicode-segmentation",
1932
  ]
@@ -1939,15 +1978,15 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
1939
 
1940
  [[package]]
1941
  name = "lazy_static"
1942
- version = "1.4.0"
1943
  source = "registry+https://github.com/rust-lang/crates.io-index"
1944
- checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
1945
 
1946
  [[package]]
1947
  name = "libc"
1948
- version = "0.2.155"
1949
  source = "registry+https://github.com/rust-lang/crates.io-index"
1950
- checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
1951
 
1952
  [[package]]
1953
  name = "libflate"
@@ -1981,12 +2020,12 @@ dependencies = [
1981
 
1982
  [[package]]
1983
  name = "lightningcss"
1984
- version = "1.0.0-alpha.57"
1985
  source = "registry+https://github.com/rust-lang/crates.io-index"
1986
- checksum = "10bc10261f46b8df263b80e7779d1748b1880488cd951fbb9e096430cead10e6"
1987
  dependencies = [
1988
  "ahash",
1989
- "bitflags 2.5.0",
1990
  "const-str",
1991
  "cssparser 0.33.0",
1992
  "cssparser-color",
@@ -1994,12 +2033,25 @@ dependencies = [
1994
  "getrandom",
1995
  "itertools 0.10.5",
1996
  "lazy_static",
 
1997
  "parcel_selectors",
1998
  "paste",
1999
  "pathdiff",
2000
  "smallvec 1.13.2",
2001
  ]
2002
 
 
 
 
 
 
 
 
 
 
 
 
 
2003
  [[package]]
2004
  name = "linux-raw-sys"
2005
  version = "0.4.14"
@@ -2044,24 +2096,24 @@ dependencies = [
2044
 
2045
  [[package]]
2046
  name = "log"
2047
- version = "0.4.21"
2048
  source = "registry+https://github.com/rust-lang/crates.io-index"
2049
- checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
2050
 
2051
  [[package]]
2052
  name = "lua-src"
2053
- version = "546.0.2"
2054
  source = "registry+https://github.com/rust-lang/crates.io-index"
2055
- checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2"
2056
  dependencies = [
2057
  "cc",
2058
  ]
2059
 
2060
  [[package]]
2061
  name = "luajit-src"
2062
- version = "210.5.8+5790d25"
2063
  source = "registry+https://github.com/rust-lang/crates.io-index"
2064
- checksum = "441f18d9ad792e871fc2f7f2cb8902c386f6f56fdbddef3b835b61475e375346"
2065
  dependencies = [
2066
  "cc",
2067
  "which",
@@ -2129,9 +2181,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2129
  checksum = "fa453238ec218da0af6b11fc5978d3b5c3a45ed97b722391a2a11f3306274e18"
2130
  dependencies = [
2131
  "proc-macro-error",
2132
- "proc-macro2 1.0.85",
2133
- "quote 1.0.36",
2134
- "syn 2.0.66",
2135
  ]
2136
 
2137
  [[package]]
@@ -2142,9 +2194,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
2142
 
2143
  [[package]]
2144
  name = "memchr"
2145
- version = "2.7.2"
2146
  source = "registry+https://github.com/rust-lang/crates.io-index"
2147
- checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
2148
 
2149
  [[package]]
2150
  name = "memoffset"
@@ -2172,29 +2224,14 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
2172
 
2173
  [[package]]
2174
  name = "mime_guess"
2175
- version = "2.0.4"
2176
  source = "registry+https://github.com/rust-lang/crates.io-index"
2177
- checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
2178
  dependencies = [
2179
  "mime",
2180
  "unicase",
2181
  ]
2182
 
2183
- [[package]]
2184
- name = "mini-moka"
2185
- version = "0.10.3"
2186
- source = "registry+https://github.com/rust-lang/crates.io-index"
2187
- checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803"
2188
- dependencies = [
2189
- "crossbeam-channel",
2190
- "crossbeam-utils 0.8.20",
2191
- "dashmap",
2192
- "skeptic",
2193
- "smallvec 1.13.2",
2194
- "tagptr",
2195
- "triomphe",
2196
- ]
2197
-
2198
  [[package]]
2199
  name = "minify-js"
2200
  version = "0.6.0"
@@ -2207,13 +2244,22 @@ dependencies = [
2207
 
2208
  [[package]]
2209
  name = "miniz_oxide"
2210
- version = "0.7.3"
2211
  source = "registry+https://github.com/rust-lang/crates.io-index"
2212
- checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
2213
  dependencies = [
2214
  "adler",
2215
  ]
2216
 
 
 
 
 
 
 
 
 
 
2217
  [[package]]
2218
  name = "mintex"
2219
  version = "0.1.3"
@@ -2241,14 +2287,15 @@ dependencies = [
2241
 
2242
  [[package]]
2243
  name = "mio"
2244
- version = "0.8.11"
2245
  source = "registry+https://github.com/rust-lang/crates.io-index"
2246
- checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
2247
  dependencies = [
 
2248
  "libc",
2249
  "log",
2250
  "wasi 0.11.0+wasi-snapshot-preview1",
2251
- "windows-sys 0.48.0",
2252
  ]
2253
 
2254
  [[package]]
@@ -2278,9 +2325,9 @@ dependencies = [
2278
 
2279
  [[package]]
2280
  name = "mlua-sys"
2281
- version = "0.6.1"
2282
  source = "registry+https://github.com/rust-lang/crates.io-index"
2283
- checksum = "a088ed0723df7567f569ba018c5d48c23c501f3878b190b04144dfa5ebfa8abc"
2284
  dependencies = [
2285
  "cc",
2286
  "cfg-if 1.0.0",
@@ -2289,6 +2336,29 @@ dependencies = [
2289
  "pkg-config",
2290
  ]
2291
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2292
  [[package]]
2293
  name = "native-tls"
2294
  version = "0.2.12"
@@ -2362,15 +2432,15 @@ version = "1.16.0"
2362
  source = "registry+https://github.com/rust-lang/crates.io-index"
2363
  checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
2364
  dependencies = [
2365
- "hermit-abi",
2366
  "libc",
2367
  ]
2368
 
2369
  [[package]]
2370
  name = "object"
2371
- version = "0.35.0"
2372
  source = "registry+https://github.com/rust-lang/crates.io-index"
2373
- checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
2374
  dependencies = [
2375
  "memchr",
2376
  ]
@@ -2383,9 +2453,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
2383
 
2384
  [[package]]
2385
  name = "oorandom"
2386
- version = "11.1.3"
2387
  source = "registry+https://github.com/rust-lang/crates.io-index"
2388
- checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
2389
 
2390
  [[package]]
2391
  name = "opaque-debug"
@@ -2399,7 +2469,7 @@ version = "0.10.66"
2399
  source = "registry+https://github.com/rust-lang/crates.io-index"
2400
  checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
2401
  dependencies = [
2402
- "bitflags 2.5.0",
2403
  "cfg-if 1.0.0",
2404
  "foreign-types",
2405
  "libc",
@@ -2414,9 +2484,9 @@ version = "0.1.1"
2414
  source = "registry+https://github.com/rust-lang/crates.io-index"
2415
  checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
2416
  dependencies = [
2417
- "proc-macro2 1.0.85",
2418
- "quote 1.0.36",
2419
- "syn 2.0.66",
2420
  ]
2421
 
2422
  [[package]]
@@ -2439,11 +2509,11 @@ dependencies = [
2439
 
2440
  [[package]]
2441
  name = "parcel_selectors"
2442
- version = "0.26.5"
2443
  source = "registry+https://github.com/rust-lang/crates.io-index"
2444
- checksum = "ce9c47a67c66fee4a5a42756f9784d92941bd0ab2b653539a9e90521a44b66f0"
2445
  dependencies = [
2446
- "bitflags 2.5.0",
2447
  "cssparser 0.33.0",
2448
  "fxhash",
2449
  "log",
@@ -2453,6 +2523,12 @@ dependencies = [
2453
  "smallvec 1.13.2",
2454
  ]
2455
 
 
 
 
 
 
 
2456
  [[package]]
2457
  name = "parking_lot"
2458
  version = "0.9.0"
@@ -2497,9 +2573,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
2497
  dependencies = [
2498
  "cfg-if 1.0.0",
2499
  "libc",
2500
- "redox_syscall 0.5.1",
2501
  "smallvec 1.13.2",
2502
- "windows-targets 0.52.5",
2503
  ]
2504
 
2505
  [[package]]
@@ -2635,9 +2711,9 @@ checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
2635
  dependencies = [
2636
  "phf_generator 0.11.2",
2637
  "phf_shared 0.11.2",
2638
- "proc-macro2 1.0.85",
2639
- "quote 1.0.36",
2640
- "syn 2.0.66",
2641
  ]
2642
 
2643
  [[package]]
@@ -2682,9 +2758,9 @@ version = "1.1.5"
2682
  source = "registry+https://github.com/rust-lang/crates.io-index"
2683
  checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
2684
  dependencies = [
2685
- "proc-macro2 1.0.85",
2686
- "quote 1.0.36",
2687
- "syn 2.0.66",
2688
  ]
2689
 
2690
  [[package]]
@@ -2718,9 +2794,9 @@ dependencies = [
2718
 
2719
  [[package]]
2720
  name = "portable-atomic"
2721
- version = "1.6.0"
2722
  source = "registry+https://github.com/rust-lang/crates.io-index"
2723
- checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
2724
 
2725
  [[package]]
2726
  name = "powerfmt"
@@ -2730,9 +2806,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
2730
 
2731
  [[package]]
2732
  name = "ppv-lite86"
2733
- version = "0.2.17"
2734
  source = "registry+https://github.com/rust-lang/crates.io-index"
2735
- checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 
 
2736
 
2737
  [[package]]
2738
  name = "precomputed-hash"
@@ -2747,8 +2826,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2747
  checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
2748
  dependencies = [
2749
  "proc-macro-error-attr",
2750
- "proc-macro2 1.0.85",
2751
- "quote 1.0.36",
2752
  "version_check",
2753
  ]
2754
 
@@ -2758,8 +2837,8 @@ version = "1.0.4"
2758
  source = "registry+https://github.com/rust-lang/crates.io-index"
2759
  checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
2760
  dependencies = [
2761
- "proc-macro2 1.0.85",
2762
- "quote 1.0.36",
2763
  "version_check",
2764
  ]
2765
 
@@ -2774,9 +2853,9 @@ dependencies = [
2774
 
2775
  [[package]]
2776
  name = "proc-macro2"
2777
- version = "1.0.85"
2778
  source = "registry+https://github.com/rust-lang/crates.io-index"
2779
- checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
2780
  dependencies = [
2781
  "unicode-ident",
2782
  ]
@@ -2788,18 +2867,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2788
  checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f"
2789
  dependencies = [
2790
  "idna 0.2.3",
2791
- "url 2.5.0",
2792
- ]
2793
-
2794
- [[package]]
2795
- name = "pulldown-cmark"
2796
- version = "0.9.6"
2797
- source = "registry+https://github.com/rust-lang/crates.io-index"
2798
- checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
2799
- dependencies = [
2800
- "bitflags 2.5.0",
2801
- "memchr",
2802
- "unicase",
2803
  ]
2804
 
2805
  [[package]]
@@ -2819,11 +2887,11 @@ dependencies = [
2819
 
2820
  [[package]]
2821
  name = "quinn"
2822
- version = "0.11.3"
2823
  source = "registry+https://github.com/rust-lang/crates.io-index"
2824
- checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156"
2825
  dependencies = [
2826
- "bytes 1.6.0",
2827
  "pin-project-lite",
2828
  "quinn-proto",
2829
  "quinn-udp",
@@ -2831,7 +2899,7 @@ dependencies = [
2831
  "rustls",
2832
  "socket2 0.5.7",
2833
  "thiserror",
2834
- "tokio 1.38.0",
2835
  "tracing",
2836
  ]
2837
 
@@ -2841,7 +2909,7 @@ version = "0.11.8"
2841
  source = "registry+https://github.com/rust-lang/crates.io-index"
2842
  checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
2843
  dependencies = [
2844
- "bytes 1.6.0",
2845
  "rand 0.8.5",
2846
  "ring",
2847
  "rustc-hash 2.0.0",
@@ -2854,15 +2922,15 @@ dependencies = [
2854
 
2855
  [[package]]
2856
  name = "quinn-udp"
2857
- version = "0.5.4"
2858
  source = "registry+https://github.com/rust-lang/crates.io-index"
2859
- checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285"
2860
  dependencies = [
2861
  "libc",
2862
  "once_cell",
2863
  "socket2 0.5.7",
2864
  "tracing",
2865
- "windows-sys 0.52.0",
2866
  ]
2867
 
2868
  [[package]]
@@ -2876,11 +2944,11 @@ dependencies = [
2876
 
2877
  [[package]]
2878
  name = "quote"
2879
- version = "1.0.36"
2880
  source = "registry+https://github.com/rust-lang/crates.io-index"
2881
- checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
2882
  dependencies = [
2883
- "proc-macro2 1.0.85",
2884
  ]
2885
 
2886
  [[package]]
@@ -3021,11 +3089,31 @@ dependencies = [
3021
 
3022
  [[package]]
3023
  name = "raw-cpuid"
3024
- version = "11.0.2"
3025
  source = "registry+https://github.com/rust-lang/crates.io-index"
3026
- checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd"
3027
  dependencies = [
3028
- "bitflags 2.5.0",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3029
  ]
3030
 
3031
  [[package]]
@@ -3045,7 +3133,7 @@ checksum = "e0d7a6955c7511f60f3ba9e86c6d02b3c3f144f8c24b288d1f4e18074ab8bbec"
3045
  dependencies = [
3046
  "arc-swap",
3047
  "async-trait",
3048
- "bytes 1.6.0",
3049
  "combine",
3050
  "futures 0.3.30",
3051
  "futures-util",
@@ -3053,10 +3141,10 @@ dependencies = [
3053
  "percent-encoding 2.3.1",
3054
  "pin-project-lite",
3055
  "ryu",
3056
- "tokio 1.38.0",
3057
  "tokio-retry",
3058
  "tokio-util",
3059
- "url 2.5.0",
3060
  ]
3061
 
3062
  [[package]]
@@ -3067,18 +3155,18 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
3067
 
3068
  [[package]]
3069
  name = "redox_syscall"
3070
- version = "0.5.1"
3071
  source = "registry+https://github.com/rust-lang/crates.io-index"
3072
- checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
3073
  dependencies = [
3074
- "bitflags 2.5.0",
3075
  ]
3076
 
3077
  [[package]]
3078
  name = "regex"
3079
- version = "1.10.4"
3080
  source = "registry+https://github.com/rust-lang/crates.io-index"
3081
- checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
3082
  dependencies = [
3083
  "aho-corasick 1.1.3",
3084
  "memchr",
@@ -3088,9 +3176,9 @@ dependencies = [
3088
 
3089
  [[package]]
3090
  name = "regex-automata"
3091
- version = "0.4.6"
3092
  source = "registry+https://github.com/rust-lang/crates.io-index"
3093
- checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
3094
  dependencies = [
3095
  "aho-corasick 1.1.3",
3096
  "memchr",
@@ -3099,15 +3187,15 @@ dependencies = [
3099
 
3100
  [[package]]
3101
  name = "regex-lite"
3102
- version = "0.1.5"
3103
  source = "registry+https://github.com/rust-lang/crates.io-index"
3104
- checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"
3105
 
3106
  [[package]]
3107
  name = "regex-syntax"
3108
- version = "0.8.3"
3109
  source = "registry+https://github.com/rust-lang/crates.io-index"
3110
- checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
3111
 
3112
  [[package]]
3113
  name = "reqwest"
@@ -3139,26 +3227,26 @@ dependencies = [
3139
  "tokio-threadpool",
3140
  "tokio-timer",
3141
  "url 1.7.2",
3142
- "uuid",
3143
- "winreg 0.6.2",
3144
  ]
3145
 
3146
  [[package]]
3147
  name = "reqwest"
3148
- version = "0.12.5"
3149
  source = "registry+https://github.com/rust-lang/crates.io-index"
3150
- checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37"
3151
  dependencies = [
3152
  "async-compression",
3153
  "base64 0.22.1",
3154
- "bytes 1.6.0",
3155
  "futures-core",
3156
  "futures-util",
3157
- "h2 0.4.5",
3158
  "http 1.1.0",
3159
- "http-body 1.0.0",
3160
  "http-body-util",
3161
- "hyper 1.3.1",
3162
  "hyper-rustls",
3163
  "hyper-util",
3164
  "ipnet",
@@ -3176,16 +3264,16 @@ dependencies = [
3176
  "serde_json",
3177
  "serde_urlencoded 0.7.1",
3178
  "sync_wrapper",
3179
- "tokio 1.38.0",
3180
  "tokio-rustls",
3181
  "tokio-util",
3182
  "tower-service",
3183
- "url 2.5.0",
3184
  "wasm-bindgen",
3185
  "wasm-bindgen-futures",
3186
  "web-sys",
3187
  "webpki-roots",
3188
- "winreg 0.52.0",
3189
  ]
3190
 
3191
  [[package]]
@@ -3238,20 +3326,20 @@ dependencies = [
3238
 
3239
  [[package]]
3240
  name = "rustc_version"
3241
- version = "0.4.0"
3242
  source = "registry+https://github.com/rust-lang/crates.io-index"
3243
- checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
3244
  dependencies = [
3245
  "semver 1.0.23",
3246
  ]
3247
 
3248
  [[package]]
3249
  name = "rustix"
3250
- version = "0.38.34"
3251
  source = "registry+https://github.com/rust-lang/crates.io-index"
3252
- checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
3253
  dependencies = [
3254
- "bitflags 2.5.0",
3255
  "errno",
3256
  "libc",
3257
  "linux-raw-sys",
@@ -3274,9 +3362,9 @@ dependencies = [
3274
 
3275
  [[package]]
3276
  name = "rustls-pemfile"
3277
- version = "2.1.2"
3278
  source = "registry+https://github.com/rust-lang/crates.io-index"
3279
- checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
3280
  dependencies = [
3281
  "base64 0.22.1",
3282
  "rustls-pki-types",
@@ -3284,15 +3372,15 @@ dependencies = [
3284
 
3285
  [[package]]
3286
  name = "rustls-pki-types"
3287
- version = "1.7.0"
3288
  source = "registry+https://github.com/rust-lang/crates.io-index"
3289
- checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
3290
 
3291
  [[package]]
3292
  name = "rustls-webpki"
3293
- version = "0.102.6"
3294
  source = "registry+https://github.com/rust-lang/crates.io-index"
3295
- checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e"
3296
  dependencies = [
3297
  "ring",
3298
  "rustls-pki-types",
@@ -3335,12 +3423,6 @@ dependencies = [
3335
  "windows-sys 0.52.0",
3336
  ]
3337
 
3338
- [[package]]
3339
- name = "scoped-tls"
3340
- version = "1.0.1"
3341
- source = "registry+https://github.com/rust-lang/crates.io-index"
3342
- checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
3343
-
3344
  [[package]]
3345
  name = "scopeguard"
3346
  version = "1.2.0"
@@ -3364,11 +3446,11 @@ dependencies = [
3364
 
3365
  [[package]]
3366
  name = "security-framework"
3367
- version = "2.11.0"
3368
  source = "registry+https://github.com/rust-lang/crates.io-index"
3369
- checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
3370
  dependencies = [
3371
- "bitflags 2.5.0",
3372
  "core-foundation",
3373
  "core-foundation-sys",
3374
  "libc",
@@ -3377,9 +3459,9 @@ dependencies = [
3377
 
3378
  [[package]]
3379
  name = "security-framework-sys"
3380
- version = "2.11.0"
3381
  source = "registry+https://github.com/rust-lang/crates.io-index"
3382
- checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
3383
  dependencies = [
3384
  "core-foundation-sys",
3385
  "libc",
@@ -3401,7 +3483,7 @@ version = "0.25.0"
3401
  source = "registry+https://github.com/rust-lang/crates.io-index"
3402
  checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
3403
  dependencies = [
3404
- "bitflags 2.5.0",
3405
  "cssparser 0.31.2",
3406
  "derive_more",
3407
  "fxhash",
@@ -3428,9 +3510,6 @@ name = "semver"
3428
  version = "1.0.23"
3429
  source = "registry+https://github.com/rust-lang/crates.io-index"
3430
  checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
3431
- dependencies = [
3432
- "serde",
3433
- ]
3434
 
3435
  [[package]]
3436
  name = "semver-parser"
@@ -3453,16 +3532,16 @@ version = "1.0.209"
3453
  source = "registry+https://github.com/rust-lang/crates.io-index"
3454
  checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
3455
  dependencies = [
3456
- "proc-macro2 1.0.85",
3457
- "quote 1.0.36",
3458
- "syn 2.0.66",
3459
  ]
3460
 
3461
  [[package]]
3462
  name = "serde_json"
3463
- version = "1.0.122"
3464
  source = "registry+https://github.com/rust-lang/crates.io-index"
3465
- checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
3466
  dependencies = [
3467
  "itoa 1.0.11",
3468
  "memchr",
@@ -3541,21 +3620,6 @@ version = "0.3.11"
3541
  source = "registry+https://github.com/rust-lang/crates.io-index"
3542
  checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
3543
 
3544
- [[package]]
3545
- name = "skeptic"
3546
- version = "0.13.7"
3547
- source = "registry+https://github.com/rust-lang/crates.io-index"
3548
- checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8"
3549
- dependencies = [
3550
- "bytecount",
3551
- "cargo_metadata",
3552
- "error-chain",
3553
- "glob",
3554
- "pulldown-cmark",
3555
- "tempfile",
3556
- "walkdir",
3557
- ]
3558
-
3559
  [[package]]
3560
  name = "slab"
3561
  version = "0.4.9"
@@ -3579,9 +3643,6 @@ name = "smallvec"
3579
  version = "1.13.2"
3580
  source = "registry+https://github.com/rust-lang/crates.io-index"
3581
  checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
3582
- dependencies = [
3583
- "serde",
3584
- ]
3585
 
3586
  [[package]]
3587
  name = "socket2"
@@ -3679,8 +3740,8 @@ checksum = "f0f45ed1b65bf9a4bf2f7b7dc59212d1926e9eaf00fa998988e420fd124467c6"
3679
  dependencies = [
3680
  "phf_generator 0.7.24",
3681
  "phf_shared 0.7.24",
3682
- "proc-macro2 1.0.85",
3683
- "quote 1.0.36",
3684
  "string_cache_shared",
3685
  ]
3686
 
@@ -3692,8 +3753,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
3692
  dependencies = [
3693
  "phf_generator 0.10.0",
3694
  "phf_shared 0.10.0",
3695
- "proc-macro2 1.0.85",
3696
- "quote 1.0.36",
3697
  ]
3698
 
3699
  [[package]]
@@ -3704,9 +3765,9 @@ checksum = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
3704
 
3705
  [[package]]
3706
  name = "subtle"
3707
- version = "2.5.0"
3708
  source = "registry+https://github.com/rust-lang/crates.io-index"
3709
- checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
3710
 
3711
  [[package]]
3712
  name = "syn"
@@ -3725,19 +3786,19 @@ version = "1.0.109"
3725
  source = "registry+https://github.com/rust-lang/crates.io-index"
3726
  checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
3727
  dependencies = [
3728
- "proc-macro2 1.0.85",
3729
- "quote 1.0.36",
3730
  "unicode-ident",
3731
  ]
3732
 
3733
  [[package]]
3734
  name = "syn"
3735
- version = "2.0.66"
3736
  source = "registry+https://github.com/rust-lang/crates.io-index"
3737
- checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
3738
  dependencies = [
3739
- "proc-macro2 1.0.85",
3740
- "quote 1.0.36",
3741
  "unicode-ident",
3742
  ]
3743
 
@@ -3746,6 +3807,9 @@ name = "sync_wrapper"
3746
  version = "1.0.1"
3747
  source = "registry+https://github.com/rust-lang/crates.io-index"
3748
  checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
 
 
 
3749
 
3750
  [[package]]
3751
  name = "synstructure"
@@ -3753,10 +3817,10 @@ version = "0.12.6"
3753
  source = "registry+https://github.com/rust-lang/crates.io-index"
3754
  checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
3755
  dependencies = [
3756
- "proc-macro2 1.0.85",
3757
- "quote 1.0.36",
3758
  "syn 1.0.109",
3759
- "unicode-xid 0.2.4",
3760
  ]
3761
 
3762
  [[package]]
@@ -3767,14 +3831,15 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
3767
 
3768
  [[package]]
3769
  name = "tempfile"
3770
- version = "3.10.1"
3771
  source = "registry+https://github.com/rust-lang/crates.io-index"
3772
- checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
3773
  dependencies = [
3774
  "cfg-if 1.0.0",
3775
  "fastrand",
 
3776
  "rustix",
3777
- "windows-sys 0.52.0",
3778
  ]
3779
 
3780
  [[package]]
@@ -3822,9 +3887,9 @@ version = "1.0.63"
3822
  source = "registry+https://github.com/rust-lang/crates.io-index"
3823
  checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
3824
  dependencies = [
3825
- "proc-macro2 1.0.85",
3826
- "quote 1.0.36",
3827
- "syn 2.0.66",
3828
  ]
3829
 
3830
  [[package]]
@@ -3887,9 +3952,9 @@ dependencies = [
3887
 
3888
  [[package]]
3889
  name = "tinyvec"
3890
- version = "1.6.0"
3891
  source = "registry+https://github.com/rust-lang/crates.io-index"
3892
- checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
3893
  dependencies = [
3894
  "tinyvec_macros",
3895
  ]
@@ -3921,21 +3986,20 @@ dependencies = [
3921
 
3922
  [[package]]
3923
  name = "tokio"
3924
- version = "1.38.0"
3925
  source = "registry+https://github.com/rust-lang/crates.io-index"
3926
- checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
3927
  dependencies = [
3928
  "backtrace",
3929
- "bytes 1.6.0",
3930
  "libc",
3931
- "mio 0.8.11",
3932
- "num_cpus",
3933
  "parking_lot 0.12.3",
3934
  "pin-project-lite",
3935
  "signal-hook-registry",
3936
  "socket2 0.5.7",
3937
  "tokio-macros",
3938
- "windows-sys 0.48.0",
3939
  ]
3940
 
3941
  [[package]]
@@ -3982,13 +4046,13 @@ dependencies = [
3982
 
3983
  [[package]]
3984
  name = "tokio-macros"
3985
- version = "2.3.0"
3986
  source = "registry+https://github.com/rust-lang/crates.io-index"
3987
- checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
3988
  dependencies = [
3989
- "proc-macro2 1.0.85",
3990
- "quote 1.0.36",
3991
- "syn 2.0.66",
3992
  ]
3993
 
3994
  [[package]]
@@ -4018,7 +4082,7 @@ checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f"
4018
  dependencies = [
4019
  "pin-project",
4020
  "rand 0.8.5",
4021
- "tokio 1.38.0",
4022
  ]
4023
 
4024
  [[package]]
@@ -4029,7 +4093,7 @@ checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
4029
  dependencies = [
4030
  "rustls",
4031
  "rustls-pki-types",
4032
- "tokio 1.38.0",
4033
  ]
4034
 
4035
  [[package]]
@@ -4062,7 +4126,7 @@ version = "0.1.18"
4062
  source = "registry+https://github.com/rust-lang/crates.io-index"
4063
  checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
4064
  dependencies = [
4065
- "crossbeam-deque",
4066
  "crossbeam-queue",
4067
  "crossbeam-utils 0.7.2",
4068
  "futures 0.1.31",
@@ -4087,29 +4151,29 @@ dependencies = [
4087
 
4088
  [[package]]
4089
  name = "tokio-uring"
4090
- version = "0.4.0"
4091
  source = "registry+https://github.com/rust-lang/crates.io-index"
4092
- checksum = "0d5e02bb137e030b3a547c65a3bd2f1836d66a97369fdcc69034002b10e155ef"
4093
  dependencies = [
 
4094
  "io-uring",
4095
  "libc",
4096
- "scoped-tls",
4097
  "slab",
4098
  "socket2 0.4.10",
4099
- "tokio 1.38.0",
4100
  ]
4101
 
4102
  [[package]]
4103
  name = "tokio-util"
4104
- version = "0.7.11"
4105
  source = "registry+https://github.com/rust-lang/crates.io-index"
4106
- checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
4107
  dependencies = [
4108
- "bytes 1.6.0",
4109
  "futures-core",
4110
  "futures-sink",
4111
  "pin-project-lite",
4112
- "tokio 1.38.0",
4113
  ]
4114
 
4115
  [[package]]
@@ -4131,22 +4195,22 @@ dependencies = [
4131
  "futures-util",
4132
  "pin-project",
4133
  "pin-project-lite",
4134
- "tokio 1.38.0",
4135
  "tower-layer",
4136
  "tower-service",
4137
  ]
4138
 
4139
  [[package]]
4140
  name = "tower-layer"
4141
- version = "0.3.2"
4142
  source = "registry+https://github.com/rust-lang/crates.io-index"
4143
- checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
4144
 
4145
  [[package]]
4146
  name = "tower-service"
4147
- version = "0.3.2"
4148
  source = "registry+https://github.com/rust-lang/crates.io-index"
4149
- checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
4150
 
4151
  [[package]]
4152
  name = "tracing"
@@ -4170,9 +4234,9 @@ dependencies = [
4170
 
4171
  [[package]]
4172
  name = "triomphe"
4173
- version = "0.1.12"
4174
  source = "registry+https://github.com/rust-lang/crates.io-index"
4175
- checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90"
4176
 
4177
  [[package]]
4178
  name = "try-lock"
@@ -4245,9 +4309,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
4245
 
4246
  [[package]]
4247
  name = "unicode-xid"
4248
- version = "0.2.4"
4249
  source = "registry+https://github.com/rust-lang/crates.io-index"
4250
- checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
4251
 
4252
  [[package]]
4253
  name = "universal-hash"
@@ -4278,9 +4342,9 @@ dependencies = [
4278
 
4279
  [[package]]
4280
  name = "url"
4281
- version = "2.5.0"
4282
  source = "registry+https://github.com/rust-lang/crates.io-index"
4283
- checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
4284
  dependencies = [
4285
  "form_urlencoded",
4286
  "idna 0.5.0",
@@ -4302,6 +4366,15 @@ dependencies = [
4302
  "rand 0.6.5",
4303
  ]
4304
 
 
 
 
 
 
 
 
 
 
4305
  [[package]]
4306
  name = "v_htmlescape"
4307
  version = "0.15.8"
@@ -4316,9 +4389,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
4316
 
4317
  [[package]]
4318
  name = "version_check"
4319
- version = "0.9.4"
4320
  source = "registry+https://github.com/rust-lang/crates.io-index"
4321
- checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
4322
 
4323
  [[package]]
4324
  name = "walkdir"
@@ -4364,34 +4437,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
4364
 
4365
  [[package]]
4366
  name = "wasm-bindgen"
4367
- version = "0.2.92"
4368
  source = "registry+https://github.com/rust-lang/crates.io-index"
4369
- checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
4370
  dependencies = [
4371
  "cfg-if 1.0.0",
 
4372
  "wasm-bindgen-macro",
4373
  ]
4374
 
4375
  [[package]]
4376
  name = "wasm-bindgen-backend"
4377
- version = "0.2.92"
4378
  source = "registry+https://github.com/rust-lang/crates.io-index"
4379
- checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
4380
  dependencies = [
4381
  "bumpalo",
4382
  "log",
4383
  "once_cell",
4384
- "proc-macro2 1.0.85",
4385
- "quote 1.0.36",
4386
- "syn 2.0.66",
4387
  "wasm-bindgen-shared",
4388
  ]
4389
 
4390
  [[package]]
4391
  name = "wasm-bindgen-futures"
4392
- version = "0.4.42"
4393
  source = "registry+https://github.com/rust-lang/crates.io-index"
4394
- checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
4395
  dependencies = [
4396
  "cfg-if 1.0.0",
4397
  "js-sys",
@@ -4401,38 +4475,38 @@ dependencies = [
4401
 
4402
  [[package]]
4403
  name = "wasm-bindgen-macro"
4404
- version = "0.2.92"
4405
  source = "registry+https://github.com/rust-lang/crates.io-index"
4406
- checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
4407
  dependencies = [
4408
- "quote 1.0.36",
4409
  "wasm-bindgen-macro-support",
4410
  ]
4411
 
4412
  [[package]]
4413
  name = "wasm-bindgen-macro-support"
4414
- version = "0.2.92"
4415
  source = "registry+https://github.com/rust-lang/crates.io-index"
4416
- checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
4417
  dependencies = [
4418
- "proc-macro2 1.0.85",
4419
- "quote 1.0.36",
4420
- "syn 2.0.66",
4421
  "wasm-bindgen-backend",
4422
  "wasm-bindgen-shared",
4423
  ]
4424
 
4425
  [[package]]
4426
  name = "wasm-bindgen-shared"
4427
- version = "0.2.92"
4428
  source = "registry+https://github.com/rust-lang/crates.io-index"
4429
- checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
4430
 
4431
  [[package]]
4432
  name = "web-sys"
4433
- version = "0.3.69"
4434
  source = "registry+https://github.com/rust-lang/crates.io-index"
4435
- checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
4436
  dependencies = [
4437
  "js-sys",
4438
  "wasm-bindgen",
@@ -4440,16 +4514,16 @@ dependencies = [
4440
 
4441
  [[package]]
4442
  name = "webpki-roots"
4443
- version = "0.26.2"
4444
  source = "registry+https://github.com/rust-lang/crates.io-index"
4445
- checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3"
4446
  dependencies = [
4447
  "rustls-pki-types",
4448
  ]
4449
 
4450
  [[package]]
4451
  name = "websurfx"
4452
- version = "1.17.20"
4453
  dependencies = [
4454
  "actix-cors",
4455
  "actix-files",
@@ -4459,6 +4533,7 @@ dependencies = [
4459
  "async-once-cell",
4460
  "async-trait",
4461
  "base64 0.21.7",
 
4462
  "blake3",
4463
  "cfg-if 1.0.0",
4464
  "chacha20",
@@ -4475,28 +4550,27 @@ dependencies = [
4475
  "log",
4476
  "maud",
4477
  "mimalloc",
4478
- "mini-moka",
4479
  "minify-js",
4480
  "mlua",
 
4481
  "redis",
4482
  "regex",
4483
- "reqwest 0.12.5",
4484
  "rusty-hook",
4485
  "scraper",
4486
  "serde",
4487
  "serde_json",
4488
- "smallvec 1.13.2",
4489
  "stop-words",
4490
  "tempfile",
4491
  "thesaurus",
4492
- "tokio 1.38.0",
4493
  ]
4494
 
4495
  [[package]]
4496
  name = "which"
4497
- version = "6.0.1"
4498
  source = "registry+https://github.com/rust-lang/crates.io-index"
4499
- checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7"
4500
  dependencies = [
4501
  "either",
4502
  "home",
@@ -4534,11 +4608,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
4534
 
4535
  [[package]]
4536
  name = "winapi-util"
4537
- version = "0.1.8"
4538
  source = "registry+https://github.com/rust-lang/crates.io-index"
4539
- checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
4540
  dependencies = [
4541
- "windows-sys 0.52.0",
4542
  ]
4543
 
4544
  [[package]]
@@ -4548,143 +4622,116 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
4548
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
4549
 
4550
  [[package]]
4551
- name = "windows-sys"
4552
- version = "0.48.0"
4553
  source = "registry+https://github.com/rust-lang/crates.io-index"
4554
- checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
4555
  dependencies = [
4556
- "windows-targets 0.48.5",
 
 
4557
  ]
4558
 
4559
  [[package]]
4560
- name = "windows-sys"
4561
- version = "0.52.0"
4562
  source = "registry+https://github.com/rust-lang/crates.io-index"
4563
- checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
4564
  dependencies = [
4565
- "windows-targets 0.52.5",
4566
  ]
4567
 
4568
  [[package]]
4569
- name = "windows-targets"
4570
- version = "0.48.5"
4571
  source = "registry+https://github.com/rust-lang/crates.io-index"
4572
- checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
4573
  dependencies = [
4574
- "windows_aarch64_gnullvm 0.48.5",
4575
- "windows_aarch64_msvc 0.48.5",
4576
- "windows_i686_gnu 0.48.5",
4577
- "windows_i686_msvc 0.48.5",
4578
- "windows_x86_64_gnu 0.48.5",
4579
- "windows_x86_64_gnullvm 0.48.5",
4580
- "windows_x86_64_msvc 0.48.5",
4581
  ]
4582
 
4583
  [[package]]
4584
- name = "windows-targets"
4585
- version = "0.52.5"
4586
  source = "registry+https://github.com/rust-lang/crates.io-index"
4587
- checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
4588
  dependencies = [
4589
- "windows_aarch64_gnullvm 0.52.5",
4590
- "windows_aarch64_msvc 0.52.5",
4591
- "windows_i686_gnu 0.52.5",
4592
- "windows_i686_gnullvm",
4593
- "windows_i686_msvc 0.52.5",
4594
- "windows_x86_64_gnu 0.52.5",
4595
- "windows_x86_64_gnullvm 0.52.5",
4596
- "windows_x86_64_msvc 0.52.5",
4597
  ]
4598
 
4599
  [[package]]
4600
- name = "windows_aarch64_gnullvm"
4601
- version = "0.48.5"
4602
  source = "registry+https://github.com/rust-lang/crates.io-index"
4603
- checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 
 
4604
 
4605
  [[package]]
4606
- name = "windows_aarch64_gnullvm"
4607
- version = "0.52.5"
4608
  source = "registry+https://github.com/rust-lang/crates.io-index"
4609
- checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 
 
 
 
 
 
 
 
 
4610
 
4611
  [[package]]
4612
- name = "windows_aarch64_msvc"
4613
- version = "0.48.5"
4614
  source = "registry+https://github.com/rust-lang/crates.io-index"
4615
- checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
4616
 
4617
  [[package]]
4618
  name = "windows_aarch64_msvc"
4619
- version = "0.52.5"
4620
- source = "registry+https://github.com/rust-lang/crates.io-index"
4621
- checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
4622
-
4623
- [[package]]
4624
- name = "windows_i686_gnu"
4625
- version = "0.48.5"
4626
  source = "registry+https://github.com/rust-lang/crates.io-index"
4627
- checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
4628
 
4629
  [[package]]
4630
  name = "windows_i686_gnu"
4631
- version = "0.52.5"
4632
  source = "registry+https://github.com/rust-lang/crates.io-index"
4633
- checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
4634
 
4635
  [[package]]
4636
  name = "windows_i686_gnullvm"
4637
- version = "0.52.5"
4638
  source = "registry+https://github.com/rust-lang/crates.io-index"
4639
- checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
4640
 
4641
  [[package]]
4642
  name = "windows_i686_msvc"
4643
- version = "0.48.5"
4644
- source = "registry+https://github.com/rust-lang/crates.io-index"
4645
- checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
4646
-
4647
- [[package]]
4648
- name = "windows_i686_msvc"
4649
- version = "0.52.5"
4650
- source = "registry+https://github.com/rust-lang/crates.io-index"
4651
- checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
4652
-
4653
- [[package]]
4654
- name = "windows_x86_64_gnu"
4655
- version = "0.48.5"
4656
  source = "registry+https://github.com/rust-lang/crates.io-index"
4657
- checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
4658
 
4659
  [[package]]
4660
  name = "windows_x86_64_gnu"
4661
- version = "0.52.5"
4662
- source = "registry+https://github.com/rust-lang/crates.io-index"
4663
- checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
4664
-
4665
- [[package]]
4666
- name = "windows_x86_64_gnullvm"
4667
- version = "0.48.5"
4668
  source = "registry+https://github.com/rust-lang/crates.io-index"
4669
- checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
4670
 
4671
  [[package]]
4672
  name = "windows_x86_64_gnullvm"
4673
- version = "0.52.5"
4674
- source = "registry+https://github.com/rust-lang/crates.io-index"
4675
- checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
4676
-
4677
- [[package]]
4678
- name = "windows_x86_64_msvc"
4679
- version = "0.48.5"
4680
  source = "registry+https://github.com/rust-lang/crates.io-index"
4681
- checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
4682
 
4683
  [[package]]
4684
  name = "windows_x86_64_msvc"
4685
- version = "0.52.5"
4686
  source = "registry+https://github.com/rust-lang/crates.io-index"
4687
- checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
4688
 
4689
  [[package]]
4690
  name = "winreg"
@@ -4695,16 +4742,6 @@ dependencies = [
4695
  "winapi 0.3.9",
4696
  ]
4697
 
4698
- [[package]]
4699
- name = "winreg"
4700
- version = "0.52.0"
4701
- source = "registry+https://github.com/rust-lang/crates.io-index"
4702
- checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
4703
- dependencies = [
4704
- "cfg-if 1.0.0",
4705
- "windows-sys 0.48.0",
4706
- ]
4707
-
4708
  [[package]]
4709
  name = "winsafe"
4710
  version = "0.0.19"
@@ -4723,22 +4760,23 @@ dependencies = [
4723
 
4724
  [[package]]
4725
  name = "zerocopy"
4726
- version = "0.7.34"
4727
  source = "registry+https://github.com/rust-lang/crates.io-index"
4728
- checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
4729
  dependencies = [
 
4730
  "zerocopy-derive",
4731
  ]
4732
 
4733
  [[package]]
4734
  name = "zerocopy-derive"
4735
- version = "0.7.34"
4736
  source = "registry+https://github.com/rust-lang/crates.io-index"
4737
- checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
4738
  dependencies = [
4739
- "proc-macro2 1.0.85",
4740
- "quote 1.0.36",
4741
- "syn 2.0.66",
4742
  ]
4743
 
4744
  [[package]]
 
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
  checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
10
  dependencies = [
11
+ "bitflags 2.6.0",
12
+ "bytes 1.7.1",
13
  "futures-core",
14
  "futures-sink",
15
  "memchr",
16
  "pin-project-lite",
17
+ "tokio 1.40.0",
18
  "tokio-util",
19
  "tracing",
20
  ]
 
36
 
37
  [[package]]
38
  name = "actix-files"
39
+ version = "0.6.6"
40
  source = "registry+https://github.com/rust-lang/crates.io-index"
41
+ checksum = "0773d59061dedb49a8aed04c67291b9d8cf2fe0b60130a381aab53c6dd86e9be"
42
  dependencies = [
43
  "actix-http",
44
  "actix-service",
45
  "actix-utils",
46
  "actix-web",
47
+ "bitflags 2.6.0",
48
+ "bytes 1.7.1",
49
  "derive_more",
50
  "futures-core",
51
  "http-range",
 
71
 
72
  [[package]]
73
  name = "actix-http"
74
+ version = "3.9.0"
75
  source = "registry+https://github.com/rust-lang/crates.io-index"
76
+ checksum = "d48f96fc3003717aeb9856ca3d02a8c7de502667ad76eeacd830b48d2e91fac4"
77
  dependencies = [
78
  "actix-codec",
79
  "actix-rt",
 
81
  "actix-utils",
82
  "ahash",
83
  "base64 0.22.1",
84
+ "bitflags 2.6.0",
85
  "brotli",
86
+ "bytes 1.7.1",
87
  "bytestring",
88
  "derive_more",
89
  "encoding_rs",
 
100
  "rand 0.8.5",
101
  "sha1",
102
  "smallvec 1.13.2",
103
+ "tokio 1.40.0",
104
  "tokio-util",
105
  "tracing",
106
  ]
 
111
  source = "registry+https://github.com/rust-lang/crates.io-index"
112
  checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
113
  dependencies = [
114
+ "quote 1.0.37",
115
+ "syn 2.0.77",
116
  ]
117
 
118
  [[package]]
 
131
 
132
  [[package]]
133
  name = "actix-rt"
134
+ version = "2.10.0"
135
  source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208"
137
  dependencies = [
138
  "futures-core",
139
+ "tokio 1.40.0",
140
  "tokio-uring",
141
  ]
142
 
143
  [[package]]
144
  name = "actix-server"
145
+ version = "2.5.0"
146
  source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "7ca2549781d8dd6d75c40cf6b6051260a2cc2f3c62343d761a969a0640646894"
148
  dependencies = [
149
  "actix-rt",
150
  "actix-service",
151
  "actix-utils",
152
  "futures-core",
153
  "futures-util",
154
+ "mio 1.0.2",
155
  "socket2 0.5.7",
156
+ "tokio 1.40.0",
157
  "tokio-uring",
158
  "tracing",
159
  ]
 
195
  "actix-utils",
196
  "actix-web-codegen",
197
  "ahash",
198
+ "bytes 1.7.1",
199
  "bytestring",
200
  "cfg-if 1.0.0",
201
  "cookie 0.16.2",
 
217
  "smallvec 1.13.2",
218
  "socket2 0.5.7",
219
  "time 0.3.36",
220
+ "url 2.5.2",
221
  ]
222
 
223
  [[package]]
 
227
  checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8"
228
  dependencies = [
229
  "actix-router",
230
+ "proc-macro2 1.0.86",
231
+ "quote 1.0.37",
232
+ "syn 2.0.77",
233
  ]
234
 
235
  [[package]]
 
247
  source = "registry+https://github.com/rust-lang/crates.io-index"
248
  checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
249
 
250
+ [[package]]
251
+ name = "adler2"
252
+ version = "2.0.0"
253
+ source = "registry+https://github.com/rust-lang/crates.io-index"
254
+ checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
255
+
256
  [[package]]
257
  name = "adler32"
258
  version = "1.2.0"
 
323
 
324
  [[package]]
325
  name = "anstyle"
326
+ version = "1.0.8"
327
  source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
329
 
330
  [[package]]
331
  name = "anyhow"
 
341
 
342
  [[package]]
343
  name = "arrayref"
344
+ version = "0.3.8"
345
  source = "registry+https://github.com/rust-lang/crates.io-index"
346
+ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a"
347
 
348
  [[package]]
349
  name = "arrayvec"
350
+ version = "0.7.6"
351
  source = "registry+https://github.com/rust-lang/crates.io-index"
352
+ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
353
 
354
  [[package]]
355
  name = "async-compression"
 
362
  "futures-core",
363
  "memchr",
364
  "pin-project-lite",
365
+ "tokio 1.40.0",
366
+ ]
367
+
368
+ [[package]]
369
+ name = "async-lock"
370
+ version = "3.4.0"
371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
372
+ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
373
+ dependencies = [
374
+ "event-listener",
375
+ "event-listener-strategy",
376
+ "pin-project-lite",
377
  ]
378
 
379
  [[package]]
 
384
 
385
  [[package]]
386
  name = "async-trait"
387
+ version = "0.1.82"
388
  source = "registry+https://github.com/rust-lang/crates.io-index"
389
+ checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1"
390
  dependencies = [
391
+ "proc-macro2 1.0.86",
392
+ "quote 1.0.37",
393
+ "syn 2.0.77",
394
  ]
395
 
396
  [[package]]
 
416
 
417
  [[package]]
418
  name = "backtrace"
419
+ version = "0.3.73"
420
  source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
422
  dependencies = [
423
  "addr2line",
424
  "cc",
425
  "cfg-if 1.0.0",
426
  "libc",
427
+ "miniz_oxide 0.7.4",
428
  "object",
429
  "rustc-demangle",
430
  ]
 
450
  source = "registry+https://github.com/rust-lang/crates.io-index"
451
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
452
 
453
+ [[package]]
454
+ name = "bincode"
455
+ version = "1.3.3"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
458
+ dependencies = [
459
+ "serde",
460
+ ]
461
+
462
  [[package]]
463
  name = "bit-set"
464
  version = "0.5.3"
 
482
 
483
  [[package]]
484
  name = "bitflags"
485
+ version = "2.6.0"
486
  source = "registry+https://github.com/rust-lang/crates.io-index"
487
+ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
488
 
489
  [[package]]
490
  name = "blake3"
 
521
 
522
  [[package]]
523
  name = "brotli-decompressor"
524
+ version = "4.0.1"
525
  source = "registry+https://github.com/rust-lang/crates.io-index"
526
+ checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"
527
  dependencies = [
528
  "alloc-no-stdlib",
529
  "alloc-stdlib",
 
531
 
532
  [[package]]
533
  name = "bstr"
534
+ version = "1.10.0"
535
  source = "registry+https://github.com/rust-lang/crates.io-index"
536
+ checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
537
  dependencies = [
538
  "memchr",
539
  "serde",
 
545
  source = "registry+https://github.com/rust-lang/crates.io-index"
546
  checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
547
 
 
 
 
 
 
 
548
  [[package]]
549
  name = "byteorder"
550
  version = "1.5.0"
 
564
 
565
  [[package]]
566
  name = "bytes"
567
+ version = "1.7.1"
568
  source = "registry+https://github.com/rust-lang/crates.io-index"
569
+ checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
570
 
571
  [[package]]
572
  name = "bytestring"
 
574
  source = "registry+https://github.com/rust-lang/crates.io-index"
575
  checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72"
576
  dependencies = [
577
+ "bytes 1.7.1",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  ]
579
 
580
  [[package]]
 
585
 
586
  [[package]]
587
  name = "cc"
588
+ version = "1.1.16"
589
  source = "registry+https://github.com/rust-lang/crates.io-index"
590
+ checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b"
591
  dependencies = [
592
  "shlex",
593
  ]
 
677
 
678
  [[package]]
679
  name = "clap"
680
+ version = "4.5.17"
681
  source = "registry+https://github.com/rust-lang/crates.io-index"
682
+ checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac"
683
  dependencies = [
684
  "clap_builder",
685
  ]
686
 
687
  [[package]]
688
  name = "clap_builder"
689
+ version = "4.5.17"
690
  source = "registry+https://github.com/rust-lang/crates.io-index"
691
+ checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73"
692
  dependencies = [
693
  "anstyle",
694
  "clap_lex",
 
696
 
697
  [[package]]
698
  name = "clap_lex"
699
+ version = "0.7.2"
700
  source = "registry+https://github.com/rust-lang/crates.io-index"
701
+ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
702
 
703
  [[package]]
704
  name = "cloudabi"
 
715
  source = "registry+https://github.com/rust-lang/crates.io-index"
716
  checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
717
  dependencies = [
718
+ "bytes 1.7.1",
719
  "futures-core",
720
  "memchr",
721
  "pin-project-lite",
722
+ "tokio 1.40.0",
723
  "tokio-util",
724
  ]
725
 
726
+ [[package]]
727
+ name = "concurrent-queue"
728
+ version = "2.5.0"
729
+ source = "registry+https://github.com/rust-lang/crates.io-index"
730
+ checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
731
+ dependencies = [
732
+ "crossbeam-utils 0.8.20",
733
+ ]
734
+
735
  [[package]]
736
  name = "const-str"
737
  version = "0.3.2"
 
747
  source = "registry+https://github.com/rust-lang/crates.io-index"
748
  checksum = "5e1e0fdd2e5d3041e530e1b21158aeeef8b5d0e306bc5c1e3d6cf0930d10e25a"
749
  dependencies = [
750
+ "proc-macro2 1.0.86",
751
+ "quote 1.0.37",
752
  "syn 1.0.109",
753
  ]
754
 
755
  [[package]]
756
  name = "constant_time_eq"
757
+ version = "0.3.1"
758
  source = "registry+https://github.com/rust-lang/crates.io-index"
759
+ checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
760
 
761
  [[package]]
762
  name = "convert_case"
 
764
  source = "registry+https://github.com/rust-lang/crates.io-index"
765
  checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
766
 
767
+ [[package]]
768
+ name = "convert_case"
769
+ version = "0.6.0"
770
+ source = "registry+https://github.com/rust-lang/crates.io-index"
771
+ checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
772
+ dependencies = [
773
+ "unicode-segmentation",
774
+ ]
775
+
776
  [[package]]
777
  name = "cookie"
778
  version = "0.12.0"
 
824
 
825
  [[package]]
826
  name = "core-foundation-sys"
827
+ version = "0.8.7"
828
  source = "registry+https://github.com/rust-lang/crates.io-index"
829
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
830
 
831
  [[package]]
832
  name = "cpufeatures"
833
+ version = "0.2.13"
834
  source = "registry+https://github.com/rust-lang/crates.io-index"
835
+ checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad"
836
  dependencies = [
837
  "libc",
838
  ]
 
895
  source = "registry+https://github.com/rust-lang/crates.io-index"
896
  checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
897
  dependencies = [
898
+ "crossbeam-epoch 0.8.2",
899
  "crossbeam-utils 0.7.2",
900
  "maybe-uninit",
901
  ]
902
 
903
+ [[package]]
904
+ name = "crossbeam-deque"
905
+ version = "0.8.5"
906
+ source = "registry+https://github.com/rust-lang/crates.io-index"
907
+ checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
908
+ dependencies = [
909
+ "crossbeam-epoch 0.9.18",
910
+ "crossbeam-utils 0.8.20",
911
+ ]
912
+
913
  [[package]]
914
  name = "crossbeam-epoch"
915
  version = "0.8.2"
 
925
  "scopeguard",
926
  ]
927
 
928
+ [[package]]
929
+ name = "crossbeam-epoch"
930
+ version = "0.9.18"
931
+ source = "registry+https://github.com/rust-lang/crates.io-index"
932
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
933
+ dependencies = [
934
+ "crossbeam-utils 0.8.20",
935
+ ]
936
+
937
  [[package]]
938
  name = "crossbeam-queue"
939
  version = "0.2.3"
 
1020
  source = "registry+https://github.com/rust-lang/crates.io-index"
1021
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
1022
  dependencies = [
1023
+ "quote 1.0.37",
1024
+ "syn 2.0.77",
1025
  ]
1026
 
1027
  [[package]]
 
1054
 
1055
  [[package]]
1056
  name = "derive_more"
1057
+ version = "0.99.18"
1058
  source = "registry+https://github.com/rust-lang/crates.io-index"
1059
+ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce"
1060
  dependencies = [
1061
+ "convert_case 0.4.0",
1062
+ "proc-macro2 1.0.86",
1063
+ "quote 1.0.37",
1064
+ "rustc_version 0.4.1",
1065
+ "syn 2.0.77",
1066
  ]
1067
 
1068
  [[package]]
 
1114
 
1115
  [[package]]
1116
  name = "ego-tree"
1117
+ version = "0.6.3"
1118
  source = "registry+https://github.com/rust-lang/crates.io-index"
1119
+ checksum = "12a0bb14ac04a9fcf170d0bbbef949b44cc492f4452bd20c095636956f653642"
1120
 
1121
  [[package]]
1122
  name = "either"
1123
+ version = "1.13.0"
1124
  source = "registry+https://github.com/rust-lang/crates.io-index"
1125
+ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
1126
 
1127
  [[package]]
1128
  name = "encoding_rs"
 
1135
 
1136
  [[package]]
1137
  name = "env_filter"
1138
+ version = "0.1.2"
1139
  source = "registry+https://github.com/rust-lang/crates.io-index"
1140
+ checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab"
1141
  dependencies = [
1142
  "log",
1143
  ]
1144
 
1145
  [[package]]
1146
  name = "env_logger"
1147
+ version = "0.11.5"
1148
  source = "registry+https://github.com/rust-lang/crates.io-index"
1149
+ checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
1150
  dependencies = [
1151
  "env_filter",
1152
  "log",
 
1179
  ]
1180
 
1181
  [[package]]
1182
+ name = "error-stack"
1183
+ version = "0.4.1"
1184
  source = "registry+https://github.com/rust-lang/crates.io-index"
1185
+ checksum = "27a72baa257b5e0e2de241967bc5ee8f855d6072351042688621081d66b2a76b"
1186
  dependencies = [
1187
+ "anyhow",
1188
+ "rustc_version 0.4.1",
1189
  ]
1190
 
1191
  [[package]]
1192
+ name = "event-listener"
1193
+ version = "5.3.1"
1194
  source = "registry+https://github.com/rust-lang/crates.io-index"
1195
+ checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
1196
  dependencies = [
1197
+ "concurrent-queue",
1198
+ "parking",
1199
+ "pin-project-lite",
1200
+ ]
1201
+
1202
+ [[package]]
1203
+ name = "event-listener-strategy"
1204
+ version = "0.5.2"
1205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1206
+ checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
1207
+ dependencies = [
1208
+ "event-listener",
1209
+ "pin-project-lite",
1210
  ]
1211
 
1212
  [[package]]
 
1225
  source = "registry+https://github.com/rust-lang/crates.io-index"
1226
  checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
1227
  dependencies = [
1228
+ "proc-macro2 1.0.86",
1229
+ "quote 1.0.37",
1230
  "syn 1.0.109",
1231
  "synstructure",
1232
  ]
 
1244
 
1245
  [[package]]
1246
  name = "fastrand"
1247
+ version = "2.1.1"
1248
  source = "registry+https://github.com/rust-lang/crates.io-index"
1249
+ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
1250
 
1251
  [[package]]
1252
  name = "flate2"
1253
+ version = "1.0.33"
1254
  source = "registry+https://github.com/rust-lang/crates.io-index"
1255
+ checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
1256
  dependencies = [
1257
  "crc32fast",
1258
+ "miniz_oxide 0.8.0",
1259
  ]
1260
 
1261
  [[package]]
 
1396
  source = "registry+https://github.com/rust-lang/crates.io-index"
1397
  checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
1398
  dependencies = [
1399
+ "proc-macro2 1.0.86",
1400
+ "quote 1.0.37",
1401
+ "syn 2.0.77",
1402
  ]
1403
 
1404
  [[package]]
 
1482
  source = "registry+https://github.com/rust-lang/crates.io-index"
1483
  checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
1484
 
 
 
 
 
 
 
1485
  [[package]]
1486
  name = "governor"
1487
  version = "0.6.3"
 
1522
 
1523
  [[package]]
1524
  name = "h2"
1525
+ version = "0.4.6"
1526
  source = "registry+https://github.com/rust-lang/crates.io-index"
1527
+ checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205"
1528
  dependencies = [
1529
  "atomic-waker",
1530
+ "bytes 1.7.1",
1531
  "fnv",
1532
  "futures-core",
1533
  "futures-sink",
1534
  "http 1.1.0",
1535
+ "indexmap 2.5.0",
1536
  "slab",
1537
+ "tokio 1.40.0",
1538
  "tokio-util",
1539
  "tracing",
1540
  ]
 
1577
  source = "registry+https://github.com/rust-lang/crates.io-index"
1578
  checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
1579
 
1580
+ [[package]]
1581
+ name = "hermit-abi"
1582
+ version = "0.4.0"
1583
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1584
+ checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
1585
+
1586
  [[package]]
1587
  name = "home"
1588
  version = "0.5.9"
 
1615
  "log",
1616
  "mac",
1617
  "markup5ever 0.12.1",
1618
+ "proc-macro2 1.0.86",
1619
+ "quote 1.0.37",
1620
+ "syn 2.0.77",
1621
  ]
1622
 
1623
  [[package]]
 
1637
  source = "registry+https://github.com/rust-lang/crates.io-index"
1638
  checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
1639
  dependencies = [
1640
+ "bytes 1.7.1",
1641
  "fnv",
1642
  "itoa 1.0.11",
1643
  ]
 
1648
  source = "registry+https://github.com/rust-lang/crates.io-index"
1649
  checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
1650
  dependencies = [
1651
+ "bytes 1.7.1",
1652
  "fnv",
1653
  "itoa 1.0.11",
1654
  ]
 
1667
 
1668
  [[package]]
1669
  name = "http-body"
1670
+ version = "1.0.1"
1671
  source = "registry+https://github.com/rust-lang/crates.io-index"
1672
+ checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
1673
  dependencies = [
1674
+ "bytes 1.7.1",
1675
  "http 1.1.0",
1676
  ]
1677
 
1678
  [[package]]
1679
  name = "http-body-util"
1680
+ version = "0.1.2"
1681
  source = "registry+https://github.com/rust-lang/crates.io-index"
1682
+ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
1683
  dependencies = [
1684
+ "bytes 1.7.1",
1685
+ "futures-util",
1686
  "http 1.1.0",
1687
+ "http-body 1.0.1",
1688
  "pin-project-lite",
1689
  ]
1690
 
 
1696
 
1697
  [[package]]
1698
  name = "httparse"
1699
+ version = "1.9.4"
1700
  source = "registry+https://github.com/rust-lang/crates.io-index"
1701
+ checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
1702
 
1703
  [[package]]
1704
  name = "httpdate"
 
1738
 
1739
  [[package]]
1740
  name = "hyper"
1741
+ version = "1.4.1"
1742
  source = "registry+https://github.com/rust-lang/crates.io-index"
1743
+ checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05"
1744
  dependencies = [
1745
+ "bytes 1.7.1",
1746
  "futures-channel",
1747
  "futures-util",
1748
+ "h2 0.4.6",
1749
  "http 1.1.0",
1750
+ "http-body 1.0.1",
1751
  "httparse",
1752
  "itoa 1.0.11",
1753
  "pin-project-lite",
1754
  "smallvec 1.13.2",
1755
+ "tokio 1.40.0",
1756
  "want 0.3.1",
1757
  ]
1758
 
1759
  [[package]]
1760
  name = "hyper-rustls"
1761
+ version = "0.27.3"
1762
  source = "registry+https://github.com/rust-lang/crates.io-index"
1763
+ checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"
1764
  dependencies = [
1765
  "futures-util",
1766
  "http 1.1.0",
1767
+ "hyper 1.4.1",
1768
  "hyper-util",
1769
  "rustls",
1770
  "rustls-pki-types",
1771
+ "tokio 1.40.0",
1772
  "tokio-rustls",
1773
  "tower-service",
1774
  "webpki-roots",
 
1789
 
1790
  [[package]]
1791
  name = "hyper-util"
1792
+ version = "0.1.7"
1793
  source = "registry+https://github.com/rust-lang/crates.io-index"
1794
+ checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9"
1795
  dependencies = [
1796
+ "bytes 1.7.1",
1797
  "futures-channel",
1798
  "futures-util",
1799
  "http 1.1.0",
1800
+ "http-body 1.0.1",
1801
+ "hyper 1.4.1",
1802
  "pin-project-lite",
1803
  "socket2 0.5.7",
1804
+ "tokio 1.40.0",
1805
  "tower",
1806
  "tower-service",
1807
  "tracing",
 
1857
 
1858
  [[package]]
1859
  name = "indexmap"
1860
+ version = "2.5.0"
1861
  source = "registry+https://github.com/rust-lang/crates.io-index"
1862
+ checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
1863
  dependencies = [
1864
  "equivalent",
1865
  "hashbrown 0.14.5",
 
1876
 
1877
  [[package]]
1878
  name = "io-uring"
1879
+ version = "0.6.4"
1880
  source = "registry+https://github.com/rust-lang/crates.io-index"
1881
+ checksum = "595a0399f411a508feb2ec1e970a4a30c249351e30208960d58298de8660b0e5"
1882
  dependencies = [
1883
  "bitflags 1.3.2",
1884
  "libc",
 
1901
 
1902
  [[package]]
1903
  name = "is-terminal"
1904
+ version = "0.4.13"
1905
  source = "registry+https://github.com/rust-lang/crates.io-index"
1906
+ checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
1907
  dependencies = [
1908
+ "hermit-abi 0.4.0",
1909
  "libc",
1910
  "windows-sys 0.52.0",
1911
  ]
 
1942
 
1943
  [[package]]
1944
  name = "js-sys"
1945
+ version = "0.3.70"
1946
  source = "registry+https://github.com/rust-lang/crates.io-index"
1947
+ checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
1948
  dependencies = [
1949
  "wasm-bindgen",
1950
  ]
 
1965
  source = "registry+https://github.com/rust-lang/crates.io-index"
1966
  checksum = "f0efa28e79b3a5f72586318c07c24477a169c688e5065fde647c71b3952a2d42"
1967
  dependencies = [
1968
+ "rayon",
1969
  "regex",
1970
  "unicode-segmentation",
1971
  ]
 
1978
 
1979
  [[package]]
1980
  name = "lazy_static"
1981
+ version = "1.5.0"
1982
  source = "registry+https://github.com/rust-lang/crates.io-index"
1983
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1984
 
1985
  [[package]]
1986
  name = "libc"
1987
+ version = "0.2.158"
1988
  source = "registry+https://github.com/rust-lang/crates.io-index"
1989
+ checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
1990
 
1991
  [[package]]
1992
  name = "libflate"
 
2020
 
2021
  [[package]]
2022
  name = "lightningcss"
2023
+ version = "1.0.0-alpha.58"
2024
  source = "registry+https://github.com/rust-lang/crates.io-index"
2025
+ checksum = "ec380ca49dc7f6a1cafbdd2de5e587958eac0f67ab26b1e56727fcc60a0c3d4d"
2026
  dependencies = [
2027
  "ahash",
2028
+ "bitflags 2.6.0",
2029
  "const-str",
2030
  "cssparser 0.33.0",
2031
  "cssparser-color",
 
2033
  "getrandom",
2034
  "itertools 0.10.5",
2035
  "lazy_static",
2036
+ "lightningcss-derive",
2037
  "parcel_selectors",
2038
  "paste",
2039
  "pathdiff",
2040
  "smallvec 1.13.2",
2041
  ]
2042
 
2043
+ [[package]]
2044
+ name = "lightningcss-derive"
2045
+ version = "1.0.0-alpha.43"
2046
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2047
+ checksum = "84c12744d1279367caed41739ef094c325d53fb0ffcd4f9b84a368796f870252"
2048
+ dependencies = [
2049
+ "convert_case 0.6.0",
2050
+ "proc-macro2 1.0.86",
2051
+ "quote 1.0.37",
2052
+ "syn 1.0.109",
2053
+ ]
2054
+
2055
  [[package]]
2056
  name = "linux-raw-sys"
2057
  version = "0.4.14"
 
2096
 
2097
  [[package]]
2098
  name = "log"
2099
+ version = "0.4.22"
2100
  source = "registry+https://github.com/rust-lang/crates.io-index"
2101
+ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
2102
 
2103
  [[package]]
2104
  name = "lua-src"
2105
+ version = "547.0.0"
2106
  source = "registry+https://github.com/rust-lang/crates.io-index"
2107
+ checksum = "1edaf29e3517b49b8b746701e5648ccb5785cde1c119062cbabbc5d5cd115e42"
2108
  dependencies = [
2109
  "cc",
2110
  ]
2111
 
2112
  [[package]]
2113
  name = "luajit-src"
2114
+ version = "210.5.10+f725e44"
2115
  source = "registry+https://github.com/rust-lang/crates.io-index"
2116
+ checksum = "18a0fa0df28e21f785c48d9c0f0be355cf40658badb667284207dbb4d1e574a9"
2117
  dependencies = [
2118
  "cc",
2119
  "which",
 
2181
  checksum = "fa453238ec218da0af6b11fc5978d3b5c3a45ed97b722391a2a11f3306274e18"
2182
  dependencies = [
2183
  "proc-macro-error",
2184
+ "proc-macro2 1.0.86",
2185
+ "quote 1.0.37",
2186
+ "syn 2.0.77",
2187
  ]
2188
 
2189
  [[package]]
 
2194
 
2195
  [[package]]
2196
  name = "memchr"
2197
+ version = "2.7.4"
2198
  source = "registry+https://github.com/rust-lang/crates.io-index"
2199
+ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
2200
 
2201
  [[package]]
2202
  name = "memoffset"
 
2224
 
2225
  [[package]]
2226
  name = "mime_guess"
2227
+ version = "2.0.5"
2228
  source = "registry+https://github.com/rust-lang/crates.io-index"
2229
+ checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
2230
  dependencies = [
2231
  "mime",
2232
  "unicase",
2233
  ]
2234
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2235
  [[package]]
2236
  name = "minify-js"
2237
  version = "0.6.0"
 
2244
 
2245
  [[package]]
2246
  name = "miniz_oxide"
2247
+ version = "0.7.4"
2248
  source = "registry+https://github.com/rust-lang/crates.io-index"
2249
+ checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
2250
  dependencies = [
2251
  "adler",
2252
  ]
2253
 
2254
+ [[package]]
2255
+ name = "miniz_oxide"
2256
+ version = "0.8.0"
2257
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2258
+ checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
2259
+ dependencies = [
2260
+ "adler2",
2261
+ ]
2262
+
2263
  [[package]]
2264
  name = "mintex"
2265
  version = "0.1.3"
 
2287
 
2288
  [[package]]
2289
  name = "mio"
2290
+ version = "1.0.2"
2291
  source = "registry+https://github.com/rust-lang/crates.io-index"
2292
+ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
2293
  dependencies = [
2294
+ "hermit-abi 0.3.9",
2295
  "libc",
2296
  "log",
2297
  "wasi 0.11.0+wasi-snapshot-preview1",
2298
+ "windows-sys 0.52.0",
2299
  ]
2300
 
2301
  [[package]]
 
2325
 
2326
  [[package]]
2327
  name = "mlua-sys"
2328
+ version = "0.6.2"
2329
  source = "registry+https://github.com/rust-lang/crates.io-index"
2330
+ checksum = "3ab7a5b4756b8177a2dfa8e0bbcde63bd4000afbc4ab20cbb68d114a25470f29"
2331
  dependencies = [
2332
  "cc",
2333
  "cfg-if 1.0.0",
 
2336
  "pkg-config",
2337
  ]
2338
 
2339
+ [[package]]
2340
+ name = "moka"
2341
+ version = "0.12.8"
2342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2343
+ checksum = "32cf62eb4dd975d2dde76432fb1075c49e3ee2331cf36f1f8fd4b66550d32b6f"
2344
+ dependencies = [
2345
+ "async-lock",
2346
+ "async-trait",
2347
+ "crossbeam-channel",
2348
+ "crossbeam-epoch 0.9.18",
2349
+ "crossbeam-utils 0.8.20",
2350
+ "event-listener",
2351
+ "futures-util",
2352
+ "once_cell",
2353
+ "parking_lot 0.12.3",
2354
+ "rustc_version 0.4.1",
2355
+ "smallvec 1.13.2",
2356
+ "tagptr",
2357
+ "thiserror",
2358
+ "triomphe",
2359
+ "uuid 1.10.0",
2360
+ ]
2361
+
2362
  [[package]]
2363
  name = "native-tls"
2364
  version = "0.2.12"
 
2432
  source = "registry+https://github.com/rust-lang/crates.io-index"
2433
  checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
2434
  dependencies = [
2435
+ "hermit-abi 0.3.9",
2436
  "libc",
2437
  ]
2438
 
2439
  [[package]]
2440
  name = "object"
2441
+ version = "0.36.4"
2442
  source = "registry+https://github.com/rust-lang/crates.io-index"
2443
+ checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
2444
  dependencies = [
2445
  "memchr",
2446
  ]
 
2453
 
2454
  [[package]]
2455
  name = "oorandom"
2456
+ version = "11.1.4"
2457
  source = "registry+https://github.com/rust-lang/crates.io-index"
2458
+ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
2459
 
2460
  [[package]]
2461
  name = "opaque-debug"
 
2469
  source = "registry+https://github.com/rust-lang/crates.io-index"
2470
  checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
2471
  dependencies = [
2472
+ "bitflags 2.6.0",
2473
  "cfg-if 1.0.0",
2474
  "foreign-types",
2475
  "libc",
 
2484
  source = "registry+https://github.com/rust-lang/crates.io-index"
2485
  checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
2486
  dependencies = [
2487
+ "proc-macro2 1.0.86",
2488
+ "quote 1.0.37",
2489
+ "syn 2.0.77",
2490
  ]
2491
 
2492
  [[package]]
 
2509
 
2510
  [[package]]
2511
  name = "parcel_selectors"
2512
+ version = "0.26.6"
2513
  source = "registry+https://github.com/rust-lang/crates.io-index"
2514
+ checksum = "512215cb1d3814e276ace4ec2dbc2cac16726ea3fcac20c22ae1197e16fdd72d"
2515
  dependencies = [
2516
+ "bitflags 2.6.0",
2517
  "cssparser 0.33.0",
2518
  "fxhash",
2519
  "log",
 
2523
  "smallvec 1.13.2",
2524
  ]
2525
 
2526
+ [[package]]
2527
+ name = "parking"
2528
+ version = "2.2.0"
2529
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2530
+ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
2531
+
2532
  [[package]]
2533
  name = "parking_lot"
2534
  version = "0.9.0"
 
2573
  dependencies = [
2574
  "cfg-if 1.0.0",
2575
  "libc",
2576
+ "redox_syscall 0.5.3",
2577
  "smallvec 1.13.2",
2578
+ "windows-targets",
2579
  ]
2580
 
2581
  [[package]]
 
2711
  dependencies = [
2712
  "phf_generator 0.11.2",
2713
  "phf_shared 0.11.2",
2714
+ "proc-macro2 1.0.86",
2715
+ "quote 1.0.37",
2716
+ "syn 2.0.77",
2717
  ]
2718
 
2719
  [[package]]
 
2758
  source = "registry+https://github.com/rust-lang/crates.io-index"
2759
  checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
2760
  dependencies = [
2761
+ "proc-macro2 1.0.86",
2762
+ "quote 1.0.37",
2763
+ "syn 2.0.77",
2764
  ]
2765
 
2766
  [[package]]
 
2794
 
2795
  [[package]]
2796
  name = "portable-atomic"
2797
+ version = "1.7.0"
2798
  source = "registry+https://github.com/rust-lang/crates.io-index"
2799
+ checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265"
2800
 
2801
  [[package]]
2802
  name = "powerfmt"
 
2806
 
2807
  [[package]]
2808
  name = "ppv-lite86"
2809
+ version = "0.2.20"
2810
  source = "registry+https://github.com/rust-lang/crates.io-index"
2811
+ checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
2812
+ dependencies = [
2813
+ "zerocopy",
2814
+ ]
2815
 
2816
  [[package]]
2817
  name = "precomputed-hash"
 
2826
  checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
2827
  dependencies = [
2828
  "proc-macro-error-attr",
2829
+ "proc-macro2 1.0.86",
2830
+ "quote 1.0.37",
2831
  "version_check",
2832
  ]
2833
 
 
2837
  source = "registry+https://github.com/rust-lang/crates.io-index"
2838
  checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
2839
  dependencies = [
2840
+ "proc-macro2 1.0.86",
2841
+ "quote 1.0.37",
2842
  "version_check",
2843
  ]
2844
 
 
2853
 
2854
  [[package]]
2855
  name = "proc-macro2"
2856
+ version = "1.0.86"
2857
  source = "registry+https://github.com/rust-lang/crates.io-index"
2858
+ checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
2859
  dependencies = [
2860
  "unicode-ident",
2861
  ]
 
2867
  checksum = "95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f"
2868
  dependencies = [
2869
  "idna 0.2.3",
2870
+ "url 2.5.2",
 
 
 
 
 
 
 
 
 
 
 
2871
  ]
2872
 
2873
  [[package]]
 
2887
 
2888
  [[package]]
2889
  name = "quinn"
2890
+ version = "0.11.5"
2891
  source = "registry+https://github.com/rust-lang/crates.io-index"
2892
+ checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
2893
  dependencies = [
2894
+ "bytes 1.7.1",
2895
  "pin-project-lite",
2896
  "quinn-proto",
2897
  "quinn-udp",
 
2899
  "rustls",
2900
  "socket2 0.5.7",
2901
  "thiserror",
2902
+ "tokio 1.40.0",
2903
  "tracing",
2904
  ]
2905
 
 
2909
  source = "registry+https://github.com/rust-lang/crates.io-index"
2910
  checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
2911
  dependencies = [
2912
+ "bytes 1.7.1",
2913
  "rand 0.8.5",
2914
  "ring",
2915
  "rustc-hash 2.0.0",
 
2922
 
2923
  [[package]]
2924
  name = "quinn-udp"
2925
+ version = "0.5.5"
2926
  source = "registry+https://github.com/rust-lang/crates.io-index"
2927
+ checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b"
2928
  dependencies = [
2929
  "libc",
2930
  "once_cell",
2931
  "socket2 0.5.7",
2932
  "tracing",
2933
+ "windows-sys 0.59.0",
2934
  ]
2935
 
2936
  [[package]]
 
2944
 
2945
  [[package]]
2946
  name = "quote"
2947
+ version = "1.0.37"
2948
  source = "registry+https://github.com/rust-lang/crates.io-index"
2949
+ checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
2950
  dependencies = [
2951
+ "proc-macro2 1.0.86",
2952
  ]
2953
 
2954
  [[package]]
 
3089
 
3090
  [[package]]
3091
  name = "raw-cpuid"
3092
+ version = "11.1.0"
3093
  source = "registry+https://github.com/rust-lang/crates.io-index"
3094
+ checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d"
3095
  dependencies = [
3096
+ "bitflags 2.6.0",
3097
+ ]
3098
+
3099
+ [[package]]
3100
+ name = "rayon"
3101
+ version = "1.10.0"
3102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3103
+ checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
3104
+ dependencies = [
3105
+ "either",
3106
+ "rayon-core",
3107
+ ]
3108
+
3109
+ [[package]]
3110
+ name = "rayon-core"
3111
+ version = "1.12.1"
3112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3113
+ checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
3114
+ dependencies = [
3115
+ "crossbeam-deque 0.8.5",
3116
+ "crossbeam-utils 0.8.20",
3117
  ]
3118
 
3119
  [[package]]
 
3133
  dependencies = [
3134
  "arc-swap",
3135
  "async-trait",
3136
+ "bytes 1.7.1",
3137
  "combine",
3138
  "futures 0.3.30",
3139
  "futures-util",
 
3141
  "percent-encoding 2.3.1",
3142
  "pin-project-lite",
3143
  "ryu",
3144
+ "tokio 1.40.0",
3145
  "tokio-retry",
3146
  "tokio-util",
3147
+ "url 2.5.2",
3148
  ]
3149
 
3150
  [[package]]
 
3155
 
3156
  [[package]]
3157
  name = "redox_syscall"
3158
+ version = "0.5.3"
3159
  source = "registry+https://github.com/rust-lang/crates.io-index"
3160
+ checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4"
3161
  dependencies = [
3162
+ "bitflags 2.6.0",
3163
  ]
3164
 
3165
  [[package]]
3166
  name = "regex"
3167
+ version = "1.10.6"
3168
  source = "registry+https://github.com/rust-lang/crates.io-index"
3169
+ checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619"
3170
  dependencies = [
3171
  "aho-corasick 1.1.3",
3172
  "memchr",
 
3176
 
3177
  [[package]]
3178
  name = "regex-automata"
3179
+ version = "0.4.7"
3180
  source = "registry+https://github.com/rust-lang/crates.io-index"
3181
+ checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
3182
  dependencies = [
3183
  "aho-corasick 1.1.3",
3184
  "memchr",
 
3187
 
3188
  [[package]]
3189
  name = "regex-lite"
3190
+ version = "0.1.6"
3191
  source = "registry+https://github.com/rust-lang/crates.io-index"
3192
+ checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
3193
 
3194
  [[package]]
3195
  name = "regex-syntax"
3196
+ version = "0.8.4"
3197
  source = "registry+https://github.com/rust-lang/crates.io-index"
3198
+ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
3199
 
3200
  [[package]]
3201
  name = "reqwest"
 
3227
  "tokio-threadpool",
3228
  "tokio-timer",
3229
  "url 1.7.2",
3230
+ "uuid 0.7.4",
3231
+ "winreg",
3232
  ]
3233
 
3234
  [[package]]
3235
  name = "reqwest"
3236
+ version = "0.12.7"
3237
  source = "registry+https://github.com/rust-lang/crates.io-index"
3238
+ checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63"
3239
  dependencies = [
3240
  "async-compression",
3241
  "base64 0.22.1",
3242
+ "bytes 1.7.1",
3243
  "futures-core",
3244
  "futures-util",
3245
+ "h2 0.4.6",
3246
  "http 1.1.0",
3247
+ "http-body 1.0.1",
3248
  "http-body-util",
3249
+ "hyper 1.4.1",
3250
  "hyper-rustls",
3251
  "hyper-util",
3252
  "ipnet",
 
3264
  "serde_json",
3265
  "serde_urlencoded 0.7.1",
3266
  "sync_wrapper",
3267
+ "tokio 1.40.0",
3268
  "tokio-rustls",
3269
  "tokio-util",
3270
  "tower-service",
3271
+ "url 2.5.2",
3272
  "wasm-bindgen",
3273
  "wasm-bindgen-futures",
3274
  "web-sys",
3275
  "webpki-roots",
3276
+ "windows-registry",
3277
  ]
3278
 
3279
  [[package]]
 
3326
 
3327
  [[package]]
3328
  name = "rustc_version"
3329
+ version = "0.4.1"
3330
  source = "registry+https://github.com/rust-lang/crates.io-index"
3331
+ checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
3332
  dependencies = [
3333
  "semver 1.0.23",
3334
  ]
3335
 
3336
  [[package]]
3337
  name = "rustix"
3338
+ version = "0.38.36"
3339
  source = "registry+https://github.com/rust-lang/crates.io-index"
3340
+ checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36"
3341
  dependencies = [
3342
+ "bitflags 2.6.0",
3343
  "errno",
3344
  "libc",
3345
  "linux-raw-sys",
 
3362
 
3363
  [[package]]
3364
  name = "rustls-pemfile"
3365
+ version = "2.1.3"
3366
  source = "registry+https://github.com/rust-lang/crates.io-index"
3367
+ checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425"
3368
  dependencies = [
3369
  "base64 0.22.1",
3370
  "rustls-pki-types",
 
3372
 
3373
  [[package]]
3374
  name = "rustls-pki-types"
3375
+ version = "1.8.0"
3376
  source = "registry+https://github.com/rust-lang/crates.io-index"
3377
+ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
3378
 
3379
  [[package]]
3380
  name = "rustls-webpki"
3381
+ version = "0.102.7"
3382
  source = "registry+https://github.com/rust-lang/crates.io-index"
3383
+ checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56"
3384
  dependencies = [
3385
  "ring",
3386
  "rustls-pki-types",
 
3423
  "windows-sys 0.52.0",
3424
  ]
3425
 
 
 
 
 
 
 
3426
  [[package]]
3427
  name = "scopeguard"
3428
  version = "1.2.0"
 
3446
 
3447
  [[package]]
3448
  name = "security-framework"
3449
+ version = "2.11.1"
3450
  source = "registry+https://github.com/rust-lang/crates.io-index"
3451
+ checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
3452
  dependencies = [
3453
+ "bitflags 2.6.0",
3454
  "core-foundation",
3455
  "core-foundation-sys",
3456
  "libc",
 
3459
 
3460
  [[package]]
3461
  name = "security-framework-sys"
3462
+ version = "2.11.1"
3463
  source = "registry+https://github.com/rust-lang/crates.io-index"
3464
+ checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf"
3465
  dependencies = [
3466
  "core-foundation-sys",
3467
  "libc",
 
3483
  source = "registry+https://github.com/rust-lang/crates.io-index"
3484
  checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
3485
  dependencies = [
3486
+ "bitflags 2.6.0",
3487
  "cssparser 0.31.2",
3488
  "derive_more",
3489
  "fxhash",
 
3510
  version = "1.0.23"
3511
  source = "registry+https://github.com/rust-lang/crates.io-index"
3512
  checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 
 
 
3513
 
3514
  [[package]]
3515
  name = "semver-parser"
 
3532
  source = "registry+https://github.com/rust-lang/crates.io-index"
3533
  checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
3534
  dependencies = [
3535
+ "proc-macro2 1.0.86",
3536
+ "quote 1.0.37",
3537
+ "syn 2.0.77",
3538
  ]
3539
 
3540
  [[package]]
3541
  name = "serde_json"
3542
+ version = "1.0.128"
3543
  source = "registry+https://github.com/rust-lang/crates.io-index"
3544
+ checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
3545
  dependencies = [
3546
  "itoa 1.0.11",
3547
  "memchr",
 
3620
  source = "registry+https://github.com/rust-lang/crates.io-index"
3621
  checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
3622
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3623
  [[package]]
3624
  name = "slab"
3625
  version = "0.4.9"
 
3643
  version = "1.13.2"
3644
  source = "registry+https://github.com/rust-lang/crates.io-index"
3645
  checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 
 
3646
 
3647
  [[package]]
3648
  name = "socket2"
 
3740
  dependencies = [
3741
  "phf_generator 0.7.24",
3742
  "phf_shared 0.7.24",
3743
+ "proc-macro2 1.0.86",
3744
+ "quote 1.0.37",
3745
  "string_cache_shared",
3746
  ]
3747
 
 
3753
  dependencies = [
3754
  "phf_generator 0.10.0",
3755
  "phf_shared 0.10.0",
3756
+ "proc-macro2 1.0.86",
3757
+ "quote 1.0.37",
3758
  ]
3759
 
3760
  [[package]]
 
3765
 
3766
  [[package]]
3767
  name = "subtle"
3768
+ version = "2.6.1"
3769
  source = "registry+https://github.com/rust-lang/crates.io-index"
3770
+ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
3771
 
3772
  [[package]]
3773
  name = "syn"
 
3786
  source = "registry+https://github.com/rust-lang/crates.io-index"
3787
  checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
3788
  dependencies = [
3789
+ "proc-macro2 1.0.86",
3790
+ "quote 1.0.37",
3791
  "unicode-ident",
3792
  ]
3793
 
3794
  [[package]]
3795
  name = "syn"
3796
+ version = "2.0.77"
3797
  source = "registry+https://github.com/rust-lang/crates.io-index"
3798
+ checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
3799
  dependencies = [
3800
+ "proc-macro2 1.0.86",
3801
+ "quote 1.0.37",
3802
  "unicode-ident",
3803
  ]
3804
 
 
3807
  version = "1.0.1"
3808
  source = "registry+https://github.com/rust-lang/crates.io-index"
3809
  checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
3810
+ dependencies = [
3811
+ "futures-core",
3812
+ ]
3813
 
3814
  [[package]]
3815
  name = "synstructure"
 
3817
  source = "registry+https://github.com/rust-lang/crates.io-index"
3818
  checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
3819
  dependencies = [
3820
+ "proc-macro2 1.0.86",
3821
+ "quote 1.0.37",
3822
  "syn 1.0.109",
3823
+ "unicode-xid 0.2.5",
3824
  ]
3825
 
3826
  [[package]]
 
3831
 
3832
  [[package]]
3833
  name = "tempfile"
3834
+ version = "3.12.0"
3835
  source = "registry+https://github.com/rust-lang/crates.io-index"
3836
+ checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
3837
  dependencies = [
3838
  "cfg-if 1.0.0",
3839
  "fastrand",
3840
+ "once_cell",
3841
  "rustix",
3842
+ "windows-sys 0.59.0",
3843
  ]
3844
 
3845
  [[package]]
 
3887
  source = "registry+https://github.com/rust-lang/crates.io-index"
3888
  checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
3889
  dependencies = [
3890
+ "proc-macro2 1.0.86",
3891
+ "quote 1.0.37",
3892
+ "syn 2.0.77",
3893
  ]
3894
 
3895
  [[package]]
 
3952
 
3953
  [[package]]
3954
  name = "tinyvec"
3955
+ version = "1.8.0"
3956
  source = "registry+https://github.com/rust-lang/crates.io-index"
3957
+ checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
3958
  dependencies = [
3959
  "tinyvec_macros",
3960
  ]
 
3986
 
3987
  [[package]]
3988
  name = "tokio"
3989
+ version = "1.40.0"
3990
  source = "registry+https://github.com/rust-lang/crates.io-index"
3991
+ checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
3992
  dependencies = [
3993
  "backtrace",
3994
+ "bytes 1.7.1",
3995
  "libc",
3996
+ "mio 1.0.2",
 
3997
  "parking_lot 0.12.3",
3998
  "pin-project-lite",
3999
  "signal-hook-registry",
4000
  "socket2 0.5.7",
4001
  "tokio-macros",
4002
+ "windows-sys 0.52.0",
4003
  ]
4004
 
4005
  [[package]]
 
4046
 
4047
  [[package]]
4048
  name = "tokio-macros"
4049
+ version = "2.4.0"
4050
  source = "registry+https://github.com/rust-lang/crates.io-index"
4051
+ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
4052
  dependencies = [
4053
+ "proc-macro2 1.0.86",
4054
+ "quote 1.0.37",
4055
+ "syn 2.0.77",
4056
  ]
4057
 
4058
  [[package]]
 
4082
  dependencies = [
4083
  "pin-project",
4084
  "rand 0.8.5",
4085
+ "tokio 1.40.0",
4086
  ]
4087
 
4088
  [[package]]
 
4093
  dependencies = [
4094
  "rustls",
4095
  "rustls-pki-types",
4096
+ "tokio 1.40.0",
4097
  ]
4098
 
4099
  [[package]]
 
4126
  source = "registry+https://github.com/rust-lang/crates.io-index"
4127
  checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
4128
  dependencies = [
4129
+ "crossbeam-deque 0.7.4",
4130
  "crossbeam-queue",
4131
  "crossbeam-utils 0.7.2",
4132
  "futures 0.1.31",
 
4151
 
4152
  [[package]]
4153
  name = "tokio-uring"
4154
+ version = "0.5.0"
4155
  source = "registry+https://github.com/rust-lang/crates.io-index"
4156
+ checksum = "748482e3e13584a34664a710168ad5068e8cb1d968aa4ffa887e83ca6dd27967"
4157
  dependencies = [
4158
+ "futures-util",
4159
  "io-uring",
4160
  "libc",
 
4161
  "slab",
4162
  "socket2 0.4.10",
4163
+ "tokio 1.40.0",
4164
  ]
4165
 
4166
  [[package]]
4167
  name = "tokio-util"
4168
+ version = "0.7.12"
4169
  source = "registry+https://github.com/rust-lang/crates.io-index"
4170
+ checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
4171
  dependencies = [
4172
+ "bytes 1.7.1",
4173
  "futures-core",
4174
  "futures-sink",
4175
  "pin-project-lite",
4176
+ "tokio 1.40.0",
4177
  ]
4178
 
4179
  [[package]]
 
4195
  "futures-util",
4196
  "pin-project",
4197
  "pin-project-lite",
4198
+ "tokio 1.40.0",
4199
  "tower-layer",
4200
  "tower-service",
4201
  ]
4202
 
4203
  [[package]]
4204
  name = "tower-layer"
4205
+ version = "0.3.3"
4206
  source = "registry+https://github.com/rust-lang/crates.io-index"
4207
+ checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
4208
 
4209
  [[package]]
4210
  name = "tower-service"
4211
+ version = "0.3.3"
4212
  source = "registry+https://github.com/rust-lang/crates.io-index"
4213
+ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
4214
 
4215
  [[package]]
4216
  name = "tracing"
 
4234
 
4235
  [[package]]
4236
  name = "triomphe"
4237
+ version = "0.1.11"
4238
  source = "registry+https://github.com/rust-lang/crates.io-index"
4239
+ checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
4240
 
4241
  [[package]]
4242
  name = "try-lock"
 
4309
 
4310
  [[package]]
4311
  name = "unicode-xid"
4312
+ version = "0.2.5"
4313
  source = "registry+https://github.com/rust-lang/crates.io-index"
4314
+ checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a"
4315
 
4316
  [[package]]
4317
  name = "universal-hash"
 
4342
 
4343
  [[package]]
4344
  name = "url"
4345
+ version = "2.5.2"
4346
  source = "registry+https://github.com/rust-lang/crates.io-index"
4347
+ checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
4348
  dependencies = [
4349
  "form_urlencoded",
4350
  "idna 0.5.0",
 
4366
  "rand 0.6.5",
4367
  ]
4368
 
4369
+ [[package]]
4370
+ name = "uuid"
4371
+ version = "1.10.0"
4372
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4373
+ checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
4374
+ dependencies = [
4375
+ "getrandom",
4376
+ ]
4377
+
4378
  [[package]]
4379
  name = "v_htmlescape"
4380
  version = "0.15.8"
 
4389
 
4390
  [[package]]
4391
  name = "version_check"
4392
+ version = "0.9.5"
4393
  source = "registry+https://github.com/rust-lang/crates.io-index"
4394
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
4395
 
4396
  [[package]]
4397
  name = "walkdir"
 
4437
 
4438
  [[package]]
4439
  name = "wasm-bindgen"
4440
+ version = "0.2.93"
4441
  source = "registry+https://github.com/rust-lang/crates.io-index"
4442
+ checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
4443
  dependencies = [
4444
  "cfg-if 1.0.0",
4445
+ "once_cell",
4446
  "wasm-bindgen-macro",
4447
  ]
4448
 
4449
  [[package]]
4450
  name = "wasm-bindgen-backend"
4451
+ version = "0.2.93"
4452
  source = "registry+https://github.com/rust-lang/crates.io-index"
4453
+ checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
4454
  dependencies = [
4455
  "bumpalo",
4456
  "log",
4457
  "once_cell",
4458
+ "proc-macro2 1.0.86",
4459
+ "quote 1.0.37",
4460
+ "syn 2.0.77",
4461
  "wasm-bindgen-shared",
4462
  ]
4463
 
4464
  [[package]]
4465
  name = "wasm-bindgen-futures"
4466
+ version = "0.4.43"
4467
  source = "registry+https://github.com/rust-lang/crates.io-index"
4468
+ checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed"
4469
  dependencies = [
4470
  "cfg-if 1.0.0",
4471
  "js-sys",
 
4475
 
4476
  [[package]]
4477
  name = "wasm-bindgen-macro"
4478
+ version = "0.2.93"
4479
  source = "registry+https://github.com/rust-lang/crates.io-index"
4480
+ checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
4481
  dependencies = [
4482
+ "quote 1.0.37",
4483
  "wasm-bindgen-macro-support",
4484
  ]
4485
 
4486
  [[package]]
4487
  name = "wasm-bindgen-macro-support"
4488
+ version = "0.2.93"
4489
  source = "registry+https://github.com/rust-lang/crates.io-index"
4490
+ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
4491
  dependencies = [
4492
+ "proc-macro2 1.0.86",
4493
+ "quote 1.0.37",
4494
+ "syn 2.0.77",
4495
  "wasm-bindgen-backend",
4496
  "wasm-bindgen-shared",
4497
  ]
4498
 
4499
  [[package]]
4500
  name = "wasm-bindgen-shared"
4501
+ version = "0.2.93"
4502
  source = "registry+https://github.com/rust-lang/crates.io-index"
4503
+ checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
4504
 
4505
  [[package]]
4506
  name = "web-sys"
4507
+ version = "0.3.70"
4508
  source = "registry+https://github.com/rust-lang/crates.io-index"
4509
+ checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0"
4510
  dependencies = [
4511
  "js-sys",
4512
  "wasm-bindgen",
 
4514
 
4515
  [[package]]
4516
  name = "webpki-roots"
4517
+ version = "0.26.5"
4518
  source = "registry+https://github.com/rust-lang/crates.io-index"
4519
+ checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a"
4520
  dependencies = [
4521
  "rustls-pki-types",
4522
  ]
4523
 
4524
  [[package]]
4525
  name = "websurfx"
4526
+ version = "1.17.22"
4527
  dependencies = [
4528
  "actix-cors",
4529
  "actix-files",
 
4533
  "async-once-cell",
4534
  "async-trait",
4535
  "base64 0.21.7",
4536
+ "bincode",
4537
  "blake3",
4538
  "cfg-if 1.0.0",
4539
  "chacha20",
 
4550
  "log",
4551
  "maud",
4552
  "mimalloc",
 
4553
  "minify-js",
4554
  "mlua",
4555
+ "moka",
4556
  "redis",
4557
  "regex",
4558
+ "reqwest 0.12.7",
4559
  "rusty-hook",
4560
  "scraper",
4561
  "serde",
4562
  "serde_json",
 
4563
  "stop-words",
4564
  "tempfile",
4565
  "thesaurus",
4566
+ "tokio 1.40.0",
4567
  ]
4568
 
4569
  [[package]]
4570
  name = "which"
4571
+ version = "6.0.3"
4572
  source = "registry+https://github.com/rust-lang/crates.io-index"
4573
+ checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f"
4574
  dependencies = [
4575
  "either",
4576
  "home",
 
4608
 
4609
  [[package]]
4610
  name = "winapi-util"
4611
+ version = "0.1.9"
4612
  source = "registry+https://github.com/rust-lang/crates.io-index"
4613
+ checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
4614
  dependencies = [
4615
+ "windows-sys 0.59.0",
4616
  ]
4617
 
4618
  [[package]]
 
4622
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
4623
 
4624
  [[package]]
4625
+ name = "windows-registry"
4626
+ version = "0.2.0"
4627
  source = "registry+https://github.com/rust-lang/crates.io-index"
4628
+ checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
4629
  dependencies = [
4630
+ "windows-result",
4631
+ "windows-strings",
4632
+ "windows-targets",
4633
  ]
4634
 
4635
  [[package]]
4636
+ name = "windows-result"
4637
+ version = "0.2.0"
4638
  source = "registry+https://github.com/rust-lang/crates.io-index"
4639
+ checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
4640
  dependencies = [
4641
+ "windows-targets",
4642
  ]
4643
 
4644
  [[package]]
4645
+ name = "windows-strings"
4646
+ version = "0.1.0"
4647
  source = "registry+https://github.com/rust-lang/crates.io-index"
4648
+ checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
4649
  dependencies = [
4650
+ "windows-result",
4651
+ "windows-targets",
 
 
 
 
 
4652
  ]
4653
 
4654
  [[package]]
4655
+ name = "windows-sys"
4656
+ version = "0.52.0"
4657
  source = "registry+https://github.com/rust-lang/crates.io-index"
4658
+ checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
4659
  dependencies = [
4660
+ "windows-targets",
 
 
 
 
 
 
 
4661
  ]
4662
 
4663
  [[package]]
4664
+ name = "windows-sys"
4665
+ version = "0.59.0"
4666
  source = "registry+https://github.com/rust-lang/crates.io-index"
4667
+ checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
4668
+ dependencies = [
4669
+ "windows-targets",
4670
+ ]
4671
 
4672
  [[package]]
4673
+ name = "windows-targets"
4674
+ version = "0.52.6"
4675
  source = "registry+https://github.com/rust-lang/crates.io-index"
4676
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
4677
+ dependencies = [
4678
+ "windows_aarch64_gnullvm",
4679
+ "windows_aarch64_msvc",
4680
+ "windows_i686_gnu",
4681
+ "windows_i686_gnullvm",
4682
+ "windows_i686_msvc",
4683
+ "windows_x86_64_gnu",
4684
+ "windows_x86_64_gnullvm",
4685
+ "windows_x86_64_msvc",
4686
+ ]
4687
 
4688
  [[package]]
4689
+ name = "windows_aarch64_gnullvm"
4690
+ version = "0.52.6"
4691
  source = "registry+https://github.com/rust-lang/crates.io-index"
4692
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
4693
 
4694
  [[package]]
4695
  name = "windows_aarch64_msvc"
4696
+ version = "0.52.6"
 
 
 
 
 
 
4697
  source = "registry+https://github.com/rust-lang/crates.io-index"
4698
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
4699
 
4700
  [[package]]
4701
  name = "windows_i686_gnu"
4702
+ version = "0.52.6"
4703
  source = "registry+https://github.com/rust-lang/crates.io-index"
4704
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
4705
 
4706
  [[package]]
4707
  name = "windows_i686_gnullvm"
4708
+ version = "0.52.6"
4709
  source = "registry+https://github.com/rust-lang/crates.io-index"
4710
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
4711
 
4712
  [[package]]
4713
  name = "windows_i686_msvc"
4714
+ version = "0.52.6"
 
 
 
 
 
 
 
 
 
 
 
 
4715
  source = "registry+https://github.com/rust-lang/crates.io-index"
4716
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
4717
 
4718
  [[package]]
4719
  name = "windows_x86_64_gnu"
4720
+ version = "0.52.6"
 
 
 
 
 
 
4721
  source = "registry+https://github.com/rust-lang/crates.io-index"
4722
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
4723
 
4724
  [[package]]
4725
  name = "windows_x86_64_gnullvm"
4726
+ version = "0.52.6"
 
 
 
 
 
 
4727
  source = "registry+https://github.com/rust-lang/crates.io-index"
4728
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
4729
 
4730
  [[package]]
4731
  name = "windows_x86_64_msvc"
4732
+ version = "0.52.6"
4733
  source = "registry+https://github.com/rust-lang/crates.io-index"
4734
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
4735
 
4736
  [[package]]
4737
  name = "winreg"
 
4742
  "winapi 0.3.9",
4743
  ]
4744
 
 
 
 
 
 
 
 
 
 
 
4745
  [[package]]
4746
  name = "winsafe"
4747
  version = "0.0.19"
 
4760
 
4761
  [[package]]
4762
  name = "zerocopy"
4763
+ version = "0.7.35"
4764
  source = "registry+https://github.com/rust-lang/crates.io-index"
4765
+ checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
4766
  dependencies = [
4767
+ "byteorder",
4768
  "zerocopy-derive",
4769
  ]
4770
 
4771
  [[package]]
4772
  name = "zerocopy-derive"
4773
+ version = "0.7.35"
4774
  source = "registry+https://github.com/rust-lang/crates.io-index"
4775
+ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
4776
  dependencies = [
4777
+ "proc-macro2 1.0.86",
4778
+ "quote 1.0.37",
4779
+ "syn 2.0.77",
4780
  ]
4781
 
4782
  [[package]]
Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
  [package]
2
  name = "websurfx"
3
- version = "1.17.20"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
@@ -27,6 +27,7 @@ tokio = { version = "1.32.0", features = [
27
  ], default-features = false }
28
  serde = { version = "1.0.209", default-features = false, features = ["derive"] }
29
  serde_json = { version = "1.0.122", default-features = false }
 
30
  maud = { version = "0.26.0", default-features = false, features = [
31
  "actix-web",
32
  ] }
@@ -48,6 +49,7 @@ mlua = { version = "0.9.9", features = [
48
  redis = { version = "0.25.4", features = [
49
  "tokio-comp",
50
  "connection-manager",
 
51
  ], default-features = false, optional = true }
52
  blake3 = { version = "1.5.4", default-features = false }
53
  error-stack = { version = "0.4.0", default-features = false, features = [
@@ -55,17 +57,13 @@ error-stack = { version = "0.4.0", default-features = false, features = [
55
  ] }
56
  async-trait = { version = "0.1.80", default-features = false }
57
  regex = { version = "1.9.4", features = ["perf"], default-features = false }
58
- smallvec = { version = "1.13.1", features = [
59
- "union",
60
- "serde",
61
- ], default-features = false }
62
  futures = { version = "0.3.30", default-features = false, features = ["alloc"] }
63
  dhat = { version = "0.3.2", optional = true, default-features = false }
64
  mimalloc = { version = "0.1.43", default-features = false }
65
  async-once-cell = { version = "0.5.3", default-features = false }
66
  actix-governor = { version = "0.5.0", default-features = false }
67
- mini-moka = { version = "0.10", optional = true, default-features = false, features = [
68
- "sync",
69
  ] }
70
  async-compression = { version = "0.4.12", default-features = false, features = [
71
  "brotli",
@@ -82,8 +80,8 @@ base64 = { version = "0.21.5", default-features = false, features = [
82
  cfg-if = { version = "1.0.0", default-features = false, optional = true }
83
  keyword_extraction = { version = "1.4.3", default-features = false, features = [
84
  "tf_idf",
 
85
  ] }
86
-
87
  stop-words = { version = "0.8.0", default-features = false, features = ["iso"] }
88
  thesaurus = { version = "0.5.2", default-features = false, optional = true, features = [
89
  "moby",
@@ -104,8 +102,6 @@ lightningcss = { version = "1.0.0-alpha.57", default-features = false, features
104
  # Temporary fork with fix
105
  minify-js = { git = "https://github.com/RuairidhWilliamson/minify-js", branch = "master", version = "0.6.0", default-features = false}
106
 
107
-
108
-
109
  [profile.dev]
110
  opt-level = 0
111
  debug = true
@@ -180,7 +176,7 @@ opt-level = "z"
180
  use-synonyms-search = ["thesaurus/static"]
181
  default = ["memory-cache"]
182
  dhat-heap = ["dep:dhat"]
183
- memory-cache = ["dep:mini-moka"]
184
  redis-cache = ["dep:redis", "dep:base64"]
185
  compress-cache-results = ["dep:async-compression", "dep:cfg-if"]
186
  encrypt-cache-results = ["dep:chacha20poly1305", "dep:chacha20"]
 
1
  [package]
2
  name = "websurfx"
3
+ version = "1.17.22"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
 
27
  ], default-features = false }
28
  serde = { version = "1.0.209", default-features = false, features = ["derive"] }
29
  serde_json = { version = "1.0.122", default-features = false }
30
+ bincode = {version="1.3.3", default-features=false}
31
  maud = { version = "0.26.0", default-features = false, features = [
32
  "actix-web",
33
  ] }
 
49
  redis = { version = "0.25.4", features = [
50
  "tokio-comp",
51
  "connection-manager",
52
+ "tcp_nodelay"
53
  ], default-features = false, optional = true }
54
  blake3 = { version = "1.5.4", default-features = false }
55
  error-stack = { version = "0.4.0", default-features = false, features = [
 
57
  ] }
58
  async-trait = { version = "0.1.80", default-features = false }
59
  regex = { version = "1.9.4", features = ["perf"], default-features = false }
 
 
 
 
60
  futures = { version = "0.3.30", default-features = false, features = ["alloc"] }
61
  dhat = { version = "0.3.2", optional = true, default-features = false }
62
  mimalloc = { version = "0.1.43", default-features = false }
63
  async-once-cell = { version = "0.5.3", default-features = false }
64
  actix-governor = { version = "0.5.0", default-features = false }
65
+ moka = { version = "0.12.8", optional = true, default-features = false, features = [
66
+ "future",
67
  ] }
68
  async-compression = { version = "0.4.12", default-features = false, features = [
69
  "brotli",
 
80
  cfg-if = { version = "1.0.0", default-features = false, optional = true }
81
  keyword_extraction = { version = "1.4.3", default-features = false, features = [
82
  "tf_idf",
83
+ "rayon",
84
  ] }
 
85
  stop-words = { version = "0.8.0", default-features = false, features = ["iso"] }
86
  thesaurus = { version = "0.5.2", default-features = false, optional = true, features = [
87
  "moby",
 
102
  # Temporary fork with fix
103
  minify-js = { git = "https://github.com/RuairidhWilliamson/minify-js", branch = "master", version = "0.6.0", default-features = false}
104
 
 
 
105
  [profile.dev]
106
  opt-level = 0
107
  debug = true
 
176
  use-synonyms-search = ["thesaurus/static"]
177
  default = ["memory-cache"]
178
  dhat-heap = ["dep:dhat"]
179
+ memory-cache = ["dep:moka"]
180
  redis-cache = ["dep:redis", "dep:base64"]
181
  compress-cache-results = ["dep:async-compression", "dep:cfg-if"]
182
  encrypt-cache-results = ["dep:chacha20poly1305", "dep:chacha20"]
src/cache/cacher.rs CHANGED
@@ -2,10 +2,9 @@
2
  //! from the upstream search engines in a json format.
3
 
4
  use error_stack::Report;
 
5
  #[cfg(feature = "memory-cache")]
6
- use mini_moka::sync::Cache as MokaCache;
7
- #[cfg(feature = "memory-cache")]
8
- use mini_moka::sync::ConcurrentCacheExt;
9
 
10
  #[cfg(feature = "memory-cache")]
11
  use std::time::Duration;
@@ -376,13 +375,13 @@ impl Cacher for RedisCache {
376
  }
377
  }
378
  /// TryInto implementation for SearchResults from Vec<u8>
379
- use std::convert::TryInto;
380
 
381
  impl TryInto<SearchResults> for Vec<u8> {
382
  type Error = CacheError;
383
 
384
  fn try_into(self) -> Result<SearchResults, Self::Error> {
385
- serde_json::from_slice(&self).map_err(|_| CacheError::SerializationError)
386
  }
387
  }
388
 
@@ -390,7 +389,7 @@ impl TryInto<Vec<u8>> for &SearchResults {
390
  type Error = CacheError;
391
 
392
  fn try_into(self) -> Result<Vec<u8>, Self::Error> {
393
- serde_json::to_vec(self).map_err(|_| CacheError::SerializationError)
394
  }
395
  }
396
 
@@ -398,7 +397,16 @@ impl TryInto<Vec<u8>> for &SearchResults {
398
  #[cfg(feature = "memory-cache")]
399
  pub struct InMemoryCache {
400
  /// The backend cache which stores data.
401
- cache: MokaCache<String, Vec<u8>>,
 
 
 
 
 
 
 
 
 
402
  }
403
 
404
  #[cfg(feature = "memory-cache")]
@@ -408,15 +416,17 @@ impl Cacher for InMemoryCache {
408
  log::info!("Initialising in-memory cache");
409
 
410
  InMemoryCache {
411
- cache: MokaCache::builder()
412
- .time_to_live(Duration::from_secs(config.cache_expiry_time.into()))
413
- .build(),
 
 
414
  }
415
  }
416
 
417
  async fn cached_results(&mut self, url: &str) -> Result<SearchResults, Report<CacheError>> {
418
  let hashed_url_string = self.hash_url(url);
419
- match self.cache.get(&hashed_url_string) {
420
  Some(res) => self.post_process_search_results(res).await,
421
  None => Err(Report::new(CacheError::MissingValue)),
422
  }
@@ -427,13 +437,18 @@ impl Cacher for InMemoryCache {
427
  search_results: &[SearchResults],
428
  urls: &[String],
429
  ) -> Result<(), Report<CacheError>> {
 
430
  for (url, search_result) in urls.iter().zip(search_results.iter()) {
431
  let hashed_url_string = self.hash_url(url);
432
  let bytes = self.pre_process_search_results(search_result).await?;
433
- self.cache.insert(hashed_url_string, bytes);
 
 
 
434
  }
435
 
436
- self.cache.sync();
 
437
  Ok(())
438
  }
439
  }
 
2
  //! from the upstream search engines in a json format.
3
 
4
  use error_stack::Report;
5
+ use futures::future::join_all;
6
  #[cfg(feature = "memory-cache")]
7
+ use moka::future::Cache as MokaCache;
 
 
8
 
9
  #[cfg(feature = "memory-cache")]
10
  use std::time::Duration;
 
375
  }
376
  }
377
  /// TryInto implementation for SearchResults from Vec<u8>
378
+ use std::{convert::TryInto, sync::Arc};
379
 
380
  impl TryInto<SearchResults> for Vec<u8> {
381
  type Error = CacheError;
382
 
383
  fn try_into(self) -> Result<SearchResults, Self::Error> {
384
+ bincode::deserialize_from(self.as_slice()).map_err(|_| CacheError::SerializationError)
385
  }
386
  }
387
 
 
389
  type Error = CacheError;
390
 
391
  fn try_into(self) -> Result<Vec<u8>, Self::Error> {
392
+ bincode::serialize(self).map_err(|_| CacheError::SerializationError)
393
  }
394
  }
395
 
 
397
  #[cfg(feature = "memory-cache")]
398
  pub struct InMemoryCache {
399
  /// The backend cache which stores data.
400
+ cache: Arc<MokaCache<String, Vec<u8>>>,
401
+ }
402
+
403
+ #[cfg(feature = "memory-cache")]
404
+ impl Clone for InMemoryCache {
405
+ fn clone(&self) -> Self {
406
+ Self {
407
+ cache: self.cache.clone(),
408
+ }
409
+ }
410
  }
411
 
412
  #[cfg(feature = "memory-cache")]
 
416
  log::info!("Initialising in-memory cache");
417
 
418
  InMemoryCache {
419
+ cache: Arc::new(
420
+ MokaCache::builder()
421
+ .time_to_live(Duration::from_secs(config.cache_expiry_time.into()))
422
+ .build(),
423
+ ),
424
  }
425
  }
426
 
427
  async fn cached_results(&mut self, url: &str) -> Result<SearchResults, Report<CacheError>> {
428
  let hashed_url_string = self.hash_url(url);
429
+ match self.cache.get(&hashed_url_string).await {
430
  Some(res) => self.post_process_search_results(res).await,
431
  None => Err(Report::new(CacheError::MissingValue)),
432
  }
 
437
  search_results: &[SearchResults],
438
  urls: &[String],
439
  ) -> Result<(), Report<CacheError>> {
440
+ let mut tasks: Vec<_> = Vec::with_capacity(urls.len());
441
  for (url, search_result) in urls.iter().zip(search_results.iter()) {
442
  let hashed_url_string = self.hash_url(url);
443
  let bytes = self.pre_process_search_results(search_result).await?;
444
+ let new_self = self.clone();
445
+ tasks.push(tokio::spawn(async move {
446
+ new_self.cache.insert(hashed_url_string, bytes).await
447
+ }));
448
  }
449
 
450
+ join_all(tasks).await;
451
+
452
  Ok(())
453
  }
454
  }
src/cache/redis_cacher.rs CHANGED
@@ -16,7 +16,7 @@ const REDIS_PIPELINE_SIZE: usize = 3;
16
  /// connect to.
17
  pub struct RedisCache {
18
  /// It stores a pool of connections ready to be used.
19
- connection_pool: Vec<ConnectionManager>,
20
  /// It stores the size of the connection pool (in other words the number of
21
  /// connections that should be stored in the pool).
22
  pool_size: u8,
@@ -58,13 +58,13 @@ impl RedisCache {
58
  }));
59
  }
60
 
61
- let mut outputs = Vec::new();
62
  for task in tasks {
63
  outputs.push(task.await??);
64
  }
65
 
66
  let redis_cache = RedisCache {
67
- connection_pool: outputs,
68
  pool_size,
69
  current_connection: Default::default(),
70
  cache_ttl,
 
16
  /// connect to.
17
  pub struct RedisCache {
18
  /// It stores a pool of connections ready to be used.
19
+ connection_pool: Box<[ConnectionManager]>,
20
  /// It stores the size of the connection pool (in other words the number of
21
  /// connections that should be stored in the pool).
22
  pool_size: u8,
 
58
  }));
59
  }
60
 
61
+ let mut outputs = Vec::with_capacity(tasks.len());
62
  for task in tasks {
63
  outputs.push(task.await??);
64
  }
65
 
66
  let redis_cache = RedisCache {
67
+ connection_pool: outputs.into_boxed_slice(),
68
  pool_size,
69
  current_connection: Default::default(),
70
  cache_ttl,
src/models/aggregation_models.rs CHANGED
@@ -3,7 +3,6 @@
3
 
4
  use super::engine_models::EngineError;
5
  use serde::{Deserialize, Serialize};
6
- use smallvec::SmallVec;
7
  #[cfg(any(
8
  feature = "use-synonyms-search",
9
  feature = "use-non-static-synonyms-search"
@@ -23,7 +22,7 @@ pub struct SearchResult {
23
  /// The description of the search result.
24
  pub description: String,
25
  /// The names of the upstream engines from which this results were provided.
26
- pub engine: SmallVec<[String; 0]>,
27
  /// The td-tdf score of the result in regards to the title, url and description and the user's query
28
  pub relevance_score: f32,
29
  }
@@ -153,10 +152,10 @@ impl EngineErrorInfo {
153
  #[serde(rename_all = "camelCase")]
154
  pub struct SearchResults {
155
  /// Stores the individual serializable `SearchResult` struct into a vector of
156
- pub results: Vec<SearchResult>,
157
  /// Stores the information on which engines failed with their engine name
158
  /// and the type of error that caused it.
159
- pub engine_errors_info: Vec<EngineErrorInfo>,
160
  /// Stores the flag option which holds the check value that the following
161
  /// search query was disallowed when the safe search level set to 4 and it
162
  /// was present in the `Blocklist` file.
@@ -183,10 +182,10 @@ impl SearchResults {
183
  /// the search url.
184
  /// * `engine_errors_info` - Takes an array of structs which contains information regarding
185
  /// which engines failed with their names, reason and their severity color name.
186
- pub fn new(results: Vec<SearchResult>, engine_errors_info: &[EngineErrorInfo]) -> Self {
187
  Self {
188
  results,
189
- engine_errors_info: engine_errors_info.to_owned(),
190
  disallowed: Default::default(),
191
  filtered: Default::default(),
192
  safe_search_level: Default::default(),
@@ -205,11 +204,11 @@ impl SearchResults {
205
  }
206
 
207
  /// A getter function that gets the value of `engine_errors_info`.
208
- pub fn engine_errors_info(&mut self) -> Vec<EngineErrorInfo> {
209
  std::mem::take(&mut self.engine_errors_info)
210
  }
211
  /// A getter function that gets the value of `results`.
212
- pub fn results(&mut self) -> Vec<SearchResult> {
213
  self.results.clone()
214
  }
215
 
@@ -254,27 +253,50 @@ fn calculate_tf_idf(
254
  let tf_idf = TfIdf::new(params);
255
  let tokener = Tokenizer::new(query, stop_words, Some(punctuation));
256
  let query_tokens = tokener.split_into_words();
257
- let mut search_tokens = vec![];
258
 
259
- for token in query_tokens {
260
- #[cfg(any(
261
- feature = "use-synonyms-search",
262
- feature = "use-non-static-synonyms-search"
263
- ))]
264
- {
265
- // find some synonyms and add them to the search (from wordnet or moby if feature is enabled)
266
- let synonyms = synonyms(&token);
267
- search_tokens.extend(synonyms)
268
- }
269
- search_tokens.push(token);
270
- }
271
 
272
- let mut total_score = 0.0f32;
273
- for token in search_tokens.iter() {
274
- total_score += tf_idf.get_score(token);
275
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
 
277
- let result = total_score / (search_tokens.len() as f32);
 
 
 
 
 
278
 
279
  f32::from(!result.is_nan()) * result
280
  }
 
3
 
4
  use super::engine_models::EngineError;
5
  use serde::{Deserialize, Serialize};
 
6
  #[cfg(any(
7
  feature = "use-synonyms-search",
8
  feature = "use-non-static-synonyms-search"
 
22
  /// The description of the search result.
23
  pub description: String,
24
  /// The names of the upstream engines from which this results were provided.
25
+ pub engine: Vec<String>,
26
  /// The td-tdf score of the result in regards to the title, url and description and the user's query
27
  pub relevance_score: f32,
28
  }
 
152
  #[serde(rename_all = "camelCase")]
153
  pub struct SearchResults {
154
  /// Stores the individual serializable `SearchResult` struct into a vector of
155
+ pub results: Box<[SearchResult]>,
156
  /// Stores the information on which engines failed with their engine name
157
  /// and the type of error that caused it.
158
+ pub engine_errors_info: Box<[EngineErrorInfo]>,
159
  /// Stores the flag option which holds the check value that the following
160
  /// search query was disallowed when the safe search level set to 4 and it
161
  /// was present in the `Blocklist` file.
 
182
  /// the search url.
183
  /// * `engine_errors_info` - Takes an array of structs which contains information regarding
184
  /// which engines failed with their names, reason and their severity color name.
185
+ pub fn new(results: Box<[SearchResult]>, engine_errors_info: Box<[EngineErrorInfo]>) -> Self {
186
  Self {
187
  results,
188
+ engine_errors_info,
189
  disallowed: Default::default(),
190
  filtered: Default::default(),
191
  safe_search_level: Default::default(),
 
204
  }
205
 
206
  /// A getter function that gets the value of `engine_errors_info`.
207
+ pub fn engine_errors_info(&mut self) -> Box<[EngineErrorInfo]> {
208
  std::mem::take(&mut self.engine_errors_info)
209
  }
210
  /// A getter function that gets the value of `results`.
211
+ pub fn results(&mut self) -> Box<[SearchResult]> {
212
  self.results.clone()
213
  }
214
 
 
253
  let tf_idf = TfIdf::new(params);
254
  let tokener = Tokenizer::new(query, stop_words, Some(punctuation));
255
  let query_tokens = tokener.split_into_words();
 
256
 
257
+ #[cfg(any(
258
+ feature = "use-synonyms-search",
259
+ feature = "use-non-static-synonyms-search"
260
+ ))]
261
+ let mut extra_tokens = vec![];
 
 
 
 
 
 
 
262
 
263
+ let total_score: f32 = query_tokens
264
+ .iter()
265
+ .map(|token| {
266
+ #[cfg(any(
267
+ feature = "use-synonyms-search",
268
+ feature = "use-non-static-synonyms-search"
269
+ ))]
270
+ {
271
+ // find some synonyms and add them to the search (from wordnet or moby if feature is enabled)
272
+ extra_tokens.extend(synonyms(token))
273
+ }
274
+
275
+ tf_idf.get_score(token)
276
+ })
277
+ .sum();
278
+
279
+ #[cfg(not(any(
280
+ feature = "use-synonyms-search",
281
+ feature = "use-non-static-synonyms-search"
282
+ )))]
283
+ let result = total_score / (query_tokens.len() as f32);
284
+
285
+ #[cfg(any(
286
+ feature = "use-synonyms-search",
287
+ feature = "use-non-static-synonyms-search"
288
+ ))]
289
+ let extra_total_score: f32 = extra_tokens
290
+ .iter()
291
+ .map(|token| tf_idf.get_score(token))
292
+ .sum();
293
 
294
+ #[cfg(any(
295
+ feature = "use-synonyms-search",
296
+ feature = "use-non-static-synonyms-search"
297
+ ))]
298
+ let result =
299
+ (extra_total_score + total_score) / ((query_tokens.len() + extra_tokens.len()) as f32);
300
 
301
  f32::from(!result.is_nan()) * result
302
  }
src/models/server_models.rs CHANGED
@@ -11,7 +11,7 @@ use super::parser_models::Style;
11
  pub struct SearchParams {
12
  /// It stores the search parameter option `q` (or query in simple words)
13
  /// of the search url.
14
- pub q: Option<String>,
15
  /// It stores the search parameter `page` (or pageno in simple words)
16
  /// of the search url.
17
  pub page: Option<u32>,
@@ -29,7 +29,7 @@ pub struct Cookie<'a> {
29
  /// It stores the colorscheme name used for the website theme.
30
  pub colorscheme: Cow<'a, str>,
31
  /// It stores the user selected upstream search engines selected from the UI.
32
- pub engines: Cow<'a, Vec<Cow<'a, str>>>,
33
  /// It stores the user selected safe search level from the UI.
34
  pub safe_search_level: u8,
35
  }
 
11
  pub struct SearchParams {
12
  /// It stores the search parameter option `q` (or query in simple words)
13
  /// of the search url.
14
+ pub q: Option<Cow<'static, str>>,
15
  /// It stores the search parameter `page` (or pageno in simple words)
16
  /// of the search url.
17
  pub page: Option<u32>,
 
29
  /// It stores the colorscheme name used for the website theme.
30
  pub colorscheme: Cow<'a, str>,
31
  /// It stores the user selected upstream search engines selected from the UI.
32
+ pub engines: Cow<'a, [Cow<'a, str>]>,
33
  /// It stores the user selected safe search level from the UI.
34
  pub safe_search_level: u8,
35
  }
src/results/aggregator.rs CHANGED
@@ -14,7 +14,6 @@ use futures::stream::FuturesUnordered;
14
  use regex::Regex;
15
  use reqwest::{Client, ClientBuilder};
16
  use std::sync::Arc;
17
- use std::time::{SystemTime, UNIX_EPOCH};
18
  use tokio::{
19
  fs::File,
20
  io::{AsyncBufReadExt, BufReader},
@@ -93,13 +92,6 @@ pub async fn aggregate(
93
 
94
  let user_agent: &str = random_user_agent();
95
 
96
- // Add a random delay before making the request.
97
- if config.aggregator.random_delay || !config.debug {
98
- let nanos = SystemTime::now().duration_since(UNIX_EPOCH)?.subsec_nanos() as f32;
99
- let delay = ((nanos / 1_0000_0000 as f32).floor() as u64) + 1;
100
- tokio::time::sleep(Duration::from_secs(delay)).await;
101
- }
102
-
103
  let mut names: Vec<&str> = Vec::with_capacity(0);
104
 
105
  // create tasks for upstream result fetching
@@ -188,19 +180,21 @@ pub async fn aggregate(
188
  drop(blacklist_map);
189
  }
190
 
191
- let mut results: Vec<SearchResult> = result_map
192
- .iter()
193
- .map(|(_, value)| {
194
- let mut copy = value.clone();
195
- if !copy.url.contains("temu.com") {
196
- copy.calculate_relevance(query.as_str())
197
  }
198
- copy
199
  })
200
  .collect();
201
  sort_search_results(&mut results);
202
 
203
- Ok(SearchResults::new(results, &engine_errors_info))
 
 
 
204
  }
205
 
206
  /// Filters a map of search results using a list of regex patterns.
@@ -265,7 +259,6 @@ fn sort_search_results(results: &mut [SearchResult]) {
265
  #[cfg(test)]
266
  mod tests {
267
  use super::*;
268
- use smallvec::smallvec;
269
  use std::io::Write;
270
  use tempfile::NamedTempFile;
271
 
@@ -281,7 +274,7 @@ mod tests {
281
  description: "This domain is for use in illustrative examples in documents."
282
  .to_owned(),
283
  relevance_score: 0.0,
284
- engine: smallvec!["Google".to_owned(), "Bing".to_owned()],
285
  },
286
  ));
287
  map_to_be_filtered.push((
@@ -290,7 +283,7 @@ mod tests {
290
  title: "Rust Programming Language".to_owned(),
291
  url: "https://www.rust-lang.org/".to_owned(),
292
  description: "A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.".to_owned(),
293
- engine: smallvec!["Google".to_owned(), "DuckDuckGo".to_owned()],
294
  relevance_score:0.0
295
  },)
296
  );
@@ -331,7 +324,7 @@ mod tests {
331
  url: "https://www.example.com".to_owned(),
332
  description: "This domain is for use in illustrative examples in documents."
333
  .to_owned(),
334
- engine: smallvec!["Google".to_owned(), "Bing".to_owned()],
335
  relevance_score: 0.0,
336
  },
337
  ));
@@ -341,7 +334,7 @@ mod tests {
341
  title: "Rust Programming Language".to_owned(),
342
  url: "https://www.rust-lang.org/".to_owned(),
343
  description: "A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.".to_owned(),
344
- engine: smallvec!["Google".to_owned(), "DuckDuckGo".to_owned()],
345
  relevance_score:0.0
346
  },
347
  ));
@@ -398,7 +391,7 @@ mod tests {
398
  url: "https://www.example.com".to_owned(),
399
  description: "This domain is for use in illustrative examples in documents."
400
  .to_owned(),
401
- engine: smallvec!["Google".to_owned(), "Bing".to_owned()],
402
  relevance_score: 0.0,
403
  },
404
  ));
 
14
  use regex::Regex;
15
  use reqwest::{Client, ClientBuilder};
16
  use std::sync::Arc;
 
17
  use tokio::{
18
  fs::File,
19
  io::{AsyncBufReadExt, BufReader},
 
92
 
93
  let user_agent: &str = random_user_agent();
94
 
 
 
 
 
 
 
 
95
  let mut names: Vec<&str> = Vec::with_capacity(0);
96
 
97
  // create tasks for upstream result fetching
 
180
  drop(blacklist_map);
181
  }
182
 
183
+ let mut results: Box<[SearchResult]> = result_map
184
+ .into_iter()
185
+ .map(|(_, mut value)| {
186
+ if !value.url.contains("temu.com") {
187
+ value.calculate_relevance(query.as_str())
 
188
  }
189
+ value
190
  })
191
  .collect();
192
  sort_search_results(&mut results);
193
 
194
+ Ok(SearchResults::new(
195
+ results,
196
+ engine_errors_info.into_boxed_slice(),
197
+ ))
198
  }
199
 
200
  /// Filters a map of search results using a list of regex patterns.
 
259
  #[cfg(test)]
260
  mod tests {
261
  use super::*;
 
262
  use std::io::Write;
263
  use tempfile::NamedTempFile;
264
 
 
274
  description: "This domain is for use in illustrative examples in documents."
275
  .to_owned(),
276
  relevance_score: 0.0,
277
+ engine: vec!["Google".to_owned(), "Bing".to_owned()],
278
  },
279
  ));
280
  map_to_be_filtered.push((
 
283
  title: "Rust Programming Language".to_owned(),
284
  url: "https://www.rust-lang.org/".to_owned(),
285
  description: "A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.".to_owned(),
286
+ engine: vec!["Google".to_owned(), "DuckDuckGo".to_owned()],
287
  relevance_score:0.0
288
  },)
289
  );
 
324
  url: "https://www.example.com".to_owned(),
325
  description: "This domain is for use in illustrative examples in documents."
326
  .to_owned(),
327
+ engine: vec!["Google".to_owned(), "Bing".to_owned()],
328
  relevance_score: 0.0,
329
  },
330
  ));
 
334
  title: "Rust Programming Language".to_owned(),
335
  url: "https://www.rust-lang.org/".to_owned(),
336
  description: "A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.".to_owned(),
337
+ engine: vec!["Google".to_owned(), "DuckDuckGo".to_owned()],
338
  relevance_score:0.0
339
  },
340
  ));
 
391
  url: "https://www.example.com".to_owned(),
392
  description: "This domain is for use in illustrative examples in documents."
393
  .to_owned(),
394
+ engine: vec!["Google".to_owned(), "Bing".to_owned()],
395
  relevance_score: 0.0,
396
  },
397
  ));
src/server/routes/search.rs CHANGED
@@ -14,7 +14,8 @@ use crate::{
14
  use actix_web::{get, http::header::ContentType, web, HttpRequest, HttpResponse};
15
  use itertools::Itertools;
16
  use regex::Regex;
17
- use std::borrow::Cow;
 
18
  use tokio::{
19
  fs::File,
20
  io::{AsyncBufReadExt, BufReader},
@@ -83,6 +84,13 @@ pub async fn search(
83
  let previous_page = page.saturating_sub(1);
84
  let next_page = page + 1;
85
 
 
 
 
 
 
 
 
86
  let results: (SearchResults, String, bool);
87
  if page != previous_page {
88
  let (previous_results, current_results, next_results) = join!(
@@ -96,9 +104,7 @@ pub async fn search(
96
  let (results_list, cache_keys): (Vec<SearchResults>, Vec<String>) =
97
  [previous_results?, results.clone(), next_results?]
98
  .into_iter()
99
- .filter_map(|(result, cache_key, flag)| {
100
- dbg!(flag).then_some((result, cache_key))
101
- })
102
  .multiunzip();
103
 
104
  tokio::spawn(async move { cache.cache_results(&results_list, &cache_keys).await });
 
14
  use actix_web::{get, http::header::ContentType, web, HttpRequest, HttpResponse};
15
  use itertools::Itertools;
16
  use regex::Regex;
17
+ use std::time::{SystemTime, UNIX_EPOCH};
18
+ use std::{borrow::Cow, time::Duration};
19
  use tokio::{
20
  fs::File,
21
  io::{AsyncBufReadExt, BufReader},
 
84
  let previous_page = page.saturating_sub(1);
85
  let next_page = page + 1;
86
 
87
+ // Add a random delay before making the request.
88
+ if config.aggregator.random_delay || !config.debug {
89
+ let nanos = SystemTime::now().duration_since(UNIX_EPOCH)?.subsec_nanos() as f32;
90
+ let delay = ((nanos / 1_0000_0000 as f32).floor() as u64) + 1;
91
+ tokio::time::sleep(Duration::from_secs(delay)).await;
92
+ }
93
+
94
  let results: (SearchResults, String, bool);
95
  if page != previous_page {
96
  let (previous_results, current_results, next_results) = join!(
 
104
  let (results_list, cache_keys): (Vec<SearchResults>, Vec<String>) =
105
  [previous_results?, results.clone(), next_results?]
106
  .into_iter()
107
+ .filter_map(|(result, cache_key, flag)| flag.then_some((result, cache_key)))
 
 
108
  .multiunzip();
109
 
110
  tokio::spawn(async move { cache.cache_results(&results_list, &cache_keys).await });