[WIP] tangled knot rust implementation

initial commit

Signed-off-by: Seongmin Lee <git@boltless.me>

+1
.gitignore
··· 1 + /target
+5184
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "abnf" 7 + version = "0.13.0" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "087113bd50d9adce24850eed5d0476c7d199d532fce8fab5173650331e09033a" 10 + dependencies = [ 11 + "abnf-core", 12 + "nom", 13 + ] 14 + 15 + [[package]] 16 + name = "abnf-core" 17 + version = "0.5.0" 18 + source = "registry+https://github.com/rust-lang/crates.io-index" 19 + checksum = "c44e09c43ae1c368fb91a03a566472d0087c26cf7e1b9e8e289c14ede681dd7d" 20 + dependencies = [ 21 + "nom", 22 + ] 23 + 24 + [[package]] 25 + name = "addr2line" 26 + version = "0.25.1" 27 + source = "registry+https://github.com/rust-lang/crates.io-index" 28 + checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" 29 + dependencies = [ 30 + "gimli", 31 + ] 32 + 33 + [[package]] 34 + name = "adler2" 35 + version = "2.0.1" 36 + source = "registry+https://github.com/rust-lang/crates.io-index" 37 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 38 + 39 + [[package]] 40 + name = "adler32" 41 + version = "1.2.0" 42 + source = "registry+https://github.com/rust-lang/crates.io-index" 43 + checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" 44 + 45 + [[package]] 46 + name = "aho-corasick" 47 + version = "1.1.4" 48 + source = "registry+https://github.com/rust-lang/crates.io-index" 49 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 50 + dependencies = [ 51 + "memchr", 52 + ] 53 + 54 + [[package]] 55 + name = "aliasable" 56 + version = "0.1.3" 57 + source = "registry+https://github.com/rust-lang/crates.io-index" 58 + checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" 59 + 60 + [[package]] 61 + name = "alloc-no-stdlib" 62 + version = "2.0.4" 63 + source = "registry+https://github.com/rust-lang/crates.io-index" 64 + checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 65 + 66 + [[package]] 67 + name = "alloc-stdlib" 68 + version = "0.2.2" 69 + source = "registry+https://github.com/rust-lang/crates.io-index" 70 + checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 71 + dependencies = [ 72 + "alloc-no-stdlib", 73 + ] 74 + 75 + [[package]] 76 + name = "android_system_properties" 77 + version = "0.1.5" 78 + source = "registry+https://github.com/rust-lang/crates.io-index" 79 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 80 + dependencies = [ 81 + "libc", 82 + ] 83 + 84 + [[package]] 85 + name = "anstream" 86 + version = "0.6.21" 87 + source = "registry+https://github.com/rust-lang/crates.io-index" 88 + checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" 89 + dependencies = [ 90 + "anstyle", 91 + "anstyle-parse", 92 + "anstyle-query", 93 + "anstyle-wincon", 94 + "colorchoice", 95 + "is_terminal_polyfill", 96 + "utf8parse", 97 + ] 98 + 99 + [[package]] 100 + name = "anstyle" 101 + version = "1.0.13" 102 + source = "registry+https://github.com/rust-lang/crates.io-index" 103 + checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" 104 + 105 + [[package]] 106 + name = "anstyle-parse" 107 + version = "0.2.7" 108 + source = "registry+https://github.com/rust-lang/crates.io-index" 109 + checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" 110 + dependencies = [ 111 + "utf8parse", 112 + ] 113 + 114 + [[package]] 115 + name = "anstyle-query" 116 + version = "1.1.5" 117 + source = "registry+https://github.com/rust-lang/crates.io-index" 118 + checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" 119 + dependencies = [ 120 + "windows-sys 0.61.1", 121 + ] 122 + 123 + [[package]] 124 + name = "anstyle-wincon" 125 + version = "3.0.11" 126 + source = "registry+https://github.com/rust-lang/crates.io-index" 127 + checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" 128 + dependencies = [ 129 + "anstyle", 130 + "once_cell_polyfill", 131 + "windows-sys 0.61.1", 132 + ] 133 + 134 + [[package]] 135 + name = "anyhow" 136 + version = "1.0.100" 137 + source = "registry+https://github.com/rust-lang/crates.io-index" 138 + checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 139 + 140 + [[package]] 141 + name = "ascii" 142 + version = "1.1.0" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" 145 + 146 + [[package]] 147 + name = "async-compression" 148 + version = "0.4.34" 149 + source = "registry+https://github.com/rust-lang/crates.io-index" 150 + checksum = "0e86f6d3dc9dc4352edeea6b8e499e13e3f5dc3b964d7ca5fd411415a3498473" 151 + dependencies = [ 152 + "compression-codecs", 153 + "compression-core", 154 + "futures-core", 155 + "pin-project-lite", 156 + "tokio", 157 + ] 158 + 159 + [[package]] 160 + name = "async-trait" 161 + version = "0.1.89" 162 + source = "registry+https://github.com/rust-lang/crates.io-index" 163 + checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" 164 + dependencies = [ 165 + "proc-macro2", 166 + "quote", 167 + "syn 2.0.106", 168 + ] 169 + 170 + [[package]] 171 + name = "atomic-waker" 172 + version = "1.1.2" 173 + source = "registry+https://github.com/rust-lang/crates.io-index" 174 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 175 + 176 + [[package]] 177 + name = "autocfg" 178 + version = "1.5.0" 179 + source = "registry+https://github.com/rust-lang/crates.io-index" 180 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 181 + 182 + [[package]] 183 + name = "axum" 184 + version = "0.8.6" 185 + source = "registry+https://github.com/rust-lang/crates.io-index" 186 + checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" 187 + dependencies = [ 188 + "axum-core", 189 + "axum-macros", 190 + "bytes", 191 + "form_urlencoded", 192 + "futures-util", 193 + "http", 194 + "http-body", 195 + "http-body-util", 196 + "hyper", 197 + "hyper-util", 198 + "itoa", 199 + "matchit", 200 + "memchr", 201 + "mime", 202 + "percent-encoding", 203 + "pin-project-lite", 204 + "serde_core", 205 + "serde_json", 206 + "serde_path_to_error", 207 + "serde_urlencoded", 208 + "sync_wrapper", 209 + "tokio", 210 + "tower", 211 + "tower-layer", 212 + "tower-service", 213 + "tracing", 214 + ] 215 + 216 + [[package]] 217 + name = "axum-core" 218 + version = "0.5.5" 219 + source = "registry+https://github.com/rust-lang/crates.io-index" 220 + checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" 221 + dependencies = [ 222 + "bytes", 223 + "futures-core", 224 + "http", 225 + "http-body", 226 + "http-body-util", 227 + "mime", 228 + "pin-project-lite", 229 + "sync_wrapper", 230 + "tower-layer", 231 + "tower-service", 232 + "tracing", 233 + ] 234 + 235 + [[package]] 236 + name = "axum-macros" 237 + version = "0.5.0" 238 + source = "registry+https://github.com/rust-lang/crates.io-index" 239 + checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c" 240 + dependencies = [ 241 + "proc-macro2", 242 + "quote", 243 + "syn 2.0.106", 244 + ] 245 + 246 + [[package]] 247 + name = "backtrace" 248 + version = "0.3.76" 249 + source = "registry+https://github.com/rust-lang/crates.io-index" 250 + checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" 251 + dependencies = [ 252 + "addr2line", 253 + "cfg-if", 254 + "libc", 255 + "miniz_oxide", 256 + "object", 257 + "rustc-demangle", 258 + "windows-link 0.2.0", 259 + ] 260 + 261 + [[package]] 262 + name = "base-x" 263 + version = "0.2.11" 264 + source = "registry+https://github.com/rust-lang/crates.io-index" 265 + checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 266 + 267 + [[package]] 268 + name = "base16ct" 269 + version = "0.2.0" 270 + source = "registry+https://github.com/rust-lang/crates.io-index" 271 + checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 272 + 273 + [[package]] 274 + name = "base256emoji" 275 + version = "1.0.2" 276 + source = "registry+https://github.com/rust-lang/crates.io-index" 277 + checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" 278 + dependencies = [ 279 + "const-str", 280 + "match-lookup", 281 + ] 282 + 283 + [[package]] 284 + name = "base64" 285 + version = "0.13.1" 286 + source = "registry+https://github.com/rust-lang/crates.io-index" 287 + checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 288 + 289 + [[package]] 290 + name = "base64" 291 + version = "0.22.1" 292 + source = "registry+https://github.com/rust-lang/crates.io-index" 293 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 294 + 295 + [[package]] 296 + name = "base64ct" 297 + version = "1.8.0" 298 + source = "registry+https://github.com/rust-lang/crates.io-index" 299 + checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" 300 + 301 + [[package]] 302 + name = "bitflags" 303 + version = "2.9.4" 304 + source = "registry+https://github.com/rust-lang/crates.io-index" 305 + checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" 306 + 307 + [[package]] 308 + name = "block-buffer" 309 + version = "0.10.4" 310 + source = "registry+https://github.com/rust-lang/crates.io-index" 311 + checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 312 + dependencies = [ 313 + "generic-array", 314 + ] 315 + 316 + [[package]] 317 + name = "bon" 318 + version = "3.8.1" 319 + source = "registry+https://github.com/rust-lang/crates.io-index" 320 + checksum = "ebeb9aaf9329dff6ceb65c689ca3db33dbf15f324909c60e4e5eef5701ce31b1" 321 + dependencies = [ 322 + "bon-macros", 323 + "rustversion", 324 + ] 325 + 326 + [[package]] 327 + name = "bon-macros" 328 + version = "3.8.1" 329 + source = "registry+https://github.com/rust-lang/crates.io-index" 330 + checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645" 331 + dependencies = [ 332 + "darling", 333 + "ident_case", 334 + "prettyplease", 335 + "proc-macro2", 336 + "quote", 337 + "rustversion", 338 + "syn 2.0.106", 339 + ] 340 + 341 + [[package]] 342 + name = "borsh" 343 + version = "1.6.0" 344 + source = "registry+https://github.com/rust-lang/crates.io-index" 345 + checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" 346 + dependencies = [ 347 + "cfg_aliases", 348 + ] 349 + 350 + [[package]] 351 + name = "brotli" 352 + version = "3.5.0" 353 + source = "registry+https://github.com/rust-lang/crates.io-index" 354 + checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" 355 + dependencies = [ 356 + "alloc-no-stdlib", 357 + "alloc-stdlib", 358 + "brotli-decompressor", 359 + ] 360 + 361 + [[package]] 362 + name = "brotli-decompressor" 363 + version = "2.5.1" 364 + source = "registry+https://github.com/rust-lang/crates.io-index" 365 + checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" 366 + dependencies = [ 367 + "alloc-no-stdlib", 368 + "alloc-stdlib", 369 + ] 370 + 371 + [[package]] 372 + name = "btree-range-map" 373 + version = "0.7.2" 374 + source = "registry+https://github.com/rust-lang/crates.io-index" 375 + checksum = "1be5c9672446d3800bcbcaabaeba121fe22f1fb25700c4562b22faf76d377c33" 376 + dependencies = [ 377 + "btree-slab", 378 + "cc-traits", 379 + "range-traits", 380 + "serde", 381 + "slab", 382 + ] 383 + 384 + [[package]] 385 + name = "btree-slab" 386 + version = "0.6.1" 387 + source = "registry+https://github.com/rust-lang/crates.io-index" 388 + checksum = "7a2b56d3029f075c4fa892428a098425b86cef5c89ae54073137ece416aef13c" 389 + dependencies = [ 390 + "cc-traits", 391 + "slab", 392 + "smallvec", 393 + ] 394 + 395 + [[package]] 396 + name = "buf_redux" 397 + version = "0.8.4" 398 + source = "registry+https://github.com/rust-lang/crates.io-index" 399 + checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" 400 + dependencies = [ 401 + "memchr", 402 + "safemem", 403 + ] 404 + 405 + [[package]] 406 + name = "bumpalo" 407 + version = "3.19.0" 408 + source = "registry+https://github.com/rust-lang/crates.io-index" 409 + checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 410 + 411 + [[package]] 412 + name = "bytecount" 413 + version = "0.6.9" 414 + source = "registry+https://github.com/rust-lang/crates.io-index" 415 + checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" 416 + 417 + [[package]] 418 + name = "byteorder" 419 + version = "1.5.0" 420 + source = "registry+https://github.com/rust-lang/crates.io-index" 421 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 422 + 423 + [[package]] 424 + name = "bytes" 425 + version = "1.10.1" 426 + source = "registry+https://github.com/rust-lang/crates.io-index" 427 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 428 + dependencies = [ 429 + "serde", 430 + ] 431 + 432 + [[package]] 433 + name = "camino" 434 + version = "1.2.1" 435 + source = "registry+https://github.com/rust-lang/crates.io-index" 436 + checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" 437 + dependencies = [ 438 + "serde_core", 439 + ] 440 + 441 + [[package]] 442 + name = "cargo-platform" 443 + version = "0.1.9" 444 + source = "registry+https://github.com/rust-lang/crates.io-index" 445 + checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" 446 + dependencies = [ 447 + "serde", 448 + ] 449 + 450 + [[package]] 451 + name = "cargo_metadata" 452 + version = "0.14.2" 453 + source = "registry+https://github.com/rust-lang/crates.io-index" 454 + checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" 455 + dependencies = [ 456 + "camino", 457 + "cargo-platform", 458 + "semver", 459 + "serde", 460 + "serde_json", 461 + ] 462 + 463 + [[package]] 464 + name = "cbor4ii" 465 + version = "0.2.14" 466 + source = "registry+https://github.com/rust-lang/crates.io-index" 467 + checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4" 468 + dependencies = [ 469 + "serde", 470 + ] 471 + 472 + [[package]] 473 + name = "cc" 474 + version = "1.2.47" 475 + source = "registry+https://github.com/rust-lang/crates.io-index" 476 + checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" 477 + dependencies = [ 478 + "find-msvc-tools", 479 + "shlex", 480 + ] 481 + 482 + [[package]] 483 + name = "cc-traits" 484 + version = "2.0.0" 485 + source = "registry+https://github.com/rust-lang/crates.io-index" 486 + checksum = "060303ef31ef4a522737e1b1ab68c67916f2a787bb2f4f54f383279adba962b5" 487 + dependencies = [ 488 + "slab", 489 + ] 490 + 491 + [[package]] 492 + name = "cesu8" 493 + version = "1.1.0" 494 + source = "registry+https://github.com/rust-lang/crates.io-index" 495 + checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 496 + 497 + [[package]] 498 + name = "cfg-if" 499 + version = "1.0.3" 500 + source = "registry+https://github.com/rust-lang/crates.io-index" 501 + checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 502 + 503 + [[package]] 504 + name = "cfg_aliases" 505 + version = "0.2.1" 506 + source = "registry+https://github.com/rust-lang/crates.io-index" 507 + checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 508 + 509 + [[package]] 510 + name = "chrono" 511 + version = "0.4.42" 512 + source = "registry+https://github.com/rust-lang/crates.io-index" 513 + checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" 514 + dependencies = [ 515 + "iana-time-zone", 516 + "js-sys", 517 + "num-traits", 518 + "serde", 519 + "wasm-bindgen", 520 + "windows-link 0.2.0", 521 + ] 522 + 523 + [[package]] 524 + name = "chunked_transfer" 525 + version = "1.5.0" 526 + source = "registry+https://github.com/rust-lang/crates.io-index" 527 + checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" 528 + 529 + [[package]] 530 + name = "ciborium" 531 + version = "0.2.2" 532 + source = "registry+https://github.com/rust-lang/crates.io-index" 533 + checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" 534 + dependencies = [ 535 + "ciborium-io", 536 + "ciborium-ll", 537 + "serde", 538 + ] 539 + 540 + [[package]] 541 + name = "ciborium-io" 542 + version = "0.2.2" 543 + source = "registry+https://github.com/rust-lang/crates.io-index" 544 + checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" 545 + 546 + [[package]] 547 + name = "ciborium-ll" 548 + version = "0.2.2" 549 + source = "registry+https://github.com/rust-lang/crates.io-index" 550 + checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" 551 + dependencies = [ 552 + "ciborium-io", 553 + "half", 554 + ] 555 + 556 + [[package]] 557 + name = "cid" 558 + version = "0.11.1" 559 + source = "registry+https://github.com/rust-lang/crates.io-index" 560 + checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" 561 + dependencies = [ 562 + "core2", 563 + "multibase", 564 + "multihash", 565 + "serde", 566 + "serde_bytes", 567 + "unsigned-varint", 568 + ] 569 + 570 + [[package]] 571 + name = "clap" 572 + version = "4.5.53" 573 + source = "registry+https://github.com/rust-lang/crates.io-index" 574 + checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" 575 + dependencies = [ 576 + "clap_builder", 577 + "clap_derive", 578 + ] 579 + 580 + [[package]] 581 + name = "clap_builder" 582 + version = "4.5.53" 583 + source = "registry+https://github.com/rust-lang/crates.io-index" 584 + checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" 585 + dependencies = [ 586 + "anstream", 587 + "anstyle", 588 + "clap_lex", 589 + "strsim", 590 + ] 591 + 592 + [[package]] 593 + name = "clap_derive" 594 + version = "4.5.49" 595 + source = "registry+https://github.com/rust-lang/crates.io-index" 596 + checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" 597 + dependencies = [ 598 + "heck 0.5.0", 599 + "proc-macro2", 600 + "quote", 601 + "syn 2.0.106", 602 + ] 603 + 604 + [[package]] 605 + name = "clap_lex" 606 + version = "0.7.6" 607 + source = "registry+https://github.com/rust-lang/crates.io-index" 608 + checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" 609 + 610 + [[package]] 611 + name = "colorchoice" 612 + version = "1.0.4" 613 + source = "registry+https://github.com/rust-lang/crates.io-index" 614 + checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 615 + 616 + [[package]] 617 + name = "combine" 618 + version = "4.6.7" 619 + source = "registry+https://github.com/rust-lang/crates.io-index" 620 + checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 621 + dependencies = [ 622 + "bytes", 623 + "memchr", 624 + ] 625 + 626 + [[package]] 627 + name = "compression-codecs" 628 + version = "0.4.33" 629 + source = "registry+https://github.com/rust-lang/crates.io-index" 630 + checksum = "302266479cb963552d11bd042013a58ef1adc56768016c8b82b4199488f2d4ad" 631 + dependencies = [ 632 + "compression-core", 633 + "flate2", 634 + "memchr", 635 + ] 636 + 637 + [[package]] 638 + name = "compression-core" 639 + version = "0.4.31" 640 + source = "registry+https://github.com/rust-lang/crates.io-index" 641 + checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" 642 + 643 + [[package]] 644 + name = "const-oid" 645 + version = "0.9.6" 646 + source = "registry+https://github.com/rust-lang/crates.io-index" 647 + checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 648 + 649 + [[package]] 650 + name = "const-str" 651 + version = "0.4.3" 652 + source = "registry+https://github.com/rust-lang/crates.io-index" 653 + checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" 654 + 655 + [[package]] 656 + name = "cordyceps" 657 + version = "0.3.4" 658 + source = "registry+https://github.com/rust-lang/crates.io-index" 659 + checksum = "688d7fbb8092b8de775ef2536f36c8c31f2bc4006ece2e8d8ad2d17d00ce0a2a" 660 + dependencies = [ 661 + "loom", 662 + "tracing", 663 + ] 664 + 665 + [[package]] 666 + name = "core-foundation" 667 + version = "0.9.4" 668 + source = "registry+https://github.com/rust-lang/crates.io-index" 669 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 670 + dependencies = [ 671 + "core-foundation-sys", 672 + "libc", 673 + ] 674 + 675 + [[package]] 676 + name = "core-foundation" 677 + version = "0.10.1" 678 + source = "registry+https://github.com/rust-lang/crates.io-index" 679 + checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" 680 + dependencies = [ 681 + "core-foundation-sys", 682 + "libc", 683 + ] 684 + 685 + [[package]] 686 + name = "core-foundation-sys" 687 + version = "0.8.7" 688 + source = "registry+https://github.com/rust-lang/crates.io-index" 689 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 690 + 691 + [[package]] 692 + name = "core2" 693 + version = "0.4.0" 694 + source = "registry+https://github.com/rust-lang/crates.io-index" 695 + checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" 696 + dependencies = [ 697 + "memchr", 698 + ] 699 + 700 + [[package]] 701 + name = "cpufeatures" 702 + version = "0.2.17" 703 + source = "registry+https://github.com/rust-lang/crates.io-index" 704 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 705 + dependencies = [ 706 + "libc", 707 + ] 708 + 709 + [[package]] 710 + name = "crc32fast" 711 + version = "1.5.0" 712 + source = "registry+https://github.com/rust-lang/crates.io-index" 713 + checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 714 + dependencies = [ 715 + "cfg-if", 716 + ] 717 + 718 + [[package]] 719 + name = "crossbeam-channel" 720 + version = "0.5.15" 721 + source = "registry+https://github.com/rust-lang/crates.io-index" 722 + checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" 723 + dependencies = [ 724 + "crossbeam-utils", 725 + ] 726 + 727 + [[package]] 728 + name = "crossbeam-utils" 729 + version = "0.8.21" 730 + source = "registry+https://github.com/rust-lang/crates.io-index" 731 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 732 + 733 + [[package]] 734 + name = "crunchy" 735 + version = "0.2.4" 736 + source = "registry+https://github.com/rust-lang/crates.io-index" 737 + checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" 738 + 739 + [[package]] 740 + name = "crypto-bigint" 741 + version = "0.5.5" 742 + source = "registry+https://github.com/rust-lang/crates.io-index" 743 + checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" 744 + dependencies = [ 745 + "generic-array", 746 + "rand_core 0.6.4", 747 + "subtle", 748 + "zeroize", 749 + ] 750 + 751 + [[package]] 752 + name = "crypto-common" 753 + version = "0.1.7" 754 + source = "registry+https://github.com/rust-lang/crates.io-index" 755 + checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" 756 + dependencies = [ 757 + "generic-array", 758 + "typenum", 759 + ] 760 + 761 + [[package]] 762 + name = "darling" 763 + version = "0.21.3" 764 + source = "registry+https://github.com/rust-lang/crates.io-index" 765 + checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" 766 + dependencies = [ 767 + "darling_core", 768 + "darling_macro", 769 + ] 770 + 771 + [[package]] 772 + name = "darling_core" 773 + version = "0.21.3" 774 + source = "registry+https://github.com/rust-lang/crates.io-index" 775 + checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" 776 + dependencies = [ 777 + "fnv", 778 + "ident_case", 779 + "proc-macro2", 780 + "quote", 781 + "strsim", 782 + "syn 2.0.106", 783 + ] 784 + 785 + [[package]] 786 + name = "darling_macro" 787 + version = "0.21.3" 788 + source = "registry+https://github.com/rust-lang/crates.io-index" 789 + checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" 790 + dependencies = [ 791 + "darling_core", 792 + "quote", 793 + "syn 2.0.106", 794 + ] 795 + 796 + [[package]] 797 + name = "dashmap" 798 + version = "5.5.3" 799 + source = "registry+https://github.com/rust-lang/crates.io-index" 800 + checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" 801 + dependencies = [ 802 + "cfg-if", 803 + "hashbrown 0.14.5", 804 + "lock_api", 805 + "once_cell", 806 + "parking_lot_core", 807 + ] 808 + 809 + [[package]] 810 + name = "dashmap" 811 + version = "6.1.0" 812 + source = "registry+https://github.com/rust-lang/crates.io-index" 813 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 814 + dependencies = [ 815 + "cfg-if", 816 + "crossbeam-utils", 817 + "hashbrown 0.14.5", 818 + "lock_api", 819 + "once_cell", 820 + "parking_lot_core", 821 + ] 822 + 823 + [[package]] 824 + name = "data-encoding" 825 + version = "2.9.0" 826 + source = "registry+https://github.com/rust-lang/crates.io-index" 827 + checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" 828 + 829 + [[package]] 830 + name = "data-encoding-macro" 831 + version = "0.1.18" 832 + source = "registry+https://github.com/rust-lang/crates.io-index" 833 + checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" 834 + dependencies = [ 835 + "data-encoding", 836 + "data-encoding-macro-internal", 837 + ] 838 + 839 + [[package]] 840 + name = "data-encoding-macro-internal" 841 + version = "0.1.16" 842 + source = "registry+https://github.com/rust-lang/crates.io-index" 843 + checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" 844 + dependencies = [ 845 + "data-encoding", 846 + "syn 2.0.106", 847 + ] 848 + 849 + [[package]] 850 + name = "deflate" 851 + version = "1.0.0" 852 + source = "registry+https://github.com/rust-lang/crates.io-index" 853 + checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" 854 + dependencies = [ 855 + "adler32", 856 + "gzip-header", 857 + ] 858 + 859 + [[package]] 860 + name = "der" 861 + version = "0.7.10" 862 + source = "registry+https://github.com/rust-lang/crates.io-index" 863 + checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" 864 + dependencies = [ 865 + "const-oid", 866 + "pem-rfc7468", 867 + "zeroize", 868 + ] 869 + 870 + [[package]] 871 + name = "deranged" 872 + version = "0.5.5" 873 + source = "registry+https://github.com/rust-lang/crates.io-index" 874 + checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" 875 + dependencies = [ 876 + "powerfmt", 877 + "serde_core", 878 + ] 879 + 880 + [[package]] 881 + name = "derive_more" 882 + version = "1.0.0" 883 + source = "registry+https://github.com/rust-lang/crates.io-index" 884 + checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" 885 + dependencies = [ 886 + "derive_more-impl", 887 + ] 888 + 889 + [[package]] 890 + name = "derive_more-impl" 891 + version = "1.0.0" 892 + source = "registry+https://github.com/rust-lang/crates.io-index" 893 + checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" 894 + dependencies = [ 895 + "proc-macro2", 896 + "quote", 897 + "syn 2.0.106", 898 + "unicode-xid", 899 + ] 900 + 901 + [[package]] 902 + name = "diatomic-waker" 903 + version = "0.2.3" 904 + source = "registry+https://github.com/rust-lang/crates.io-index" 905 + checksum = "ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c" 906 + 907 + [[package]] 908 + name = "digest" 909 + version = "0.10.7" 910 + source = "registry+https://github.com/rust-lang/crates.io-index" 911 + checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 912 + dependencies = [ 913 + "block-buffer", 914 + "const-oid", 915 + "crypto-common", 916 + "subtle", 917 + ] 918 + 919 + [[package]] 920 + name = "displaydoc" 921 + version = "0.2.5" 922 + source = "registry+https://github.com/rust-lang/crates.io-index" 923 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 924 + dependencies = [ 925 + "proc-macro2", 926 + "quote", 927 + "syn 2.0.106", 928 + ] 929 + 930 + [[package]] 931 + name = "dyn-clone" 932 + version = "1.0.20" 933 + source = "registry+https://github.com/rust-lang/crates.io-index" 934 + checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" 935 + 936 + [[package]] 937 + name = "ecdsa" 938 + version = "0.16.9" 939 + source = "registry+https://github.com/rust-lang/crates.io-index" 940 + checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" 941 + dependencies = [ 942 + "der", 943 + "digest", 944 + "elliptic-curve", 945 + "rfc6979", 946 + "signature", 947 + "spki", 948 + ] 949 + 950 + [[package]] 951 + name = "elliptic-curve" 952 + version = "0.13.8" 953 + source = "registry+https://github.com/rust-lang/crates.io-index" 954 + checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" 955 + dependencies = [ 956 + "base16ct", 957 + "crypto-bigint", 958 + "digest", 959 + "ff", 960 + "generic-array", 961 + "group", 962 + "pem-rfc7468", 963 + "pkcs8", 964 + "rand_core 0.6.4", 965 + "sec1", 966 + "subtle", 967 + "zeroize", 968 + ] 969 + 970 + [[package]] 971 + name = "encoding_rs" 972 + version = "0.8.35" 973 + source = "registry+https://github.com/rust-lang/crates.io-index" 974 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 975 + dependencies = [ 976 + "cfg-if", 977 + ] 978 + 979 + [[package]] 980 + name = "enum-as-inner" 981 + version = "0.6.1" 982 + source = "registry+https://github.com/rust-lang/crates.io-index" 983 + checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" 984 + dependencies = [ 985 + "heck 0.5.0", 986 + "proc-macro2", 987 + "quote", 988 + "syn 2.0.106", 989 + ] 990 + 991 + [[package]] 992 + name = "equivalent" 993 + version = "1.0.2" 994 + source = "registry+https://github.com/rust-lang/crates.io-index" 995 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 996 + 997 + [[package]] 998 + name = "errno" 999 + version = "0.3.14" 1000 + source = "registry+https://github.com/rust-lang/crates.io-index" 1001 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 1002 + dependencies = [ 1003 + "libc", 1004 + "windows-sys 0.61.1", 1005 + ] 1006 + 1007 + [[package]] 1008 + name = "error-chain" 1009 + version = "0.12.4" 1010 + source = "registry+https://github.com/rust-lang/crates.io-index" 1011 + checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" 1012 + dependencies = [ 1013 + "version_check", 1014 + ] 1015 + 1016 + [[package]] 1017 + name = "fastrand" 1018 + version = "2.3.0" 1019 + source = "registry+https://github.com/rust-lang/crates.io-index" 1020 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 1021 + 1022 + [[package]] 1023 + name = "ff" 1024 + version = "0.13.1" 1025 + source = "registry+https://github.com/rust-lang/crates.io-index" 1026 + checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" 1027 + dependencies = [ 1028 + "rand_core 0.6.4", 1029 + "subtle", 1030 + ] 1031 + 1032 + [[package]] 1033 + name = "filetime" 1034 + version = "0.2.26" 1035 + source = "registry+https://github.com/rust-lang/crates.io-index" 1036 + checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" 1037 + dependencies = [ 1038 + "cfg-if", 1039 + "libc", 1040 + "libredox", 1041 + "windows-sys 0.60.2", 1042 + ] 1043 + 1044 + [[package]] 1045 + name = "find-msvc-tools" 1046 + version = "0.1.5" 1047 + source = "registry+https://github.com/rust-lang/crates.io-index" 1048 + checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" 1049 + 1050 + [[package]] 1051 + name = "flate2" 1052 + version = "1.1.5" 1053 + source = "registry+https://github.com/rust-lang/crates.io-index" 1054 + checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" 1055 + dependencies = [ 1056 + "crc32fast", 1057 + "miniz_oxide", 1058 + ] 1059 + 1060 + [[package]] 1061 + name = "fnv" 1062 + version = "1.0.7" 1063 + source = "registry+https://github.com/rust-lang/crates.io-index" 1064 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1065 + 1066 + [[package]] 1067 + name = "form_urlencoded" 1068 + version = "1.2.2" 1069 + source = "registry+https://github.com/rust-lang/crates.io-index" 1070 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 1071 + dependencies = [ 1072 + "percent-encoding", 1073 + ] 1074 + 1075 + [[package]] 1076 + name = "futf" 1077 + version = "0.1.5" 1078 + source = "registry+https://github.com/rust-lang/crates.io-index" 1079 + checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 1080 + dependencies = [ 1081 + "mac", 1082 + "new_debug_unreachable", 1083 + ] 1084 + 1085 + [[package]] 1086 + name = "futures" 1087 + version = "0.3.31" 1088 + source = "registry+https://github.com/rust-lang/crates.io-index" 1089 + checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 1090 + dependencies = [ 1091 + "futures-channel", 1092 + "futures-core", 1093 + "futures-executor", 1094 + "futures-io", 1095 + "futures-sink", 1096 + "futures-task", 1097 + "futures-util", 1098 + ] 1099 + 1100 + [[package]] 1101 + name = "futures-buffered" 1102 + version = "0.2.12" 1103 + source = "registry+https://github.com/rust-lang/crates.io-index" 1104 + checksum = "a8e0e1f38ec07ba4abbde21eed377082f17ccb988be9d988a5adbf4bafc118fd" 1105 + dependencies = [ 1106 + "cordyceps", 1107 + "diatomic-waker", 1108 + "futures-core", 1109 + "pin-project-lite", 1110 + "spin 0.10.0", 1111 + ] 1112 + 1113 + [[package]] 1114 + name = "futures-channel" 1115 + version = "0.3.31" 1116 + source = "registry+https://github.com/rust-lang/crates.io-index" 1117 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 1118 + dependencies = [ 1119 + "futures-core", 1120 + "futures-sink", 1121 + ] 1122 + 1123 + [[package]] 1124 + name = "futures-core" 1125 + version = "0.3.31" 1126 + source = "registry+https://github.com/rust-lang/crates.io-index" 1127 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 1128 + 1129 + [[package]] 1130 + name = "futures-executor" 1131 + version = "0.3.31" 1132 + source = "registry+https://github.com/rust-lang/crates.io-index" 1133 + checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 1134 + dependencies = [ 1135 + "futures-core", 1136 + "futures-task", 1137 + "futures-util", 1138 + ] 1139 + 1140 + [[package]] 1141 + name = "futures-io" 1142 + version = "0.3.31" 1143 + source = "registry+https://github.com/rust-lang/crates.io-index" 1144 + checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 1145 + 1146 + [[package]] 1147 + name = "futures-lite" 1148 + version = "2.6.1" 1149 + source = "registry+https://github.com/rust-lang/crates.io-index" 1150 + checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" 1151 + dependencies = [ 1152 + "fastrand", 1153 + "futures-core", 1154 + "futures-io", 1155 + "parking", 1156 + "pin-project-lite", 1157 + ] 1158 + 1159 + [[package]] 1160 + name = "futures-macro" 1161 + version = "0.3.31" 1162 + source = "registry+https://github.com/rust-lang/crates.io-index" 1163 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 1164 + dependencies = [ 1165 + "proc-macro2", 1166 + "quote", 1167 + "syn 2.0.106", 1168 + ] 1169 + 1170 + [[package]] 1171 + name = "futures-sink" 1172 + version = "0.3.31" 1173 + source = "registry+https://github.com/rust-lang/crates.io-index" 1174 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 1175 + 1176 + [[package]] 1177 + name = "futures-task" 1178 + version = "0.3.31" 1179 + source = "registry+https://github.com/rust-lang/crates.io-index" 1180 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 1181 + 1182 + [[package]] 1183 + name = "futures-util" 1184 + version = "0.3.31" 1185 + source = "registry+https://github.com/rust-lang/crates.io-index" 1186 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 1187 + dependencies = [ 1188 + "futures-channel", 1189 + "futures-core", 1190 + "futures-io", 1191 + "futures-macro", 1192 + "futures-sink", 1193 + "futures-task", 1194 + "memchr", 1195 + "pin-project-lite", 1196 + "pin-utils", 1197 + "slab", 1198 + ] 1199 + 1200 + [[package]] 1201 + name = "generator" 1202 + version = "0.8.7" 1203 + source = "registry+https://github.com/rust-lang/crates.io-index" 1204 + checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" 1205 + dependencies = [ 1206 + "cc", 1207 + "cfg-if", 1208 + "libc", 1209 + "log", 1210 + "rustversion", 1211 + "windows", 1212 + ] 1213 + 1214 + [[package]] 1215 + name = "generic-array" 1216 + version = "0.14.7" 1217 + source = "registry+https://github.com/rust-lang/crates.io-index" 1218 + checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1219 + dependencies = [ 1220 + "typenum", 1221 + "version_check", 1222 + "zeroize", 1223 + ] 1224 + 1225 + [[package]] 1226 + name = "getrandom" 1227 + version = "0.2.16" 1228 + source = "registry+https://github.com/rust-lang/crates.io-index" 1229 + checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 1230 + dependencies = [ 1231 + "cfg-if", 1232 + "js-sys", 1233 + "libc", 1234 + "wasi", 1235 + "wasm-bindgen", 1236 + ] 1237 + 1238 + [[package]] 1239 + name = "getrandom" 1240 + version = "0.3.4" 1241 + source = "registry+https://github.com/rust-lang/crates.io-index" 1242 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 1243 + dependencies = [ 1244 + "cfg-if", 1245 + "js-sys", 1246 + "libc", 1247 + "r-efi", 1248 + "wasip2", 1249 + "wasm-bindgen", 1250 + ] 1251 + 1252 + [[package]] 1253 + name = "gimli" 1254 + version = "0.32.3" 1255 + source = "registry+https://github.com/rust-lang/crates.io-index" 1256 + checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" 1257 + 1258 + [[package]] 1259 + name = "glob" 1260 + version = "0.3.3" 1261 + source = "registry+https://github.com/rust-lang/crates.io-index" 1262 + checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" 1263 + 1264 + [[package]] 1265 + name = "gloo-storage" 1266 + version = "0.3.0" 1267 + source = "registry+https://github.com/rust-lang/crates.io-index" 1268 + checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a" 1269 + dependencies = [ 1270 + "gloo-utils", 1271 + "js-sys", 1272 + "serde", 1273 + "serde_json", 1274 + "thiserror 1.0.69", 1275 + "wasm-bindgen", 1276 + "web-sys", 1277 + ] 1278 + 1279 + [[package]] 1280 + name = "gloo-utils" 1281 + version = "0.2.0" 1282 + source = "registry+https://github.com/rust-lang/crates.io-index" 1283 + checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" 1284 + dependencies = [ 1285 + "js-sys", 1286 + "serde", 1287 + "serde_json", 1288 + "wasm-bindgen", 1289 + "web-sys", 1290 + ] 1291 + 1292 + [[package]] 1293 + name = "group" 1294 + version = "0.13.0" 1295 + source = "registry+https://github.com/rust-lang/crates.io-index" 1296 + checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" 1297 + dependencies = [ 1298 + "ff", 1299 + "rand_core 0.6.4", 1300 + "subtle", 1301 + ] 1302 + 1303 + [[package]] 1304 + name = "gzip-header" 1305 + version = "1.0.0" 1306 + source = "registry+https://github.com/rust-lang/crates.io-index" 1307 + checksum = "95cc527b92e6029a62960ad99aa8a6660faa4555fe5f731aab13aa6a921795a2" 1308 + dependencies = [ 1309 + "crc32fast", 1310 + ] 1311 + 1312 + [[package]] 1313 + name = "h2" 1314 + version = "0.4.12" 1315 + source = "registry+https://github.com/rust-lang/crates.io-index" 1316 + checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" 1317 + dependencies = [ 1318 + "atomic-waker", 1319 + "bytes", 1320 + "fnv", 1321 + "futures-core", 1322 + "futures-sink", 1323 + "http", 1324 + "indexmap 2.12.1", 1325 + "slab", 1326 + "tokio", 1327 + "tokio-util", 1328 + "tracing", 1329 + ] 1330 + 1331 + [[package]] 1332 + name = "half" 1333 + version = "2.7.1" 1334 + source = "registry+https://github.com/rust-lang/crates.io-index" 1335 + checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" 1336 + dependencies = [ 1337 + "cfg-if", 1338 + "crunchy", 1339 + "zerocopy", 1340 + ] 1341 + 1342 + [[package]] 1343 + name = "hashbrown" 1344 + version = "0.12.3" 1345 + source = "registry+https://github.com/rust-lang/crates.io-index" 1346 + checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1347 + 1348 + [[package]] 1349 + name = "hashbrown" 1350 + version = "0.14.5" 1351 + source = "registry+https://github.com/rust-lang/crates.io-index" 1352 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1353 + 1354 + [[package]] 1355 + name = "hashbrown" 1356 + version = "0.16.1" 1357 + source = "registry+https://github.com/rust-lang/crates.io-index" 1358 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 1359 + 1360 + [[package]] 1361 + name = "heck" 1362 + version = "0.4.1" 1363 + source = "registry+https://github.com/rust-lang/crates.io-index" 1364 + checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1365 + 1366 + [[package]] 1367 + name = "heck" 1368 + version = "0.5.0" 1369 + source = "registry+https://github.com/rust-lang/crates.io-index" 1370 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1371 + 1372 + [[package]] 1373 + name = "hermit-abi" 1374 + version = "0.5.2" 1375 + source = "registry+https://github.com/rust-lang/crates.io-index" 1376 + checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" 1377 + 1378 + [[package]] 1379 + name = "hex" 1380 + version = "0.4.3" 1381 + source = "registry+https://github.com/rust-lang/crates.io-index" 1382 + checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1383 + 1384 + [[package]] 1385 + name = "hex_fmt" 1386 + version = "0.3.0" 1387 + source = "registry+https://github.com/rust-lang/crates.io-index" 1388 + checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" 1389 + 1390 + [[package]] 1391 + name = "hickory-proto" 1392 + version = "0.24.4" 1393 + source = "registry+https://github.com/rust-lang/crates.io-index" 1394 + checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" 1395 + dependencies = [ 1396 + "async-trait", 1397 + "cfg-if", 1398 + "data-encoding", 1399 + "enum-as-inner", 1400 + "futures-channel", 1401 + "futures-io", 1402 + "futures-util", 1403 + "idna", 1404 + "ipnet", 1405 + "once_cell", 1406 + "rand 0.8.5", 1407 + "thiserror 1.0.69", 1408 + "tinyvec", 1409 + "tokio", 1410 + "tracing", 1411 + "url", 1412 + ] 1413 + 1414 + [[package]] 1415 + name = "hickory-resolver" 1416 + version = "0.24.4" 1417 + source = "registry+https://github.com/rust-lang/crates.io-index" 1418 + checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" 1419 + dependencies = [ 1420 + "cfg-if", 1421 + "futures-util", 1422 + "hickory-proto", 1423 + "ipconfig", 1424 + "lru-cache", 1425 + "once_cell", 1426 + "parking_lot", 1427 + "rand 0.8.5", 1428 + "resolv-conf", 1429 + "smallvec", 1430 + "thiserror 1.0.69", 1431 + "tokio", 1432 + "tracing", 1433 + ] 1434 + 1435 + [[package]] 1436 + name = "hmac" 1437 + version = "0.12.1" 1438 + source = "registry+https://github.com/rust-lang/crates.io-index" 1439 + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 1440 + dependencies = [ 1441 + "digest", 1442 + ] 1443 + 1444 + [[package]] 1445 + name = "html5ever" 1446 + version = "0.27.0" 1447 + source = "registry+https://github.com/rust-lang/crates.io-index" 1448 + checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" 1449 + dependencies = [ 1450 + "log", 1451 + "mac", 1452 + "markup5ever", 1453 + "proc-macro2", 1454 + "quote", 1455 + "syn 2.0.106", 1456 + ] 1457 + 1458 + [[package]] 1459 + name = "http" 1460 + version = "1.3.1" 1461 + source = "registry+https://github.com/rust-lang/crates.io-index" 1462 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 1463 + dependencies = [ 1464 + "bytes", 1465 + "fnv", 1466 + "itoa", 1467 + ] 1468 + 1469 + [[package]] 1470 + name = "http-body" 1471 + version = "1.0.1" 1472 + source = "registry+https://github.com/rust-lang/crates.io-index" 1473 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 1474 + dependencies = [ 1475 + "bytes", 1476 + "http", 1477 + ] 1478 + 1479 + [[package]] 1480 + name = "http-body-util" 1481 + version = "0.1.3" 1482 + source = "registry+https://github.com/rust-lang/crates.io-index" 1483 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 1484 + dependencies = [ 1485 + "bytes", 1486 + "futures-core", 1487 + "http", 1488 + "http-body", 1489 + "pin-project-lite", 1490 + ] 1491 + 1492 + [[package]] 1493 + name = "httparse" 1494 + version = "1.10.1" 1495 + source = "registry+https://github.com/rust-lang/crates.io-index" 1496 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 1497 + 1498 + [[package]] 1499 + name = "httpdate" 1500 + version = "1.0.3" 1501 + source = "registry+https://github.com/rust-lang/crates.io-index" 1502 + checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 1503 + 1504 + [[package]] 1505 + name = "hyper" 1506 + version = "1.7.0" 1507 + source = "registry+https://github.com/rust-lang/crates.io-index" 1508 + checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 1509 + dependencies = [ 1510 + "atomic-waker", 1511 + "bytes", 1512 + "futures-channel", 1513 + "futures-core", 1514 + "h2", 1515 + "http", 1516 + "http-body", 1517 + "httparse", 1518 + "httpdate", 1519 + "itoa", 1520 + "pin-project-lite", 1521 + "pin-utils", 1522 + "smallvec", 1523 + "tokio", 1524 + "want", 1525 + ] 1526 + 1527 + [[package]] 1528 + name = "hyper-rustls" 1529 + version = "0.27.7" 1530 + source = "registry+https://github.com/rust-lang/crates.io-index" 1531 + checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 1532 + dependencies = [ 1533 + "http", 1534 + "hyper", 1535 + "hyper-util", 1536 + "rustls", 1537 + "rustls-pki-types", 1538 + "tokio", 1539 + "tokio-rustls", 1540 + "tower-service", 1541 + "webpki-roots", 1542 + ] 1543 + 1544 + [[package]] 1545 + name = "hyper-util" 1546 + version = "0.1.17" 1547 + source = "registry+https://github.com/rust-lang/crates.io-index" 1548 + checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" 1549 + dependencies = [ 1550 + "base64 0.22.1", 1551 + "bytes", 1552 + "futures-channel", 1553 + "futures-core", 1554 + "futures-util", 1555 + "http", 1556 + "http-body", 1557 + "hyper", 1558 + "ipnet", 1559 + "libc", 1560 + "percent-encoding", 1561 + "pin-project-lite", 1562 + "socket2 0.6.0", 1563 + "system-configuration", 1564 + "tokio", 1565 + "tower-service", 1566 + "tracing", 1567 + "windows-registry", 1568 + ] 1569 + 1570 + [[package]] 1571 + name = "iana-time-zone" 1572 + version = "0.1.64" 1573 + source = "registry+https://github.com/rust-lang/crates.io-index" 1574 + checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" 1575 + dependencies = [ 1576 + "android_system_properties", 1577 + "core-foundation-sys", 1578 + "iana-time-zone-haiku", 1579 + "js-sys", 1580 + "log", 1581 + "wasm-bindgen", 1582 + "windows-core 0.62.1", 1583 + ] 1584 + 1585 + [[package]] 1586 + name = "iana-time-zone-haiku" 1587 + version = "0.1.2" 1588 + source = "registry+https://github.com/rust-lang/crates.io-index" 1589 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1590 + dependencies = [ 1591 + "cc", 1592 + ] 1593 + 1594 + [[package]] 1595 + name = "icu_collections" 1596 + version = "2.1.1" 1597 + source = "registry+https://github.com/rust-lang/crates.io-index" 1598 + checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" 1599 + dependencies = [ 1600 + "displaydoc", 1601 + "potential_utf", 1602 + "yoke", 1603 + "zerofrom", 1604 + "zerovec", 1605 + ] 1606 + 1607 + [[package]] 1608 + name = "icu_locale_core" 1609 + version = "2.1.1" 1610 + source = "registry+https://github.com/rust-lang/crates.io-index" 1611 + checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" 1612 + dependencies = [ 1613 + "displaydoc", 1614 + "litemap", 1615 + "tinystr", 1616 + "writeable", 1617 + "zerovec", 1618 + ] 1619 + 1620 + [[package]] 1621 + name = "icu_normalizer" 1622 + version = "2.1.1" 1623 + source = "registry+https://github.com/rust-lang/crates.io-index" 1624 + checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" 1625 + dependencies = [ 1626 + "icu_collections", 1627 + "icu_normalizer_data", 1628 + "icu_properties", 1629 + "icu_provider", 1630 + "smallvec", 1631 + "zerovec", 1632 + ] 1633 + 1634 + [[package]] 1635 + name = "icu_normalizer_data" 1636 + version = "2.1.1" 1637 + source = "registry+https://github.com/rust-lang/crates.io-index" 1638 + checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" 1639 + 1640 + [[package]] 1641 + name = "icu_properties" 1642 + version = "2.1.1" 1643 + source = "registry+https://github.com/rust-lang/crates.io-index" 1644 + checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" 1645 + dependencies = [ 1646 + "icu_collections", 1647 + "icu_locale_core", 1648 + "icu_properties_data", 1649 + "icu_provider", 1650 + "zerotrie", 1651 + "zerovec", 1652 + ] 1653 + 1654 + [[package]] 1655 + name = "icu_properties_data" 1656 + version = "2.1.1" 1657 + source = "registry+https://github.com/rust-lang/crates.io-index" 1658 + checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" 1659 + 1660 + [[package]] 1661 + name = "icu_provider" 1662 + version = "2.1.1" 1663 + source = "registry+https://github.com/rust-lang/crates.io-index" 1664 + checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" 1665 + dependencies = [ 1666 + "displaydoc", 1667 + "icu_locale_core", 1668 + "writeable", 1669 + "yoke", 1670 + "zerofrom", 1671 + "zerotrie", 1672 + "zerovec", 1673 + ] 1674 + 1675 + [[package]] 1676 + name = "ident_case" 1677 + version = "1.0.1" 1678 + source = "registry+https://github.com/rust-lang/crates.io-index" 1679 + checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1680 + 1681 + [[package]] 1682 + name = "idna" 1683 + version = "1.1.0" 1684 + source = "registry+https://github.com/rust-lang/crates.io-index" 1685 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 1686 + dependencies = [ 1687 + "idna_adapter", 1688 + "smallvec", 1689 + "utf8_iter", 1690 + ] 1691 + 1692 + [[package]] 1693 + name = "idna_adapter" 1694 + version = "1.2.1" 1695 + source = "registry+https://github.com/rust-lang/crates.io-index" 1696 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 1697 + dependencies = [ 1698 + "icu_normalizer", 1699 + "icu_properties", 1700 + ] 1701 + 1702 + [[package]] 1703 + name = "indexmap" 1704 + version = "1.9.3" 1705 + source = "registry+https://github.com/rust-lang/crates.io-index" 1706 + checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1707 + dependencies = [ 1708 + "autocfg", 1709 + "hashbrown 0.12.3", 1710 + "serde", 1711 + ] 1712 + 1713 + [[package]] 1714 + name = "indexmap" 1715 + version = "2.12.1" 1716 + source = "registry+https://github.com/rust-lang/crates.io-index" 1717 + checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" 1718 + dependencies = [ 1719 + "equivalent", 1720 + "hashbrown 0.16.1", 1721 + "serde", 1722 + "serde_core", 1723 + ] 1724 + 1725 + [[package]] 1726 + name = "indoc" 1727 + version = "2.0.7" 1728 + source = "registry+https://github.com/rust-lang/crates.io-index" 1729 + checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" 1730 + dependencies = [ 1731 + "rustversion", 1732 + ] 1733 + 1734 + [[package]] 1735 + name = "inventory" 1736 + version = "0.3.21" 1737 + source = "registry+https://github.com/rust-lang/crates.io-index" 1738 + checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" 1739 + dependencies = [ 1740 + "rustversion", 1741 + ] 1742 + 1743 + [[package]] 1744 + name = "io-uring" 1745 + version = "0.7.10" 1746 + source = "registry+https://github.com/rust-lang/crates.io-index" 1747 + checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" 1748 + dependencies = [ 1749 + "bitflags", 1750 + "cfg-if", 1751 + "libc", 1752 + ] 1753 + 1754 + [[package]] 1755 + name = "ipconfig" 1756 + version = "0.3.2" 1757 + source = "registry+https://github.com/rust-lang/crates.io-index" 1758 + checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" 1759 + dependencies = [ 1760 + "socket2 0.5.10", 1761 + "widestring", 1762 + "windows-sys 0.48.0", 1763 + "winreg", 1764 + ] 1765 + 1766 + [[package]] 1767 + name = "ipld-core" 1768 + version = "0.4.2" 1769 + source = "registry+https://github.com/rust-lang/crates.io-index" 1770 + checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db" 1771 + dependencies = [ 1772 + "cid", 1773 + "serde", 1774 + "serde_bytes", 1775 + ] 1776 + 1777 + [[package]] 1778 + name = "ipnet" 1779 + version = "2.11.0" 1780 + source = "registry+https://github.com/rust-lang/crates.io-index" 1781 + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 1782 + 1783 + [[package]] 1784 + name = "iri-string" 1785 + version = "0.7.9" 1786 + source = "registry+https://github.com/rust-lang/crates.io-index" 1787 + checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" 1788 + dependencies = [ 1789 + "memchr", 1790 + "serde", 1791 + ] 1792 + 1793 + [[package]] 1794 + name = "is_terminal_polyfill" 1795 + version = "1.70.2" 1796 + source = "registry+https://github.com/rust-lang/crates.io-index" 1797 + checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" 1798 + 1799 + [[package]] 1800 + name = "itoa" 1801 + version = "1.0.15" 1802 + source = "registry+https://github.com/rust-lang/crates.io-index" 1803 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 1804 + 1805 + [[package]] 1806 + name = "jacquard" 1807 + version = "0.9.3" 1808 + source = "registry+https://github.com/rust-lang/crates.io-index" 1809 + checksum = "c19864761c8d69d23201fd19dd021cddf1fb7acbebb6e6b50e2b1776ec982768" 1810 + dependencies = [ 1811 + "bytes", 1812 + "getrandom 0.2.16", 1813 + "gloo-storage", 1814 + "http", 1815 + "jacquard-api", 1816 + "jacquard-common", 1817 + "jacquard-derive", 1818 + "jacquard-identity", 1819 + "jacquard-oauth", 1820 + "jose-jwk", 1821 + "miette", 1822 + "n0-future 0.1.3", 1823 + "regex", 1824 + "regex-lite", 1825 + "reqwest", 1826 + "serde", 1827 + "serde_html_form", 1828 + "serde_json", 1829 + "smol_str", 1830 + "thiserror 2.0.17", 1831 + "tokio", 1832 + "trait-variant", 1833 + "url", 1834 + "webpage", 1835 + ] 1836 + 1837 + [[package]] 1838 + name = "jacquard-api" 1839 + version = "0.9.2" 1840 + source = "registry+https://github.com/rust-lang/crates.io-index" 1841 + checksum = "bbbfd6e2b10fa1731f4d4e40c8f791956b0d4f804fb3efef891afec903f20597" 1842 + dependencies = [ 1843 + "bon", 1844 + "bytes", 1845 + "jacquard-common", 1846 + "jacquard-derive", 1847 + "jacquard-lexicon", 1848 + "miette", 1849 + "rustversion", 1850 + "serde", 1851 + "serde_ipld_dagcbor", 1852 + "thiserror 2.0.17", 1853 + "unicode-segmentation", 1854 + ] 1855 + 1856 + [[package]] 1857 + name = "jacquard-common" 1858 + version = "0.9.2" 1859 + source = "registry+https://github.com/rust-lang/crates.io-index" 1860 + checksum = "df86cb117d9f1c2b0251ba67c3f0e3f963fd22abc6cf8de0e02a7fc846c288ca" 1861 + dependencies = [ 1862 + "base64 0.22.1", 1863 + "bon", 1864 + "bytes", 1865 + "chrono", 1866 + "ciborium", 1867 + "cid", 1868 + "futures", 1869 + "getrandom 0.2.16", 1870 + "getrandom 0.3.4", 1871 + "http", 1872 + "ipld-core", 1873 + "k256", 1874 + "langtag", 1875 + "miette", 1876 + "multibase", 1877 + "multihash", 1878 + "n0-future 0.1.3", 1879 + "ouroboros", 1880 + "p256", 1881 + "rand 0.9.2", 1882 + "regex", 1883 + "regex-lite", 1884 + "reqwest", 1885 + "serde", 1886 + "serde_html_form", 1887 + "serde_ipld_dagcbor", 1888 + "serde_json", 1889 + "signature", 1890 + "smol_str", 1891 + "thiserror 2.0.17", 1892 + "tokio", 1893 + "tokio-tungstenite-wasm", 1894 + "tokio-util", 1895 + "trait-variant", 1896 + "url", 1897 + ] 1898 + 1899 + [[package]] 1900 + name = "jacquard-derive" 1901 + version = "0.9.2" 1902 + source = "registry+https://github.com/rust-lang/crates.io-index" 1903 + checksum = "42ca61a69dc7aa8fb2d7163416514ff7df5d79f2e8b22e269f4610afa85572fe" 1904 + dependencies = [ 1905 + "heck 0.5.0", 1906 + "jacquard-lexicon", 1907 + "proc-macro2", 1908 + "quote", 1909 + "syn 2.0.106", 1910 + ] 1911 + 1912 + [[package]] 1913 + name = "jacquard-identity" 1914 + version = "0.9.2" 1915 + source = "registry+https://github.com/rust-lang/crates.io-index" 1916 + checksum = "1ef714cacebfca486558a9f8e205daf466bfba0466c4d0c450fd6d0252400a53" 1917 + dependencies = [ 1918 + "bon", 1919 + "bytes", 1920 + "hickory-resolver", 1921 + "http", 1922 + "jacquard-api", 1923 + "jacquard-common", 1924 + "jacquard-lexicon", 1925 + "miette", 1926 + "mini-moka", 1927 + "n0-future 0.1.3", 1928 + "percent-encoding", 1929 + "reqwest", 1930 + "serde", 1931 + "serde_html_form", 1932 + "serde_json", 1933 + "thiserror 2.0.17", 1934 + "tokio", 1935 + "trait-variant", 1936 + "url", 1937 + "urlencoding", 1938 + ] 1939 + 1940 + [[package]] 1941 + name = "jacquard-lexicon" 1942 + version = "0.9.2" 1943 + source = "registry+https://github.com/rust-lang/crates.io-index" 1944 + checksum = "de87f2c938faea1b1f1b32d5b9e0c870e7b5bb5efbf96e3692ae2d8f6b2beb7a" 1945 + dependencies = [ 1946 + "cid", 1947 + "dashmap 6.1.0", 1948 + "heck 0.5.0", 1949 + "inventory", 1950 + "jacquard-common", 1951 + "miette", 1952 + "multihash", 1953 + "prettyplease", 1954 + "proc-macro2", 1955 + "quote", 1956 + "serde", 1957 + "serde_ipld_dagcbor", 1958 + "serde_json", 1959 + "serde_repr", 1960 + "serde_with", 1961 + "sha2", 1962 + "syn 2.0.106", 1963 + "thiserror 2.0.17", 1964 + "unicode-segmentation", 1965 + ] 1966 + 1967 + [[package]] 1968 + name = "jacquard-oauth" 1969 + version = "0.9.2" 1970 + source = "registry+https://github.com/rust-lang/crates.io-index" 1971 + checksum = "aafe9b4b2160cb57cd48d02d84d2c09706853d098e053baacb06a59fcd59a898" 1972 + dependencies = [ 1973 + "base64 0.22.1", 1974 + "bytes", 1975 + "chrono", 1976 + "dashmap 6.1.0", 1977 + "elliptic-curve", 1978 + "http", 1979 + "jacquard-common", 1980 + "jacquard-identity", 1981 + "jose-jwa", 1982 + "jose-jwk", 1983 + "miette", 1984 + "n0-future 0.1.3", 1985 + "p256", 1986 + "rand 0.8.5", 1987 + "rouille", 1988 + "serde", 1989 + "serde_html_form", 1990 + "serde_json", 1991 + "sha2", 1992 + "smol_str", 1993 + "thiserror 2.0.17", 1994 + "tokio", 1995 + "trait-variant", 1996 + "url", 1997 + "webbrowser", 1998 + ] 1999 + 2000 + [[package]] 2001 + name = "jni" 2002 + version = "0.21.1" 2003 + source = "registry+https://github.com/rust-lang/crates.io-index" 2004 + checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 2005 + dependencies = [ 2006 + "cesu8", 2007 + "cfg-if", 2008 + "combine", 2009 + "jni-sys", 2010 + "log", 2011 + "thiserror 1.0.69", 2012 + "walkdir", 2013 + "windows-sys 0.45.0", 2014 + ] 2015 + 2016 + [[package]] 2017 + name = "jni-sys" 2018 + version = "0.3.0" 2019 + source = "registry+https://github.com/rust-lang/crates.io-index" 2020 + checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 2021 + 2022 + [[package]] 2023 + name = "jose-b64" 2024 + version = "0.1.2" 2025 + source = "registry+https://github.com/rust-lang/crates.io-index" 2026 + checksum = "bec69375368709666b21c76965ce67549f2d2db7605f1f8707d17c9656801b56" 2027 + dependencies = [ 2028 + "base64ct", 2029 + "serde", 2030 + "subtle", 2031 + "zeroize", 2032 + ] 2033 + 2034 + [[package]] 2035 + name = "jose-jwa" 2036 + version = "0.1.2" 2037 + source = "registry+https://github.com/rust-lang/crates.io-index" 2038 + checksum = "9ab78e053fe886a351d67cf0d194c000f9d0dcb92906eb34d853d7e758a4b3a7" 2039 + dependencies = [ 2040 + "serde", 2041 + ] 2042 + 2043 + [[package]] 2044 + name = "jose-jwk" 2045 + version = "0.1.2" 2046 + source = "registry+https://github.com/rust-lang/crates.io-index" 2047 + checksum = "280fa263807fe0782ecb6f2baadc28dffc04e00558a58e33bfdb801d11fd58e7" 2048 + dependencies = [ 2049 + "jose-b64", 2050 + "jose-jwa", 2051 + "p256", 2052 + "p384", 2053 + "rsa", 2054 + "serde", 2055 + "zeroize", 2056 + ] 2057 + 2058 + [[package]] 2059 + name = "js-sys" 2060 + version = "0.3.82" 2061 + source = "registry+https://github.com/rust-lang/crates.io-index" 2062 + checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" 2063 + dependencies = [ 2064 + "once_cell", 2065 + "wasm-bindgen", 2066 + ] 2067 + 2068 + [[package]] 2069 + name = "k256" 2070 + version = "0.13.4" 2071 + source = "registry+https://github.com/rust-lang/crates.io-index" 2072 + checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" 2073 + dependencies = [ 2074 + "cfg-if", 2075 + "ecdsa", 2076 + "elliptic-curve", 2077 + "sha2", 2078 + ] 2079 + 2080 + [[package]] 2081 + name = "knot-rs" 2082 + version = "0.1.0" 2083 + dependencies = [ 2084 + "anyhow", 2085 + "axum", 2086 + "clap", 2087 + "jacquard", 2088 + "jacquard-common", 2089 + "n0-future 0.3.1", 2090 + "serde", 2091 + "serde_json", 2092 + "tokio", 2093 + "tokio-tungstenite 0.28.0", 2094 + "toml", 2095 + "tower-http", 2096 + "tracing", 2097 + "url", 2098 + ] 2099 + 2100 + [[package]] 2101 + name = "langtag" 2102 + version = "0.4.0" 2103 + source = "registry+https://github.com/rust-lang/crates.io-index" 2104 + checksum = "9ecb4c689a30e48ebeaa14237f34037e300dd072e6ad21a9ec72e810ff3c6600" 2105 + dependencies = [ 2106 + "serde", 2107 + "static-regular-grammar", 2108 + "thiserror 1.0.69", 2109 + ] 2110 + 2111 + [[package]] 2112 + name = "lazy_static" 2113 + version = "1.5.0" 2114 + source = "registry+https://github.com/rust-lang/crates.io-index" 2115 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 2116 + dependencies = [ 2117 + "spin 0.9.8", 2118 + ] 2119 + 2120 + [[package]] 2121 + name = "libc" 2122 + version = "0.2.176" 2123 + source = "registry+https://github.com/rust-lang/crates.io-index" 2124 + checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" 2125 + 2126 + [[package]] 2127 + name = "libm" 2128 + version = "0.2.15" 2129 + source = "registry+https://github.com/rust-lang/crates.io-index" 2130 + checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" 2131 + 2132 + [[package]] 2133 + name = "libredox" 2134 + version = "0.1.10" 2135 + source = "registry+https://github.com/rust-lang/crates.io-index" 2136 + checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" 2137 + dependencies = [ 2138 + "bitflags", 2139 + "libc", 2140 + "redox_syscall", 2141 + ] 2142 + 2143 + [[package]] 2144 + name = "linked-hash-map" 2145 + version = "0.5.6" 2146 + source = "registry+https://github.com/rust-lang/crates.io-index" 2147 + checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 2148 + 2149 + [[package]] 2150 + name = "linux-raw-sys" 2151 + version = "0.11.0" 2152 + source = "registry+https://github.com/rust-lang/crates.io-index" 2153 + checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" 2154 + 2155 + [[package]] 2156 + name = "litemap" 2157 + version = "0.8.1" 2158 + source = "registry+https://github.com/rust-lang/crates.io-index" 2159 + checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" 2160 + 2161 + [[package]] 2162 + name = "lock_api" 2163 + version = "0.4.14" 2164 + source = "registry+https://github.com/rust-lang/crates.io-index" 2165 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 2166 + dependencies = [ 2167 + "scopeguard", 2168 + ] 2169 + 2170 + [[package]] 2171 + name = "log" 2172 + version = "0.4.28" 2173 + source = "registry+https://github.com/rust-lang/crates.io-index" 2174 + checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 2175 + 2176 + [[package]] 2177 + name = "loom" 2178 + version = "0.7.2" 2179 + source = "registry+https://github.com/rust-lang/crates.io-index" 2180 + checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" 2181 + dependencies = [ 2182 + "cfg-if", 2183 + "generator", 2184 + "scoped-tls", 2185 + "tracing", 2186 + "tracing-subscriber", 2187 + ] 2188 + 2189 + [[package]] 2190 + name = "lru-cache" 2191 + version = "0.1.2" 2192 + source = "registry+https://github.com/rust-lang/crates.io-index" 2193 + checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" 2194 + dependencies = [ 2195 + "linked-hash-map", 2196 + ] 2197 + 2198 + [[package]] 2199 + name = "lru-slab" 2200 + version = "0.1.2" 2201 + source = "registry+https://github.com/rust-lang/crates.io-index" 2202 + checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" 2203 + 2204 + [[package]] 2205 + name = "mac" 2206 + version = "0.1.1" 2207 + source = "registry+https://github.com/rust-lang/crates.io-index" 2208 + checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 2209 + 2210 + [[package]] 2211 + name = "markup5ever" 2212 + version = "0.12.1" 2213 + source = "registry+https://github.com/rust-lang/crates.io-index" 2214 + checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" 2215 + dependencies = [ 2216 + "log", 2217 + "phf", 2218 + "phf_codegen", 2219 + "string_cache", 2220 + "string_cache_codegen", 2221 + "tendril", 2222 + ] 2223 + 2224 + [[package]] 2225 + name = "markup5ever_rcdom" 2226 + version = "0.3.0" 2227 + source = "registry+https://github.com/rust-lang/crates.io-index" 2228 + checksum = "edaa21ab3701bfee5099ade5f7e1f84553fd19228cf332f13cd6e964bf59be18" 2229 + dependencies = [ 2230 + "html5ever", 2231 + "markup5ever", 2232 + "tendril", 2233 + "xml5ever", 2234 + ] 2235 + 2236 + [[package]] 2237 + name = "match-lookup" 2238 + version = "0.1.1" 2239 + source = "registry+https://github.com/rust-lang/crates.io-index" 2240 + checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" 2241 + dependencies = [ 2242 + "proc-macro2", 2243 + "quote", 2244 + "syn 1.0.109", 2245 + ] 2246 + 2247 + [[package]] 2248 + name = "matchers" 2249 + version = "0.2.0" 2250 + source = "registry+https://github.com/rust-lang/crates.io-index" 2251 + checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" 2252 + dependencies = [ 2253 + "regex-automata", 2254 + ] 2255 + 2256 + [[package]] 2257 + name = "matchit" 2258 + version = "0.8.4" 2259 + source = "registry+https://github.com/rust-lang/crates.io-index" 2260 + checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" 2261 + 2262 + [[package]] 2263 + name = "memchr" 2264 + version = "2.7.6" 2265 + source = "registry+https://github.com/rust-lang/crates.io-index" 2266 + checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 2267 + 2268 + [[package]] 2269 + name = "miette" 2270 + version = "7.6.0" 2271 + source = "registry+https://github.com/rust-lang/crates.io-index" 2272 + checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" 2273 + dependencies = [ 2274 + "cfg-if", 2275 + "miette-derive", 2276 + "unicode-width", 2277 + ] 2278 + 2279 + [[package]] 2280 + name = "miette-derive" 2281 + version = "7.6.0" 2282 + source = "registry+https://github.com/rust-lang/crates.io-index" 2283 + checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" 2284 + dependencies = [ 2285 + "proc-macro2", 2286 + "quote", 2287 + "syn 2.0.106", 2288 + ] 2289 + 2290 + [[package]] 2291 + name = "mime" 2292 + version = "0.3.17" 2293 + source = "registry+https://github.com/rust-lang/crates.io-index" 2294 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 2295 + 2296 + [[package]] 2297 + name = "mime_guess" 2298 + version = "2.0.5" 2299 + source = "registry+https://github.com/rust-lang/crates.io-index" 2300 + checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" 2301 + dependencies = [ 2302 + "mime", 2303 + "unicase", 2304 + ] 2305 + 2306 + [[package]] 2307 + name = "mini-moka" 2308 + version = "0.10.3" 2309 + source = "registry+https://github.com/rust-lang/crates.io-index" 2310 + checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" 2311 + dependencies = [ 2312 + "crossbeam-channel", 2313 + "crossbeam-utils", 2314 + "dashmap 5.5.3", 2315 + "skeptic", 2316 + "smallvec", 2317 + "tagptr", 2318 + "triomphe", 2319 + ] 2320 + 2321 + [[package]] 2322 + name = "minimal-lexical" 2323 + version = "0.2.1" 2324 + source = "registry+https://github.com/rust-lang/crates.io-index" 2325 + checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2326 + 2327 + [[package]] 2328 + name = "miniz_oxide" 2329 + version = "0.8.9" 2330 + source = "registry+https://github.com/rust-lang/crates.io-index" 2331 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 2332 + dependencies = [ 2333 + "adler2", 2334 + "simd-adler32", 2335 + ] 2336 + 2337 + [[package]] 2338 + name = "mio" 2339 + version = "1.0.4" 2340 + source = "registry+https://github.com/rust-lang/crates.io-index" 2341 + checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 2342 + dependencies = [ 2343 + "libc", 2344 + "wasi", 2345 + "windows-sys 0.59.0", 2346 + ] 2347 + 2348 + [[package]] 2349 + name = "multibase" 2350 + version = "0.9.2" 2351 + source = "registry+https://github.com/rust-lang/crates.io-index" 2352 + checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" 2353 + dependencies = [ 2354 + "base-x", 2355 + "base256emoji", 2356 + "data-encoding", 2357 + "data-encoding-macro", 2358 + ] 2359 + 2360 + [[package]] 2361 + name = "multihash" 2362 + version = "0.19.3" 2363 + source = "registry+https://github.com/rust-lang/crates.io-index" 2364 + checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" 2365 + dependencies = [ 2366 + "core2", 2367 + "serde", 2368 + "unsigned-varint", 2369 + ] 2370 + 2371 + [[package]] 2372 + name = "multipart" 2373 + version = "0.18.0" 2374 + source = "registry+https://github.com/rust-lang/crates.io-index" 2375 + checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" 2376 + dependencies = [ 2377 + "buf_redux", 2378 + "httparse", 2379 + "log", 2380 + "mime", 2381 + "mime_guess", 2382 + "quick-error", 2383 + "rand 0.8.5", 2384 + "safemem", 2385 + "tempfile", 2386 + "twoway", 2387 + ] 2388 + 2389 + [[package]] 2390 + name = "n0-future" 2391 + version = "0.1.3" 2392 + source = "registry+https://github.com/rust-lang/crates.io-index" 2393 + checksum = "7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794" 2394 + dependencies = [ 2395 + "cfg_aliases", 2396 + "derive_more", 2397 + "futures-buffered", 2398 + "futures-lite", 2399 + "futures-util", 2400 + "js-sys", 2401 + "pin-project", 2402 + "send_wrapper", 2403 + "tokio", 2404 + "tokio-util", 2405 + "wasm-bindgen", 2406 + "wasm-bindgen-futures", 2407 + "web-time", 2408 + ] 2409 + 2410 + [[package]] 2411 + name = "n0-future" 2412 + version = "0.3.1" 2413 + source = "registry+https://github.com/rust-lang/crates.io-index" 2414 + checksum = "8c0709ac8235ce13b82bc4d180ee3c42364b90c1a8a628c3422d991d75a728b5" 2415 + dependencies = [ 2416 + "cfg_aliases", 2417 + "derive_more", 2418 + "futures-buffered", 2419 + "futures-lite", 2420 + "futures-util", 2421 + "js-sys", 2422 + "pin-project", 2423 + "send_wrapper", 2424 + "tokio", 2425 + "tokio-util", 2426 + "wasm-bindgen", 2427 + "wasm-bindgen-futures", 2428 + "web-time", 2429 + ] 2430 + 2431 + [[package]] 2432 + name = "ndk-context" 2433 + version = "0.1.1" 2434 + source = "registry+https://github.com/rust-lang/crates.io-index" 2435 + checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 2436 + 2437 + [[package]] 2438 + name = "new_debug_unreachable" 2439 + version = "1.0.6" 2440 + source = "registry+https://github.com/rust-lang/crates.io-index" 2441 + checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" 2442 + 2443 + [[package]] 2444 + name = "nom" 2445 + version = "7.1.3" 2446 + source = "registry+https://github.com/rust-lang/crates.io-index" 2447 + checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 2448 + dependencies = [ 2449 + "memchr", 2450 + "minimal-lexical", 2451 + ] 2452 + 2453 + [[package]] 2454 + name = "nu-ansi-term" 2455 + version = "0.50.3" 2456 + source = "registry+https://github.com/rust-lang/crates.io-index" 2457 + checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 2458 + dependencies = [ 2459 + "windows-sys 0.61.1", 2460 + ] 2461 + 2462 + [[package]] 2463 + name = "num-bigint-dig" 2464 + version = "0.8.6" 2465 + source = "registry+https://github.com/rust-lang/crates.io-index" 2466 + checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" 2467 + dependencies = [ 2468 + "lazy_static", 2469 + "libm", 2470 + "num-integer", 2471 + "num-iter", 2472 + "num-traits", 2473 + "rand 0.8.5", 2474 + "smallvec", 2475 + "zeroize", 2476 + ] 2477 + 2478 + [[package]] 2479 + name = "num-conv" 2480 + version = "0.1.0" 2481 + source = "registry+https://github.com/rust-lang/crates.io-index" 2482 + checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 2483 + 2484 + [[package]] 2485 + name = "num-integer" 2486 + version = "0.1.46" 2487 + source = "registry+https://github.com/rust-lang/crates.io-index" 2488 + checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 2489 + dependencies = [ 2490 + "num-traits", 2491 + ] 2492 + 2493 + [[package]] 2494 + name = "num-iter" 2495 + version = "0.1.45" 2496 + source = "registry+https://github.com/rust-lang/crates.io-index" 2497 + checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 2498 + dependencies = [ 2499 + "autocfg", 2500 + "num-integer", 2501 + "num-traits", 2502 + ] 2503 + 2504 + [[package]] 2505 + name = "num-traits" 2506 + version = "0.2.19" 2507 + source = "registry+https://github.com/rust-lang/crates.io-index" 2508 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 2509 + dependencies = [ 2510 + "autocfg", 2511 + "libm", 2512 + ] 2513 + 2514 + [[package]] 2515 + name = "num_cpus" 2516 + version = "1.17.0" 2517 + source = "registry+https://github.com/rust-lang/crates.io-index" 2518 + checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" 2519 + dependencies = [ 2520 + "hermit-abi", 2521 + "libc", 2522 + ] 2523 + 2524 + [[package]] 2525 + name = "num_threads" 2526 + version = "0.1.7" 2527 + source = "registry+https://github.com/rust-lang/crates.io-index" 2528 + checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 2529 + dependencies = [ 2530 + "libc", 2531 + ] 2532 + 2533 + [[package]] 2534 + name = "objc2" 2535 + version = "0.6.3" 2536 + source = "registry+https://github.com/rust-lang/crates.io-index" 2537 + checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" 2538 + dependencies = [ 2539 + "objc2-encode", 2540 + ] 2541 + 2542 + [[package]] 2543 + name = "objc2-encode" 2544 + version = "4.1.0" 2545 + source = "registry+https://github.com/rust-lang/crates.io-index" 2546 + checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" 2547 + 2548 + [[package]] 2549 + name = "objc2-foundation" 2550 + version = "0.3.2" 2551 + source = "registry+https://github.com/rust-lang/crates.io-index" 2552 + checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" 2553 + dependencies = [ 2554 + "bitflags", 2555 + "objc2", 2556 + ] 2557 + 2558 + [[package]] 2559 + name = "object" 2560 + version = "0.37.3" 2561 + source = "registry+https://github.com/rust-lang/crates.io-index" 2562 + checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" 2563 + dependencies = [ 2564 + "memchr", 2565 + ] 2566 + 2567 + [[package]] 2568 + name = "once_cell" 2569 + version = "1.21.3" 2570 + source = "registry+https://github.com/rust-lang/crates.io-index" 2571 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 2572 + 2573 + [[package]] 2574 + name = "once_cell_polyfill" 2575 + version = "1.70.2" 2576 + source = "registry+https://github.com/rust-lang/crates.io-index" 2577 + checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" 2578 + 2579 + [[package]] 2580 + name = "openssl-probe" 2581 + version = "0.1.6" 2582 + source = "registry+https://github.com/rust-lang/crates.io-index" 2583 + checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 2584 + 2585 + [[package]] 2586 + name = "ouroboros" 2587 + version = "0.18.5" 2588 + source = "registry+https://github.com/rust-lang/crates.io-index" 2589 + checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" 2590 + dependencies = [ 2591 + "aliasable", 2592 + "ouroboros_macro", 2593 + "static_assertions", 2594 + ] 2595 + 2596 + [[package]] 2597 + name = "ouroboros_macro" 2598 + version = "0.18.5" 2599 + source = "registry+https://github.com/rust-lang/crates.io-index" 2600 + checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" 2601 + dependencies = [ 2602 + "heck 0.4.1", 2603 + "proc-macro2", 2604 + "proc-macro2-diagnostics", 2605 + "quote", 2606 + "syn 2.0.106", 2607 + ] 2608 + 2609 + [[package]] 2610 + name = "p256" 2611 + version = "0.13.2" 2612 + source = "registry+https://github.com/rust-lang/crates.io-index" 2613 + checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" 2614 + dependencies = [ 2615 + "ecdsa", 2616 + "elliptic-curve", 2617 + "primeorder", 2618 + "sha2", 2619 + ] 2620 + 2621 + [[package]] 2622 + name = "p384" 2623 + version = "0.13.1" 2624 + source = "registry+https://github.com/rust-lang/crates.io-index" 2625 + checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" 2626 + dependencies = [ 2627 + "elliptic-curve", 2628 + "primeorder", 2629 + ] 2630 + 2631 + [[package]] 2632 + name = "parking" 2633 + version = "2.2.1" 2634 + source = "registry+https://github.com/rust-lang/crates.io-index" 2635 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 2636 + 2637 + [[package]] 2638 + name = "parking_lot" 2639 + version = "0.12.5" 2640 + source = "registry+https://github.com/rust-lang/crates.io-index" 2641 + checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 2642 + dependencies = [ 2643 + "lock_api", 2644 + "parking_lot_core", 2645 + ] 2646 + 2647 + [[package]] 2648 + name = "parking_lot_core" 2649 + version = "0.9.12" 2650 + source = "registry+https://github.com/rust-lang/crates.io-index" 2651 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 2652 + dependencies = [ 2653 + "cfg-if", 2654 + "libc", 2655 + "redox_syscall", 2656 + "smallvec", 2657 + "windows-link 0.2.0", 2658 + ] 2659 + 2660 + [[package]] 2661 + name = "pem-rfc7468" 2662 + version = "0.7.0" 2663 + source = "registry+https://github.com/rust-lang/crates.io-index" 2664 + checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 2665 + dependencies = [ 2666 + "base64ct", 2667 + ] 2668 + 2669 + [[package]] 2670 + name = "percent-encoding" 2671 + version = "2.3.2" 2672 + source = "registry+https://github.com/rust-lang/crates.io-index" 2673 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 2674 + 2675 + [[package]] 2676 + name = "phf" 2677 + version = "0.11.3" 2678 + source = "registry+https://github.com/rust-lang/crates.io-index" 2679 + checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 2680 + dependencies = [ 2681 + "phf_shared", 2682 + ] 2683 + 2684 + [[package]] 2685 + name = "phf_codegen" 2686 + version = "0.11.3" 2687 + source = "registry+https://github.com/rust-lang/crates.io-index" 2688 + checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 2689 + dependencies = [ 2690 + "phf_generator", 2691 + "phf_shared", 2692 + ] 2693 + 2694 + [[package]] 2695 + name = "phf_generator" 2696 + version = "0.11.3" 2697 + source = "registry+https://github.com/rust-lang/crates.io-index" 2698 + checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 2699 + dependencies = [ 2700 + "phf_shared", 2701 + "rand 0.8.5", 2702 + ] 2703 + 2704 + [[package]] 2705 + name = "phf_shared" 2706 + version = "0.11.3" 2707 + source = "registry+https://github.com/rust-lang/crates.io-index" 2708 + checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 2709 + dependencies = [ 2710 + "siphasher", 2711 + ] 2712 + 2713 + [[package]] 2714 + name = "pin-project" 2715 + version = "1.1.10" 2716 + source = "registry+https://github.com/rust-lang/crates.io-index" 2717 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 2718 + dependencies = [ 2719 + "pin-project-internal", 2720 + ] 2721 + 2722 + [[package]] 2723 + name = "pin-project-internal" 2724 + version = "1.1.10" 2725 + source = "registry+https://github.com/rust-lang/crates.io-index" 2726 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 2727 + dependencies = [ 2728 + "proc-macro2", 2729 + "quote", 2730 + "syn 2.0.106", 2731 + ] 2732 + 2733 + [[package]] 2734 + name = "pin-project-lite" 2735 + version = "0.2.16" 2736 + source = "registry+https://github.com/rust-lang/crates.io-index" 2737 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 2738 + 2739 + [[package]] 2740 + name = "pin-utils" 2741 + version = "0.1.0" 2742 + source = "registry+https://github.com/rust-lang/crates.io-index" 2743 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2744 + 2745 + [[package]] 2746 + name = "pkcs1" 2747 + version = "0.7.5" 2748 + source = "registry+https://github.com/rust-lang/crates.io-index" 2749 + checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 2750 + dependencies = [ 2751 + "der", 2752 + "pkcs8", 2753 + "spki", 2754 + ] 2755 + 2756 + [[package]] 2757 + name = "pkcs8" 2758 + version = "0.10.2" 2759 + source = "registry+https://github.com/rust-lang/crates.io-index" 2760 + checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 2761 + dependencies = [ 2762 + "der", 2763 + "spki", 2764 + ] 2765 + 2766 + [[package]] 2767 + name = "potential_utf" 2768 + version = "0.1.4" 2769 + source = "registry+https://github.com/rust-lang/crates.io-index" 2770 + checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 2771 + dependencies = [ 2772 + "zerovec", 2773 + ] 2774 + 2775 + [[package]] 2776 + name = "powerfmt" 2777 + version = "0.2.0" 2778 + source = "registry+https://github.com/rust-lang/crates.io-index" 2779 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 2780 + 2781 + [[package]] 2782 + name = "ppv-lite86" 2783 + version = "0.2.21" 2784 + source = "registry+https://github.com/rust-lang/crates.io-index" 2785 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 2786 + dependencies = [ 2787 + "zerocopy", 2788 + ] 2789 + 2790 + [[package]] 2791 + name = "precomputed-hash" 2792 + version = "0.1.1" 2793 + source = "registry+https://github.com/rust-lang/crates.io-index" 2794 + checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 2795 + 2796 + [[package]] 2797 + name = "prettyplease" 2798 + version = "0.2.37" 2799 + source = "registry+https://github.com/rust-lang/crates.io-index" 2800 + checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 2801 + dependencies = [ 2802 + "proc-macro2", 2803 + "syn 2.0.106", 2804 + ] 2805 + 2806 + [[package]] 2807 + name = "primeorder" 2808 + version = "0.13.6" 2809 + source = "registry+https://github.com/rust-lang/crates.io-index" 2810 + checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" 2811 + dependencies = [ 2812 + "elliptic-curve", 2813 + ] 2814 + 2815 + [[package]] 2816 + name = "proc-macro-error" 2817 + version = "1.0.4" 2818 + source = "registry+https://github.com/rust-lang/crates.io-index" 2819 + checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 2820 + dependencies = [ 2821 + "proc-macro-error-attr", 2822 + "proc-macro2", 2823 + "quote", 2824 + "syn 1.0.109", 2825 + "version_check", 2826 + ] 2827 + 2828 + [[package]] 2829 + name = "proc-macro-error-attr" 2830 + version = "1.0.4" 2831 + source = "registry+https://github.com/rust-lang/crates.io-index" 2832 + checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2833 + dependencies = [ 2834 + "proc-macro2", 2835 + "quote", 2836 + "version_check", 2837 + ] 2838 + 2839 + [[package]] 2840 + name = "proc-macro2" 2841 + version = "1.0.101" 2842 + source = "registry+https://github.com/rust-lang/crates.io-index" 2843 + checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" 2844 + dependencies = [ 2845 + "unicode-ident", 2846 + ] 2847 + 2848 + [[package]] 2849 + name = "proc-macro2-diagnostics" 2850 + version = "0.10.1" 2851 + source = "registry+https://github.com/rust-lang/crates.io-index" 2852 + checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" 2853 + dependencies = [ 2854 + "proc-macro2", 2855 + "quote", 2856 + "syn 2.0.106", 2857 + "version_check", 2858 + "yansi", 2859 + ] 2860 + 2861 + [[package]] 2862 + name = "pulldown-cmark" 2863 + version = "0.9.6" 2864 + source = "registry+https://github.com/rust-lang/crates.io-index" 2865 + checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" 2866 + dependencies = [ 2867 + "bitflags", 2868 + "memchr", 2869 + "unicase", 2870 + ] 2871 + 2872 + [[package]] 2873 + name = "quick-error" 2874 + version = "1.2.3" 2875 + source = "registry+https://github.com/rust-lang/crates.io-index" 2876 + checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" 2877 + 2878 + [[package]] 2879 + name = "quinn" 2880 + version = "0.11.9" 2881 + source = "registry+https://github.com/rust-lang/crates.io-index" 2882 + checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" 2883 + dependencies = [ 2884 + "bytes", 2885 + "cfg_aliases", 2886 + "pin-project-lite", 2887 + "quinn-proto", 2888 + "quinn-udp", 2889 + "rustc-hash", 2890 + "rustls", 2891 + "socket2 0.6.0", 2892 + "thiserror 2.0.17", 2893 + "tokio", 2894 + "tracing", 2895 + "web-time", 2896 + ] 2897 + 2898 + [[package]] 2899 + name = "quinn-proto" 2900 + version = "0.11.13" 2901 + source = "registry+https://github.com/rust-lang/crates.io-index" 2902 + checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" 2903 + dependencies = [ 2904 + "bytes", 2905 + "getrandom 0.3.4", 2906 + "lru-slab", 2907 + "rand 0.9.2", 2908 + "ring", 2909 + "rustc-hash", 2910 + "rustls", 2911 + "rustls-pki-types", 2912 + "slab", 2913 + "thiserror 2.0.17", 2914 + "tinyvec", 2915 + "tracing", 2916 + "web-time", 2917 + ] 2918 + 2919 + [[package]] 2920 + name = "quinn-udp" 2921 + version = "0.5.14" 2922 + source = "registry+https://github.com/rust-lang/crates.io-index" 2923 + checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" 2924 + dependencies = [ 2925 + "cfg_aliases", 2926 + "libc", 2927 + "once_cell", 2928 + "socket2 0.6.0", 2929 + "tracing", 2930 + "windows-sys 0.60.2", 2931 + ] 2932 + 2933 + [[package]] 2934 + name = "quote" 2935 + version = "1.0.41" 2936 + source = "registry+https://github.com/rust-lang/crates.io-index" 2937 + checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" 2938 + dependencies = [ 2939 + "proc-macro2", 2940 + ] 2941 + 2942 + [[package]] 2943 + name = "r-efi" 2944 + version = "5.3.0" 2945 + source = "registry+https://github.com/rust-lang/crates.io-index" 2946 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 2947 + 2948 + [[package]] 2949 + name = "rand" 2950 + version = "0.8.5" 2951 + source = "registry+https://github.com/rust-lang/crates.io-index" 2952 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2953 + dependencies = [ 2954 + "libc", 2955 + "rand_chacha 0.3.1", 2956 + "rand_core 0.6.4", 2957 + ] 2958 + 2959 + [[package]] 2960 + name = "rand" 2961 + version = "0.9.2" 2962 + source = "registry+https://github.com/rust-lang/crates.io-index" 2963 + checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" 2964 + dependencies = [ 2965 + "rand_chacha 0.9.0", 2966 + "rand_core 0.9.3", 2967 + ] 2968 + 2969 + [[package]] 2970 + name = "rand_chacha" 2971 + version = "0.3.1" 2972 + source = "registry+https://github.com/rust-lang/crates.io-index" 2973 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2974 + dependencies = [ 2975 + "ppv-lite86", 2976 + "rand_core 0.6.4", 2977 + ] 2978 + 2979 + [[package]] 2980 + name = "rand_chacha" 2981 + version = "0.9.0" 2982 + source = "registry+https://github.com/rust-lang/crates.io-index" 2983 + checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 2984 + dependencies = [ 2985 + "ppv-lite86", 2986 + "rand_core 0.9.3", 2987 + ] 2988 + 2989 + [[package]] 2990 + name = "rand_core" 2991 + version = "0.6.4" 2992 + source = "registry+https://github.com/rust-lang/crates.io-index" 2993 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2994 + dependencies = [ 2995 + "getrandom 0.2.16", 2996 + ] 2997 + 2998 + [[package]] 2999 + name = "rand_core" 3000 + version = "0.9.3" 3001 + source = "registry+https://github.com/rust-lang/crates.io-index" 3002 + checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 3003 + dependencies = [ 3004 + "getrandom 0.3.4", 3005 + ] 3006 + 3007 + [[package]] 3008 + name = "range-traits" 3009 + version = "0.3.2" 3010 + source = "registry+https://github.com/rust-lang/crates.io-index" 3011 + checksum = "d20581732dd76fa913c7dff1a2412b714afe3573e94d41c34719de73337cc8ab" 3012 + 3013 + [[package]] 3014 + name = "redox_syscall" 3015 + version = "0.5.17" 3016 + source = "registry+https://github.com/rust-lang/crates.io-index" 3017 + checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" 3018 + dependencies = [ 3019 + "bitflags", 3020 + ] 3021 + 3022 + [[package]] 3023 + name = "ref-cast" 3024 + version = "1.0.25" 3025 + source = "registry+https://github.com/rust-lang/crates.io-index" 3026 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 3027 + dependencies = [ 3028 + "ref-cast-impl", 3029 + ] 3030 + 3031 + [[package]] 3032 + name = "ref-cast-impl" 3033 + version = "1.0.25" 3034 + source = "registry+https://github.com/rust-lang/crates.io-index" 3035 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 3036 + dependencies = [ 3037 + "proc-macro2", 3038 + "quote", 3039 + "syn 2.0.106", 3040 + ] 3041 + 3042 + [[package]] 3043 + name = "regex" 3044 + version = "1.12.2" 3045 + source = "registry+https://github.com/rust-lang/crates.io-index" 3046 + checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" 3047 + dependencies = [ 3048 + "aho-corasick", 3049 + "memchr", 3050 + "regex-automata", 3051 + "regex-syntax", 3052 + ] 3053 + 3054 + [[package]] 3055 + name = "regex-automata" 3056 + version = "0.4.13" 3057 + source = "registry+https://github.com/rust-lang/crates.io-index" 3058 + checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" 3059 + dependencies = [ 3060 + "aho-corasick", 3061 + "memchr", 3062 + "regex-syntax", 3063 + ] 3064 + 3065 + [[package]] 3066 + name = "regex-lite" 3067 + version = "0.1.8" 3068 + source = "registry+https://github.com/rust-lang/crates.io-index" 3069 + checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" 3070 + 3071 + [[package]] 3072 + name = "regex-syntax" 3073 + version = "0.8.8" 3074 + source = "registry+https://github.com/rust-lang/crates.io-index" 3075 + checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" 3076 + 3077 + [[package]] 3078 + name = "reqwest" 3079 + version = "0.12.24" 3080 + source = "registry+https://github.com/rust-lang/crates.io-index" 3081 + checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" 3082 + dependencies = [ 3083 + "async-compression", 3084 + "base64 0.22.1", 3085 + "bytes", 3086 + "encoding_rs", 3087 + "futures-core", 3088 + "futures-util", 3089 + "h2", 3090 + "http", 3091 + "http-body", 3092 + "http-body-util", 3093 + "hyper", 3094 + "hyper-rustls", 3095 + "hyper-util", 3096 + "js-sys", 3097 + "log", 3098 + "mime", 3099 + "percent-encoding", 3100 + "pin-project-lite", 3101 + "quinn", 3102 + "rustls", 3103 + "rustls-pki-types", 3104 + "serde", 3105 + "serde_json", 3106 + "serde_urlencoded", 3107 + "sync_wrapper", 3108 + "tokio", 3109 + "tokio-rustls", 3110 + "tokio-util", 3111 + "tower", 3112 + "tower-http", 3113 + "tower-service", 3114 + "url", 3115 + "wasm-bindgen", 3116 + "wasm-bindgen-futures", 3117 + "wasm-streams", 3118 + "web-sys", 3119 + "webpki-roots", 3120 + ] 3121 + 3122 + [[package]] 3123 + name = "resolv-conf" 3124 + version = "0.7.6" 3125 + source = "registry+https://github.com/rust-lang/crates.io-index" 3126 + checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" 3127 + 3128 + [[package]] 3129 + name = "rfc6979" 3130 + version = "0.4.0" 3131 + source = "registry+https://github.com/rust-lang/crates.io-index" 3132 + checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" 3133 + dependencies = [ 3134 + "hmac", 3135 + "subtle", 3136 + ] 3137 + 3138 + [[package]] 3139 + name = "ring" 3140 + version = "0.17.14" 3141 + source = "registry+https://github.com/rust-lang/crates.io-index" 3142 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 3143 + dependencies = [ 3144 + "cc", 3145 + "cfg-if", 3146 + "getrandom 0.2.16", 3147 + "libc", 3148 + "untrusted", 3149 + "windows-sys 0.52.0", 3150 + ] 3151 + 3152 + [[package]] 3153 + name = "rouille" 3154 + version = "3.6.2" 3155 + source = "registry+https://github.com/rust-lang/crates.io-index" 3156 + checksum = "3716fbf57fc1084d7a706adf4e445298d123e4a44294c4e8213caf1b85fcc921" 3157 + dependencies = [ 3158 + "base64 0.13.1", 3159 + "brotli", 3160 + "chrono", 3161 + "deflate", 3162 + "filetime", 3163 + "multipart", 3164 + "percent-encoding", 3165 + "rand 0.8.5", 3166 + "serde", 3167 + "serde_derive", 3168 + "serde_json", 3169 + "sha1_smol", 3170 + "threadpool", 3171 + "time", 3172 + "tiny_http", 3173 + "url", 3174 + ] 3175 + 3176 + [[package]] 3177 + name = "rsa" 3178 + version = "0.9.9" 3179 + source = "registry+https://github.com/rust-lang/crates.io-index" 3180 + checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" 3181 + dependencies = [ 3182 + "const-oid", 3183 + "digest", 3184 + "num-bigint-dig", 3185 + "num-integer", 3186 + "num-traits", 3187 + "pkcs1", 3188 + "pkcs8", 3189 + "rand_core 0.6.4", 3190 + "signature", 3191 + "spki", 3192 + "subtle", 3193 + "zeroize", 3194 + ] 3195 + 3196 + [[package]] 3197 + name = "rustc-demangle" 3198 + version = "0.1.26" 3199 + source = "registry+https://github.com/rust-lang/crates.io-index" 3200 + checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 3201 + 3202 + [[package]] 3203 + name = "rustc-hash" 3204 + version = "2.1.1" 3205 + source = "registry+https://github.com/rust-lang/crates.io-index" 3206 + checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 3207 + 3208 + [[package]] 3209 + name = "rustix" 3210 + version = "1.1.2" 3211 + source = "registry+https://github.com/rust-lang/crates.io-index" 3212 + checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" 3213 + dependencies = [ 3214 + "bitflags", 3215 + "errno", 3216 + "libc", 3217 + "linux-raw-sys", 3218 + "windows-sys 0.61.1", 3219 + ] 3220 + 3221 + [[package]] 3222 + name = "rustls" 3223 + version = "0.23.35" 3224 + source = "registry+https://github.com/rust-lang/crates.io-index" 3225 + checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" 3226 + dependencies = [ 3227 + "once_cell", 3228 + "ring", 3229 + "rustls-pki-types", 3230 + "rustls-webpki", 3231 + "subtle", 3232 + "zeroize", 3233 + ] 3234 + 3235 + [[package]] 3236 + name = "rustls-native-certs" 3237 + version = "0.8.1" 3238 + source = "registry+https://github.com/rust-lang/crates.io-index" 3239 + checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" 3240 + dependencies = [ 3241 + "openssl-probe", 3242 + "rustls-pki-types", 3243 + "schannel", 3244 + "security-framework", 3245 + ] 3246 + 3247 + [[package]] 3248 + name = "rustls-pki-types" 3249 + version = "1.13.0" 3250 + source = "registry+https://github.com/rust-lang/crates.io-index" 3251 + checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" 3252 + dependencies = [ 3253 + "web-time", 3254 + "zeroize", 3255 + ] 3256 + 3257 + [[package]] 3258 + name = "rustls-webpki" 3259 + version = "0.103.8" 3260 + source = "registry+https://github.com/rust-lang/crates.io-index" 3261 + checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" 3262 + dependencies = [ 3263 + "ring", 3264 + "rustls-pki-types", 3265 + "untrusted", 3266 + ] 3267 + 3268 + [[package]] 3269 + name = "rustversion" 3270 + version = "1.0.22" 3271 + source = "registry+https://github.com/rust-lang/crates.io-index" 3272 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 3273 + 3274 + [[package]] 3275 + name = "ryu" 3276 + version = "1.0.20" 3277 + source = "registry+https://github.com/rust-lang/crates.io-index" 3278 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 3279 + 3280 + [[package]] 3281 + name = "safemem" 3282 + version = "0.3.3" 3283 + source = "registry+https://github.com/rust-lang/crates.io-index" 3284 + checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 3285 + 3286 + [[package]] 3287 + name = "same-file" 3288 + version = "1.0.6" 3289 + source = "registry+https://github.com/rust-lang/crates.io-index" 3290 + checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 3291 + dependencies = [ 3292 + "winapi-util", 3293 + ] 3294 + 3295 + [[package]] 3296 + name = "schannel" 3297 + version = "0.1.27" 3298 + source = "registry+https://github.com/rust-lang/crates.io-index" 3299 + checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 3300 + dependencies = [ 3301 + "windows-sys 0.59.0", 3302 + ] 3303 + 3304 + [[package]] 3305 + name = "schemars" 3306 + version = "0.9.0" 3307 + source = "registry+https://github.com/rust-lang/crates.io-index" 3308 + checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" 3309 + dependencies = [ 3310 + "dyn-clone", 3311 + "ref-cast", 3312 + "serde", 3313 + "serde_json", 3314 + ] 3315 + 3316 + [[package]] 3317 + name = "schemars" 3318 + version = "1.1.0" 3319 + source = "registry+https://github.com/rust-lang/crates.io-index" 3320 + checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" 3321 + dependencies = [ 3322 + "dyn-clone", 3323 + "ref-cast", 3324 + "serde", 3325 + "serde_json", 3326 + ] 3327 + 3328 + [[package]] 3329 + name = "scoped-tls" 3330 + version = "1.0.1" 3331 + source = "registry+https://github.com/rust-lang/crates.io-index" 3332 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 3333 + 3334 + [[package]] 3335 + name = "scopeguard" 3336 + version = "1.2.0" 3337 + source = "registry+https://github.com/rust-lang/crates.io-index" 3338 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 3339 + 3340 + [[package]] 3341 + name = "sec1" 3342 + version = "0.7.3" 3343 + source = "registry+https://github.com/rust-lang/crates.io-index" 3344 + checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" 3345 + dependencies = [ 3346 + "base16ct", 3347 + "der", 3348 + "generic-array", 3349 + "pkcs8", 3350 + "subtle", 3351 + "zeroize", 3352 + ] 3353 + 3354 + [[package]] 3355 + name = "security-framework" 3356 + version = "3.2.0" 3357 + source = "registry+https://github.com/rust-lang/crates.io-index" 3358 + checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" 3359 + dependencies = [ 3360 + "bitflags", 3361 + "core-foundation 0.10.1", 3362 + "core-foundation-sys", 3363 + "libc", 3364 + "security-framework-sys", 3365 + ] 3366 + 3367 + [[package]] 3368 + name = "security-framework-sys" 3369 + version = "2.14.0" 3370 + source = "registry+https://github.com/rust-lang/crates.io-index" 3371 + checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 3372 + dependencies = [ 3373 + "core-foundation-sys", 3374 + "libc", 3375 + ] 3376 + 3377 + [[package]] 3378 + name = "semver" 3379 + version = "1.0.27" 3380 + source = "registry+https://github.com/rust-lang/crates.io-index" 3381 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 3382 + dependencies = [ 3383 + "serde", 3384 + "serde_core", 3385 + ] 3386 + 3387 + [[package]] 3388 + name = "send_wrapper" 3389 + version = "0.6.0" 3390 + source = "registry+https://github.com/rust-lang/crates.io-index" 3391 + checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 3392 + 3393 + [[package]] 3394 + name = "serde" 3395 + version = "1.0.228" 3396 + source = "registry+https://github.com/rust-lang/crates.io-index" 3397 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 3398 + dependencies = [ 3399 + "serde_core", 3400 + "serde_derive", 3401 + ] 3402 + 3403 + [[package]] 3404 + name = "serde_bytes" 3405 + version = "0.11.19" 3406 + source = "registry+https://github.com/rust-lang/crates.io-index" 3407 + checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" 3408 + dependencies = [ 3409 + "serde", 3410 + "serde_core", 3411 + ] 3412 + 3413 + [[package]] 3414 + name = "serde_core" 3415 + version = "1.0.228" 3416 + source = "registry+https://github.com/rust-lang/crates.io-index" 3417 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 3418 + dependencies = [ 3419 + "serde_derive", 3420 + ] 3421 + 3422 + [[package]] 3423 + name = "serde_derive" 3424 + version = "1.0.228" 3425 + source = "registry+https://github.com/rust-lang/crates.io-index" 3426 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 3427 + dependencies = [ 3428 + "proc-macro2", 3429 + "quote", 3430 + "syn 2.0.106", 3431 + ] 3432 + 3433 + [[package]] 3434 + name = "serde_html_form" 3435 + version = "0.2.8" 3436 + source = "registry+https://github.com/rust-lang/crates.io-index" 3437 + checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" 3438 + dependencies = [ 3439 + "form_urlencoded", 3440 + "indexmap 2.12.1", 3441 + "itoa", 3442 + "ryu", 3443 + "serde_core", 3444 + ] 3445 + 3446 + [[package]] 3447 + name = "serde_ipld_dagcbor" 3448 + version = "0.6.4" 3449 + source = "registry+https://github.com/rust-lang/crates.io-index" 3450 + checksum = "46182f4f08349a02b45c998ba3215d3f9de826246ba02bb9dddfe9a2a2100778" 3451 + dependencies = [ 3452 + "cbor4ii", 3453 + "ipld-core", 3454 + "scopeguard", 3455 + "serde", 3456 + ] 3457 + 3458 + [[package]] 3459 + name = "serde_json" 3460 + version = "1.0.145" 3461 + source = "registry+https://github.com/rust-lang/crates.io-index" 3462 + checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 3463 + dependencies = [ 3464 + "itoa", 3465 + "memchr", 3466 + "ryu", 3467 + "serde", 3468 + "serde_core", 3469 + ] 3470 + 3471 + [[package]] 3472 + name = "serde_path_to_error" 3473 + version = "0.1.20" 3474 + source = "registry+https://github.com/rust-lang/crates.io-index" 3475 + checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" 3476 + dependencies = [ 3477 + "itoa", 3478 + "serde", 3479 + "serde_core", 3480 + ] 3481 + 3482 + [[package]] 3483 + name = "serde_repr" 3484 + version = "0.1.20" 3485 + source = "registry+https://github.com/rust-lang/crates.io-index" 3486 + checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" 3487 + dependencies = [ 3488 + "proc-macro2", 3489 + "quote", 3490 + "syn 2.0.106", 3491 + ] 3492 + 3493 + [[package]] 3494 + name = "serde_spanned" 3495 + version = "1.0.3" 3496 + source = "registry+https://github.com/rust-lang/crates.io-index" 3497 + checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" 3498 + dependencies = [ 3499 + "serde_core", 3500 + ] 3501 + 3502 + [[package]] 3503 + name = "serde_urlencoded" 3504 + version = "0.7.1" 3505 + source = "registry+https://github.com/rust-lang/crates.io-index" 3506 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 3507 + dependencies = [ 3508 + "form_urlencoded", 3509 + "itoa", 3510 + "ryu", 3511 + "serde", 3512 + ] 3513 + 3514 + [[package]] 3515 + name = "serde_with" 3516 + version = "3.16.0" 3517 + source = "registry+https://github.com/rust-lang/crates.io-index" 3518 + checksum = "10574371d41b0d9b2cff89418eda27da52bcaff2cc8741db26382a77c29131f1" 3519 + dependencies = [ 3520 + "base64 0.22.1", 3521 + "chrono", 3522 + "hex", 3523 + "indexmap 1.9.3", 3524 + "indexmap 2.12.1", 3525 + "schemars 0.9.0", 3526 + "schemars 1.1.0", 3527 + "serde_core", 3528 + "serde_json", 3529 + "serde_with_macros", 3530 + "time", 3531 + ] 3532 + 3533 + [[package]] 3534 + name = "serde_with_macros" 3535 + version = "3.16.0" 3536 + source = "registry+https://github.com/rust-lang/crates.io-index" 3537 + checksum = "08a72d8216842fdd57820dc78d840bef99248e35fb2554ff923319e60f2d686b" 3538 + dependencies = [ 3539 + "darling", 3540 + "proc-macro2", 3541 + "quote", 3542 + "syn 2.0.106", 3543 + ] 3544 + 3545 + [[package]] 3546 + name = "sha1" 3547 + version = "0.10.6" 3548 + source = "registry+https://github.com/rust-lang/crates.io-index" 3549 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 3550 + dependencies = [ 3551 + "cfg-if", 3552 + "cpufeatures", 3553 + "digest", 3554 + ] 3555 + 3556 + [[package]] 3557 + name = "sha1_smol" 3558 + version = "1.0.1" 3559 + source = "registry+https://github.com/rust-lang/crates.io-index" 3560 + checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" 3561 + 3562 + [[package]] 3563 + name = "sha2" 3564 + version = "0.10.9" 3565 + source = "registry+https://github.com/rust-lang/crates.io-index" 3566 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 3567 + dependencies = [ 3568 + "cfg-if", 3569 + "cpufeatures", 3570 + "digest", 3571 + ] 3572 + 3573 + [[package]] 3574 + name = "sharded-slab" 3575 + version = "0.1.7" 3576 + source = "registry+https://github.com/rust-lang/crates.io-index" 3577 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 3578 + dependencies = [ 3579 + "lazy_static", 3580 + ] 3581 + 3582 + [[package]] 3583 + name = "shlex" 3584 + version = "1.3.0" 3585 + source = "registry+https://github.com/rust-lang/crates.io-index" 3586 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 3587 + 3588 + [[package]] 3589 + name = "signal-hook-registry" 3590 + version = "1.4.6" 3591 + source = "registry+https://github.com/rust-lang/crates.io-index" 3592 + checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" 3593 + dependencies = [ 3594 + "libc", 3595 + ] 3596 + 3597 + [[package]] 3598 + name = "signature" 3599 + version = "2.2.0" 3600 + source = "registry+https://github.com/rust-lang/crates.io-index" 3601 + checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 3602 + dependencies = [ 3603 + "digest", 3604 + "rand_core 0.6.4", 3605 + ] 3606 + 3607 + [[package]] 3608 + name = "simd-adler32" 3609 + version = "0.3.7" 3610 + source = "registry+https://github.com/rust-lang/crates.io-index" 3611 + checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 3612 + 3613 + [[package]] 3614 + name = "siphasher" 3615 + version = "1.0.1" 3616 + source = "registry+https://github.com/rust-lang/crates.io-index" 3617 + checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 3618 + 3619 + [[package]] 3620 + name = "skeptic" 3621 + version = "0.13.7" 3622 + source = "registry+https://github.com/rust-lang/crates.io-index" 3623 + checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" 3624 + dependencies = [ 3625 + "bytecount", 3626 + "cargo_metadata", 3627 + "error-chain", 3628 + "glob", 3629 + "pulldown-cmark", 3630 + "tempfile", 3631 + "walkdir", 3632 + ] 3633 + 3634 + [[package]] 3635 + name = "slab" 3636 + version = "0.4.11" 3637 + source = "registry+https://github.com/rust-lang/crates.io-index" 3638 + checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" 3639 + 3640 + [[package]] 3641 + name = "smallvec" 3642 + version = "1.15.1" 3643 + source = "registry+https://github.com/rust-lang/crates.io-index" 3644 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 3645 + 3646 + [[package]] 3647 + name = "smol_str" 3648 + version = "0.3.2" 3649 + source = "registry+https://github.com/rust-lang/crates.io-index" 3650 + checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" 3651 + dependencies = [ 3652 + "borsh", 3653 + "serde", 3654 + ] 3655 + 3656 + [[package]] 3657 + name = "socket2" 3658 + version = "0.5.10" 3659 + source = "registry+https://github.com/rust-lang/crates.io-index" 3660 + checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" 3661 + dependencies = [ 3662 + "libc", 3663 + "windows-sys 0.52.0", 3664 + ] 3665 + 3666 + [[package]] 3667 + name = "socket2" 3668 + version = "0.6.0" 3669 + source = "registry+https://github.com/rust-lang/crates.io-index" 3670 + checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 3671 + dependencies = [ 3672 + "libc", 3673 + "windows-sys 0.59.0", 3674 + ] 3675 + 3676 + [[package]] 3677 + name = "spin" 3678 + version = "0.9.8" 3679 + source = "registry+https://github.com/rust-lang/crates.io-index" 3680 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 3681 + 3682 + [[package]] 3683 + name = "spin" 3684 + version = "0.10.0" 3685 + source = "registry+https://github.com/rust-lang/crates.io-index" 3686 + checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" 3687 + 3688 + [[package]] 3689 + name = "spki" 3690 + version = "0.7.3" 3691 + source = "registry+https://github.com/rust-lang/crates.io-index" 3692 + checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 3693 + dependencies = [ 3694 + "base64ct", 3695 + "der", 3696 + ] 3697 + 3698 + [[package]] 3699 + name = "stable_deref_trait" 3700 + version = "1.2.1" 3701 + source = "registry+https://github.com/rust-lang/crates.io-index" 3702 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 3703 + 3704 + [[package]] 3705 + name = "static-regular-grammar" 3706 + version = "2.0.2" 3707 + source = "registry+https://github.com/rust-lang/crates.io-index" 3708 + checksum = "4f4a6c40247579acfbb138c3cd7de3dab113ab4ac6227f1b7de7d626ee667957" 3709 + dependencies = [ 3710 + "abnf", 3711 + "btree-range-map", 3712 + "ciborium", 3713 + "hex_fmt", 3714 + "indoc", 3715 + "proc-macro-error", 3716 + "proc-macro2", 3717 + "quote", 3718 + "serde", 3719 + "sha2", 3720 + "syn 2.0.106", 3721 + "thiserror 1.0.69", 3722 + ] 3723 + 3724 + [[package]] 3725 + name = "static_assertions" 3726 + version = "1.1.0" 3727 + source = "registry+https://github.com/rust-lang/crates.io-index" 3728 + checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 3729 + 3730 + [[package]] 3731 + name = "string_cache" 3732 + version = "0.8.9" 3733 + source = "registry+https://github.com/rust-lang/crates.io-index" 3734 + checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" 3735 + dependencies = [ 3736 + "new_debug_unreachable", 3737 + "parking_lot", 3738 + "phf_shared", 3739 + "precomputed-hash", 3740 + "serde", 3741 + ] 3742 + 3743 + [[package]] 3744 + name = "string_cache_codegen" 3745 + version = "0.5.4" 3746 + source = "registry+https://github.com/rust-lang/crates.io-index" 3747 + checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" 3748 + dependencies = [ 3749 + "phf_generator", 3750 + "phf_shared", 3751 + "proc-macro2", 3752 + "quote", 3753 + ] 3754 + 3755 + [[package]] 3756 + name = "strsim" 3757 + version = "0.11.1" 3758 + source = "registry+https://github.com/rust-lang/crates.io-index" 3759 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 3760 + 3761 + [[package]] 3762 + name = "subtle" 3763 + version = "2.6.1" 3764 + source = "registry+https://github.com/rust-lang/crates.io-index" 3765 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 3766 + 3767 + [[package]] 3768 + name = "syn" 3769 + version = "1.0.109" 3770 + source = "registry+https://github.com/rust-lang/crates.io-index" 3771 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 3772 + dependencies = [ 3773 + "proc-macro2", 3774 + "quote", 3775 + "unicode-ident", 3776 + ] 3777 + 3778 + [[package]] 3779 + name = "syn" 3780 + version = "2.0.106" 3781 + source = "registry+https://github.com/rust-lang/crates.io-index" 3782 + checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" 3783 + dependencies = [ 3784 + "proc-macro2", 3785 + "quote", 3786 + "unicode-ident", 3787 + ] 3788 + 3789 + [[package]] 3790 + name = "sync_wrapper" 3791 + version = "1.0.2" 3792 + source = "registry+https://github.com/rust-lang/crates.io-index" 3793 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 3794 + dependencies = [ 3795 + "futures-core", 3796 + ] 3797 + 3798 + [[package]] 3799 + name = "synstructure" 3800 + version = "0.13.2" 3801 + source = "registry+https://github.com/rust-lang/crates.io-index" 3802 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 3803 + dependencies = [ 3804 + "proc-macro2", 3805 + "quote", 3806 + "syn 2.0.106", 3807 + ] 3808 + 3809 + [[package]] 3810 + name = "system-configuration" 3811 + version = "0.6.1" 3812 + source = "registry+https://github.com/rust-lang/crates.io-index" 3813 + checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 3814 + dependencies = [ 3815 + "bitflags", 3816 + "core-foundation 0.9.4", 3817 + "system-configuration-sys", 3818 + ] 3819 + 3820 + [[package]] 3821 + name = "system-configuration-sys" 3822 + version = "0.6.0" 3823 + source = "registry+https://github.com/rust-lang/crates.io-index" 3824 + checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 3825 + dependencies = [ 3826 + "core-foundation-sys", 3827 + "libc", 3828 + ] 3829 + 3830 + [[package]] 3831 + name = "tagptr" 3832 + version = "0.2.0" 3833 + source = "registry+https://github.com/rust-lang/crates.io-index" 3834 + checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 3835 + 3836 + [[package]] 3837 + name = "tempfile" 3838 + version = "3.23.0" 3839 + source = "registry+https://github.com/rust-lang/crates.io-index" 3840 + checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" 3841 + dependencies = [ 3842 + "fastrand", 3843 + "getrandom 0.3.4", 3844 + "once_cell", 3845 + "rustix", 3846 + "windows-sys 0.61.1", 3847 + ] 3848 + 3849 + [[package]] 3850 + name = "tendril" 3851 + version = "0.4.3" 3852 + source = "registry+https://github.com/rust-lang/crates.io-index" 3853 + checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 3854 + dependencies = [ 3855 + "futf", 3856 + "mac", 3857 + "utf-8", 3858 + ] 3859 + 3860 + [[package]] 3861 + name = "thiserror" 3862 + version = "1.0.69" 3863 + source = "registry+https://github.com/rust-lang/crates.io-index" 3864 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 3865 + dependencies = [ 3866 + "thiserror-impl 1.0.69", 3867 + ] 3868 + 3869 + [[package]] 3870 + name = "thiserror" 3871 + version = "2.0.17" 3872 + source = "registry+https://github.com/rust-lang/crates.io-index" 3873 + checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" 3874 + dependencies = [ 3875 + "thiserror-impl 2.0.17", 3876 + ] 3877 + 3878 + [[package]] 3879 + name = "thiserror-impl" 3880 + version = "1.0.69" 3881 + source = "registry+https://github.com/rust-lang/crates.io-index" 3882 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 3883 + dependencies = [ 3884 + "proc-macro2", 3885 + "quote", 3886 + "syn 2.0.106", 3887 + ] 3888 + 3889 + [[package]] 3890 + name = "thiserror-impl" 3891 + version = "2.0.17" 3892 + source = "registry+https://github.com/rust-lang/crates.io-index" 3893 + checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" 3894 + dependencies = [ 3895 + "proc-macro2", 3896 + "quote", 3897 + "syn 2.0.106", 3898 + ] 3899 + 3900 + [[package]] 3901 + name = "thread_local" 3902 + version = "1.1.9" 3903 + source = "registry+https://github.com/rust-lang/crates.io-index" 3904 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 3905 + dependencies = [ 3906 + "cfg-if", 3907 + ] 3908 + 3909 + [[package]] 3910 + name = "threadpool" 3911 + version = "1.8.1" 3912 + source = "registry+https://github.com/rust-lang/crates.io-index" 3913 + checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" 3914 + dependencies = [ 3915 + "num_cpus", 3916 + ] 3917 + 3918 + [[package]] 3919 + name = "time" 3920 + version = "0.3.44" 3921 + source = "registry+https://github.com/rust-lang/crates.io-index" 3922 + checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" 3923 + dependencies = [ 3924 + "deranged", 3925 + "itoa", 3926 + "libc", 3927 + "num-conv", 3928 + "num_threads", 3929 + "powerfmt", 3930 + "serde", 3931 + "time-core", 3932 + "time-macros", 3933 + ] 3934 + 3935 + [[package]] 3936 + name = "time-core" 3937 + version = "0.1.6" 3938 + source = "registry+https://github.com/rust-lang/crates.io-index" 3939 + checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" 3940 + 3941 + [[package]] 3942 + name = "time-macros" 3943 + version = "0.2.24" 3944 + source = "registry+https://github.com/rust-lang/crates.io-index" 3945 + checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" 3946 + dependencies = [ 3947 + "num-conv", 3948 + "time-core", 3949 + ] 3950 + 3951 + [[package]] 3952 + name = "tiny_http" 3953 + version = "0.12.0" 3954 + source = "registry+https://github.com/rust-lang/crates.io-index" 3955 + checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82" 3956 + dependencies = [ 3957 + "ascii", 3958 + "chunked_transfer", 3959 + "httpdate", 3960 + "log", 3961 + ] 3962 + 3963 + [[package]] 3964 + name = "tinystr" 3965 + version = "0.8.2" 3966 + source = "registry+https://github.com/rust-lang/crates.io-index" 3967 + checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 3968 + dependencies = [ 3969 + "displaydoc", 3970 + "zerovec", 3971 + ] 3972 + 3973 + [[package]] 3974 + name = "tinyvec" 3975 + version = "1.10.0" 3976 + source = "registry+https://github.com/rust-lang/crates.io-index" 3977 + checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 3978 + dependencies = [ 3979 + "tinyvec_macros", 3980 + ] 3981 + 3982 + [[package]] 3983 + name = "tinyvec_macros" 3984 + version = "0.1.1" 3985 + source = "registry+https://github.com/rust-lang/crates.io-index" 3986 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 3987 + 3988 + [[package]] 3989 + name = "tokio" 3990 + version = "1.47.1" 3991 + source = "registry+https://github.com/rust-lang/crates.io-index" 3992 + checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 3993 + dependencies = [ 3994 + "backtrace", 3995 + "bytes", 3996 + "io-uring", 3997 + "libc", 3998 + "mio", 3999 + "parking_lot", 4000 + "pin-project-lite", 4001 + "signal-hook-registry", 4002 + "slab", 4003 + "socket2 0.6.0", 4004 + "tokio-macros", 4005 + "windows-sys 0.59.0", 4006 + ] 4007 + 4008 + [[package]] 4009 + name = "tokio-macros" 4010 + version = "2.5.0" 4011 + source = "registry+https://github.com/rust-lang/crates.io-index" 4012 + checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 4013 + dependencies = [ 4014 + "proc-macro2", 4015 + "quote", 4016 + "syn 2.0.106", 4017 + ] 4018 + 4019 + [[package]] 4020 + name = "tokio-rustls" 4021 + version = "0.26.4" 4022 + source = "registry+https://github.com/rust-lang/crates.io-index" 4023 + checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 4024 + dependencies = [ 4025 + "rustls", 4026 + "tokio", 4027 + ] 4028 + 4029 + [[package]] 4030 + name = "tokio-tungstenite" 4031 + version = "0.24.0" 4032 + source = "registry+https://github.com/rust-lang/crates.io-index" 4033 + checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" 4034 + dependencies = [ 4035 + "futures-util", 4036 + "log", 4037 + "rustls", 4038 + "rustls-native-certs", 4039 + "rustls-pki-types", 4040 + "tokio", 4041 + "tokio-rustls", 4042 + "tungstenite 0.24.0", 4043 + ] 4044 + 4045 + [[package]] 4046 + name = "tokio-tungstenite" 4047 + version = "0.28.0" 4048 + source = "registry+https://github.com/rust-lang/crates.io-index" 4049 + checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" 4050 + dependencies = [ 4051 + "futures-util", 4052 + "log", 4053 + "tokio", 4054 + "tungstenite 0.28.0", 4055 + ] 4056 + 4057 + [[package]] 4058 + name = "tokio-tungstenite-wasm" 4059 + version = "0.4.0" 4060 + source = "registry+https://github.com/rust-lang/crates.io-index" 4061 + checksum = "e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae" 4062 + dependencies = [ 4063 + "futures-channel", 4064 + "futures-util", 4065 + "http", 4066 + "httparse", 4067 + "js-sys", 4068 + "rustls", 4069 + "thiserror 1.0.69", 4070 + "tokio", 4071 + "tokio-tungstenite 0.24.0", 4072 + "wasm-bindgen", 4073 + "web-sys", 4074 + ] 4075 + 4076 + [[package]] 4077 + name = "tokio-util" 4078 + version = "0.7.17" 4079 + source = "registry+https://github.com/rust-lang/crates.io-index" 4080 + checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" 4081 + dependencies = [ 4082 + "bytes", 4083 + "futures-core", 4084 + "futures-sink", 4085 + "futures-util", 4086 + "pin-project-lite", 4087 + "tokio", 4088 + ] 4089 + 4090 + [[package]] 4091 + name = "toml" 4092 + version = "0.9.8" 4093 + source = "registry+https://github.com/rust-lang/crates.io-index" 4094 + checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" 4095 + dependencies = [ 4096 + "indexmap 2.12.1", 4097 + "serde_core", 4098 + "serde_spanned", 4099 + "toml_datetime", 4100 + "toml_parser", 4101 + "toml_writer", 4102 + "winnow", 4103 + ] 4104 + 4105 + [[package]] 4106 + name = "toml_datetime" 4107 + version = "0.7.3" 4108 + source = "registry+https://github.com/rust-lang/crates.io-index" 4109 + checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" 4110 + dependencies = [ 4111 + "serde_core", 4112 + ] 4113 + 4114 + [[package]] 4115 + name = "toml_parser" 4116 + version = "1.0.4" 4117 + source = "registry+https://github.com/rust-lang/crates.io-index" 4118 + checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" 4119 + dependencies = [ 4120 + "winnow", 4121 + ] 4122 + 4123 + [[package]] 4124 + name = "toml_writer" 4125 + version = "1.0.4" 4126 + source = "registry+https://github.com/rust-lang/crates.io-index" 4127 + checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" 4128 + 4129 + [[package]] 4130 + name = "tower" 4131 + version = "0.5.2" 4132 + source = "registry+https://github.com/rust-lang/crates.io-index" 4133 + checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 4134 + dependencies = [ 4135 + "futures-core", 4136 + "futures-util", 4137 + "pin-project-lite", 4138 + "sync_wrapper", 4139 + "tokio", 4140 + "tower-layer", 4141 + "tower-service", 4142 + "tracing", 4143 + ] 4144 + 4145 + [[package]] 4146 + name = "tower-http" 4147 + version = "0.6.7" 4148 + source = "registry+https://github.com/rust-lang/crates.io-index" 4149 + checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" 4150 + dependencies = [ 4151 + "bitflags", 4152 + "bytes", 4153 + "futures-util", 4154 + "http", 4155 + "http-body", 4156 + "iri-string", 4157 + "pin-project-lite", 4158 + "tower", 4159 + "tower-layer", 4160 + "tower-service", 4161 + ] 4162 + 4163 + [[package]] 4164 + name = "tower-layer" 4165 + version = "0.3.3" 4166 + source = "registry+https://github.com/rust-lang/crates.io-index" 4167 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 4168 + 4169 + [[package]] 4170 + name = "tower-service" 4171 + version = "0.3.3" 4172 + source = "registry+https://github.com/rust-lang/crates.io-index" 4173 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 4174 + 4175 + [[package]] 4176 + name = "tracing" 4177 + version = "0.1.41" 4178 + source = "registry+https://github.com/rust-lang/crates.io-index" 4179 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 4180 + dependencies = [ 4181 + "log", 4182 + "pin-project-lite", 4183 + "tracing-attributes", 4184 + "tracing-core", 4185 + ] 4186 + 4187 + [[package]] 4188 + name = "tracing-attributes" 4189 + version = "0.1.30" 4190 + source = "registry+https://github.com/rust-lang/crates.io-index" 4191 + checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" 4192 + dependencies = [ 4193 + "proc-macro2", 4194 + "quote", 4195 + "syn 2.0.106", 4196 + ] 4197 + 4198 + [[package]] 4199 + name = "tracing-core" 4200 + version = "0.1.34" 4201 + source = "registry+https://github.com/rust-lang/crates.io-index" 4202 + checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 4203 + dependencies = [ 4204 + "once_cell", 4205 + "valuable", 4206 + ] 4207 + 4208 + [[package]] 4209 + name = "tracing-log" 4210 + version = "0.2.0" 4211 + source = "registry+https://github.com/rust-lang/crates.io-index" 4212 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 4213 + dependencies = [ 4214 + "log", 4215 + "once_cell", 4216 + "tracing-core", 4217 + ] 4218 + 4219 + [[package]] 4220 + name = "tracing-subscriber" 4221 + version = "0.3.20" 4222 + source = "registry+https://github.com/rust-lang/crates.io-index" 4223 + checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" 4224 + dependencies = [ 4225 + "matchers", 4226 + "nu-ansi-term", 4227 + "once_cell", 4228 + "regex-automata", 4229 + "sharded-slab", 4230 + "smallvec", 4231 + "thread_local", 4232 + "tracing", 4233 + "tracing-core", 4234 + "tracing-log", 4235 + ] 4236 + 4237 + [[package]] 4238 + name = "trait-variant" 4239 + version = "0.1.2" 4240 + source = "registry+https://github.com/rust-lang/crates.io-index" 4241 + checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" 4242 + dependencies = [ 4243 + "proc-macro2", 4244 + "quote", 4245 + "syn 2.0.106", 4246 + ] 4247 + 4248 + [[package]] 4249 + name = "triomphe" 4250 + version = "0.1.15" 4251 + source = "registry+https://github.com/rust-lang/crates.io-index" 4252 + checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" 4253 + 4254 + [[package]] 4255 + name = "try-lock" 4256 + version = "0.2.5" 4257 + source = "registry+https://github.com/rust-lang/crates.io-index" 4258 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 4259 + 4260 + [[package]] 4261 + name = "tungstenite" 4262 + version = "0.24.0" 4263 + source = "registry+https://github.com/rust-lang/crates.io-index" 4264 + checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" 4265 + dependencies = [ 4266 + "byteorder", 4267 + "bytes", 4268 + "data-encoding", 4269 + "http", 4270 + "httparse", 4271 + "log", 4272 + "rand 0.8.5", 4273 + "rustls", 4274 + "rustls-pki-types", 4275 + "sha1", 4276 + "thiserror 1.0.69", 4277 + "utf-8", 4278 + ] 4279 + 4280 + [[package]] 4281 + name = "tungstenite" 4282 + version = "0.28.0" 4283 + source = "registry+https://github.com/rust-lang/crates.io-index" 4284 + checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" 4285 + dependencies = [ 4286 + "bytes", 4287 + "data-encoding", 4288 + "http", 4289 + "httparse", 4290 + "log", 4291 + "rand 0.9.2", 4292 + "sha1", 4293 + "thiserror 2.0.17", 4294 + "utf-8", 4295 + ] 4296 + 4297 + [[package]] 4298 + name = "twoway" 4299 + version = "0.1.8" 4300 + source = "registry+https://github.com/rust-lang/crates.io-index" 4301 + checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" 4302 + dependencies = [ 4303 + "memchr", 4304 + ] 4305 + 4306 + [[package]] 4307 + name = "typenum" 4308 + version = "1.19.0" 4309 + source = "registry+https://github.com/rust-lang/crates.io-index" 4310 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 4311 + 4312 + [[package]] 4313 + name = "unicase" 4314 + version = "2.8.1" 4315 + source = "registry+https://github.com/rust-lang/crates.io-index" 4316 + checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" 4317 + 4318 + [[package]] 4319 + name = "unicode-ident" 4320 + version = "1.0.19" 4321 + source = "registry+https://github.com/rust-lang/crates.io-index" 4322 + checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" 4323 + 4324 + [[package]] 4325 + name = "unicode-segmentation" 4326 + version = "1.12.0" 4327 + source = "registry+https://github.com/rust-lang/crates.io-index" 4328 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 4329 + 4330 + [[package]] 4331 + name = "unicode-width" 4332 + version = "0.1.14" 4333 + source = "registry+https://github.com/rust-lang/crates.io-index" 4334 + checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 4335 + 4336 + [[package]] 4337 + name = "unicode-xid" 4338 + version = "0.2.6" 4339 + source = "registry+https://github.com/rust-lang/crates.io-index" 4340 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 4341 + 4342 + [[package]] 4343 + name = "unsigned-varint" 4344 + version = "0.8.0" 4345 + source = "registry+https://github.com/rust-lang/crates.io-index" 4346 + checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 4347 + 4348 + [[package]] 4349 + name = "untrusted" 4350 + version = "0.9.0" 4351 + source = "registry+https://github.com/rust-lang/crates.io-index" 4352 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 4353 + 4354 + [[package]] 4355 + name = "url" 4356 + version = "2.5.7" 4357 + source = "registry+https://github.com/rust-lang/crates.io-index" 4358 + checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" 4359 + dependencies = [ 4360 + "form_urlencoded", 4361 + "idna", 4362 + "percent-encoding", 4363 + "serde", 4364 + ] 4365 + 4366 + [[package]] 4367 + name = "urlencoding" 4368 + version = "2.1.3" 4369 + source = "registry+https://github.com/rust-lang/crates.io-index" 4370 + checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 4371 + 4372 + [[package]] 4373 + name = "utf-8" 4374 + version = "0.7.6" 4375 + source = "registry+https://github.com/rust-lang/crates.io-index" 4376 + checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 4377 + 4378 + [[package]] 4379 + name = "utf8_iter" 4380 + version = "1.0.4" 4381 + source = "registry+https://github.com/rust-lang/crates.io-index" 4382 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 4383 + 4384 + [[package]] 4385 + name = "utf8parse" 4386 + version = "0.2.2" 4387 + source = "registry+https://github.com/rust-lang/crates.io-index" 4388 + checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 4389 + 4390 + [[package]] 4391 + name = "valuable" 4392 + version = "0.1.1" 4393 + source = "registry+https://github.com/rust-lang/crates.io-index" 4394 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 4395 + 4396 + [[package]] 4397 + name = "version_check" 4398 + version = "0.9.5" 4399 + source = "registry+https://github.com/rust-lang/crates.io-index" 4400 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 4401 + 4402 + [[package]] 4403 + name = "walkdir" 4404 + version = "2.5.0" 4405 + source = "registry+https://github.com/rust-lang/crates.io-index" 4406 + checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 4407 + dependencies = [ 4408 + "same-file", 4409 + "winapi-util", 4410 + ] 4411 + 4412 + [[package]] 4413 + name = "want" 4414 + version = "0.3.1" 4415 + source = "registry+https://github.com/rust-lang/crates.io-index" 4416 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 4417 + dependencies = [ 4418 + "try-lock", 4419 + ] 4420 + 4421 + [[package]] 4422 + name = "wasi" 4423 + version = "0.11.1+wasi-snapshot-preview1" 4424 + source = "registry+https://github.com/rust-lang/crates.io-index" 4425 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 4426 + 4427 + [[package]] 4428 + name = "wasip2" 4429 + version = "1.0.1+wasi-0.2.4" 4430 + source = "registry+https://github.com/rust-lang/crates.io-index" 4431 + checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" 4432 + dependencies = [ 4433 + "wit-bindgen", 4434 + ] 4435 + 4436 + [[package]] 4437 + name = "wasm-bindgen" 4438 + version = "0.2.105" 4439 + source = "registry+https://github.com/rust-lang/crates.io-index" 4440 + checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" 4441 + dependencies = [ 4442 + "cfg-if", 4443 + "once_cell", 4444 + "rustversion", 4445 + "wasm-bindgen-macro", 4446 + "wasm-bindgen-shared", 4447 + ] 4448 + 4449 + [[package]] 4450 + name = "wasm-bindgen-futures" 4451 + version = "0.4.55" 4452 + source = "registry+https://github.com/rust-lang/crates.io-index" 4453 + checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" 4454 + dependencies = [ 4455 + "cfg-if", 4456 + "js-sys", 4457 + "once_cell", 4458 + "wasm-bindgen", 4459 + "web-sys", 4460 + ] 4461 + 4462 + [[package]] 4463 + name = "wasm-bindgen-macro" 4464 + version = "0.2.105" 4465 + source = "registry+https://github.com/rust-lang/crates.io-index" 4466 + checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" 4467 + dependencies = [ 4468 + "quote", 4469 + "wasm-bindgen-macro-support", 4470 + ] 4471 + 4472 + [[package]] 4473 + name = "wasm-bindgen-macro-support" 4474 + version = "0.2.105" 4475 + source = "registry+https://github.com/rust-lang/crates.io-index" 4476 + checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" 4477 + dependencies = [ 4478 + "bumpalo", 4479 + "proc-macro2", 4480 + "quote", 4481 + "syn 2.0.106", 4482 + "wasm-bindgen-shared", 4483 + ] 4484 + 4485 + [[package]] 4486 + name = "wasm-bindgen-shared" 4487 + version = "0.2.105" 4488 + source = "registry+https://github.com/rust-lang/crates.io-index" 4489 + checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" 4490 + dependencies = [ 4491 + "unicode-ident", 4492 + ] 4493 + 4494 + [[package]] 4495 + name = "wasm-streams" 4496 + version = "0.4.2" 4497 + source = "registry+https://github.com/rust-lang/crates.io-index" 4498 + checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" 4499 + dependencies = [ 4500 + "futures-util", 4501 + "js-sys", 4502 + "wasm-bindgen", 4503 + "wasm-bindgen-futures", 4504 + "web-sys", 4505 + ] 4506 + 4507 + [[package]] 4508 + name = "web-sys" 4509 + version = "0.3.82" 4510 + source = "registry+https://github.com/rust-lang/crates.io-index" 4511 + checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" 4512 + dependencies = [ 4513 + "js-sys", 4514 + "wasm-bindgen", 4515 + ] 4516 + 4517 + [[package]] 4518 + name = "web-time" 4519 + version = "1.1.0" 4520 + source = "registry+https://github.com/rust-lang/crates.io-index" 4521 + checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 4522 + dependencies = [ 4523 + "js-sys", 4524 + "wasm-bindgen", 4525 + ] 4526 + 4527 + [[package]] 4528 + name = "webbrowser" 4529 + version = "1.0.6" 4530 + source = "registry+https://github.com/rust-lang/crates.io-index" 4531 + checksum = "00f1243ef785213e3a32fa0396093424a3a6ea566f9948497e5a2309261a4c97" 4532 + dependencies = [ 4533 + "core-foundation 0.10.1", 4534 + "jni", 4535 + "log", 4536 + "ndk-context", 4537 + "objc2", 4538 + "objc2-foundation", 4539 + "url", 4540 + "web-sys", 4541 + ] 4542 + 4543 + [[package]] 4544 + name = "webpage" 4545 + version = "2.0.1" 4546 + source = "registry+https://github.com/rust-lang/crates.io-index" 4547 + checksum = "70862efc041d46e6bbaa82bb9c34ae0596d090e86cbd14bd9e93b36ee6802eac" 4548 + dependencies = [ 4549 + "html5ever", 4550 + "markup5ever_rcdom", 4551 + "serde_json", 4552 + "url", 4553 + ] 4554 + 4555 + [[package]] 4556 + name = "webpki-roots" 4557 + version = "1.0.4" 4558 + source = "registry+https://github.com/rust-lang/crates.io-index" 4559 + checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" 4560 + dependencies = [ 4561 + "rustls-pki-types", 4562 + ] 4563 + 4564 + [[package]] 4565 + name = "widestring" 4566 + version = "1.2.1" 4567 + source = "registry+https://github.com/rust-lang/crates.io-index" 4568 + checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" 4569 + 4570 + [[package]] 4571 + name = "winapi-util" 4572 + version = "0.1.11" 4573 + source = "registry+https://github.com/rust-lang/crates.io-index" 4574 + checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 4575 + dependencies = [ 4576 + "windows-sys 0.61.1", 4577 + ] 4578 + 4579 + [[package]] 4580 + name = "windows" 4581 + version = "0.61.3" 4582 + source = "registry+https://github.com/rust-lang/crates.io-index" 4583 + checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 4584 + dependencies = [ 4585 + "windows-collections", 4586 + "windows-core 0.61.2", 4587 + "windows-future", 4588 + "windows-link 0.1.3", 4589 + "windows-numerics", 4590 + ] 4591 + 4592 + [[package]] 4593 + name = "windows-collections" 4594 + version = "0.2.0" 4595 + source = "registry+https://github.com/rust-lang/crates.io-index" 4596 + checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 4597 + dependencies = [ 4598 + "windows-core 0.61.2", 4599 + ] 4600 + 4601 + [[package]] 4602 + name = "windows-core" 4603 + version = "0.61.2" 4604 + source = "registry+https://github.com/rust-lang/crates.io-index" 4605 + checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" 4606 + dependencies = [ 4607 + "windows-implement", 4608 + "windows-interface", 4609 + "windows-link 0.1.3", 4610 + "windows-result 0.3.4", 4611 + "windows-strings 0.4.2", 4612 + ] 4613 + 4614 + [[package]] 4615 + name = "windows-core" 4616 + version = "0.62.1" 4617 + source = "registry+https://github.com/rust-lang/crates.io-index" 4618 + checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" 4619 + dependencies = [ 4620 + "windows-implement", 4621 + "windows-interface", 4622 + "windows-link 0.2.0", 4623 + "windows-result 0.4.0", 4624 + "windows-strings 0.5.0", 4625 + ] 4626 + 4627 + [[package]] 4628 + name = "windows-future" 4629 + version = "0.2.1" 4630 + source = "registry+https://github.com/rust-lang/crates.io-index" 4631 + checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 4632 + dependencies = [ 4633 + "windows-core 0.61.2", 4634 + "windows-link 0.1.3", 4635 + "windows-threading", 4636 + ] 4637 + 4638 + [[package]] 4639 + name = "windows-implement" 4640 + version = "0.60.2" 4641 + source = "registry+https://github.com/rust-lang/crates.io-index" 4642 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 4643 + dependencies = [ 4644 + "proc-macro2", 4645 + "quote", 4646 + "syn 2.0.106", 4647 + ] 4648 + 4649 + [[package]] 4650 + name = "windows-interface" 4651 + version = "0.59.3" 4652 + source = "registry+https://github.com/rust-lang/crates.io-index" 4653 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 4654 + dependencies = [ 4655 + "proc-macro2", 4656 + "quote", 4657 + "syn 2.0.106", 4658 + ] 4659 + 4660 + [[package]] 4661 + name = "windows-link" 4662 + version = "0.1.3" 4663 + source = "registry+https://github.com/rust-lang/crates.io-index" 4664 + checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 4665 + 4666 + [[package]] 4667 + name = "windows-link" 4668 + version = "0.2.0" 4669 + source = "registry+https://github.com/rust-lang/crates.io-index" 4670 + checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" 4671 + 4672 + [[package]] 4673 + name = "windows-numerics" 4674 + version = "0.2.0" 4675 + source = "registry+https://github.com/rust-lang/crates.io-index" 4676 + checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 4677 + dependencies = [ 4678 + "windows-core 0.61.2", 4679 + "windows-link 0.1.3", 4680 + ] 4681 + 4682 + [[package]] 4683 + name = "windows-registry" 4684 + version = "0.5.3" 4685 + source = "registry+https://github.com/rust-lang/crates.io-index" 4686 + checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 4687 + dependencies = [ 4688 + "windows-link 0.1.3", 4689 + "windows-result 0.3.4", 4690 + "windows-strings 0.4.2", 4691 + ] 4692 + 4693 + [[package]] 4694 + name = "windows-result" 4695 + version = "0.3.4" 4696 + source = "registry+https://github.com/rust-lang/crates.io-index" 4697 + checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 4698 + dependencies = [ 4699 + "windows-link 0.1.3", 4700 + ] 4701 + 4702 + [[package]] 4703 + name = "windows-result" 4704 + version = "0.4.0" 4705 + source = "registry+https://github.com/rust-lang/crates.io-index" 4706 + checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" 4707 + dependencies = [ 4708 + "windows-link 0.2.0", 4709 + ] 4710 + 4711 + [[package]] 4712 + name = "windows-strings" 4713 + version = "0.4.2" 4714 + source = "registry+https://github.com/rust-lang/crates.io-index" 4715 + checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 4716 + dependencies = [ 4717 + "windows-link 0.1.3", 4718 + ] 4719 + 4720 + [[package]] 4721 + name = "windows-strings" 4722 + version = "0.5.0" 4723 + source = "registry+https://github.com/rust-lang/crates.io-index" 4724 + checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" 4725 + dependencies = [ 4726 + "windows-link 0.2.0", 4727 + ] 4728 + 4729 + [[package]] 4730 + name = "windows-sys" 4731 + version = "0.45.0" 4732 + source = "registry+https://github.com/rust-lang/crates.io-index" 4733 + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 4734 + dependencies = [ 4735 + "windows-targets 0.42.2", 4736 + ] 4737 + 4738 + [[package]] 4739 + name = "windows-sys" 4740 + version = "0.48.0" 4741 + source = "registry+https://github.com/rust-lang/crates.io-index" 4742 + checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 4743 + dependencies = [ 4744 + "windows-targets 0.48.5", 4745 + ] 4746 + 4747 + [[package]] 4748 + name = "windows-sys" 4749 + version = "0.52.0" 4750 + source = "registry+https://github.com/rust-lang/crates.io-index" 4751 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 4752 + dependencies = [ 4753 + "windows-targets 0.52.6", 4754 + ] 4755 + 4756 + [[package]] 4757 + name = "windows-sys" 4758 + version = "0.59.0" 4759 + source = "registry+https://github.com/rust-lang/crates.io-index" 4760 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 4761 + dependencies = [ 4762 + "windows-targets 0.52.6", 4763 + ] 4764 + 4765 + [[package]] 4766 + name = "windows-sys" 4767 + version = "0.60.2" 4768 + source = "registry+https://github.com/rust-lang/crates.io-index" 4769 + checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 4770 + dependencies = [ 4771 + "windows-targets 0.53.4", 4772 + ] 4773 + 4774 + [[package]] 4775 + name = "windows-sys" 4776 + version = "0.61.1" 4777 + source = "registry+https://github.com/rust-lang/crates.io-index" 4778 + checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" 4779 + dependencies = [ 4780 + "windows-link 0.2.0", 4781 + ] 4782 + 4783 + [[package]] 4784 + name = "windows-targets" 4785 + version = "0.42.2" 4786 + source = "registry+https://github.com/rust-lang/crates.io-index" 4787 + checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 4788 + dependencies = [ 4789 + "windows_aarch64_gnullvm 0.42.2", 4790 + "windows_aarch64_msvc 0.42.2", 4791 + "windows_i686_gnu 0.42.2", 4792 + "windows_i686_msvc 0.42.2", 4793 + "windows_x86_64_gnu 0.42.2", 4794 + "windows_x86_64_gnullvm 0.42.2", 4795 + "windows_x86_64_msvc 0.42.2", 4796 + ] 4797 + 4798 + [[package]] 4799 + name = "windows-targets" 4800 + version = "0.48.5" 4801 + source = "registry+https://github.com/rust-lang/crates.io-index" 4802 + checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 4803 + dependencies = [ 4804 + "windows_aarch64_gnullvm 0.48.5", 4805 + "windows_aarch64_msvc 0.48.5", 4806 + "windows_i686_gnu 0.48.5", 4807 + "windows_i686_msvc 0.48.5", 4808 + "windows_x86_64_gnu 0.48.5", 4809 + "windows_x86_64_gnullvm 0.48.5", 4810 + "windows_x86_64_msvc 0.48.5", 4811 + ] 4812 + 4813 + [[package]] 4814 + name = "windows-targets" 4815 + version = "0.52.6" 4816 + source = "registry+https://github.com/rust-lang/crates.io-index" 4817 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 4818 + dependencies = [ 4819 + "windows_aarch64_gnullvm 0.52.6", 4820 + "windows_aarch64_msvc 0.52.6", 4821 + "windows_i686_gnu 0.52.6", 4822 + "windows_i686_gnullvm 0.52.6", 4823 + "windows_i686_msvc 0.52.6", 4824 + "windows_x86_64_gnu 0.52.6", 4825 + "windows_x86_64_gnullvm 0.52.6", 4826 + "windows_x86_64_msvc 0.52.6", 4827 + ] 4828 + 4829 + [[package]] 4830 + name = "windows-targets" 4831 + version = "0.53.4" 4832 + source = "registry+https://github.com/rust-lang/crates.io-index" 4833 + checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" 4834 + dependencies = [ 4835 + "windows-link 0.2.0", 4836 + "windows_aarch64_gnullvm 0.53.1", 4837 + "windows_aarch64_msvc 0.53.1", 4838 + "windows_i686_gnu 0.53.1", 4839 + "windows_i686_gnullvm 0.53.1", 4840 + "windows_i686_msvc 0.53.1", 4841 + "windows_x86_64_gnu 0.53.1", 4842 + "windows_x86_64_gnullvm 0.53.1", 4843 + "windows_x86_64_msvc 0.53.1", 4844 + ] 4845 + 4846 + [[package]] 4847 + name = "windows-threading" 4848 + version = "0.1.0" 4849 + source = "registry+https://github.com/rust-lang/crates.io-index" 4850 + checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" 4851 + dependencies = [ 4852 + "windows-link 0.1.3", 4853 + ] 4854 + 4855 + [[package]] 4856 + name = "windows_aarch64_gnullvm" 4857 + version = "0.42.2" 4858 + source = "registry+https://github.com/rust-lang/crates.io-index" 4859 + checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 4860 + 4861 + [[package]] 4862 + name = "windows_aarch64_gnullvm" 4863 + version = "0.48.5" 4864 + source = "registry+https://github.com/rust-lang/crates.io-index" 4865 + checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 4866 + 4867 + [[package]] 4868 + name = "windows_aarch64_gnullvm" 4869 + version = "0.52.6" 4870 + source = "registry+https://github.com/rust-lang/crates.io-index" 4871 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 4872 + 4873 + [[package]] 4874 + name = "windows_aarch64_gnullvm" 4875 + version = "0.53.1" 4876 + source = "registry+https://github.com/rust-lang/crates.io-index" 4877 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 4878 + 4879 + [[package]] 4880 + name = "windows_aarch64_msvc" 4881 + version = "0.42.2" 4882 + source = "registry+https://github.com/rust-lang/crates.io-index" 4883 + checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 4884 + 4885 + [[package]] 4886 + name = "windows_aarch64_msvc" 4887 + version = "0.48.5" 4888 + source = "registry+https://github.com/rust-lang/crates.io-index" 4889 + checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 4890 + 4891 + [[package]] 4892 + name = "windows_aarch64_msvc" 4893 + version = "0.52.6" 4894 + source = "registry+https://github.com/rust-lang/crates.io-index" 4895 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 4896 + 4897 + [[package]] 4898 + name = "windows_aarch64_msvc" 4899 + version = "0.53.1" 4900 + source = "registry+https://github.com/rust-lang/crates.io-index" 4901 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 4902 + 4903 + [[package]] 4904 + name = "windows_i686_gnu" 4905 + version = "0.42.2" 4906 + source = "registry+https://github.com/rust-lang/crates.io-index" 4907 + checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 4908 + 4909 + [[package]] 4910 + name = "windows_i686_gnu" 4911 + version = "0.48.5" 4912 + source = "registry+https://github.com/rust-lang/crates.io-index" 4913 + checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 4914 + 4915 + [[package]] 4916 + name = "windows_i686_gnu" 4917 + version = "0.52.6" 4918 + source = "registry+https://github.com/rust-lang/crates.io-index" 4919 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 4920 + 4921 + [[package]] 4922 + name = "windows_i686_gnu" 4923 + version = "0.53.1" 4924 + source = "registry+https://github.com/rust-lang/crates.io-index" 4925 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 4926 + 4927 + [[package]] 4928 + name = "windows_i686_gnullvm" 4929 + version = "0.52.6" 4930 + source = "registry+https://github.com/rust-lang/crates.io-index" 4931 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 4932 + 4933 + [[package]] 4934 + name = "windows_i686_gnullvm" 4935 + version = "0.53.1" 4936 + source = "registry+https://github.com/rust-lang/crates.io-index" 4937 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 4938 + 4939 + [[package]] 4940 + name = "windows_i686_msvc" 4941 + version = "0.42.2" 4942 + source = "registry+https://github.com/rust-lang/crates.io-index" 4943 + checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 4944 + 4945 + [[package]] 4946 + name = "windows_i686_msvc" 4947 + version = "0.48.5" 4948 + source = "registry+https://github.com/rust-lang/crates.io-index" 4949 + checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 4950 + 4951 + [[package]] 4952 + name = "windows_i686_msvc" 4953 + version = "0.52.6" 4954 + source = "registry+https://github.com/rust-lang/crates.io-index" 4955 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 4956 + 4957 + [[package]] 4958 + name = "windows_i686_msvc" 4959 + version = "0.53.1" 4960 + source = "registry+https://github.com/rust-lang/crates.io-index" 4961 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 4962 + 4963 + [[package]] 4964 + name = "windows_x86_64_gnu" 4965 + version = "0.42.2" 4966 + source = "registry+https://github.com/rust-lang/crates.io-index" 4967 + checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 4968 + 4969 + [[package]] 4970 + name = "windows_x86_64_gnu" 4971 + version = "0.48.5" 4972 + source = "registry+https://github.com/rust-lang/crates.io-index" 4973 + checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4974 + 4975 + [[package]] 4976 + name = "windows_x86_64_gnu" 4977 + version = "0.52.6" 4978 + source = "registry+https://github.com/rust-lang/crates.io-index" 4979 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 4980 + 4981 + [[package]] 4982 + name = "windows_x86_64_gnu" 4983 + version = "0.53.1" 4984 + source = "registry+https://github.com/rust-lang/crates.io-index" 4985 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 4986 + 4987 + [[package]] 4988 + name = "windows_x86_64_gnullvm" 4989 + version = "0.42.2" 4990 + source = "registry+https://github.com/rust-lang/crates.io-index" 4991 + checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 4992 + 4993 + [[package]] 4994 + name = "windows_x86_64_gnullvm" 4995 + version = "0.48.5" 4996 + source = "registry+https://github.com/rust-lang/crates.io-index" 4997 + checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4998 + 4999 + [[package]] 5000 + name = "windows_x86_64_gnullvm" 5001 + version = "0.52.6" 5002 + source = "registry+https://github.com/rust-lang/crates.io-index" 5003 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 5004 + 5005 + [[package]] 5006 + name = "windows_x86_64_gnullvm" 5007 + version = "0.53.1" 5008 + source = "registry+https://github.com/rust-lang/crates.io-index" 5009 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 5010 + 5011 + [[package]] 5012 + name = "windows_x86_64_msvc" 5013 + version = "0.42.2" 5014 + source = "registry+https://github.com/rust-lang/crates.io-index" 5015 + checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 5016 + 5017 + [[package]] 5018 + name = "windows_x86_64_msvc" 5019 + version = "0.48.5" 5020 + source = "registry+https://github.com/rust-lang/crates.io-index" 5021 + checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 5022 + 5023 + [[package]] 5024 + name = "windows_x86_64_msvc" 5025 + version = "0.52.6" 5026 + source = "registry+https://github.com/rust-lang/crates.io-index" 5027 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 5028 + 5029 + [[package]] 5030 + name = "windows_x86_64_msvc" 5031 + version = "0.53.1" 5032 + source = "registry+https://github.com/rust-lang/crates.io-index" 5033 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 5034 + 5035 + [[package]] 5036 + name = "winnow" 5037 + version = "0.7.13" 5038 + source = "registry+https://github.com/rust-lang/crates.io-index" 5039 + checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" 5040 + 5041 + [[package]] 5042 + name = "winreg" 5043 + version = "0.50.0" 5044 + source = "registry+https://github.com/rust-lang/crates.io-index" 5045 + checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 5046 + dependencies = [ 5047 + "cfg-if", 5048 + "windows-sys 0.48.0", 5049 + ] 5050 + 5051 + [[package]] 5052 + name = "wit-bindgen" 5053 + version = "0.46.0" 5054 + source = "registry+https://github.com/rust-lang/crates.io-index" 5055 + checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" 5056 + 5057 + [[package]] 5058 + name = "writeable" 5059 + version = "0.6.2" 5060 + source = "registry+https://github.com/rust-lang/crates.io-index" 5061 + checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 5062 + 5063 + [[package]] 5064 + name = "xml5ever" 5065 + version = "0.18.1" 5066 + source = "registry+https://github.com/rust-lang/crates.io-index" 5067 + checksum = "9bbb26405d8e919bc1547a5aa9abc95cbfa438f04844f5fdd9dc7596b748bf69" 5068 + dependencies = [ 5069 + "log", 5070 + "mac", 5071 + "markup5ever", 5072 + ] 5073 + 5074 + [[package]] 5075 + name = "yansi" 5076 + version = "1.0.1" 5077 + source = "registry+https://github.com/rust-lang/crates.io-index" 5078 + checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" 5079 + 5080 + [[package]] 5081 + name = "yoke" 5082 + version = "0.8.1" 5083 + source = "registry+https://github.com/rust-lang/crates.io-index" 5084 + checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" 5085 + dependencies = [ 5086 + "stable_deref_trait", 5087 + "yoke-derive", 5088 + "zerofrom", 5089 + ] 5090 + 5091 + [[package]] 5092 + name = "yoke-derive" 5093 + version = "0.8.1" 5094 + source = "registry+https://github.com/rust-lang/crates.io-index" 5095 + checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" 5096 + dependencies = [ 5097 + "proc-macro2", 5098 + "quote", 5099 + "syn 2.0.106", 5100 + "synstructure", 5101 + ] 5102 + 5103 + [[package]] 5104 + name = "zerocopy" 5105 + version = "0.8.30" 5106 + source = "registry+https://github.com/rust-lang/crates.io-index" 5107 + checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" 5108 + dependencies = [ 5109 + "zerocopy-derive", 5110 + ] 5111 + 5112 + [[package]] 5113 + name = "zerocopy-derive" 5114 + version = "0.8.30" 5115 + source = "registry+https://github.com/rust-lang/crates.io-index" 5116 + checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" 5117 + dependencies = [ 5118 + "proc-macro2", 5119 + "quote", 5120 + "syn 2.0.106", 5121 + ] 5122 + 5123 + [[package]] 5124 + name = "zerofrom" 5125 + version = "0.1.6" 5126 + source = "registry+https://github.com/rust-lang/crates.io-index" 5127 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 5128 + dependencies = [ 5129 + "zerofrom-derive", 5130 + ] 5131 + 5132 + [[package]] 5133 + name = "zerofrom-derive" 5134 + version = "0.1.6" 5135 + source = "registry+https://github.com/rust-lang/crates.io-index" 5136 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 5137 + dependencies = [ 5138 + "proc-macro2", 5139 + "quote", 5140 + "syn 2.0.106", 5141 + "synstructure", 5142 + ] 5143 + 5144 + [[package]] 5145 + name = "zeroize" 5146 + version = "1.8.2" 5147 + source = "registry+https://github.com/rust-lang/crates.io-index" 5148 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 5149 + dependencies = [ 5150 + "serde", 5151 + ] 5152 + 5153 + [[package]] 5154 + name = "zerotrie" 5155 + version = "0.2.3" 5156 + source = "registry+https://github.com/rust-lang/crates.io-index" 5157 + checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" 5158 + dependencies = [ 5159 + "displaydoc", 5160 + "yoke", 5161 + "zerofrom", 5162 + ] 5163 + 5164 + [[package]] 5165 + name = "zerovec" 5166 + version = "0.11.5" 5167 + source = "registry+https://github.com/rust-lang/crates.io-index" 5168 + checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 5169 + dependencies = [ 5170 + "yoke", 5171 + "zerofrom", 5172 + "zerovec-derive", 5173 + ] 5174 + 5175 + [[package]] 5176 + name = "zerovec-derive" 5177 + version = "0.11.2" 5178 + source = "registry+https://github.com/rust-lang/crates.io-index" 5179 + checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" 5180 + dependencies = [ 5181 + "proc-macro2", 5182 + "quote", 5183 + "syn 2.0.106", 5184 + ]
+20
Cargo.toml
··· 1 + [package] 2 + name = "knot-rs" 3 + version = "0.1.0" 4 + edition = "2024" 5 + 6 + [dependencies] 7 + anyhow = "1.0.100" 8 + axum = { version = "0.8.6", features = ["macros"] } 9 + clap = { version = "4.5.53", features = ["derive", "env"] } 10 + jacquard = { version = "0.9.3", features = ["streaming"] } 11 + jacquard-common = { version = "0.9.2", features = ["websocket"] } 12 + n0-future = "0.3.1" 13 + serde = { version = "1.0.228", features = ["derive"] } 14 + serde_json = "1.0.145" 15 + tokio = { version = "1.47.1", features = ["full"] } 16 + tokio-tungstenite = "0.28.0" 17 + toml = "0.9.8" 18 + tower-http = { version = "0.6.7", features = ["cors"] } 19 + tracing = "0.1.41" 20 + url = "2.5.7"
+7
README.md
··· 1 + # Knot-rs 2 + 3 + > \[WIP\] Tangled Knot written in rust 4 + 5 + > [!NOTE] This knot implementation doesn't support most xrpc methods because their types are currently depending on `go-git` package. [^1] 6 + 7 + [1]: https://tangled.org/@tangled.org/core/issues/311
+2
config.toml
··· 1 + hostname = "knot.tngl.boltless.dev" 2 + owner_did = "did:plc:tbkdvullnmltn4it5prrh6lf"
+78
src/cli.rs
··· 1 + use std::path::PathBuf; 2 + 3 + use clap::{Parser, Subcommand}; 4 + 5 + use crate::{cmd, config::ConfigBuilder}; 6 + 7 + #[derive(Parser)] 8 + #[command( 9 + author = "boltless.me", 10 + version, 11 + disable_version_flag = true, 12 + about = "Knot cli" 13 + )] 14 + pub struct Cli { 15 + /// Print version 16 + #[arg(short = 'v', long, action = clap::builder::ArgAction::Version)] 17 + version: (), 18 + 19 + /// config file path 20 + #[arg(short = 'c', long)] 21 + config: Option<PathBuf>, 22 + 23 + #[command(subcommand)] 24 + command: Commands, 25 + } 26 + 27 + #[derive(Subcommand, Clone)] 28 + enum Commands { 29 + /// run a knot server 30 + Daemon, 31 + /// fetch public keys from the knot server 32 + Keys { 33 + /// output format 34 + #[arg(long, default_value_t, value_enum)] 35 + output: cmd::keys::KeysOutputFormat, 36 + }, 37 + /// role-based access control for git over ssh (not for manual use) 38 + Guard { 39 + /// possible users accessing the repo 40 + #[arg(short = 'u', long, required = true)] 41 + users: Vec<String>, 42 + }, 43 + /// run git hooks 44 + #[command(subcommand)] 45 + Hook(HookCommands), 46 + } 47 + 48 + #[derive(Subcommand, Clone)] 49 + enum HookCommands { 50 + /// sends a post-recieve hook to the knot (waits for stdin) 51 + PostReceive { 52 + /// git user's did 53 + #[arg(long, required = true)] 54 + user: String, 55 + /// any push option from git 56 + #[arg(long)] 57 + push_options: Vec<String>, 58 + }, 59 + } 60 + 61 + pub async fn run() -> anyhow::Result<()> { 62 + let cli = Cli::parse(); 63 + 64 + let config_path = cli.config.unwrap_or("config.toml".into()); 65 + let config = ConfigBuilder::new(config_path)?.build()?; 66 + 67 + match cli.command { 68 + Commands::Daemon => cmd::daemon::daemon(config).await?, 69 + Commands::Keys { output } => cmd::keys::keys(output).await?, 70 + Commands::Guard { users } => cmd::guard::guard(users).await?, 71 + Commands::Hook(command) => match command { 72 + HookCommands::PostReceive { user, push_options } => { 73 + cmd::hook::post_receive(user, push_options).await? 74 + } 75 + }, 76 + } 77 + Ok(()) 78 + }
+6
src/cmd/daemon/events/mod.rs
··· 1 + use axum::{http::StatusCode, response::Response}; 2 + 3 + #[axum::debug_handler] 4 + pub(crate) async fn events() -> Result<Response, StatusCode> { 5 + unimplemented!() 6 + }
+21
src/cmd/daemon/git/mod.rs
··· 1 + use axum::{http::StatusCode, response::Response}; 2 + 3 + #[axum::debug_handler] 4 + pub(crate) async fn info_refs() -> Result<Response, StatusCode> { 5 + unimplemented!() 6 + } 7 + 8 + #[axum::debug_handler] 9 + pub(crate) async fn git_upload_pack() -> Result<Response, StatusCode> { 10 + unimplemented!() 11 + } 12 + 13 + #[axum::debug_handler] 14 + pub(crate) async fn git_receive_pack() -> Result<Response, StatusCode> { 15 + unimplemented!() 16 + } 17 + 18 + #[axum::debug_handler] 19 + pub(crate) async fn archive() -> Result<Response, StatusCode> { 20 + unimplemented!() 21 + }
+77
src/cmd/daemon/ingest.rs
··· 1 + use jacquard::jetstream::{CommitOperation, JetstreamMessage, JetstreamParams}; 2 + use jacquard_common::xrpc::{SubscriptionClient, TungsteniteSubscriptionClient}; 3 + use n0_future::StreamExt as _; 4 + use url::Url; 5 + 6 + // TODO: I'm not sure if I like jacquard api... but it works 7 + pub(crate) async fn start(url: Url) -> anyhow::Result<()> { 8 + let client = TungsteniteSubscriptionClient::from_base_uri(url); 9 + let params = JetstreamParams::new().build(); 10 + let stream = client.subscribe(&params).await?; 11 + 12 + let (_sink, mut messages) = stream.into_stream(); 13 + 14 + let (tx, mut rx) = tokio::sync::oneshot::channel(); 15 + tokio::spawn(async move { 16 + // TODO: use timeout instead 17 + tokio::signal::ctrl_c().await.ok(); 18 + let _ = tx.send(()); 19 + }); 20 + 21 + loop { 22 + tokio::select! { 23 + Some(result) = messages.next() => { 24 + match result { 25 + Ok(msg) => print_message(&msg), 26 + Err(e) => eprintln!("Error: {}", e), 27 + } 28 + } 29 + _ = &mut rx => { 30 + println!("\nShutting down..."); 31 + break; 32 + } 33 + } 34 + } 35 + 36 + Ok(()) 37 + } 38 + 39 + fn print_message(msg: &JetstreamMessage) { 40 + match msg { 41 + JetstreamMessage::Commit { 42 + did, 43 + time_us, 44 + commit, 45 + } => { 46 + let op = match commit.operation { 47 + CommitOperation::Create => "create", 48 + CommitOperation::Update => "update", 49 + CommitOperation::Delete => "delete", 50 + }; 51 + println!( 52 + "Commit | did={} time_us={} op={} collection={} rkey={} cid={:?}", 53 + did, time_us, op, commit.collection, commit.rkey, commit.cid 54 + ); 55 + } 56 + JetstreamMessage::Identity { 57 + did, 58 + time_us, 59 + identity, 60 + } => { 61 + println!( 62 + "Identity | did={} time_us={} handle={:?} seq={} time={}", 63 + did, time_us, identity.handle, identity.seq, identity.time 64 + ); 65 + } 66 + JetstreamMessage::Account { 67 + did, 68 + time_us, 69 + account, 70 + } => { 71 + println!( 72 + "Account | did={} time_us={} active={} seq={} time={} status={:?}", 73 + did, time_us, account.active, account.seq, account.time, account.status 74 + ); 75 + } 76 + } 77 + }
+64
src/cmd/daemon/mod.rs
··· 1 + mod git; 2 + mod events; 3 + mod xrpc; 4 + mod ingest; 5 + 6 + use axum::{ 7 + Router, 8 + http::{Method, StatusCode, header}, 9 + response::{IntoResponse as _, Response}, 10 + routing::{get, post}, 11 + }; 12 + use tower_http::cors::{Any, CorsLayer}; 13 + 14 + use crate::config; 15 + 16 + pub async fn daemon(config: config::Config) -> anyhow::Result<()> { 17 + tokio::select! { 18 + res = start_server(&config) => res, 19 + res = start_js_ingestor(&config) => res, 20 + } 21 + } 22 + 23 + async fn start_server(config: &config::Config) -> anyhow::Result<()> { 24 + let app = init_router(config); 25 + 26 + let listener = tokio::net::TcpListener::bind(config.listen_addr.clone()).await?; 27 + axum::serve(listener, app).await?; 28 + 29 + Ok(()) 30 + } 31 + 32 + async fn start_js_ingestor(config: &config::Config) -> anyhow::Result<()> { 33 + ingest::start(config.jetstream_endpoint.clone()).await 34 + } 35 + 36 + fn init_router(_config: &config::Config) -> Router { 37 + let cors = CorsLayer::new() 38 + .allow_methods([Method::GET, Method::POST]) 39 + .allow_headers([header::AUTHORIZATION, header::ACCEPT, header::CONTENT_TYPE]) 40 + .allow_origin(Any); 41 + 42 + Router::new() 43 + .route("/", get(index)) 44 + .nest("/{did}/{name}", { 45 + // git op routes 46 + Router::new() 47 + .route("/info/refs", get(git::info_refs)) 48 + .route("/git-upload-pack", post(git::git_upload_pack)) 49 + .route("/git-receive-pack", post(git::git_receive_pack)) 50 + .route("/archive", get(git::archive)) 51 + // .layer(redirect_handle) 52 + }) 53 + .nest("/xrpc", { 54 + Router::new() 55 + .route("/", get(index)) 56 + }) 57 + .route("/events", get(events::events)) 58 + .layer(cors) 59 + } 60 + 61 + #[axum::debug_handler] 62 + async fn index() -> Result<Response, StatusCode> { 63 + Ok("hello world. this is knot server".into_response()) 64 + }
src/cmd/daemon/xrpc/mod.rs

This is a binary file and will not be displayed.

+16
src/cmd/guard.rs
··· 1 + pub async fn guard(users: Vec<String>) -> anyhow::Result<()> { 2 + let Ok(ssh_command) = std::env::var("SSH_ORIGINAL_COMMAND") else { 3 + todo!("hello message"); 4 + }; 5 + 6 + let git_command = ""; 7 + let repo_owner = ""; 8 + let repo_name = ""; 9 + 10 + // 1. resolve repo owner ident 11 + // 2. get qualified repo path 12 + // 3. check permission 13 + // 4. execute git command with qualified repo path 14 + 15 + unimplemented!() 16 + }
+3
src/cmd/hook.rs
··· 1 + pub async fn post_receive(user: String, push_options: Vec<String>) -> anyhow::Result<()> { 2 + unimplemented!() 3 + }
+20
src/cmd/keys.rs
··· 1 + use clap::ValueEnum; 2 + use serde::Serialize; 3 + 4 + #[derive(Clone, Debug, Default, Serialize, ValueEnum)] 5 + #[serde(rename_all = "kebab-case")] 6 + pub enum KeysOutputFormat { 7 + #[default] 8 + Table, 9 + Json, 10 + /// Openssh authorized keys format 11 + AuthorizedKeys, 12 + } 13 + 14 + pub async fn keys(output: KeysOutputFormat) -> anyhow::Result<()> { 15 + // TODO: 16 + // 1. fetch all known keys with associated accounts from DB as `key->Vec<DID>` map 17 + // 2. generate authorized keys list, calling guard like this: 18 + // command="guard -u did:... -u did:..." 19 + unimplemented!() 20 + }
+4
src/cmd/mod.rs
··· 1 + pub mod keys; 2 + pub mod daemon; 3 + pub mod guard; 4 + pub mod hook;
+77
src/config/mod.rs
··· 1 + #![allow(dead_code)] 2 + 3 + use std::path::PathBuf; 4 + 5 + use serde::Deserialize; 6 + use url::Url; 7 + 8 + #[derive(Clone, Debug, Deserialize)] 9 + pub struct Config { 10 + /// legacy, maybe replace to did in future 11 + pub hostname: String, 12 + pub owner_did: String, 13 + pub listen_addr: String, 14 + /// path to store db, git-motd, etc 15 + pub data_dir: PathBuf, 16 + /// path to store git repositories 17 + pub data_repo_dir: PathBuf, 18 + pub plc_url: Url, 19 + pub jetstream_endpoint: Url, 20 + pub appview_endpoint: Url, 21 + 22 + pub git_user_name: String, 23 + pub git_user_email: String, 24 + // /// uhhhh do we need this? the default branch should be configured from user side 25 + // pub git_init_default_branch: String, 26 + } 27 + 28 + #[derive(Debug, Default, Deserialize)] 29 + pub struct ConfigBuilder { 30 + hostname: Option<String>, 31 + // TODO: use DID type instead 32 + owner_did: Option<String>, 33 + listen_addr: Option<String>, 34 + data_dir: Option<PathBuf>, 35 + data_repo_dir: Option<PathBuf>, 36 + 37 + plc_url: Option<Url>, 38 + jetstream_endpoint: Option<Url>, 39 + appview_endpoint: Option<Url>, 40 + git_user_name: Option<String>, 41 + git_user_email: Option<String>, 42 + } 43 + 44 + // TODO(boltless): maybe use bon-rs instead 45 + impl ConfigBuilder { 46 + pub fn new(path: PathBuf) -> anyhow::Result<Self> { 47 + if path.is_file() { 48 + Ok(toml::from_str(&std::fs::read_to_string(&path)?)?) 49 + } else { 50 + Ok(Self::default()) 51 + } 52 + } 53 + 54 + pub fn build(self) -> anyhow::Result<Config> { 55 + Ok(Config { 56 + hostname: self.hostname.unwrap(), 57 + owner_did: self.owner_did.unwrap(), 58 + listen_addr: self.listen_addr.unwrap_or("0.0.0.0:5555".to_string()), 59 + data_dir: self.data_dir.unwrap_or("/home/git".into()), 60 + data_repo_dir: self.data_repo_dir.unwrap_or("/home/git".into()), 61 + plc_url: self 62 + .plc_url 63 + .unwrap_or_else(|| Url::parse("https://plc.directory").unwrap()), 64 + jetstream_endpoint: self.jetstream_endpoint.unwrap_or_else(|| { 65 + Url::parse("wss://jetstream1.us-west.bsky.network").unwrap() 66 + }), 67 + appview_endpoint: self 68 + .appview_endpoint 69 + .unwrap_or_else(|| Url::parse("https://tangled.org").unwrap()), 70 + 71 + git_user_name: self.git_user_name.unwrap_or("Tangled".to_string()), 72 + git_user_email: self 73 + .git_user_email 74 + .unwrap_or("noreply@tangled.org".to_string()), 75 + }) 76 + } 77 + }
+8
src/main.rs
··· 1 + mod cli; 2 + mod cmd; 3 + mod config; 4 + 5 + #[tokio::main] 6 + async fn main() -> anyhow::Result<()> { 7 + crate::cli::run().await 8 + }