diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5447366540c2e..14d3c55ba3e42 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -5539,8 +5539,8 @@ "bzlTransitiveDigest": "tTZ5psFukCVz4oibDQ/H/c8PaeLW75dVz297sraRj+s=", "usagesDigest": "y4aUC1vjFIjeME0DElLEesiBkkV0CFaf+ApZNcEHC3Q=", "recordedFileInputs": { - "@@//third_party/rust/Cargo.lock": "1174b96ea73bc0976bad76e658fd1445510788585e34c4cafa9f0d61f535e2bf", - "@@//third_party/rust/Cargo.toml": "0ee40cf528f3ae57d9b0e5e27da36bff6dbd4e4baaef912a4278d2357d7a2686", + "@@//third_party/rust/Cargo.lock": "755a6337a5da1e5848fe504ad2ee26b968cf0cf4a0afd3eaab00fca2241dfc72", + "@@//third_party/rust/Cargo.toml": "cc98a3844885d2911b6518116cd1da5a561a244f95c1502a78fe6a260d177368", "@@//third_party/tock/Cargo.lock": "b5a7a833ae205f1e3697a510e97e3185b44b195d7a22879b4669bff95febd5c8", "@@//third_party/tock/Cargo.toml": "5a939bd934aef4775b65a82e678f1180ec00aa78cf214f6052cc82353c975cc4" }, @@ -5559,9 +5559,9 @@ "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo", "attributes": { "contents": { - "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"aes-0.8.3\",\n actual = \"@crate_index__aes-0.8.3//:aes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"aes\",\n actual = \"@crate_index__aes-0.8.3//:aes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anstyle-1.0.4\",\n actual = \"@crate_index__anstyle-1.0.4//:anstyle\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anstyle\",\n actual = \"@crate_index__anstyle-1.0.4//:anstyle\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.75\",\n actual = \"@crate_index__anyhow-1.0.75//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crate_index__anyhow-1.0.75//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec-0.7.4\",\n actual = \"@crate_index__arrayvec-0.7.4//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec\",\n actual = \"@crate_index__arrayvec-0.7.4//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"asn1-0.15.5\",\n actual = \"@crate_index__asn1-0.15.5//:asn1\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"asn1\",\n actual = \"@crate_index__asn1-0.15.5//:asn1\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64-0.21.5\",\n actual = \"@crate_index__base64-0.21.5//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64\",\n actual = \"@crate_index__base64-0.21.5//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64ct-1.6.0\",\n actual = \"@crate_index__base64ct-1.6.0//:base64ct\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64ct\",\n actual = \"@crate_index__base64ct-1.6.0//:base64ct\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitflags-2.4.0\",\n actual = \"@crate_index__bitflags-2.4.0//:bitflags\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitflags\",\n actual = \"@crate_index__bitflags-2.4.0//:bitflags\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitvec-1.0.1\",\n actual = \"@crate_index__bitvec-1.0.1//:bitvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitvec\",\n actual = \"@crate_index__bitvec-1.0.1//:bitvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"byteorder-1.5.0\",\n actual = \"@crate_index__byteorder-1.5.0//:byteorder\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"byteorder\",\n actual = \"@crate_index__byteorder-1.5.0//:byteorder\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono-0.4.40\",\n actual = \"@crate_index__chrono-0.4.40//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono\",\n actual = \"@crate_index__chrono-0.4.40//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ciborium-0.2.2\",\n actual = \"@crate_index__ciborium-0.2.2//:ciborium\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ciborium\",\n actual = \"@crate_index__ciborium-0.2.2//:ciborium\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.4.7\",\n actual = \"@crate_index__clap-4.4.7//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crate_index__clap-4.4.7//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-num-1.0.2\",\n actual = \"@crate_index__clap-num-1.0.2//:clap_num\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-num\",\n actual = \"@crate_index__clap-num-1.0.2//:clap_num\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"const-oid-0.9.6\",\n actual = \"@crate_index__const-oid-0.9.6//:const_oid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"const-oid\",\n actual = \"@crate_index__const-oid-0.9.6//:const_oid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"coset-0.3.8\",\n actual = \"@crate_index__coset-0.3.8//:coset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"coset\",\n actual = \"@crate_index__coset-0.3.8//:coset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"crc-3.0.1\",\n actual = \"@crate_index__crc-3.0.1//:crc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"crc\",\n actual = \"@crate_index__crc-3.0.1//:crc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-0.8.0\",\n actual = \"@crate_index__cryptoki-0.8.0//:cryptoki\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki\",\n actual = \"@crate_index__cryptoki-0.8.0//:cryptoki\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys-0.2.0\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:cryptoki_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:cryptoki_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys-binding-srcs\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:binding_srcs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"der-0.7.8\",\n actual = \"@crate_index__der-0.7.8//:der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"der\",\n actual = \"@crate_index__der-0.7.8//:der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"deser-hjson-2.1.0\",\n actual = \"@crate_index__deser-hjson-2.1.0//:deser_hjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"deser-hjson\",\n actual = \"@crate_index__deser-hjson-2.1.0//:deser_hjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"directories-5.0.1\",\n actual = \"@crate_index__directories-5.0.1//:directories\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"directories\",\n actual = \"@crate_index__directories-5.0.1//:directories\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ecdsa-0.16.9\",\n actual = \"@crate_index__ecdsa-0.16.9//:ecdsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ecdsa\",\n actual = \"@crate_index__ecdsa-0.16.9//:ecdsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elf-0.7.2\",\n actual = \"@crate_index__elf-0.7.2//:elf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elf\",\n actual = \"@crate_index__elf-0.7.2//:elf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elliptic-curve-0.13.8\",\n actual = \"@crate_index__elliptic-curve-0.13.8//:elliptic_curve\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elliptic-curve\",\n actual = \"@crate_index__elliptic-curve-0.13.8//:elliptic_curve\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"embedded-hal-1.0.0\",\n actual = \"@crate_index__embedded-hal-1.0.0//:embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"embedded-hal\",\n actual = \"@crate_index__embedded-hal-1.0.0//:embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger-0.10.0\",\n actual = \"@crate_index__env_logger-0.10.0//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger\",\n actual = \"@crate_index__env_logger-0.10.0//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"erased-serde-0.3.31\",\n actual = \"@crate_index__erased-serde-0.3.31//:erased_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"erased-serde\",\n actual = \"@crate_index__erased-serde-0.3.31//:erased_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types-0.3.2\",\n actual = \"@crate_index__foreign-types-0.3.2//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types\",\n actual = \"@crate_index__foreign-types-0.3.2//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-0.1.3\",\n actual = \"@crate_index__ftdi-0.1.3//:ftdi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi\",\n actual = \"@crate_index__ftdi-0.1.3//:ftdi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-embedded-hal-0.22.0\",\n actual = \"@crate_index__ftdi-embedded-hal-0.22.0//:ftdi_embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-embedded-hal\",\n actual = \"@crate_index__ftdi-embedded-hal-0.22.0//:ftdi_embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-mpsse-0.1.1\",\n actual = \"@crate_index__ftdi-mpsse-0.1.1//:ftdi_mpsse\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-mpsse\",\n actual = \"@crate_index__ftdi-mpsse-0.1.1//:ftdi_mpsse\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heck-0.4.1\",\n actual = \"@crate_index__heck-0.4.1//:heck\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heck\",\n actual = \"@crate_index__heck-0.4.1//:heck\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex-0.4.3\",\n actual = \"@crate_index__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex\",\n actual = \"@crate_index__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hmac-0.12.1\",\n actual = \"@crate_index__hmac-0.12.1//:hmac\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hmac\",\n actual = \"@crate_index__hmac-0.12.1//:hmac\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-2.1.0\",\n actual = \"@crate_index__humantime-2.1.0//:humantime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime\",\n actual = \"@crate_index__humantime-2.1.0//:humantime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-serde-1.1.1\",\n actual = \"@crate_index__humantime-serde-1.1.1//:humantime_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-serde\",\n actual = \"@crate_index__humantime-serde-1.1.1//:humantime_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indexmap-2.0.0\",\n actual = \"@crate_index__indexmap-2.0.0//:indexmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indexmap\",\n actual = \"@crate_index__indexmap-2.0.0//:indexmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.17.6\",\n actual = \"@crate_index__indicatif-0.17.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crate_index__indicatif-0.17.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indoc-2.0.4\",\n actual = \"@crate_index__indoc-2.0.4//:indoc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indoc\",\n actual = \"@crate_index__indoc-2.0.4//:indoc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inventory-0.3.17\",\n actual = \"@crate_index__inventory-0.3.17//:inventory\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inventory\",\n actual = \"@crate_index__inventory-0.3.17//:inventory\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools-0.13.0\",\n actual = \"@crate_index__itertools-0.13.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools\",\n actual = \"@crate_index__itertools-0.13.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libloading-0.8.3\",\n actual = \"@crate_index__libloading-0.8.3//:libloading\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libloading\",\n actual = \"@crate_index__libloading-0.8.3//:libloading\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log-0.4.20\",\n actual = \"@crate_index__log-0.4.20//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log\",\n actual = \"@crate_index__log-0.4.20//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mdbook-0.4.34\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mdbook\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr-2.6.4\",\n actual = \"@crate_index__memchr-2.6.4//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr\",\n actual = \"@crate_index__memchr-2.6.4//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memoffset-0.9.0\",\n actual = \"@crate_index__memoffset-0.9.0//:memoffset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memoffset\",\n actual = \"@crate_index__memoffset-0.9.0//:memoffset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-0.8.8\",\n actual = \"@crate_index__mio-0.8.8//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio\",\n actual = \"@crate_index__mio-0.8.8//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-signals-0.2.0\",\n actual = \"@crate_index__mio-signals-0.2.0//:mio_signals\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-signals\",\n actual = \"@crate_index__mio-signals-0.2.0//:mio_signals\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-dig-0.8.4\",\n actual = \"@crate_index__num-bigint-dig-0.8.4//:num_bigint_dig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-dig\",\n actual = \"@crate_index__num-bigint-dig-0.8.4//:num_bigint_dig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits-0.2.17\",\n actual = \"@crate_index__num-traits-0.2.17//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits\",\n actual = \"@crate_index__num-traits-0.2.17//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num_enum-0.7.0\",\n actual = \"@crate_index__num_enum-0.7.0//:num_enum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num_enum\",\n actual = \"@crate_index__num_enum-0.7.0//:num_enum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"object-0.36.7\",\n actual = \"@crate_index__object-0.36.7//:object\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"object\",\n actual = \"@crate_index__object-0.36.7//:object\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"once_cell-1.18.0\",\n actual = \"@crate_index__once_cell-1.18.0//:once_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"once_cell\",\n actual = \"@crate_index__once_cell-1.18.0//:once_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-0.10.64\",\n actual = \"@crate_index__openssl-0.10.64//:openssl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl\",\n actual = \"@crate_index__openssl-0.10.64//:openssl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-sys-0.9.102\",\n actual = \"@crate_index__openssl-sys-0.9.102//:openssl_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-sys\",\n actual = \"@crate_index__openssl-sys-0.9.102//:openssl_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p256-0.13.2\",\n actual = \"@crate_index__p256-0.13.2//:p256\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p256\",\n actual = \"@crate_index__p256-0.13.2//:p256\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p384-0.13.0\",\n actual = \"@crate_index__p384-0.13.0//:p384\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p384\",\n actual = \"@crate_index__p384-0.13.0//:p384\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste-1.0.14\",\n actual = \"@crate_index__paste-1.0.14//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste\",\n actual = \"@crate_index__paste-1.0.14//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pem-rfc7468-0.7.0\",\n actual = \"@crate_index__pem-rfc7468-0.7.0//:pem_rfc7468\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pem-rfc7468\",\n actual = \"@crate_index__pem-rfc7468-0.7.0//:pem_rfc7468\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest-2.7.3\",\n actual = \"@crate_index__pest-2.7.3//:pest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest\",\n actual = \"@crate_index__pest-2.7.3//:pest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest_derive-2.7.3\",\n actual = \"@crate_index__pest_derive-2.7.3//:pest_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest_derive\",\n actual = \"@crate_index__pest_derive-2.7.3//:pest_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2-1.0.95\",\n actual = \"@crate_index__proc-macro2-1.0.95//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2\",\n actual = \"@crate_index__proc-macro2-1.0.95//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote-1.0.40\",\n actual = \"@crate_index__quote-1.0.40//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote\",\n actual = \"@crate_index__quote-1.0.40//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.8.5\",\n actual = \"@crate_index__rand-0.8.5//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crate_index__rand-0.8.5//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand_chacha-0.3.1\",\n actual = \"@crate_index__rand_chacha-0.3.1//:rand_chacha\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand_chacha\",\n actual = \"@crate_index__rand_chacha-0.3.1//:rand_chacha\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex-1.9.4\",\n actual = \"@crate_index__regex-1.9.4//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex\",\n actual = \"@crate_index__regex-1.9.4//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reqwest-0.12.12\",\n actual = \"@crate_index__reqwest-0.12.12//:reqwest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reqwest\",\n actual = \"@crate_index__reqwest-0.12.12//:reqwest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ring-0.16.20\",\n actual = \"@crate_index__ring-0.16.20//:ring\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ring\",\n actual = \"@crate_index__ring-0.16.20//:ring\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-0.9.2\",\n actual = \"@crate_index__rsa-0.9.2//:rsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa\",\n actual = \"@crate_index__rsa-0.9.2//:rsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-der-0.3.0\",\n actual = \"@crate_index__rsa-der-0.3.0//:rsa_der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-der\",\n actual = \"@crate_index__rsa-der-0.3.0//:rsa_der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rusb-0.9.4\",\n actual = \"@crate_index__rusb-0.9.4//:rusb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rusb\",\n actual = \"@crate_index__rusb-0.9.4//:rusb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rust-crypto-0.2.36\",\n actual = \"@crate_index__rust-crypto-0.2.36//:crypto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rust-crypto\",\n actual = \"@crate_index__rust-crypto-0.2.36//:crypto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix-0.38.10\",\n actual = \"@crate_index__rustix-0.38.10//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix\",\n actual = \"@crate_index__rustix-0.38.10//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"scopeguard-1.2.0\",\n actual = \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"scopeguard\",\n actual = \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"secrecy-0.8.0\",\n actual = \"@crate_index__secrecy-0.8.0//:secrecy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"secrecy\",\n actual = \"@crate_index__secrecy-0.8.0//:secrecy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.219\",\n actual = \"@crate_index__serde-1.0.219//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crate_index__serde-1.0.219//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_bytes-0.11.12\",\n actual = \"@crate_index__serde_bytes-0.11.12//:serde_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_bytes\",\n actual = \"@crate_index__serde_bytes-0.11.12//:serde_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.107\",\n actual = \"@crate_index__serde_json-1.0.107//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crate_index__serde_json-1.0.107//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_with-3.4.0\",\n actual = \"@crate_index__serde_with-3.4.0//:serde_with\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_with\",\n actual = \"@crate_index__serde_with-3.4.0//:serde_with\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serialport-4.2.2\",\n actual = \"@crate_index__serialport-4.2.2//:serialport\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serialport\",\n actual = \"@crate_index__serialport-4.2.2//:serialport\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha2-0.10.7\",\n actual = \"@crate_index__sha2-0.10.7//:sha2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha2\",\n actual = \"@crate_index__sha2-0.10.7//:sha2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha3-0.10.8\",\n actual = \"@crate_index__sha3-0.10.8//:sha3\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha3\",\n actual = \"@crate_index__sha3-0.10.8//:sha3\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"shellwords-1.1.0\",\n actual = \"@crate_index__shellwords-1.1.0//:shellwords\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"shellwords\",\n actual = \"@crate_index__shellwords-1.1.0//:shellwords\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum-0.25.0\",\n actual = \"@crate_index__strum-0.25.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum\",\n actual = \"@crate_index__strum-0.25.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn-2.0.101\",\n actual = \"@crate_index__syn-2.0.101//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn\",\n actual = \"@crate_index__syn-2.0.101//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tar-0.4.40\",\n actual = \"@crate_index__tar-0.4.40//:tar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tar\",\n actual = \"@crate_index__tar-0.4.40//:tar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.8.0\",\n actual = \"@crate_index__tempfile-3.8.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crate_index__tempfile-3.8.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror-1.0.49\",\n actual = \"@crate_index__thiserror-1.0.49//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror\",\n actual = \"@crate_index__thiserror-1.0.49//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiny-keccak-2.0.2\",\n actual = \"@crate_index__tiny-keccak-2.0.2//:tiny_keccak\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiny-keccak\",\n actual = \"@crate_index__tiny-keccak-2.0.2//:tiny_keccak\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"typetag-0.2.20\",\n actual = \"@crate_index__typetag-0.2.20//:typetag\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"typetag\",\n actual = \"@crate_index__typetag-0.2.20//:typetag\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x509-cert-0.2.5\",\n actual = \"@crate_index__x509-cert-0.2.5//:x509_cert\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x509-cert\",\n actual = \"@crate_index__x509-cert-0.2.5//:x509_cert\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zerocopy-0.8.27\",\n actual = \"@crate_index__zerocopy-0.8.27//:zerocopy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zerocopy\",\n actual = \"@crate_index__zerocopy-0.8.27//:zerocopy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zeroize-1.8.1\",\n actual = \"@crate_index__zeroize-1.8.1//:zeroize\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zeroize\",\n actual = \"@crate_index__zeroize-1.8.1//:zeroize\",\n tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n name = \"mdbook__mdbook\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook__bin\",\n tags = [\"manual\"],\n)\n", + "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"addr2line-0.24.2\",\n actual = \"@crate_index__addr2line-0.24.2//:addr2line\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"addr2line\",\n actual = \"@crate_index__addr2line-0.24.2//:addr2line\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"aes-0.8.3\",\n actual = \"@crate_index__aes-0.8.3//:aes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"aes\",\n actual = \"@crate_index__aes-0.8.3//:aes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anstyle-1.0.4\",\n actual = \"@crate_index__anstyle-1.0.4//:anstyle\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anstyle\",\n actual = \"@crate_index__anstyle-1.0.4//:anstyle\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.75\",\n actual = \"@crate_index__anyhow-1.0.75//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crate_index__anyhow-1.0.75//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec-0.7.4\",\n actual = \"@crate_index__arrayvec-0.7.4//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec\",\n actual = \"@crate_index__arrayvec-0.7.4//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"asn1-0.15.5\",\n actual = \"@crate_index__asn1-0.15.5//:asn1\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"asn1\",\n actual = \"@crate_index__asn1-0.15.5//:asn1\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64-0.21.5\",\n actual = \"@crate_index__base64-0.21.5//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64\",\n actual = \"@crate_index__base64-0.21.5//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64ct-1.6.0\",\n actual = \"@crate_index__base64ct-1.6.0//:base64ct\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64ct\",\n actual = \"@crate_index__base64ct-1.6.0//:base64ct\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitflags-2.4.0\",\n actual = \"@crate_index__bitflags-2.4.0//:bitflags\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitflags\",\n actual = \"@crate_index__bitflags-2.4.0//:bitflags\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitvec-1.0.1\",\n actual = \"@crate_index__bitvec-1.0.1//:bitvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bitvec\",\n actual = \"@crate_index__bitvec-1.0.1//:bitvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"byteorder-1.5.0\",\n actual = \"@crate_index__byteorder-1.5.0//:byteorder\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"byteorder\",\n actual = \"@crate_index__byteorder-1.5.0//:byteorder\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono-0.4.40\",\n actual = \"@crate_index__chrono-0.4.40//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono\",\n actual = \"@crate_index__chrono-0.4.40//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ciborium-0.2.2\",\n actual = \"@crate_index__ciborium-0.2.2//:ciborium\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ciborium\",\n actual = \"@crate_index__ciborium-0.2.2//:ciborium\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.4.7\",\n actual = \"@crate_index__clap-4.4.7//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crate_index__clap-4.4.7//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-num-1.0.2\",\n actual = \"@crate_index__clap-num-1.0.2//:clap_num\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-num\",\n actual = \"@crate_index__clap-num-1.0.2//:clap_num\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"const-oid-0.9.6\",\n actual = \"@crate_index__const-oid-0.9.6//:const_oid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"const-oid\",\n actual = \"@crate_index__const-oid-0.9.6//:const_oid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"coset-0.3.8\",\n actual = \"@crate_index__coset-0.3.8//:coset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"coset\",\n actual = \"@crate_index__coset-0.3.8//:coset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"crc-3.0.1\",\n actual = \"@crate_index__crc-3.0.1//:crc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"crc\",\n actual = \"@crate_index__crc-3.0.1//:crc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-0.8.0\",\n actual = \"@crate_index__cryptoki-0.8.0//:cryptoki\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki\",\n actual = \"@crate_index__cryptoki-0.8.0//:cryptoki\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys-0.2.0\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:cryptoki_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:cryptoki_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cryptoki-sys-binding-srcs\",\n actual = \"@crate_index__cryptoki-sys-0.2.0//:binding_srcs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"der-0.7.8\",\n actual = \"@crate_index__der-0.7.8//:der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"der\",\n actual = \"@crate_index__der-0.7.8//:der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"deser-hjson-2.1.0\",\n actual = \"@crate_index__deser-hjson-2.1.0//:deser_hjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"deser-hjson\",\n actual = \"@crate_index__deser-hjson-2.1.0//:deser_hjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"directories-5.0.1\",\n actual = \"@crate_index__directories-5.0.1//:directories\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"directories\",\n actual = \"@crate_index__directories-5.0.1//:directories\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ecdsa-0.16.9\",\n actual = \"@crate_index__ecdsa-0.16.9//:ecdsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ecdsa\",\n actual = \"@crate_index__ecdsa-0.16.9//:ecdsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elf-0.7.2\",\n actual = \"@crate_index__elf-0.7.2//:elf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elf\",\n actual = \"@crate_index__elf-0.7.2//:elf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elliptic-curve-0.13.8\",\n actual = \"@crate_index__elliptic-curve-0.13.8//:elliptic_curve\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"elliptic-curve\",\n actual = \"@crate_index__elliptic-curve-0.13.8//:elliptic_curve\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"embedded-hal-1.0.0\",\n actual = \"@crate_index__embedded-hal-1.0.0//:embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"embedded-hal\",\n actual = \"@crate_index__embedded-hal-1.0.0//:embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger-0.10.0\",\n actual = \"@crate_index__env_logger-0.10.0//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger\",\n actual = \"@crate_index__env_logger-0.10.0//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"erased-serde-0.3.31\",\n actual = \"@crate_index__erased-serde-0.3.31//:erased_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"erased-serde\",\n actual = \"@crate_index__erased-serde-0.3.31//:erased_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types-0.3.2\",\n actual = \"@crate_index__foreign-types-0.3.2//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types\",\n actual = \"@crate_index__foreign-types-0.3.2//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-0.1.3\",\n actual = \"@crate_index__ftdi-0.1.3//:ftdi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi\",\n actual = \"@crate_index__ftdi-0.1.3//:ftdi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-embedded-hal-0.22.0\",\n actual = \"@crate_index__ftdi-embedded-hal-0.22.0//:ftdi_embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-embedded-hal\",\n actual = \"@crate_index__ftdi-embedded-hal-0.22.0//:ftdi_embedded_hal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-mpsse-0.1.1\",\n actual = \"@crate_index__ftdi-mpsse-0.1.1//:ftdi_mpsse\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ftdi-mpsse\",\n actual = \"@crate_index__ftdi-mpsse-0.1.1//:ftdi_mpsse\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heck-0.4.1\",\n actual = \"@crate_index__heck-0.4.1//:heck\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heck\",\n actual = \"@crate_index__heck-0.4.1//:heck\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex-0.4.3\",\n actual = \"@crate_index__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex\",\n actual = \"@crate_index__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hmac-0.12.1\",\n actual = \"@crate_index__hmac-0.12.1//:hmac\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hmac\",\n actual = \"@crate_index__hmac-0.12.1//:hmac\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-2.1.0\",\n actual = \"@crate_index__humantime-2.1.0//:humantime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime\",\n actual = \"@crate_index__humantime-2.1.0//:humantime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-serde-1.1.1\",\n actual = \"@crate_index__humantime-serde-1.1.1//:humantime_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"humantime-serde\",\n actual = \"@crate_index__humantime-serde-1.1.1//:humantime_serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indexmap-2.0.0\",\n actual = \"@crate_index__indexmap-2.0.0//:indexmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indexmap\",\n actual = \"@crate_index__indexmap-2.0.0//:indexmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.17.6\",\n actual = \"@crate_index__indicatif-0.17.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crate_index__indicatif-0.17.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indoc-2.0.4\",\n actual = \"@crate_index__indoc-2.0.4//:indoc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indoc\",\n actual = \"@crate_index__indoc-2.0.4//:indoc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inventory-0.3.17\",\n actual = \"@crate_index__inventory-0.3.17//:inventory\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inventory\",\n actual = \"@crate_index__inventory-0.3.17//:inventory\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools-0.13.0\",\n actual = \"@crate_index__itertools-0.13.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools\",\n actual = \"@crate_index__itertools-0.13.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libloading-0.8.3\",\n actual = \"@crate_index__libloading-0.8.3//:libloading\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libloading\",\n actual = \"@crate_index__libloading-0.8.3//:libloading\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log-0.4.20\",\n actual = \"@crate_index__log-0.4.20//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log\",\n actual = \"@crate_index__log-0.4.20//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mdbook-0.4.34\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mdbook\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr-2.6.4\",\n actual = \"@crate_index__memchr-2.6.4//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr\",\n actual = \"@crate_index__memchr-2.6.4//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memoffset-0.9.0\",\n actual = \"@crate_index__memoffset-0.9.0//:memoffset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memoffset\",\n actual = \"@crate_index__memoffset-0.9.0//:memoffset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-0.8.8\",\n actual = \"@crate_index__mio-0.8.8//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio\",\n actual = \"@crate_index__mio-0.8.8//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-signals-0.2.0\",\n actual = \"@crate_index__mio-signals-0.2.0//:mio_signals\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-signals\",\n actual = \"@crate_index__mio-signals-0.2.0//:mio_signals\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-dig-0.8.4\",\n actual = \"@crate_index__num-bigint-dig-0.8.4//:num_bigint_dig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-dig\",\n actual = \"@crate_index__num-bigint-dig-0.8.4//:num_bigint_dig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits-0.2.17\",\n actual = \"@crate_index__num-traits-0.2.17//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits\",\n actual = \"@crate_index__num-traits-0.2.17//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num_enum-0.7.0\",\n actual = \"@crate_index__num_enum-0.7.0//:num_enum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num_enum\",\n actual = \"@crate_index__num_enum-0.7.0//:num_enum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"object-0.36.7\",\n actual = \"@crate_index__object-0.36.7//:object\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"object\",\n actual = \"@crate_index__object-0.36.7//:object\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"once_cell-1.18.0\",\n actual = \"@crate_index__once_cell-1.18.0//:once_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"once_cell\",\n actual = \"@crate_index__once_cell-1.18.0//:once_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-0.10.64\",\n actual = \"@crate_index__openssl-0.10.64//:openssl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl\",\n actual = \"@crate_index__openssl-0.10.64//:openssl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-sys-0.9.102\",\n actual = \"@crate_index__openssl-sys-0.9.102//:openssl_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"openssl-sys\",\n actual = \"@crate_index__openssl-sys-0.9.102//:openssl_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p256-0.13.2\",\n actual = \"@crate_index__p256-0.13.2//:p256\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p256\",\n actual = \"@crate_index__p256-0.13.2//:p256\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p384-0.13.0\",\n actual = \"@crate_index__p384-0.13.0//:p384\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"p384\",\n actual = \"@crate_index__p384-0.13.0//:p384\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste-1.0.14\",\n actual = \"@crate_index__paste-1.0.14//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste\",\n actual = \"@crate_index__paste-1.0.14//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pem-rfc7468-0.7.0\",\n actual = \"@crate_index__pem-rfc7468-0.7.0//:pem_rfc7468\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pem-rfc7468\",\n actual = \"@crate_index__pem-rfc7468-0.7.0//:pem_rfc7468\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest-2.7.3\",\n actual = \"@crate_index__pest-2.7.3//:pest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest\",\n actual = \"@crate_index__pest-2.7.3//:pest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest_derive-2.7.3\",\n actual = \"@crate_index__pest_derive-2.7.3//:pest_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pest_derive\",\n actual = \"@crate_index__pest_derive-2.7.3//:pest_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2-1.0.95\",\n actual = \"@crate_index__proc-macro2-1.0.95//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2\",\n actual = \"@crate_index__proc-macro2-1.0.95//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote-1.0.40\",\n actual = \"@crate_index__quote-1.0.40//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote\",\n actual = \"@crate_index__quote-1.0.40//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.8.5\",\n actual = \"@crate_index__rand-0.8.5//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crate_index__rand-0.8.5//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand_chacha-0.3.1\",\n actual = \"@crate_index__rand_chacha-0.3.1//:rand_chacha\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand_chacha\",\n actual = \"@crate_index__rand_chacha-0.3.1//:rand_chacha\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex-1.9.4\",\n actual = \"@crate_index__regex-1.9.4//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex\",\n actual = \"@crate_index__regex-1.9.4//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reqwest-0.12.12\",\n actual = \"@crate_index__reqwest-0.12.12//:reqwest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reqwest\",\n actual = \"@crate_index__reqwest-0.12.12//:reqwest\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ring-0.16.20\",\n actual = \"@crate_index__ring-0.16.20//:ring\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ring\",\n actual = \"@crate_index__ring-0.16.20//:ring\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-0.9.2\",\n actual = \"@crate_index__rsa-0.9.2//:rsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa\",\n actual = \"@crate_index__rsa-0.9.2//:rsa\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-der-0.3.0\",\n actual = \"@crate_index__rsa-der-0.3.0//:rsa_der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rsa-der\",\n actual = \"@crate_index__rsa-der-0.3.0//:rsa_der\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rusb-0.9.4\",\n actual = \"@crate_index__rusb-0.9.4//:rusb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rusb\",\n actual = \"@crate_index__rusb-0.9.4//:rusb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rust-crypto-0.2.36\",\n actual = \"@crate_index__rust-crypto-0.2.36//:crypto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rust-crypto\",\n actual = \"@crate_index__rust-crypto-0.2.36//:crypto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix-0.38.10\",\n actual = \"@crate_index__rustix-0.38.10//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix\",\n actual = \"@crate_index__rustix-0.38.10//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"scopeguard-1.2.0\",\n actual = \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"scopeguard\",\n actual = \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"secrecy-0.8.0\",\n actual = \"@crate_index__secrecy-0.8.0//:secrecy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"secrecy\",\n actual = \"@crate_index__secrecy-0.8.0//:secrecy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.219\",\n actual = \"@crate_index__serde-1.0.219//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crate_index__serde-1.0.219//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_bytes-0.11.12\",\n actual = \"@crate_index__serde_bytes-0.11.12//:serde_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_bytes\",\n actual = \"@crate_index__serde_bytes-0.11.12//:serde_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.107\",\n actual = \"@crate_index__serde_json-1.0.107//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crate_index__serde_json-1.0.107//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_with-3.4.0\",\n actual = \"@crate_index__serde_with-3.4.0//:serde_with\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_with\",\n actual = \"@crate_index__serde_with-3.4.0//:serde_with\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serialport-4.2.2\",\n actual = \"@crate_index__serialport-4.2.2//:serialport\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serialport\",\n actual = \"@crate_index__serialport-4.2.2//:serialport\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha2-0.10.7\",\n actual = \"@crate_index__sha2-0.10.7//:sha2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha2\",\n actual = \"@crate_index__sha2-0.10.7//:sha2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha3-0.10.8\",\n actual = \"@crate_index__sha3-0.10.8//:sha3\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"sha3\",\n actual = \"@crate_index__sha3-0.10.8//:sha3\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"shellwords-1.1.0\",\n actual = \"@crate_index__shellwords-1.1.0//:shellwords\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"shellwords\",\n actual = \"@crate_index__shellwords-1.1.0//:shellwords\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum-0.25.0\",\n actual = \"@crate_index__strum-0.25.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum\",\n actual = \"@crate_index__strum-0.25.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn-2.0.101\",\n actual = \"@crate_index__syn-2.0.101//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn\",\n actual = \"@crate_index__syn-2.0.101//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tar-0.4.40\",\n actual = \"@crate_index__tar-0.4.40//:tar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tar\",\n actual = \"@crate_index__tar-0.4.40//:tar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.8.0\",\n actual = \"@crate_index__tempfile-3.8.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crate_index__tempfile-3.8.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror-1.0.49\",\n actual = \"@crate_index__thiserror-1.0.49//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror\",\n actual = \"@crate_index__thiserror-1.0.49//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiny-keccak-2.0.2\",\n actual = \"@crate_index__tiny-keccak-2.0.2//:tiny_keccak\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiny-keccak\",\n actual = \"@crate_index__tiny-keccak-2.0.2//:tiny_keccak\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"typetag-0.2.20\",\n actual = \"@crate_index__typetag-0.2.20//:typetag\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"typetag\",\n actual = \"@crate_index__typetag-0.2.20//:typetag\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x509-cert-0.2.5\",\n actual = \"@crate_index__x509-cert-0.2.5//:x509_cert\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x509-cert\",\n actual = \"@crate_index__x509-cert-0.2.5//:x509_cert\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zerocopy-0.8.27\",\n actual = \"@crate_index__zerocopy-0.8.27//:zerocopy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zerocopy\",\n actual = \"@crate_index__zerocopy-0.8.27//:zerocopy\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zeroize-1.8.1\",\n actual = \"@crate_index__zeroize-1.8.1//:zeroize\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zeroize\",\n actual = \"@crate_index__zeroize-1.8.1//:zeroize\",\n tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n name = \"mdbook__mdbook\",\n actual = \"@crate_index__mdbook-0.4.34//:mdbook__bin\",\n tags = [\"manual\"],\n)\n", "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n # `ctx.attr.actual` is a list of 1 item due to the transition\n providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n if CcInfo in ctx.attr.actual[0]:\n providers.append(ctx.attr.actual[0][CcInfo])\n return providers\n\ndef _change_compilation_mode(compilation_mode):\n def _change_compilation_mode_impl(_settings, _attr):\n return {\n \"//command_line_option:compilation_mode\": compilation_mode,\n }\n\n return transition(\n implementation = _change_compilation_mode_impl,\n inputs = [],\n outputs = [\n \"//command_line_option:compilation_mode\",\n ],\n )\n\ndef _transition_alias_rule(compilation_mode):\n return rule(\n implementation = _transition_alias_impl,\n provides = COMMON_PROVIDERS,\n attrs = {\n \"actual\": attr.label(\n mandatory = True,\n doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n providers = COMMON_PROVIDERS,\n cfg = _change_compilation_mode(compilation_mode),\n ),\n \"_allowlist_function_transition\": attr.label(\n default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n ),\n },\n doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n", - "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"aes\": Label(\"@crate_index//:aes-0.8.3\"),\n \"anstyle\": Label(\"@crate_index//:anstyle-1.0.4\"),\n \"anyhow\": Label(\"@crate_index//:anyhow-1.0.75\"),\n \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.4\"),\n \"asn1\": Label(\"@crate_index//:asn1-0.15.5\"),\n \"base64\": Label(\"@crate_index//:base64-0.21.5\"),\n \"base64ct\": Label(\"@crate_index//:base64ct-1.6.0\"),\n \"bitflags\": Label(\"@crate_index//:bitflags-2.4.0\"),\n \"bitvec\": Label(\"@crate_index//:bitvec-1.0.1\"),\n \"byteorder\": Label(\"@crate_index//:byteorder-1.5.0\"),\n \"chrono\": Label(\"@crate_index//:chrono-0.4.40\"),\n \"ciborium\": Label(\"@crate_index//:ciborium-0.2.2\"),\n \"clap\": Label(\"@crate_index//:clap-4.4.7\"),\n \"clap-num\": Label(\"@crate_index//:clap-num-1.0.2\"),\n \"const-oid\": Label(\"@crate_index//:const-oid-0.9.6\"),\n \"coset\": Label(\"@crate_index//:coset-0.3.8\"),\n \"crc\": Label(\"@crate_index//:crc-3.0.1\"),\n \"cryptoki\": Label(\"@crate_index//:cryptoki-0.8.0\"),\n \"cryptoki-sys\": Label(\"@crate_index//:cryptoki-sys-0.2.0\"),\n \"der\": Label(\"@crate_index//:der-0.7.8\"),\n \"deser-hjson\": Label(\"@crate_index//:deser-hjson-2.1.0\"),\n \"directories\": Label(\"@crate_index//:directories-5.0.1\"),\n \"ecdsa\": Label(\"@crate_index//:ecdsa-0.16.9\"),\n \"elf\": Label(\"@crate_index//:elf-0.7.2\"),\n \"elliptic-curve\": Label(\"@crate_index//:elliptic-curve-0.13.8\"),\n \"embedded-hal\": Label(\"@crate_index//:embedded-hal-1.0.0\"),\n \"env_logger\": Label(\"@crate_index//:env_logger-0.10.0\"),\n \"erased-serde\": Label(\"@crate_index//:erased-serde-0.3.31\"),\n \"foreign-types\": Label(\"@crate_index//:foreign-types-0.3.2\"),\n \"ftdi\": Label(\"@crate_index//:ftdi-0.1.3\"),\n \"ftdi-embedded-hal\": Label(\"@crate_index//:ftdi-embedded-hal-0.22.0\"),\n \"ftdi-mpsse\": Label(\"@crate_index//:ftdi-mpsse-0.1.1\"),\n \"heck\": Label(\"@crate_index//:heck-0.4.1\"),\n \"hex\": Label(\"@crate_index//:hex-0.4.3\"),\n \"hmac\": Label(\"@crate_index//:hmac-0.12.1\"),\n \"humantime\": Label(\"@crate_index//:humantime-2.1.0\"),\n \"humantime-serde\": Label(\"@crate_index//:humantime-serde-1.1.1\"),\n \"indexmap\": Label(\"@crate_index//:indexmap-2.0.0\"),\n \"indicatif\": Label(\"@crate_index//:indicatif-0.17.6\"),\n \"inventory\": Label(\"@crate_index//:inventory-0.3.17\"),\n \"itertools\": Label(\"@crate_index//:itertools-0.13.0\"),\n \"libloading\": Label(\"@crate_index//:libloading-0.8.3\"),\n \"log\": Label(\"@crate_index//:log-0.4.20\"),\n \"mdbook\": Label(\"@crate_index//:mdbook-0.4.34\"),\n \"memchr\": Label(\"@crate_index//:memchr-2.6.4\"),\n \"memoffset\": Label(\"@crate_index//:memoffset-0.9.0\"),\n \"mio\": Label(\"@crate_index//:mio-0.8.8\"),\n \"mio-signals\": Label(\"@crate_index//:mio-signals-0.2.0\"),\n \"num-bigint-dig\": Label(\"@crate_index//:num-bigint-dig-0.8.4\"),\n \"num-traits\": Label(\"@crate_index//:num-traits-0.2.17\"),\n \"num_enum\": Label(\"@crate_index//:num_enum-0.7.0\"),\n \"object\": Label(\"@crate_index//:object-0.36.7\"),\n \"once_cell\": Label(\"@crate_index//:once_cell-1.18.0\"),\n \"openssl\": Label(\"@crate_index//:openssl-0.10.64\"),\n \"openssl-sys\": Label(\"@crate_index//:openssl-sys-0.9.102\"),\n \"p256\": Label(\"@crate_index//:p256-0.13.2\"),\n \"p384\": Label(\"@crate_index//:p384-0.13.0\"),\n \"pem-rfc7468\": Label(\"@crate_index//:pem-rfc7468-0.7.0\"),\n \"pest\": Label(\"@crate_index//:pest-2.7.3\"),\n \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.95\"),\n \"quote\": Label(\"@crate_index//:quote-1.0.40\"),\n \"rand\": Label(\"@crate_index//:rand-0.8.5\"),\n \"rand_chacha\": Label(\"@crate_index//:rand_chacha-0.3.1\"),\n \"regex\": Label(\"@crate_index//:regex-1.9.4\"),\n \"reqwest\": Label(\"@crate_index//:reqwest-0.12.12\"),\n \"ring\": Label(\"@crate_index//:ring-0.16.20\"),\n \"rsa\": Label(\"@crate_index//:rsa-0.9.2\"),\n \"rsa-der\": Label(\"@crate_index//:rsa-der-0.3.0\"),\n \"rusb\": Label(\"@crate_index//:rusb-0.9.4\"),\n \"rust-crypto\": Label(\"@crate_index//:rust-crypto-0.2.36\"),\n \"rustix\": Label(\"@crate_index//:rustix-0.38.10\"),\n \"scopeguard\": Label(\"@crate_index//:scopeguard-1.2.0\"),\n \"secrecy\": Label(\"@crate_index//:secrecy-0.8.0\"),\n \"serde\": Label(\"@crate_index//:serde-1.0.219\"),\n \"serde_bytes\": Label(\"@crate_index//:serde_bytes-0.11.12\"),\n \"serde_json\": Label(\"@crate_index//:serde_json-1.0.107\"),\n \"serde_with\": Label(\"@crate_index//:serde_with-3.4.0\"),\n \"serialport\": Label(\"@crate_index//:serialport-4.2.2\"),\n \"sha2\": Label(\"@crate_index//:sha2-0.10.7\"),\n \"sha3\": Label(\"@crate_index//:sha3-0.10.8\"),\n \"shellwords\": Label(\"@crate_index//:shellwords-1.1.0\"),\n \"strum\": Label(\"@crate_index//:strum-0.25.0\"),\n \"syn\": Label(\"@crate_index//:syn-2.0.101\"),\n \"tar\": Label(\"@crate_index//:tar-0.4.40\"),\n \"tempfile\": Label(\"@crate_index//:tempfile-3.8.0\"),\n \"thiserror\": Label(\"@crate_index//:thiserror-1.0.49\"),\n \"tiny-keccak\": Label(\"@crate_index//:tiny-keccak-2.0.2\"),\n \"typetag\": Label(\"@crate_index//:typetag-0.2.20\"),\n \"x509-cert\": Label(\"@crate_index//:x509-cert-0.2.5\"),\n \"zerocopy\": Label(\"@crate_index//:zerocopy-0.8.27\"),\n \"zeroize\": Label(\"@crate_index//:zeroize-1.8.1\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"paste\": Label(\"@crate_index//:paste-1.0.14\"),\n \"pest_derive\": Label(\"@crate_index//:pest_derive-2.7.3\"),\n },\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"indoc\": Label(\"@crate_index//:indoc-2.0.4\"),\n },\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"aarch64-linux-android\": [],\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-pc-windows-msvc\": [],\n \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"aarch64-uwp-windows-msvc\": [],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\")))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"windows\\\"))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_vendor = \\\"unknown\\\", target_os = \\\"unknown\\\", target_env = \\\"\\\"))\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(all(windows, target_env = \\\"msvc\\\"))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\", target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\", all(any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\"), any(target_os = \\\"android\\\", target_os = \\\"fuchsia\\\", target_os = \\\"linux\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\", target_os = \\\"netbsd\\\", target_os = \\\"openbsd\\\", target_os = \\\"solaris\\\"))\": [],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"macos\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"ios\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(all(windows, target_env = \\\"msvc\\\")))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(all(windows, target_env = \\\"msvc\\\", not(target_vendor = \\\"uwp\\\"))))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(any(target_os = \\\"windows\\\", target_vendor = \\\"apple\\\")))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(any(windows, target_os = \\\"hermit\\\", target_os = \\\"unknown\\\")))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(target_arch = \\\"wasm32\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(windows))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(windows_raw_dylib))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(target_arch = \\\"aarch64\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(target_arch = \\\"spirv\\\")\": [],\n \"cfg(target_arch = \\\"wasm32\\\")\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_env = \\\"sgx\\\")\": [],\n \"cfg(target_family = \\\"wasm\\\")\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_feature = \\\"atomics\\\")\": [],\n \"cfg(target_os = \\\"android\\\")\": [],\n \"cfg(target_os = \\\"fuchsia\\\")\": [],\n \"cfg(target_os = \\\"haiku\\\")\": [],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"linux\\\")\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(target_os = \\\"macos\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(target_os = \\\"redox\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_os = \\\"windows\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(target_vendor = \\\"apple\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(tokio_taskdump)\": [],\n \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(windows)\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"i686-pc-windows-msvc\": [],\n \"i686-uwp-windows-gnu\": [],\n \"i686-uwp-windows-msvc\": [],\n \"wasm32-unknown-unknown\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n \"wasm32-wasip1\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-pc-windows-msvc\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"x86_64-unknown-nixos-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"x86_64-uwp-windows-gnu\": [],\n \"x86_64-uwp-windows-msvc\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n http_archive,\n name = \"crate_index__CoreFoundation-sys-0.1.4\",\n sha256 = \"d0e9889e6db118d49d88d84728d0e964d973a5680befb5f85f55141beea5c20b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/CoreFoundation-sys/0.1.4/download\"],\n strip_prefix = \"CoreFoundation-sys-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.CoreFoundation-sys-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__IOKit-sys-0.1.5\",\n sha256 = \"99696c398cbaf669d2368076bdb3d627fb0ce51a26899d7c61228c5c0af3bf4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/IOKit-sys/0.1.5/download\"],\n strip_prefix = \"IOKit-sys-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.IOKit-sys-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__addr2line-0.21.0\",\n sha256 = \"8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/addr2line/0.21.0/download\"],\n strip_prefix = \"addr2line-0.21.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.addr2line-0.21.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__adler-1.0.2\",\n sha256 = \"f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler/1.0.2/download\"],\n strip_prefix = \"adler-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.adler-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aes-0.8.3\",\n sha256 = \"ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes/0.8.3/download\"],\n strip_prefix = \"aes-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aes-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aho-corasick-1.0.5\",\n sha256 = \"0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.0.5/download\"],\n strip_prefix = \"aho-corasick-1.0.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ammonia-3.3.0\",\n sha256 = \"64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ammonia/3.3.0/download\"],\n strip_prefix = \"ammonia-3.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ammonia-3.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__android-tzdata-0.1.1\",\n sha256 = \"e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android-tzdata/0.1.1/download\"],\n strip_prefix = \"android-tzdata-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.android-tzdata-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__android_system_properties-0.1.5\",\n sha256 = \"819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android_system_properties/0.1.5/download\"],\n strip_prefix = \"android_system_properties-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.android_system_properties-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstream-0.6.4\",\n sha256 = \"2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/0.6.4/download\"],\n strip_prefix = \"anstream-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstream-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-1.0.4\",\n sha256 = \"7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.4/download\"],\n strip_prefix = \"anstyle-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-parse-0.2.2\",\n sha256 = \"317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/0.2.2/download\"],\n strip_prefix = \"anstyle-parse-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-query-1.0.0\",\n sha256 = \"5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.0.0/download\"],\n strip_prefix = \"anstyle-query-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-wincon-3.0.1\",\n sha256 = \"f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.1/download\"],\n strip_prefix = \"anstyle-wincon-3.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anyhow-1.0.75\",\n sha256 = \"a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.75/download\"],\n strip_prefix = \"anyhow-1.0.75\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.75.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__arrayvec-0.7.4\",\n sha256 = \"96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.4/download\"],\n strip_prefix = \"arrayvec-0.7.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__asn1-0.15.5\",\n sha256 = \"ae3ecbce89a22627b5e8e6e11d69715617138290289e385cde773b1fe50befdb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1/0.15.5/download\"],\n strip_prefix = \"asn1-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.asn1-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__asn1_derive-0.15.5\",\n sha256 = \"861af988fac460ac69a09f41e6217a8fb9178797b76fcc9478444be6a59be19c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1_derive/0.15.5/download\"],\n strip_prefix = \"asn1_derive-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.asn1_derive-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__autocfg-1.1.0\",\n sha256 = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/autocfg/1.1.0/download\"],\n strip_prefix = \"autocfg-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.autocfg-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__backtrace-0.3.69\",\n sha256 = \"2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/backtrace/0.3.69/download\"],\n strip_prefix = \"backtrace-0.3.69\",\n build_file = Label(\"@crate_index//crate_index:BUILD.backtrace-0.3.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base16ct-0.2.0\",\n sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n strip_prefix = \"base16ct-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base16ct-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.21.5\",\n sha256 = \"35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.21.5/download\"],\n strip_prefix = \"base64-0.21.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.21.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64ct-1.6.0\",\n sha256 = \"8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64ct/1.6.0/download\"],\n strip_prefix = \"base64ct-1.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64ct-1.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-1.3.2\",\n sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n strip_prefix = \"bitflags-1.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-2.4.0\",\n sha256 = \"b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.4.0/download\"],\n strip_prefix = \"bitflags-2.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitvec-1.0.1\",\n sha256 = \"1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitvec/1.0.1/download\"],\n strip_prefix = \"bitvec-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitvec-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__block-buffer-0.10.4\",\n sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n strip_prefix = \"block-buffer-0.10.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.block-buffer-0.10.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bstr-1.6.2\",\n sha256 = \"4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bstr/1.6.2/download\"],\n strip_prefix = \"bstr-1.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bstr-1.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bumpalo-3.14.0\",\n sha256 = \"7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.14.0/download\"],\n strip_prefix = \"bumpalo-3.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bytes-1.9.0\",\n sha256 = \"325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.9.0/download\"],\n strip_prefix = \"bytes-1.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cc-1.0.83\",\n sha256 = \"f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.0.83/download\"],\n strip_prefix = \"cc-1.0.83\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.0.83.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg-if-1.0.0\",\n sha256 = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.0/download\"],\n strip_prefix = \"cfg-if-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__chrono-0.4.40\",\n sha256 = \"1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chrono/0.4.40/download\"],\n strip_prefix = \"chrono-0.4.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.chrono-0.4.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-0.2.2\",\n sha256 = \"42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium/0.2.2/download\"],\n strip_prefix = \"ciborium-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-io-0.2.2\",\n sha256 = \"05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium-io/0.2.2/download\"],\n strip_prefix = \"ciborium-io-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-io-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-ll-0.2.2\",\n sha256 = \"57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium-ll/0.2.2/download\"],\n strip_prefix = \"ciborium-ll-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-ll-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cipher-0.4.4\",\n sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n strip_prefix = \"cipher-0.4.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cipher-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-4.4.7\",\n sha256 = \"ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.4.7/download\"],\n strip_prefix = \"clap-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-num-1.0.2\",\n sha256 = \"488557e97528174edaa2ee268b23a809e0c598213a4bbcb4f34575a46fda147e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap-num/1.0.2/download\"],\n strip_prefix = \"clap-num-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-num-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_builder-4.4.7\",\n sha256 = \"c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.4.7/download\"],\n strip_prefix = \"clap_builder-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_complete-4.4.0\",\n sha256 = \"586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_complete/4.4.0/download\"],\n strip_prefix = \"clap_complete-4.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_complete-4.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_derive-4.4.7\",\n sha256 = \"cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.4.7/download\"],\n strip_prefix = \"clap_derive-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_lex-0.6.0\",\n sha256 = \"702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/0.6.0/download\"],\n strip_prefix = \"clap_lex-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__colorchoice-1.0.0\",\n sha256 = \"acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.0/download\"],\n strip_prefix = \"colorchoice-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__console-0.15.7\",\n sha256 = \"c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.15.7/download\"],\n strip_prefix = \"console-0.15.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__const-oid-0.9.6\",\n sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n strip_prefix = \"const-oid-0.9.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.const-oid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__core-foundation-0.9.4\",\n sha256 = \"91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation/0.9.4/download\"],\n strip_prefix = \"core-foundation-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.core-foundation-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__core-foundation-sys-0.8.7\",\n sha256 = \"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation-sys/0.8.7/download\"],\n strip_prefix = \"core-foundation-sys-0.8.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.core-foundation-sys-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__coset-0.3.8\",\n sha256 = \"f4c8cc80f631f8307b887faca24dcc3abc427cd0367f6eb6188f6e8f5b7ad8fb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/coset/0.3.8/download\"],\n strip_prefix = \"coset-0.3.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.coset-0.3.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cpufeatures-0.2.9\",\n sha256 = \"a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.2.9/download\"],\n strip_prefix = \"cpufeatures-0.2.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cpufeatures-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc-3.0.1\",\n sha256 = \"86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc/3.0.1/download\"],\n strip_prefix = \"crc-3.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc-catalog-2.2.0\",\n sha256 = \"9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-catalog/2.2.0/download\"],\n strip_prefix = \"crc-catalog-2.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc-catalog-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc32fast-1.3.2\",\n sha256 = \"b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc32fast/1.3.2/download\"],\n strip_prefix = \"crc32fast-1.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc32fast-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crunchy-0.2.2\",\n sha256 = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crunchy/0.2.2/download\"],\n strip_prefix = \"crunchy-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crunchy-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crypto-bigint-0.5.2\",\n sha256 = \"cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.2/download\"],\n strip_prefix = \"crypto-bigint-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crypto-bigint-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crypto-common-0.1.6\",\n sha256 = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.1.6/download\"],\n strip_prefix = \"crypto-common-0.1.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crypto-common-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cryptoki-0.8.0\",\n patch_args = [\n \"-p2\",\n ],\n patches = [\n \"@@//third_party/rust/patches:cryptoki-profile.patch\",\n \"@@//third_party/rust/patches:cryptoki-vendor-defined-mechanism-type.patch\",\n ],\n sha256 = \"2e45b5f1ddb06ae54aea3f6d60e88c493356c51f43b8e741c9d5ac661f4d02d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cryptoki/0.8.0/download\"],\n strip_prefix = \"cryptoki-0.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cryptoki-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cryptoki-sys-0.2.0\",\n sha256 = \"062316aeb324b15a0b10c9475a9e67d613b7409056c33fbe33b7c12027408cfb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cryptoki-sys/0.2.0/download\"],\n strip_prefix = \"cryptoki-sys-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cryptoki-sys-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling-0.20.3\",\n sha256 = \"0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.20.3/download\"],\n strip_prefix = \"darling-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling_core-0.20.3\",\n sha256 = \"177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.20.3/download\"],\n strip_prefix = \"darling_core-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling_core-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling_macro-0.20.3\",\n sha256 = \"836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.20.3/download\"],\n strip_prefix = \"darling_macro-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling_macro-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__der-0.7.8\",\n sha256 = \"fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der/0.7.8/download\"],\n strip_prefix = \"der-0.7.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.der-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__der_derive-0.7.3\",\n sha256 = \"8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der_derive/0.7.3/download\"],\n strip_prefix = \"der_derive-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.der_derive-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deranged-0.4.0\",\n sha256 = \"9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.4.0/download\"],\n strip_prefix = \"deranged-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deser-hjson-2.1.0\",\n sha256 = \"edc4f43e1fa39fc7d2e48824106097c78749ee5962e580c1e0b8564de7f138d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deser-hjson/2.1.0/download\"],\n strip_prefix = \"deser-hjson-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deser-hjson-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__digest-0.10.7\",\n sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n strip_prefix = \"digest-0.10.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.digest-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__directories-5.0.1\",\n sha256 = \"9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/directories/5.0.1/download\"],\n strip_prefix = \"directories-5.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.directories-5.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__dirs-sys-0.4.1\",\n sha256 = \"520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dirs-sys/0.4.1/download\"],\n strip_prefix = \"dirs-sys-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.dirs-sys-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ecdsa-0.16.9\",\n sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n strip_prefix = \"ecdsa-0.16.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ecdsa-0.16.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__either-1.13.0\",\n sha256 = \"60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.13.0/download\"],\n strip_prefix = \"either-1.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.either-1.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elasticlunr-rs-3.0.2\",\n sha256 = \"41e83863a500656dfa214fee6682de9c5b9f03de6860fec531235ed2ae9f6571\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elasticlunr-rs/3.0.2/download\"],\n strip_prefix = \"elasticlunr-rs-3.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elasticlunr-rs-3.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elf-0.7.2\",\n sha256 = \"e2b183d6ce6ca4cf30e3db37abf5b52568b5f9015c97d9fbdd7026aa5dcdd758\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elf/0.7.2/download\"],\n strip_prefix = \"elf-0.7.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elf-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elliptic-curve-0.13.8\",\n sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n strip_prefix = \"elliptic-curve-0.13.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elliptic-curve-0.13.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-0.2.7\",\n sha256 = \"35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal/0.2.7/download\"],\n strip_prefix = \"embedded-hal-0.2.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-1.0.0\",\n sha256 = \"361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal/1.0.0/download\"],\n strip_prefix = \"embedded-hal-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-nb-1.0.0\",\n sha256 = \"fba4268c14288c828995299e59b12babdbe170f6c6d73731af1b4648142e8605\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal-nb/1.0.0/download\"],\n strip_prefix = \"embedded-hal-nb-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-nb-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encode_unicode-0.3.6\",\n sha256 = \"a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/0.3.6/download\"],\n strip_prefix = \"encode_unicode-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encoding_rs-0.8.35\",\n sha256 = \"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs/0.8.35/download\"],\n strip_prefix = \"encoding_rs-0.8.35\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encoding_rs-0.8.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_logger-0.10.0\",\n sha256 = \"85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.10.0/download\"],\n strip_prefix = \"env_logger-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__equivalent-1.0.1\",\n sha256 = \"5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.1/download\"],\n strip_prefix = \"equivalent-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__erased-serde-0.3.31\",\n sha256 = \"6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/erased-serde/0.3.31/download\"],\n strip_prefix = \"erased-serde-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.erased-serde-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__erased-serde-0.4.6\",\n sha256 = \"e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/erased-serde/0.4.6/download\"],\n strip_prefix = \"erased-serde-0.4.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.erased-serde-0.4.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__errno-0.3.5\",\n sha256 = \"ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.5/download\"],\n strip_prefix = \"errno-0.3.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fastrand-2.0.0\",\n sha256 = \"6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.0.0/download\"],\n strip_prefix = \"fastrand-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ff-0.13.0\",\n sha256 = \"ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ff/0.13.0/download\"],\n strip_prefix = \"ff-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ff-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__filetime-0.2.22\",\n sha256 = \"d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filetime/0.2.22/download\"],\n strip_prefix = \"filetime-0.2.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.filetime-0.2.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__flagset-0.4.7\",\n sha256 = \"b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flagset/0.4.7/download\"],\n strip_prefix = \"flagset-0.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.flagset-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__flate2-1.0.28\",\n sha256 = \"46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flate2/1.0.28/download\"],\n strip_prefix = \"flate2-1.0.28\",\n build_file = Label(\"@crate_index//crate_index:BUILD.flate2-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foreign-types-0.3.2\",\n sha256 = \"f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types/0.3.2/download\"],\n strip_prefix = \"foreign-types-0.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foreign-types-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foreign-types-shared-0.1.1\",\n sha256 = \"00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-shared/0.1.1/download\"],\n strip_prefix = \"foreign-types-shared-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foreign-types-shared-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__form_urlencoded-1.2.0\",\n sha256 = \"a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/form_urlencoded/1.2.0/download\"],\n strip_prefix = \"form_urlencoded-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.form_urlencoded-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-0.1.3\",\n sha256 = \"2f9c8c625c6b8634ce70cd8cbb2ab8a103e4c2b4185c86d9954d2e16b1ef7c4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi/0.1.3/download\"],\n strip_prefix = \"ftdi-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-embedded-hal-0.22.0\",\n sha256 = \"5e328c2738c104e2649586bda4baabf376825db50014eb0d41bee74fb6064deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi-embedded-hal/0.22.0/download\"],\n strip_prefix = \"ftdi-embedded-hal-0.22.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-embedded-hal-0.22.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-mpsse-0.1.1\",\n sha256 = \"fa7cfcda69930a8d2fdcdd7ffb9234fe4c79a8c73934ed4904327d77bfb5078a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi-mpsse/0.1.1/download\"],\n strip_prefix = \"ftdi-mpsse-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-mpsse-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fuchsia-cprng-0.1.1\",\n sha256 = \"a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fuchsia-cprng/0.1.1/download\"],\n strip_prefix = \"fuchsia-cprng-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fuchsia-cprng-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__funty-2.0.0\",\n sha256 = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/funty/2.0.0/download\"],\n strip_prefix = \"funty-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.funty-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futf-0.1.5\",\n sha256 = \"df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futf/0.1.5/download\"],\n strip_prefix = \"futf-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futf-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-channel-0.3.31\",\n sha256 = \"2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.31/download\"],\n strip_prefix = \"futures-channel-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-core-0.3.31\",\n sha256 = \"05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.31/download\"],\n strip_prefix = \"futures-core-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-io-0.3.31\",\n sha256 = \"9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.31/download\"],\n strip_prefix = \"futures-io-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-sink-0.3.31\",\n sha256 = \"e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.31/download\"],\n strip_prefix = \"futures-sink-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-task-0.3.31\",\n sha256 = \"f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.31/download\"],\n strip_prefix = \"futures-task-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-util-0.3.31\",\n sha256 = \"9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.31/download\"],\n strip_prefix = \"futures-util-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__gcc-0.3.55\",\n sha256 = \"8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gcc/0.3.55/download\"],\n strip_prefix = \"gcc-0.3.55\",\n build_file = Label(\"@crate_index//crate_index:BUILD.gcc-0.3.55.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__generic-array-0.14.7\",\n sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n strip_prefix = \"generic-array-0.14.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.generic-array-0.14.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.2.10\",\n sha256 = \"be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.2.10/download\"],\n strip_prefix = \"getrandom-0.2.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__gimli-0.28.0\",\n sha256 = \"6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gimli/0.28.0/download\"],\n strip_prefix = \"gimli-0.28.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.gimli-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__group-0.13.0\",\n sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n strip_prefix = \"group-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.group-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__h2-0.4.7\",\n sha256 = \"ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/h2/0.4.7/download\"],\n strip_prefix = \"h2-0.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__half-2.6.0\",\n sha256 = \"459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/half/2.6.0/download\"],\n strip_prefix = \"half-2.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.half-2.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__handlebars-4.3.7\",\n sha256 = \"83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/handlebars/4.3.7/download\"],\n strip_prefix = \"handlebars-4.3.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.handlebars-4.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.12.3\",\n sha256 = \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.12.3/download\"],\n strip_prefix = \"hashbrown-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.14.0\",\n sha256 = \"2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.14.0/download\"],\n strip_prefix = \"hashbrown-0.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.4.1\",\n sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n strip_prefix = \"heck-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hermit-abi-0.3.3\",\n sha256 = \"d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hermit-abi/0.3.3/download\"],\n strip_prefix = \"hermit-abi-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hermit-abi-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hex-0.4.3\",\n sha256 = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hex/0.4.3/download\"],\n strip_prefix = \"hex-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hex-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hkdf-0.12.3\",\n sha256 = \"791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hkdf/0.12.3/download\"],\n strip_prefix = \"hkdf-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hkdf-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hmac-0.12.1\",\n sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n strip_prefix = \"hmac-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hmac-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__html5ever-0.26.0\",\n sha256 = \"bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html5ever/0.26.0/download\"],\n strip_prefix = \"html5ever-0.26.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.html5ever-0.26.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-1.2.0\",\n sha256 = \"f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http/1.2.0/download\"],\n strip_prefix = \"http-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-1.0.1\",\n sha256 = \"1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body/1.0.1/download\"],\n strip_prefix = \"http-body-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-util-0.1.2\",\n sha256 = \"793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body-util/0.1.2/download\"],\n strip_prefix = \"http-body-util-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httparse-1.9.5\",\n sha256 = \"7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httparse/1.9.5/download\"],\n strip_prefix = \"httparse-1.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__humantime-2.1.0\",\n sha256 = \"9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/humantime/2.1.0/download\"],\n strip_prefix = \"humantime-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.humantime-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__humantime-serde-1.1.1\",\n sha256 = \"57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/humantime-serde/1.1.1/download\"],\n strip_prefix = \"humantime-serde-1.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.humantime-serde-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-1.5.2\",\n sha256 = \"256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper/1.5.2/download\"],\n strip_prefix = \"hyper-1.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-rustls-0.27.5\",\n sha256 = \"2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-rustls/0.27.5/download\"],\n strip_prefix = \"hyper-rustls-0.27.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-rustls-0.27.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-tls-0.6.0\",\n sha256 = \"70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-tls/0.6.0/download\"],\n strip_prefix = \"hyper-tls-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-tls-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-util-0.1.10\",\n sha256 = \"df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-util/0.1.10/download\"],\n strip_prefix = \"hyper-util-0.1.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iana-time-zone-0.1.58\",\n sha256 = \"8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone/0.1.58/download\"],\n strip_prefix = \"iana-time-zone-0.1.58\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iana-time-zone-0.1.58.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iana-time-zone-haiku-0.1.2\",\n sha256 = \"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone-haiku/0.1.2/download\"],\n strip_prefix = \"iana-time-zone-haiku-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iana-time-zone-haiku-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ident_case-1.0.1\",\n sha256 = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ident_case/1.0.1/download\"],\n strip_prefix = \"ident_case-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ident_case-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__idna-0.4.0\",\n sha256 = \"7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna/0.4.0/download\"],\n strip_prefix = \"idna-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.idna-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-1.9.3\",\n sha256 = \"bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/1.9.3/download\"],\n strip_prefix = \"indexmap-1.9.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-1.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-2.0.0\",\n sha256 = \"d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.0.0/download\"],\n strip_prefix = \"indexmap-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-0.17.6\",\n sha256 = \"0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.17.6/download\"],\n strip_prefix = \"indicatif-0.17.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.17.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indoc-2.0.4\",\n sha256 = \"1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indoc/2.0.4/download\"],\n strip_prefix = \"indoc-2.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indoc-2.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__inout-0.1.3\",\n sha256 = \"a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inout/0.1.3/download\"],\n strip_prefix = \"inout-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.inout-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__instant-0.1.12\",\n sha256 = \"7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/instant/0.1.12/download\"],\n strip_prefix = \"instant-0.1.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.instant-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__inventory-0.3.17\",\n sha256 = \"3b31349d02fe60f80bbbab1a9402364cad7460626d6030494b08ac4a2075bf81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inventory/0.3.17/download\"],\n strip_prefix = \"inventory-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.inventory-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ipnet-2.10.1\",\n sha256 = \"ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipnet/2.10.1/download\"],\n strip_prefix = \"ipnet-2.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ipnet-2.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__is-terminal-0.4.9\",\n sha256 = \"cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is-terminal/0.4.9/download\"],\n strip_prefix = \"is-terminal-0.4.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.is-terminal-0.4.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itoa-1.0.9\",\n sha256 = \"af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.9/download\"],\n strip_prefix = \"itoa-1.0.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__js-sys-0.3.64\",\n sha256 = \"c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.64/download\"],\n strip_prefix = \"js-sys-0.3.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__keccak-0.1.5\",\n sha256 = \"ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/keccak/0.1.5/download\"],\n strip_prefix = \"keccak-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.keccak-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazy_static-1.4.0\",\n sha256 = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.4.0/download\"],\n strip_prefix = \"lazy_static-1.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libc-0.2.169\",\n sha256 = \"b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.169/download\"],\n strip_prefix = \"libc-0.2.169\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.169.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libftdi1-sys-1.1.2\",\n sha256 = \"3ff6928872c7d13bec3c8a60c4c92f41f6252f3369b7552a5b4f9c90c8ba2338\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libftdi1-sys/1.1.2/download\"],\n strip_prefix = \"libftdi1-sys-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libftdi1-sys-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.7.4\",\n sha256 = \"b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.7.4/download\"],\n strip_prefix = \"libloading-0.7.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.8.3\",\n sha256 = \"0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.3/download\"],\n strip_prefix = \"libloading-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libm-0.2.8\",\n sha256 = \"4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libm/0.2.8/download\"],\n strip_prefix = \"libm-0.2.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libm-0.2.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libudev-0.3.0\",\n sha256 = \"78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libudev/0.3.0/download\"],\n strip_prefix = \"libudev-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libudev-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libudev-sys-0.1.4\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//third_party/rust/patches:libudev-sys-0.1.4.patch\",\n ],\n sha256 = \"3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libudev-sys/0.1.4/download\"],\n strip_prefix = \"libudev-sys-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libudev-sys-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libusb1-sys-0.7.0\",\n sha256 = \"da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libusb1-sys/0.7.0/download\"],\n strip_prefix = \"libusb1-sys-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libusb1-sys-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.4.5\",\n sha256 = \"57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.5/download\"],\n strip_prefix = \"linux-raw-sys-0.4.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lock_api-0.4.10\",\n sha256 = \"c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.10/download\"],\n strip_prefix = \"lock_api-0.4.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__log-0.4.20\",\n sha256 = \"b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.20/download\"],\n strip_prefix = \"log-0.4.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mac-0.1.1\",\n sha256 = \"c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mac/0.1.1/download\"],\n strip_prefix = \"mac-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mac-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mach-0.1.2\",\n sha256 = \"2fd13ee2dd61cc82833ba05ade5a30bb3d63f7ced605ef827063c63078302de9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mach/0.1.2/download\"],\n strip_prefix = \"mach-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mach-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mach2-0.4.1\",\n sha256 = \"6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mach2/0.4.1/download\"],\n strip_prefix = \"mach2-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mach2-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__maplit-1.0.2\",\n sha256 = \"3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/maplit/1.0.2/download\"],\n strip_prefix = \"maplit-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.maplit-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__markup5ever-0.11.0\",\n sha256 = \"7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/markup5ever/0.11.0/download\"],\n strip_prefix = \"markup5ever-0.11.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.markup5ever-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mdbook-0.4.34\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//third_party/rust/patches:mdbook-landing-page-links.patch\",\n ],\n sha256 = \"c55eb7c4dad20cc5bc15181c2aaf43d5689d5c3e0b80b50cc4cf0b7fe72a26d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mdbook/0.4.34/download\"],\n strip_prefix = \"mdbook-0.4.34\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mdbook-0.4.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memchr-2.6.4\",\n sha256 = \"f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.6.4/download\"],\n strip_prefix = \"memchr-2.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memoffset-0.9.0\",\n sha256 = \"5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.9.0/download\"],\n strip_prefix = \"memoffset-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memoffset-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mime-0.3.17\",\n sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n strip_prefix = \"mime-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__miniz_oxide-0.7.1\",\n sha256 = \"e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/miniz_oxide/0.7.1/download\"],\n strip_prefix = \"miniz_oxide-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.miniz_oxide-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-0.8.8\",\n sha256 = \"927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/0.8.8/download\"],\n strip_prefix = \"mio-0.8.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-0.8.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-1.0.3\",\n sha256 = \"2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.0.3/download\"],\n strip_prefix = \"mio-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-signals-0.2.0\",\n sha256 = \"21e9524e26c8749824640a1282b68a695b21d55862efa6d465b5f71107c93368\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio-signals/0.2.0/download\"],\n strip_prefix = \"mio-signals-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-signals-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__native-tls-0.2.12\",\n sha256 = \"a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/native-tls/0.2.12/download\"],\n strip_prefix = \"native-tls-0.2.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.native-tls-0.2.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nb-0.1.3\",\n sha256 = \"801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nb/0.1.3/download\"],\n strip_prefix = \"nb-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nb-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nb-1.1.0\",\n sha256 = \"8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nb/1.1.0/download\"],\n strip_prefix = \"nb-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nb-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__new_debug_unreachable-1.0.4\",\n sha256 = \"e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/new_debug_unreachable/1.0.4/download\"],\n strip_prefix = \"new_debug_unreachable-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.new_debug_unreachable-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.26.4\",\n sha256 = \"598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.26.4/download\"],\n strip_prefix = \"nix-0.26.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__normpath-1.1.1\",\n sha256 = \"ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/normpath/1.1.1/download\"],\n strip_prefix = \"normpath-1.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.normpath-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-bigint-0.4.4\",\n sha256 = \"608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint/0.4.4/download\"],\n strip_prefix = \"num-bigint-0.4.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-bigint-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-bigint-dig-0.8.4\",\n sha256 = \"dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint-dig/0.8.4/download\"],\n strip_prefix = \"num-bigint-dig-0.8.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-bigint-dig-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-conv-0.1.0\",\n sha256 = \"51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.1.0/download\"],\n strip_prefix = \"num-conv-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-integer-0.1.45\",\n sha256 = \"225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-integer/0.1.45/download\"],\n strip_prefix = \"num-integer-0.1.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-integer-0.1.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-iter-0.1.43\",\n sha256 = \"7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-iter/0.1.43/download\"],\n strip_prefix = \"num-iter-0.1.43\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-iter-0.1.43.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-traits-0.2.17\",\n sha256 = \"39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-traits/0.2.17/download\"],\n strip_prefix = \"num-traits-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-traits-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num_enum-0.7.0\",\n sha256 = \"70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num_enum/0.7.0/download\"],\n strip_prefix = \"num_enum-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num_enum-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num_enum_derive-0.7.0\",\n sha256 = \"56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num_enum_derive/0.7.0/download\"],\n strip_prefix = \"num_enum_derive-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num_enum_derive-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__number_prefix-0.4.0\",\n sha256 = \"830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/number_prefix/0.4.0/download\"],\n strip_prefix = \"number_prefix-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.number_prefix-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__object-0.32.1\",\n sha256 = \"9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/object/0.32.1/download\"],\n strip_prefix = \"object-0.32.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.object-0.32.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__object-0.36.7\",\n sha256 = \"62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/object/0.36.7/download\"],\n strip_prefix = \"object-0.36.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.object-0.36.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell-1.18.0\",\n sha256 = \"dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.18.0/download\"],\n strip_prefix = \"once_cell-1.18.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__opener-0.6.1\",\n sha256 = \"6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opener/0.6.1/download\"],\n strip_prefix = \"opener-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.opener-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-0.10.64\",\n sha256 = \"95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl/0.10.64/download\"],\n strip_prefix = \"openssl-0.10.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-0.10.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-macros-0.1.1\",\n sha256 = \"a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-macros/0.1.1/download\"],\n strip_prefix = \"openssl-macros-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-probe-0.1.5\",\n sha256 = \"ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-probe/0.1.5/download\"],\n strip_prefix = \"openssl-probe-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-probe-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-sys-0.9.102\",\n sha256 = \"c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-sys/0.9.102/download\"],\n strip_prefix = \"openssl-sys-0.9.102\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-sys-0.9.102.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__option-ext-0.2.0\",\n sha256 = \"04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/option-ext/0.2.0/download\"],\n strip_prefix = \"option-ext-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.option-ext-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__p256-0.13.2\",\n sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n strip_prefix = \"p256-0.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.p256-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__p384-0.13.0\",\n sha256 = \"70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p384/0.13.0/download\"],\n strip_prefix = \"p384-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.p384-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__parking_lot-0.12.1\",\n sha256 = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot/0.12.1/download\"],\n strip_prefix = \"parking_lot-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.parking_lot-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__parking_lot_core-0.9.8\",\n sha256 = \"93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot_core/0.9.8/download\"],\n strip_prefix = \"parking_lot_core-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.parking_lot_core-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__paste-1.0.14\",\n sha256 = \"de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/paste/1.0.14/download\"],\n strip_prefix = \"paste-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pem-rfc7468-0.7.0\",\n sha256 = \"88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem-rfc7468/0.7.0/download\"],\n strip_prefix = \"pem-rfc7468-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pem-rfc7468-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__percent-encoding-2.3.0\",\n sha256 = \"9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.0/download\"],\n strip_prefix = \"percent-encoding-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest-2.7.3\",\n sha256 = \"d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest/2.7.3/download\"],\n strip_prefix = \"pest-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_derive-2.7.3\",\n sha256 = \"a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_derive/2.7.3/download\"],\n strip_prefix = \"pest_derive-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_derive-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_generator-2.7.3\",\n sha256 = \"d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_generator/2.7.3/download\"],\n strip_prefix = \"pest_generator-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_generator-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_meta-2.7.3\",\n sha256 = \"b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_meta/2.7.3/download\"],\n strip_prefix = \"pest_meta-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_meta-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf-0.10.1\",\n sha256 = \"fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.10.1/download\"],\n strip_prefix = \"phf-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_codegen-0.10.0\",\n sha256 = \"4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.10.0/download\"],\n strip_prefix = \"phf_codegen-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_codegen-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_generator-0.10.0\",\n sha256 = \"5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.10.0/download\"],\n strip_prefix = \"phf_generator-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_generator-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_shared-0.10.0\",\n sha256 = \"b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.10.0/download\"],\n strip_prefix = \"phf_shared-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_shared-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-lite-0.2.16\",\n sha256 = \"3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.16/download\"],\n strip_prefix = \"pin-project-lite-0.2.16\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-utils-0.1.0\",\n sha256 = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-utils/0.1.0/download\"],\n strip_prefix = \"pin-utils-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-utils-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkcs1-0.7.5\",\n sha256 = \"c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs1/0.7.5/download\"],\n strip_prefix = \"pkcs1-0.7.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkcs1-0.7.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkcs8-0.10.2\",\n sha256 = \"f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs8/0.10.2/download\"],\n strip_prefix = \"pkcs8-0.10.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkcs8-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkg-config-0.3.27\",\n sha256 = \"26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkg-config/0.3.27/download\"],\n strip_prefix = \"pkg-config-0.3.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkg-config-0.3.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-1.4.3\",\n sha256 = \"31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.4.3/download\"],\n strip_prefix = \"portable-atomic-1.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ppv-lite86-0.2.17\",\n sha256 = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.17/download\"],\n strip_prefix = \"ppv-lite86-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__precomputed-hash-0.1.1\",\n sha256 = \"925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/precomputed-hash/0.1.1/download\"],\n strip_prefix = \"precomputed-hash-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.precomputed-hash-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__primeorder-0.13.2\",\n sha256 = \"3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/primeorder/0.13.2/download\"],\n strip_prefix = \"primeorder-0.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.primeorder-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro-crate-1.3.1\",\n sha256 = \"7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro-crate/1.3.1/download\"],\n strip_prefix = \"proc-macro-crate-1.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro-crate-1.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-1.0.95\",\n sha256 = \"02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.95/download\"],\n strip_prefix = \"proc-macro2-1.0.95\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.95.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pulldown-cmark-0.9.3\",\n sha256 = \"77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pulldown-cmark/0.9.3/download\"],\n strip_prefix = \"pulldown-cmark-0.9.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pulldown-cmark-0.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__quote-1.0.40\",\n sha256 = \"1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.40/download\"],\n strip_prefix = \"quote-1.0.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__radium-0.7.0\",\n sha256 = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/radium/0.7.0/download\"],\n strip_prefix = \"radium-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.radium-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.3.23\",\n sha256 = \"64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.3.23/download\"],\n strip_prefix = \"rand-0.3.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.3.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.4.6\",\n sha256 = \"552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.4.6/download\"],\n strip_prefix = \"rand-0.4.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.4.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.8.5\",\n sha256 = \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.8.5/download\"],\n strip_prefix = \"rand-0.8.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.8.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_chacha-0.3.1\",\n sha256 = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.3.1/download\"],\n strip_prefix = \"rand_chacha-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.3.1\",\n sha256 = \"7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.3.1/download\"],\n strip_prefix = \"rand_core-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.4.2\",\n sha256 = \"9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.4.2/download\"],\n strip_prefix = \"rand_core-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.6.4\",\n sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n strip_prefix = \"rand_core-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rdrand-0.4.0\",\n sha256 = \"678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rdrand/0.4.0/download\"],\n strip_prefix = \"rdrand-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rdrand-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_syscall-0.2.16\",\n sha256 = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.2.16/download\"],\n strip_prefix = \"redox_syscall-0.2.16\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_syscall-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_syscall-0.3.5\",\n sha256 = \"567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.3.5/download\"],\n strip_prefix = \"redox_syscall-0.3.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_syscall-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_users-0.4.3\",\n sha256 = \"b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_users/0.4.3/download\"],\n strip_prefix = \"redox_users-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_users-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-1.9.4\",\n sha256 = \"12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.9.4/download\"],\n strip_prefix = \"regex-1.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-automata-0.3.7\",\n sha256 = \"49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.3.7/download\"],\n strip_prefix = \"regex-automata-0.3.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-syntax-0.7.5\",\n sha256 = \"dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.7.5/download\"],\n strip_prefix = \"regex-syntax-0.7.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.7.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__reqwest-0.12.12\",\n sha256 = \"43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/reqwest/0.12.12/download\"],\n strip_prefix = \"reqwest-0.12.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.reqwest-0.12.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rfc6979-0.4.0\",\n sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n strip_prefix = \"rfc6979-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rfc6979-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ring-0.16.20\",\n sha256 = \"3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.16.20/download\"],\n strip_prefix = \"ring-0.16.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ring-0.16.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ring-0.17.8\",\n sha256 = \"c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.17.8/download\"],\n strip_prefix = \"ring-0.17.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ring-0.17.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rsa-0.9.2\",\n sha256 = \"6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rsa/0.9.2/download\"],\n strip_prefix = \"rsa-0.9.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rsa-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rsa-der-0.3.0\",\n sha256 = \"a19473b2de3164677ff38e4309c42448ba8d0fe5ad5fa722e7d278f991859aa6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rsa-der/0.3.0/download\"],\n strip_prefix = \"rsa-der-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rsa-der-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rusb-0.9.4\",\n sha256 = \"ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rusb/0.9.4/download\"],\n strip_prefix = \"rusb-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rusb-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rust-crypto-0.2.36\",\n sha256 = \"f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rust-crypto/0.2.36/download\"],\n strip_prefix = \"rust-crypto-0.2.36\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rust-crypto-0.2.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-demangle-0.1.23\",\n sha256 = \"d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-demangle/0.1.23/download\"],\n strip_prefix = \"rustc-demangle-0.1.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-demangle-0.1.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-serialize-0.3.25\",\n sha256 = \"fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-serialize/0.3.25/download\"],\n strip_prefix = \"rustc-serialize-0.3.25\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-serialize-0.3.25.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-0.38.10\",\n sha256 = \"ed6248e1caa625eb708e266e06159f135e8c26f2bb7ceb72dc4b2766d0340964\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.10/download\"],\n strip_prefix = \"rustix-0.38.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-0.23.21\",\n sha256 = \"8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls/0.23.21/download\"],\n strip_prefix = \"rustls-0.23.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-0.23.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-pemfile-2.2.0\",\n sha256 = \"dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pemfile/2.2.0/download\"],\n strip_prefix = \"rustls-pemfile-2.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-pemfile-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-pki-types-1.10.1\",\n sha256 = \"d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pki-types/1.10.1/download\"],\n strip_prefix = \"rustls-pki-types-1.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-pki-types-1.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-webpki-0.102.8\",\n sha256 = \"64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-webpki/0.102.8/download\"],\n strip_prefix = \"rustls-webpki-0.102.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-webpki-0.102.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustversion-1.0.14\",\n sha256 = \"7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.14/download\"],\n strip_prefix = \"rustversion-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ruzstd-0.7.3\",\n sha256 = \"fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ruzstd/0.7.3/download\"],\n strip_prefix = \"ruzstd-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ruzstd-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ryu-1.0.15\",\n sha256 = \"1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ryu/1.0.15/download\"],\n strip_prefix = \"ryu-1.0.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ryu-1.0.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__schannel-0.1.27\",\n sha256 = \"1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/schannel/0.1.27/download\"],\n strip_prefix = \"schannel-0.1.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.schannel-0.1.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sec1-0.7.3\",\n sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n strip_prefix = \"sec1-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sec1-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__secrecy-0.8.0\",\n sha256 = \"9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/secrecy/0.8.0/download\"],\n strip_prefix = \"secrecy-0.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.secrecy-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__security-framework-2.10.0\",\n sha256 = \"770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/security-framework/2.10.0/download\"],\n strip_prefix = \"security-framework-2.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.security-framework-2.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__security-framework-sys-2.14.0\",\n sha256 = \"49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/security-framework-sys/2.14.0/download\"],\n strip_prefix = \"security-framework-sys-2.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.security-framework-sys-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde-1.0.219\",\n sha256 = \"5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.219/download\"],\n strip_prefix = \"serde-1.0.219\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.219.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_bytes-0.11.12\",\n sha256 = \"ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_bytes/0.11.12/download\"],\n strip_prefix = \"serde_bytes-0.11.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_bytes-0.11.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_derive-1.0.219\",\n sha256 = \"5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.219/download\"],\n strip_prefix = \"serde_derive-1.0.219\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.219.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_json-1.0.107\",\n sha256 = \"6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.107/download\"],\n strip_prefix = \"serde_json-1.0.107\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.107.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_urlencoded-0.7.1\",\n sha256 = \"d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_urlencoded/0.7.1/download\"],\n strip_prefix = \"serde_urlencoded-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_urlencoded-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_with-3.4.0\",\n sha256 = \"64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_with/3.4.0/download\"],\n strip_prefix = \"serde_with-3.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_with-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_with_macros-3.4.0\",\n sha256 = \"93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_with_macros/3.4.0/download\"],\n strip_prefix = \"serde_with_macros-3.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_with_macros-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serialport-4.2.2\",\n sha256 = \"c32634e2bd4311420caa504404a55fad2131292c485c97014cbed89a5899885f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serialport/4.2.2/download\"],\n strip_prefix = \"serialport-4.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serialport-4.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha2-0.10.7\",\n sha256 = \"479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha2/0.10.7/download\"],\n strip_prefix = \"sha2-0.10.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha2-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha3-0.10.8\",\n sha256 = \"75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha3/0.10.8/download\"],\n strip_prefix = \"sha3-0.10.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha3-0.10.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shellwords-1.1.0\",\n sha256 = \"89e515aa4699a88148ed5ef96413ceef0048ce95b43fbc955a33bde0a70fcae6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shellwords/1.1.0/download\"],\n strip_prefix = \"shellwords-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shellwords-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shlex-1.1.0\",\n sha256 = \"43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.1.0/download\"],\n strip_prefix = \"shlex-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signature-2.1.0\",\n sha256 = \"5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signature/2.1.0/download\"],\n strip_prefix = \"signature-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signature-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__simple_asn1-0.6.2\",\n sha256 = \"adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simple_asn1/0.6.2/download\"],\n strip_prefix = \"simple_asn1-0.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.simple_asn1-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__siphasher-0.3.11\",\n sha256 = \"38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/siphasher/0.3.11/download\"],\n strip_prefix = \"siphasher-0.3.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.siphasher-0.3.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__slab-0.4.9\",\n sha256 = \"8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.9/download\"],\n strip_prefix = \"slab-0.4.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__smallvec-1.13.2\",\n sha256 = \"3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.13.2/download\"],\n strip_prefix = \"smallvec-1.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__socket2-0.5.8\",\n sha256 = \"c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.5.8/download\"],\n strip_prefix = \"socket2-0.5.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.5.2\",\n sha256 = \"6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.5.2/download\"],\n strip_prefix = \"spin-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.9.8\",\n sha256 = \"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.8/download\"],\n strip_prefix = \"spin-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spki-0.7.3\",\n sha256 = \"d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spki/0.7.3/download\"],\n strip_prefix = \"spki-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spki-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__string_cache-0.8.7\",\n sha256 = \"f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache/0.8.7/download\"],\n strip_prefix = \"string_cache-0.8.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.string_cache-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__string_cache_codegen-0.5.2\",\n sha256 = \"6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache_codegen/0.5.2/download\"],\n strip_prefix = \"string_cache_codegen-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.string_cache_codegen-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strsim-0.10.0\",\n sha256 = \"73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.10.0/download\"],\n strip_prefix = \"strsim-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strum-0.25.0\",\n sha256 = \"290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum/0.25.0/download\"],\n strip_prefix = \"strum-0.25.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strum-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strum_macros-0.25.2\",\n sha256 = \"ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum_macros/0.25.2/download\"],\n strip_prefix = \"strum_macros-0.25.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strum_macros-0.25.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__subtle-2.5.0\",\n sha256 = \"81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/subtle/2.5.0/download\"],\n strip_prefix = \"subtle-2.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.subtle-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-1.0.109\",\n sha256 = \"72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/1.0.109/download\"],\n strip_prefix = \"syn-1.0.109\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-1.0.109.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-2.0.101\",\n sha256 = \"8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.101/download\"],\n strip_prefix = \"syn-2.0.101\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.101.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sync_wrapper-1.0.2\",\n sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n strip_prefix = \"sync_wrapper-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__system-configuration-0.6.1\",\n sha256 = \"3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-configuration/0.6.1/download\"],\n strip_prefix = \"system-configuration-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.system-configuration-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__system-configuration-sys-0.6.0\",\n sha256 = \"8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-configuration-sys/0.6.0/download\"],\n strip_prefix = \"system-configuration-sys-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.system-configuration-sys-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tap-1.0.1\",\n sha256 = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tap/1.0.1/download\"],\n strip_prefix = \"tap-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tap-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tar-0.4.40\",\n sha256 = \"b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tar/0.4.40/download\"],\n strip_prefix = \"tar-0.4.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tar-0.4.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tempfile-3.8.0\",\n sha256 = \"cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.8.0/download\"],\n strip_prefix = \"tempfile-3.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tendril-0.4.3\",\n sha256 = \"d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tendril/0.4.3/download\"],\n strip_prefix = \"tendril-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tendril-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__termcolor-1.2.0\",\n sha256 = \"be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termcolor/1.2.0/download\"],\n strip_prefix = \"termcolor-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.termcolor-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__terminal_size-0.3.0\",\n sha256 = \"21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminal_size/0.3.0/download\"],\n strip_prefix = \"terminal_size-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.terminal_size-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-1.0.49\",\n sha256 = \"1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/1.0.49/download\"],\n strip_prefix = \"thiserror-1.0.49\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-1.0.49.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-impl-1.0.49\",\n sha256 = \"10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.49/download\"],\n strip_prefix = \"thiserror-impl-1.0.49\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-1.0.49.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.1.45\",\n sha256 = \"1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.1.45/download\"],\n strip_prefix = \"time-0.1.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.1.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.3.41\",\n sha256 = \"8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.41/download\"],\n strip_prefix = \"time-0.3.41\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.41.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-core-0.1.4\",\n sha256 = \"c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.4/download\"],\n strip_prefix = \"time-core-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-macros-0.2.22\",\n sha256 = \"3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.22/download\"],\n strip_prefix = \"time-macros-0.2.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tiny-keccak-2.0.2\",\n sha256 = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-keccak/2.0.2/download\"],\n strip_prefix = \"tiny-keccak-2.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tiny-keccak-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyvec-1.6.0\",\n sha256 = \"87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec/1.6.0/download\"],\n strip_prefix = \"tinyvec-1.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyvec-1.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyvec_macros-0.1.1\",\n sha256 = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec_macros/0.1.1/download\"],\n strip_prefix = \"tinyvec_macros-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyvec_macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tls_codec-0.4.2\",\n sha256 = \"0de2e01245e2bb89d6f05801c564fa27624dbd7b1846859876c7dad82e90bf6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tls_codec/0.4.2/download\"],\n strip_prefix = \"tls_codec-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tls_codec-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tls_codec_derive-0.4.2\",\n sha256 = \"2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tls_codec_derive/0.4.2/download\"],\n strip_prefix = \"tls_codec_derive-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tls_codec_derive-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-1.43.0\",\n sha256 = \"3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.43.0/download\"],\n strip_prefix = \"tokio-1.43.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.43.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-native-tls-0.3.1\",\n sha256 = \"bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-native-tls/0.3.1/download\"],\n strip_prefix = \"tokio-native-tls-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-native-tls-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-rustls-0.26.1\",\n sha256 = \"5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-rustls/0.26.1/download\"],\n strip_prefix = \"tokio-rustls-0.26.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-rustls-0.26.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-util-0.7.13\",\n sha256 = \"d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.13/download\"],\n strip_prefix = \"tokio-util-0.7.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml-0.5.11\",\n sha256 = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/0.5.11/download\"],\n strip_prefix = \"toml-0.5.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.5.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_datetime-0.6.3\",\n sha256 = \"7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/0.6.3/download\"],\n strip_prefix = \"toml_datetime-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_edit-0.19.14\",\n sha256 = \"f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.19.14/download\"],\n strip_prefix = \"toml_edit-0.19.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.19.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__topological-sort-0.2.2\",\n sha256 = \"ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/topological-sort/0.2.2/download\"],\n strip_prefix = \"topological-sort-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.topological-sort-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-0.5.2\",\n sha256 = \"d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower/0.5.2/download\"],\n strip_prefix = \"tower-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-layer-0.3.3\",\n sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n strip_prefix = \"tower-layer-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-service-0.3.3\",\n sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n strip_prefix = \"tower-service-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-0.1.41\",\n sha256 = \"784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.41/download\"],\n strip_prefix = \"tracing-0.1.41\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.41.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-core-0.1.33\",\n sha256 = \"e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.33/download\"],\n strip_prefix = \"tracing-core-0.1.33\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__try-lock-0.2.5\",\n sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n strip_prefix = \"try-lock-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__twox-hash-1.6.3\",\n sha256 = \"97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/twox-hash/1.6.3/download\"],\n strip_prefix = \"twox-hash-1.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.twox-hash-1.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typeid-1.0.3\",\n sha256 = \"bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typeid/1.0.3/download\"],\n strip_prefix = \"typeid-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typeid-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typenum-1.17.0\",\n sha256 = \"42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typenum/1.17.0/download\"],\n strip_prefix = \"typenum-1.17.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typenum-1.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typetag-0.2.20\",\n sha256 = \"73f22b40dd7bfe8c14230cf9702081366421890435b2d625fa92b4acc4c3de6f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typetag/0.2.20/download\"],\n strip_prefix = \"typetag-0.2.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typetag-0.2.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typetag-impl-0.2.20\",\n sha256 = \"35f5380909ffc31b4de4f4bdf96b877175a016aa2ca98cee39fcfd8c4d53d952\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typetag-impl/0.2.20/download\"],\n strip_prefix = \"typetag-impl-0.2.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typetag-impl-0.2.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ucd-trie-0.1.6\",\n sha256 = \"ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ucd-trie/0.1.6/download\"],\n strip_prefix = \"ucd-trie-0.1.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ucd-trie-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicase-2.7.0\",\n sha256 = \"f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicase/2.7.0/download\"],\n strip_prefix = \"unicase-2.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicase-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-bidi-0.3.13\",\n sha256 = \"92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-bidi/0.3.13/download\"],\n strip_prefix = \"unicode-bidi-0.3.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-bidi-0.3.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-ident-1.0.12\",\n sha256 = \"3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.12/download\"],\n strip_prefix = \"unicode-ident-1.0.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-normalization-0.1.22\",\n sha256 = \"5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-normalization/0.1.22/download\"],\n strip_prefix = \"unicode-normalization-0.1.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-normalization-0.1.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-width-0.1.10\",\n sha256 = \"c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.1.10/download\"],\n strip_prefix = \"unicode-width-0.1.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__untrusted-0.7.1\",\n sha256 = \"a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.7.1/download\"],\n strip_prefix = \"untrusted-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.untrusted-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__untrusted-0.9.0\",\n sha256 = \"8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.9.0/download\"],\n strip_prefix = \"untrusted-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.untrusted-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__url-2.4.1\",\n sha256 = \"143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/url/2.4.1/download\"],\n strip_prefix = \"url-2.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.url-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf-8-0.7.6\",\n sha256 = \"09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf-8/0.7.6/download\"],\n strip_prefix = \"utf-8-0.7.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf-8-0.7.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf8parse-0.2.1\",\n sha256 = \"711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.1/download\"],\n strip_prefix = \"utf8parse-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__vcpkg-0.2.15\",\n sha256 = \"accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/vcpkg/0.2.15/download\"],\n strip_prefix = \"vcpkg-0.2.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.vcpkg-0.2.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__version_check-0.9.4\",\n sha256 = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.4/download\"],\n strip_prefix = \"version_check-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__void-1.0.2\",\n sha256 = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/void/1.0.2/download\"],\n strip_prefix = \"void-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.void-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__want-0.3.1\",\n sha256 = \"bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/want/0.3.1/download\"],\n strip_prefix = \"want-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.10.0-wasi-snapshot-preview1\",\n sha256 = \"1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.10.0+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.10.0+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.11.0-wasi-snapshot-preview1\",\n sha256 = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.0+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.0+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-0.2.100\",\n sha256 = \"1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-backend-0.2.100\",\n sha256 = \"2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-backend/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-backend-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-backend-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-futures-0.4.37\",\n sha256 = \"c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-futures/0.4.37/download\"],\n strip_prefix = \"wasm-bindgen-futures-0.4.37\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-futures-0.4.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-0.2.100\",\n sha256 = \"7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-support-0.2.100\",\n sha256 = \"8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-shared-0.2.100\",\n sha256 = \"1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__web-sys-0.3.64\",\n sha256 = \"9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-sys/0.3.64/download\"],\n strip_prefix = \"web-sys-0.3.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.web-sys-0.3.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-util-0.1.5\",\n sha256 = \"70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-util/0.1.5/download\"],\n strip_prefix = \"winapi-util-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-util-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-core-0.51.1\",\n sha256 = \"f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.51.1/download\"],\n strip_prefix = \"windows-core-0.51.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.1.1\",\n sha256 = \"76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.1/download\"],\n strip_prefix = \"windows-link-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-registry-0.2.0\",\n sha256 = \"e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-registry/0.2.0/download\"],\n strip_prefix = \"windows-registry-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-registry-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-result-0.2.0\",\n sha256 = \"1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.2.0/download\"],\n strip_prefix = \"windows-result-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-strings-0.1.0\",\n sha256 = \"4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.1.0/download\"],\n strip_prefix = \"windows-strings-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.45.0\",\n sha256 = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.45.0/download\"],\n strip_prefix = \"windows-sys-0.45.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.45.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.48.0\",\n sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n strip_prefix = \"windows-sys-0.48.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.52.0\",\n sha256 = \"282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.52.0/download\"],\n strip_prefix = \"windows-sys-0.52.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.52.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.42.2\",\n sha256 = \"8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.42.2/download\"],\n strip_prefix = \"windows-targets-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.42.2\",\n sha256 = \"597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.42.2/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.42.2\",\n sha256 = \"e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.42.2/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.42.2\",\n sha256 = \"c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.42.2/download\"],\n strip_prefix = \"windows_i686_gnu-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.42.2\",\n sha256 = \"44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.42.2/download\"],\n strip_prefix = \"windows_i686_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.42.2\",\n sha256 = \"8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.42.2\",\n sha256 = \"26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.42.2\",\n sha256 = \"9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winnow-0.5.15\",\n sha256 = \"7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.5.15/download\"],\n strip_prefix = \"winnow-0.5.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wyz-0.5.1\",\n sha256 = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wyz/0.5.1/download\"],\n strip_prefix = \"wyz-0.5.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wyz-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__x509-cert-0.2.5\",\n sha256 = \"1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x509-cert/0.2.5/download\"],\n strip_prefix = \"x509-cert-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.x509-cert-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__xattr-1.0.1\",\n sha256 = \"f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xattr/1.0.1/download\"],\n strip_prefix = \"xattr-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.xattr-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-0.8.27\",\n sha256 = \"0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.27/download\"],\n strip_prefix = \"zerocopy-0.8.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-derive-0.8.27\",\n sha256 = \"88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.27/download\"],\n strip_prefix = \"zerocopy-derive-0.8.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize-1.8.1\",\n sha256 = \"ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize/1.8.1/download\"],\n strip_prefix = \"zeroize-1.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize_derive-1.4.2\",\n sha256 = \"ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize_derive/1.4.2/download\"],\n strip_prefix = \"zeroize_derive-1.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.4.2.bazel\"),\n )\n\n return [\n struct(repo=\"crate_index__aes-0.8.3\", is_dev_dep = False),\n struct(repo=\"crate_index__anstyle-1.0.4\", is_dev_dep = False),\n struct(repo=\"crate_index__anyhow-1.0.75\", is_dev_dep = False),\n struct(repo=\"crate_index__arrayvec-0.7.4\", is_dev_dep = False),\n struct(repo=\"crate_index__asn1-0.15.5\", is_dev_dep = False),\n struct(repo=\"crate_index__base64-0.21.5\", is_dev_dep = False),\n struct(repo=\"crate_index__base64ct-1.6.0\", is_dev_dep = False),\n struct(repo=\"crate_index__bitflags-2.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__bitvec-1.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__byteorder-1.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__chrono-0.4.40\", is_dev_dep = False),\n struct(repo=\"crate_index__ciborium-0.2.2\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-4.4.7\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-num-1.0.2\", is_dev_dep = False),\n struct(repo=\"crate_index__const-oid-0.9.6\", is_dev_dep = False),\n struct(repo=\"crate_index__coset-0.3.8\", is_dev_dep = False),\n struct(repo=\"crate_index__crc-3.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__cryptoki-0.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__cryptoki-sys-0.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__der-0.7.8\", is_dev_dep = False),\n struct(repo=\"crate_index__deser-hjson-2.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__directories-5.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__ecdsa-0.16.9\", is_dev_dep = False),\n struct(repo=\"crate_index__elf-0.7.2\", is_dev_dep = False),\n struct(repo=\"crate_index__elliptic-curve-0.13.8\", is_dev_dep = False),\n struct(repo=\"crate_index__embedded-hal-1.0.0\", is_dev_dep = False),\n struct(repo=\"crate_index__env_logger-0.10.0\", is_dev_dep = False),\n struct(repo=\"crate_index__erased-serde-0.3.31\", is_dev_dep = False),\n struct(repo=\"crate_index__foreign-types-0.3.2\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-0.1.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-embedded-hal-0.22.0\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-mpsse-0.1.1\", is_dev_dep = False),\n struct(repo=\"crate_index__heck-0.4.1\", is_dev_dep = False),\n struct(repo=\"crate_index__hex-0.4.3\", is_dev_dep = False),\n struct(repo=\"crate_index__hmac-0.12.1\", is_dev_dep = False),\n struct(repo=\"crate_index__humantime-2.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__humantime-serde-1.1.1\", is_dev_dep = False),\n struct(repo=\"crate_index__indexmap-2.0.0\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-0.17.6\", is_dev_dep = False),\n struct(repo=\"crate_index__inventory-0.3.17\", is_dev_dep = False),\n struct(repo=\"crate_index__itertools-0.13.0\", is_dev_dep = False),\n struct(repo=\"crate_index__libloading-0.8.3\", is_dev_dep = False),\n struct(repo=\"crate_index__log-0.4.20\", is_dev_dep = False),\n struct(repo=\"crate_index__mdbook-0.4.34\", is_dev_dep = False),\n struct(repo=\"crate_index__memchr-2.6.4\", is_dev_dep = False),\n struct(repo=\"crate_index__memoffset-0.9.0\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-0.8.8\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-signals-0.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__num-bigint-dig-0.8.4\", is_dev_dep = False),\n struct(repo=\"crate_index__num-traits-0.2.17\", is_dev_dep = False),\n struct(repo=\"crate_index__num_enum-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__object-0.36.7\", is_dev_dep = False),\n struct(repo=\"crate_index__once_cell-1.18.0\", is_dev_dep = False),\n struct(repo=\"crate_index__openssl-0.10.64\", is_dev_dep = False),\n struct(repo=\"crate_index__openssl-sys-0.9.102\", is_dev_dep = False),\n struct(repo=\"crate_index__p256-0.13.2\", is_dev_dep = False),\n struct(repo=\"crate_index__p384-0.13.0\", is_dev_dep = False),\n struct(repo=\"crate_index__paste-1.0.14\", is_dev_dep = False),\n struct(repo=\"crate_index__pem-rfc7468-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__pest-2.7.3\", is_dev_dep = False),\n struct(repo=\"crate_index__pest_derive-2.7.3\", is_dev_dep = False),\n struct(repo=\"crate_index__proc-macro2-1.0.95\", is_dev_dep = False),\n struct(repo=\"crate_index__quote-1.0.40\", is_dev_dep = False),\n struct(repo=\"crate_index__rand-0.8.5\", is_dev_dep = False),\n struct(repo=\"crate_index__rand_chacha-0.3.1\", is_dev_dep = False),\n struct(repo=\"crate_index__regex-1.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__reqwest-0.12.12\", is_dev_dep = False),\n struct(repo=\"crate_index__ring-0.16.20\", is_dev_dep = False),\n struct(repo=\"crate_index__rsa-0.9.2\", is_dev_dep = False),\n struct(repo=\"crate_index__rsa-der-0.3.0\", is_dev_dep = False),\n struct(repo=\"crate_index__rusb-0.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__rust-crypto-0.2.36\", is_dev_dep = False),\n struct(repo=\"crate_index__rustix-0.38.10\", is_dev_dep = False),\n struct(repo=\"crate_index__scopeguard-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__secrecy-0.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__serde-1.0.219\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_bytes-0.11.12\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_json-1.0.107\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_with-3.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__serialport-4.2.2\", is_dev_dep = False),\n struct(repo=\"crate_index__sha2-0.10.7\", is_dev_dep = False),\n struct(repo=\"crate_index__sha3-0.10.8\", is_dev_dep = False),\n struct(repo=\"crate_index__shellwords-1.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__strum-0.25.0\", is_dev_dep = False),\n struct(repo=\"crate_index__syn-2.0.101\", is_dev_dep = False),\n struct(repo=\"crate_index__tar-0.4.40\", is_dev_dep = False),\n struct(repo=\"crate_index__tempfile-3.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__thiserror-1.0.49\", is_dev_dep = False),\n struct(repo=\"crate_index__tiny-keccak-2.0.2\", is_dev_dep = False),\n struct(repo=\"crate_index__typetag-0.2.20\", is_dev_dep = False),\n struct(repo=\"crate_index__x509-cert-0.2.5\", is_dev_dep = False),\n struct(repo=\"crate_index__zerocopy-0.8.27\", is_dev_dep = False),\n struct(repo=\"crate_index__zeroize-1.8.1\", is_dev_dep = False),\n struct(repo = \"crate_index__indoc-2.0.4\", is_dev_dep = True),\n ]\n" + "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"addr2line\": Label(\"@crate_index//:addr2line-0.24.2\"),\n \"aes\": Label(\"@crate_index//:aes-0.8.3\"),\n \"anstyle\": Label(\"@crate_index//:anstyle-1.0.4\"),\n \"anyhow\": Label(\"@crate_index//:anyhow-1.0.75\"),\n \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.4\"),\n \"asn1\": Label(\"@crate_index//:asn1-0.15.5\"),\n \"base64\": Label(\"@crate_index//:base64-0.21.5\"),\n \"base64ct\": Label(\"@crate_index//:base64ct-1.6.0\"),\n \"bitflags\": Label(\"@crate_index//:bitflags-2.4.0\"),\n \"bitvec\": Label(\"@crate_index//:bitvec-1.0.1\"),\n \"byteorder\": Label(\"@crate_index//:byteorder-1.5.0\"),\n \"chrono\": Label(\"@crate_index//:chrono-0.4.40\"),\n \"ciborium\": Label(\"@crate_index//:ciborium-0.2.2\"),\n \"clap\": Label(\"@crate_index//:clap-4.4.7\"),\n \"clap-num\": Label(\"@crate_index//:clap-num-1.0.2\"),\n \"const-oid\": Label(\"@crate_index//:const-oid-0.9.6\"),\n \"coset\": Label(\"@crate_index//:coset-0.3.8\"),\n \"crc\": Label(\"@crate_index//:crc-3.0.1\"),\n \"cryptoki\": Label(\"@crate_index//:cryptoki-0.8.0\"),\n \"cryptoki-sys\": Label(\"@crate_index//:cryptoki-sys-0.2.0\"),\n \"der\": Label(\"@crate_index//:der-0.7.8\"),\n \"deser-hjson\": Label(\"@crate_index//:deser-hjson-2.1.0\"),\n \"directories\": Label(\"@crate_index//:directories-5.0.1\"),\n \"ecdsa\": Label(\"@crate_index//:ecdsa-0.16.9\"),\n \"elf\": Label(\"@crate_index//:elf-0.7.2\"),\n \"elliptic-curve\": Label(\"@crate_index//:elliptic-curve-0.13.8\"),\n \"embedded-hal\": Label(\"@crate_index//:embedded-hal-1.0.0\"),\n \"env_logger\": Label(\"@crate_index//:env_logger-0.10.0\"),\n \"erased-serde\": Label(\"@crate_index//:erased-serde-0.3.31\"),\n \"foreign-types\": Label(\"@crate_index//:foreign-types-0.3.2\"),\n \"ftdi\": Label(\"@crate_index//:ftdi-0.1.3\"),\n \"ftdi-embedded-hal\": Label(\"@crate_index//:ftdi-embedded-hal-0.22.0\"),\n \"ftdi-mpsse\": Label(\"@crate_index//:ftdi-mpsse-0.1.1\"),\n \"heck\": Label(\"@crate_index//:heck-0.4.1\"),\n \"hex\": Label(\"@crate_index//:hex-0.4.3\"),\n \"hmac\": Label(\"@crate_index//:hmac-0.12.1\"),\n \"humantime\": Label(\"@crate_index//:humantime-2.1.0\"),\n \"humantime-serde\": Label(\"@crate_index//:humantime-serde-1.1.1\"),\n \"indexmap\": Label(\"@crate_index//:indexmap-2.0.0\"),\n \"indicatif\": Label(\"@crate_index//:indicatif-0.17.6\"),\n \"inventory\": Label(\"@crate_index//:inventory-0.3.17\"),\n \"itertools\": Label(\"@crate_index//:itertools-0.13.0\"),\n \"libloading\": Label(\"@crate_index//:libloading-0.8.3\"),\n \"log\": Label(\"@crate_index//:log-0.4.20\"),\n \"mdbook\": Label(\"@crate_index//:mdbook-0.4.34\"),\n \"memchr\": Label(\"@crate_index//:memchr-2.6.4\"),\n \"memoffset\": Label(\"@crate_index//:memoffset-0.9.0\"),\n \"mio\": Label(\"@crate_index//:mio-0.8.8\"),\n \"mio-signals\": Label(\"@crate_index//:mio-signals-0.2.0\"),\n \"num-bigint-dig\": Label(\"@crate_index//:num-bigint-dig-0.8.4\"),\n \"num-traits\": Label(\"@crate_index//:num-traits-0.2.17\"),\n \"num_enum\": Label(\"@crate_index//:num_enum-0.7.0\"),\n \"object\": Label(\"@crate_index//:object-0.36.7\"),\n \"once_cell\": Label(\"@crate_index//:once_cell-1.18.0\"),\n \"openssl\": Label(\"@crate_index//:openssl-0.10.64\"),\n \"openssl-sys\": Label(\"@crate_index//:openssl-sys-0.9.102\"),\n \"p256\": Label(\"@crate_index//:p256-0.13.2\"),\n \"p384\": Label(\"@crate_index//:p384-0.13.0\"),\n \"pem-rfc7468\": Label(\"@crate_index//:pem-rfc7468-0.7.0\"),\n \"pest\": Label(\"@crate_index//:pest-2.7.3\"),\n \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.95\"),\n \"quote\": Label(\"@crate_index//:quote-1.0.40\"),\n \"rand\": Label(\"@crate_index//:rand-0.8.5\"),\n \"rand_chacha\": Label(\"@crate_index//:rand_chacha-0.3.1\"),\n \"regex\": Label(\"@crate_index//:regex-1.9.4\"),\n \"reqwest\": Label(\"@crate_index//:reqwest-0.12.12\"),\n \"ring\": Label(\"@crate_index//:ring-0.16.20\"),\n \"rsa\": Label(\"@crate_index//:rsa-0.9.2\"),\n \"rsa-der\": Label(\"@crate_index//:rsa-der-0.3.0\"),\n \"rusb\": Label(\"@crate_index//:rusb-0.9.4\"),\n \"rust-crypto\": Label(\"@crate_index//:rust-crypto-0.2.36\"),\n \"rustix\": Label(\"@crate_index//:rustix-0.38.10\"),\n \"scopeguard\": Label(\"@crate_index//:scopeguard-1.2.0\"),\n \"secrecy\": Label(\"@crate_index//:secrecy-0.8.0\"),\n \"serde\": Label(\"@crate_index//:serde-1.0.219\"),\n \"serde_bytes\": Label(\"@crate_index//:serde_bytes-0.11.12\"),\n \"serde_json\": Label(\"@crate_index//:serde_json-1.0.107\"),\n \"serde_with\": Label(\"@crate_index//:serde_with-3.4.0\"),\n \"serialport\": Label(\"@crate_index//:serialport-4.2.2\"),\n \"sha2\": Label(\"@crate_index//:sha2-0.10.7\"),\n \"sha3\": Label(\"@crate_index//:sha3-0.10.8\"),\n \"shellwords\": Label(\"@crate_index//:shellwords-1.1.0\"),\n \"strum\": Label(\"@crate_index//:strum-0.25.0\"),\n \"syn\": Label(\"@crate_index//:syn-2.0.101\"),\n \"tar\": Label(\"@crate_index//:tar-0.4.40\"),\n \"tempfile\": Label(\"@crate_index//:tempfile-3.8.0\"),\n \"thiserror\": Label(\"@crate_index//:thiserror-1.0.49\"),\n \"tiny-keccak\": Label(\"@crate_index//:tiny-keccak-2.0.2\"),\n \"typetag\": Label(\"@crate_index//:typetag-0.2.20\"),\n \"x509-cert\": Label(\"@crate_index//:x509-cert-0.2.5\"),\n \"zerocopy\": Label(\"@crate_index//:zerocopy-0.8.27\"),\n \"zeroize\": Label(\"@crate_index//:zeroize-1.8.1\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"paste\": Label(\"@crate_index//:paste-1.0.14\"),\n \"pest_derive\": Label(\"@crate_index//:pest_derive-2.7.3\"),\n },\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"third_party/rust\": {\n _COMMON_CONDITION: {\n \"indoc\": Label(\"@crate_index//:indoc-2.0.4\"),\n },\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"third_party/rust\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"third_party/rust\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"aarch64-linux-android\": [],\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-pc-windows-msvc\": [],\n \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"aarch64-uwp-windows-msvc\": [],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\")))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", target_endian = \\\"little\\\", any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"windows\\\"))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_vendor = \\\"unknown\\\", target_os = \\\"unknown\\\", target_env = \\\"\\\"))\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(all(windows, target_env = \\\"msvc\\\"))\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\", target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\", all(any(target_arch = \\\"aarch64\\\", target_arch = \\\"arm\\\"), any(target_os = \\\"android\\\", target_os = \\\"fuchsia\\\", target_os = \\\"linux\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\", target_os = \\\"netbsd\\\", target_os = \\\"openbsd\\\", target_os = \\\"solaris\\\"))\": [],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"macos\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"ios\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(all(windows, target_env = \\\"msvc\\\")))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(all(windows, target_env = \\\"msvc\\\", not(target_vendor = \\\"uwp\\\"))))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(any(target_os = \\\"windows\\\", target_vendor = \\\"apple\\\")))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(any(windows, target_os = \\\"hermit\\\", target_os = \\\"unknown\\\")))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(target_arch = \\\"wasm32\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(windows))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(not(windows_raw_dylib))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\",\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(target_arch = \\\"aarch64\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"cfg(target_arch = \\\"spirv\\\")\": [],\n \"cfg(target_arch = \\\"wasm32\\\")\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_env = \\\"sgx\\\")\": [],\n \"cfg(target_family = \\\"wasm\\\")\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\",\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_feature = \\\"atomics\\\")\": [],\n \"cfg(target_os = \\\"android\\\")\": [],\n \"cfg(target_os = \\\"fuchsia\\\")\": [],\n \"cfg(target_os = \\\"haiku\\\")\": [],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"linux\\\")\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(target_os = \\\"macos\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(target_os = \\\"redox\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"cfg(target_os = \\\"windows\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"cfg(target_vendor = \\\"apple\\\")\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n \"cfg(tokio_taskdump)\": [],\n \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"cfg(windows)\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"i686-pc-windows-msvc\": [],\n \"i686-uwp-windows-gnu\": [],\n \"i686-uwp-windows-msvc\": [],\n \"wasm32-unknown-unknown\": [\"@rules_rust//rust/platform:wasm32-unknown-unknown\"],\n \"wasm32-wasip1\": [\"@rules_rust//rust/platform:wasm32-wasip1\"],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-pc-windows-msvc\": [\"@rules_rust//rust/platform:x86_64-pc-windows-msvc\"],\n \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"x86_64-unknown-nixos-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\"],\n \"x86_64-uwp-windows-gnu\": [],\n \"x86_64-uwp-windows-msvc\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n http_archive,\n name = \"crate_index__CoreFoundation-sys-0.1.4\",\n sha256 = \"d0e9889e6db118d49d88d84728d0e964d973a5680befb5f85f55141beea5c20b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/CoreFoundation-sys/0.1.4/download\"],\n strip_prefix = \"CoreFoundation-sys-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.CoreFoundation-sys-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__IOKit-sys-0.1.5\",\n sha256 = \"99696c398cbaf669d2368076bdb3d627fb0ce51a26899d7c61228c5c0af3bf4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/IOKit-sys/0.1.5/download\"],\n strip_prefix = \"IOKit-sys-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.IOKit-sys-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__addr2line-0.21.0\",\n sha256 = \"8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/addr2line/0.21.0/download\"],\n strip_prefix = \"addr2line-0.21.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.addr2line-0.21.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__addr2line-0.24.2\",\n sha256 = \"dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/addr2line/0.24.2/download\"],\n strip_prefix = \"addr2line-0.24.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.addr2line-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__adler-1.0.2\",\n sha256 = \"f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler/1.0.2/download\"],\n strip_prefix = \"adler-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.adler-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aes-0.8.3\",\n sha256 = \"ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes/0.8.3/download\"],\n strip_prefix = \"aes-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aes-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aho-corasick-1.0.5\",\n sha256 = \"0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.0.5/download\"],\n strip_prefix = \"aho-corasick-1.0.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ammonia-3.3.0\",\n sha256 = \"64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ammonia/3.3.0/download\"],\n strip_prefix = \"ammonia-3.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ammonia-3.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__android-tzdata-0.1.1\",\n sha256 = \"e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android-tzdata/0.1.1/download\"],\n strip_prefix = \"android-tzdata-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.android-tzdata-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__android_system_properties-0.1.5\",\n sha256 = \"819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android_system_properties/0.1.5/download\"],\n strip_prefix = \"android_system_properties-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.android_system_properties-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstream-0.6.4\",\n sha256 = \"2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/0.6.4/download\"],\n strip_prefix = \"anstream-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstream-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-1.0.4\",\n sha256 = \"7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.4/download\"],\n strip_prefix = \"anstyle-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-parse-0.2.2\",\n sha256 = \"317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/0.2.2/download\"],\n strip_prefix = \"anstyle-parse-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-query-1.0.0\",\n sha256 = \"5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.0.0/download\"],\n strip_prefix = \"anstyle-query-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-wincon-3.0.1\",\n sha256 = \"f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.1/download\"],\n strip_prefix = \"anstyle-wincon-3.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anyhow-1.0.75\",\n sha256 = \"a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.75/download\"],\n strip_prefix = \"anyhow-1.0.75\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.75.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__arrayvec-0.7.4\",\n sha256 = \"96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.4/download\"],\n strip_prefix = \"arrayvec-0.7.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__asn1-0.15.5\",\n sha256 = \"ae3ecbce89a22627b5e8e6e11d69715617138290289e385cde773b1fe50befdb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1/0.15.5/download\"],\n strip_prefix = \"asn1-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.asn1-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__asn1_derive-0.15.5\",\n sha256 = \"861af988fac460ac69a09f41e6217a8fb9178797b76fcc9478444be6a59be19c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1_derive/0.15.5/download\"],\n strip_prefix = \"asn1_derive-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.asn1_derive-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__autocfg-1.1.0\",\n sha256 = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/autocfg/1.1.0/download\"],\n strip_prefix = \"autocfg-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.autocfg-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__backtrace-0.3.69\",\n sha256 = \"2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/backtrace/0.3.69/download\"],\n strip_prefix = \"backtrace-0.3.69\",\n build_file = Label(\"@crate_index//crate_index:BUILD.backtrace-0.3.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base16ct-0.2.0\",\n sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n strip_prefix = \"base16ct-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base16ct-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.21.5\",\n sha256 = \"35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.21.5/download\"],\n strip_prefix = \"base64-0.21.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.21.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64ct-1.6.0\",\n sha256 = \"8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64ct/1.6.0/download\"],\n strip_prefix = \"base64ct-1.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64ct-1.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-1.3.2\",\n sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n strip_prefix = \"bitflags-1.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-2.4.0\",\n sha256 = \"b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.4.0/download\"],\n strip_prefix = \"bitflags-2.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitvec-1.0.1\",\n sha256 = \"1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitvec/1.0.1/download\"],\n strip_prefix = \"bitvec-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitvec-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__block-buffer-0.10.4\",\n sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n strip_prefix = \"block-buffer-0.10.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.block-buffer-0.10.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bstr-1.6.2\",\n sha256 = \"4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bstr/1.6.2/download\"],\n strip_prefix = \"bstr-1.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bstr-1.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bumpalo-3.14.0\",\n sha256 = \"7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.14.0/download\"],\n strip_prefix = \"bumpalo-3.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bytes-1.9.0\",\n sha256 = \"325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.9.0/download\"],\n strip_prefix = \"bytes-1.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cc-1.0.83\",\n sha256 = \"f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.0.83/download\"],\n strip_prefix = \"cc-1.0.83\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.0.83.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg-if-1.0.0\",\n sha256 = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.0/download\"],\n strip_prefix = \"cfg-if-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__chrono-0.4.40\",\n sha256 = \"1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chrono/0.4.40/download\"],\n strip_prefix = \"chrono-0.4.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.chrono-0.4.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-0.2.2\",\n sha256 = \"42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium/0.2.2/download\"],\n strip_prefix = \"ciborium-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-io-0.2.2\",\n sha256 = \"05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium-io/0.2.2/download\"],\n strip_prefix = \"ciborium-io-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-io-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ciborium-ll-0.2.2\",\n sha256 = \"57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ciborium-ll/0.2.2/download\"],\n strip_prefix = \"ciborium-ll-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ciborium-ll-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cipher-0.4.4\",\n sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n strip_prefix = \"cipher-0.4.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cipher-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-4.4.7\",\n sha256 = \"ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.4.7/download\"],\n strip_prefix = \"clap-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-num-1.0.2\",\n sha256 = \"488557e97528174edaa2ee268b23a809e0c598213a4bbcb4f34575a46fda147e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap-num/1.0.2/download\"],\n strip_prefix = \"clap-num-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-num-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_builder-4.4.7\",\n sha256 = \"c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.4.7/download\"],\n strip_prefix = \"clap_builder-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_complete-4.4.0\",\n sha256 = \"586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_complete/4.4.0/download\"],\n strip_prefix = \"clap_complete-4.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_complete-4.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_derive-4.4.7\",\n sha256 = \"cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.4.7/download\"],\n strip_prefix = \"clap_derive-4.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_lex-0.6.0\",\n sha256 = \"702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/0.6.0/download\"],\n strip_prefix = \"clap_lex-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__colorchoice-1.0.0\",\n sha256 = \"acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.0/download\"],\n strip_prefix = \"colorchoice-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__console-0.15.7\",\n sha256 = \"c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.15.7/download\"],\n strip_prefix = \"console-0.15.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__const-oid-0.9.6\",\n sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n strip_prefix = \"const-oid-0.9.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.const-oid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__core-foundation-0.9.4\",\n sha256 = \"91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation/0.9.4/download\"],\n strip_prefix = \"core-foundation-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.core-foundation-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__core-foundation-sys-0.8.7\",\n sha256 = \"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation-sys/0.8.7/download\"],\n strip_prefix = \"core-foundation-sys-0.8.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.core-foundation-sys-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__coset-0.3.8\",\n sha256 = \"f4c8cc80f631f8307b887faca24dcc3abc427cd0367f6eb6188f6e8f5b7ad8fb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/coset/0.3.8/download\"],\n strip_prefix = \"coset-0.3.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.coset-0.3.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cpp_demangle-0.4.5\",\n sha256 = \"f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpp_demangle/0.4.5/download\"],\n strip_prefix = \"cpp_demangle-0.4.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cpp_demangle-0.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cpufeatures-0.2.9\",\n sha256 = \"a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.2.9/download\"],\n strip_prefix = \"cpufeatures-0.2.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cpufeatures-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc-3.0.1\",\n sha256 = \"86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc/3.0.1/download\"],\n strip_prefix = \"crc-3.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc-catalog-2.2.0\",\n sha256 = \"9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-catalog/2.2.0/download\"],\n strip_prefix = \"crc-catalog-2.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc-catalog-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crc32fast-1.3.2\",\n sha256 = \"b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc32fast/1.3.2/download\"],\n strip_prefix = \"crc32fast-1.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crc32fast-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crunchy-0.2.2\",\n sha256 = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crunchy/0.2.2/download\"],\n strip_prefix = \"crunchy-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crunchy-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crypto-bigint-0.5.2\",\n sha256 = \"cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.2/download\"],\n strip_prefix = \"crypto-bigint-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crypto-bigint-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crypto-common-0.1.6\",\n sha256 = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.1.6/download\"],\n strip_prefix = \"crypto-common-0.1.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crypto-common-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cryptoki-0.8.0\",\n patch_args = [\n \"-p2\",\n ],\n patches = [\n \"@@//third_party/rust/patches:cryptoki-profile.patch\",\n \"@@//third_party/rust/patches:cryptoki-vendor-defined-mechanism-type.patch\",\n ],\n sha256 = \"2e45b5f1ddb06ae54aea3f6d60e88c493356c51f43b8e741c9d5ac661f4d02d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cryptoki/0.8.0/download\"],\n strip_prefix = \"cryptoki-0.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cryptoki-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cryptoki-sys-0.2.0\",\n sha256 = \"062316aeb324b15a0b10c9475a9e67d613b7409056c33fbe33b7c12027408cfb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cryptoki-sys/0.2.0/download\"],\n strip_prefix = \"cryptoki-sys-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cryptoki-sys-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling-0.20.3\",\n sha256 = \"0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.20.3/download\"],\n strip_prefix = \"darling-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling_core-0.20.3\",\n sha256 = \"177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.20.3/download\"],\n strip_prefix = \"darling_core-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling_core-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__darling_macro-0.20.3\",\n sha256 = \"836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.20.3/download\"],\n strip_prefix = \"darling_macro-0.20.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.darling_macro-0.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__der-0.7.8\",\n sha256 = \"fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der/0.7.8/download\"],\n strip_prefix = \"der-0.7.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.der-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__der_derive-0.7.3\",\n sha256 = \"8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der_derive/0.7.3/download\"],\n strip_prefix = \"der_derive-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.der_derive-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deranged-0.4.0\",\n sha256 = \"9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.4.0/download\"],\n strip_prefix = \"deranged-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deser-hjson-2.1.0\",\n sha256 = \"edc4f43e1fa39fc7d2e48824106097c78749ee5962e580c1e0b8564de7f138d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deser-hjson/2.1.0/download\"],\n strip_prefix = \"deser-hjson-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deser-hjson-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__digest-0.10.7\",\n sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n strip_prefix = \"digest-0.10.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.digest-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__directories-5.0.1\",\n sha256 = \"9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/directories/5.0.1/download\"],\n strip_prefix = \"directories-5.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.directories-5.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__dirs-sys-0.4.1\",\n sha256 = \"520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dirs-sys/0.4.1/download\"],\n strip_prefix = \"dirs-sys-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.dirs-sys-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ecdsa-0.16.9\",\n sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n strip_prefix = \"ecdsa-0.16.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ecdsa-0.16.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__either-1.13.0\",\n sha256 = \"60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.13.0/download\"],\n strip_prefix = \"either-1.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.either-1.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elasticlunr-rs-3.0.2\",\n sha256 = \"41e83863a500656dfa214fee6682de9c5b9f03de6860fec531235ed2ae9f6571\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elasticlunr-rs/3.0.2/download\"],\n strip_prefix = \"elasticlunr-rs-3.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elasticlunr-rs-3.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elf-0.7.2\",\n sha256 = \"e2b183d6ce6ca4cf30e3db37abf5b52568b5f9015c97d9fbdd7026aa5dcdd758\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elf/0.7.2/download\"],\n strip_prefix = \"elf-0.7.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elf-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__elliptic-curve-0.13.8\",\n sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n strip_prefix = \"elliptic-curve-0.13.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.elliptic-curve-0.13.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-0.2.7\",\n sha256 = \"35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal/0.2.7/download\"],\n strip_prefix = \"embedded-hal-0.2.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-1.0.0\",\n sha256 = \"361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal/1.0.0/download\"],\n strip_prefix = \"embedded-hal-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-hal-nb-1.0.0\",\n sha256 = \"fba4268c14288c828995299e59b12babdbe170f6c6d73731af1b4648142e8605\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-hal-nb/1.0.0/download\"],\n strip_prefix = \"embedded-hal-nb-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-hal-nb-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encode_unicode-0.3.6\",\n sha256 = \"a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/0.3.6/download\"],\n strip_prefix = \"encode_unicode-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encoding_rs-0.8.35\",\n sha256 = \"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs/0.8.35/download\"],\n strip_prefix = \"encoding_rs-0.8.35\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encoding_rs-0.8.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_logger-0.10.0\",\n sha256 = \"85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.10.0/download\"],\n strip_prefix = \"env_logger-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__equivalent-1.0.1\",\n sha256 = \"5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.1/download\"],\n strip_prefix = \"equivalent-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__erased-serde-0.3.31\",\n sha256 = \"6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/erased-serde/0.3.31/download\"],\n strip_prefix = \"erased-serde-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.erased-serde-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__erased-serde-0.4.6\",\n sha256 = \"e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/erased-serde/0.4.6/download\"],\n strip_prefix = \"erased-serde-0.4.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.erased-serde-0.4.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__errno-0.3.5\",\n sha256 = \"ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.5/download\"],\n strip_prefix = \"errno-0.3.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fallible-iterator-0.3.0\",\n sha256 = \"2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fallible-iterator/0.3.0/download\"],\n strip_prefix = \"fallible-iterator-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fallible-iterator-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fastrand-2.0.0\",\n sha256 = \"6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.0.0/download\"],\n strip_prefix = \"fastrand-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ff-0.13.0\",\n sha256 = \"ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ff/0.13.0/download\"],\n strip_prefix = \"ff-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ff-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__filetime-0.2.22\",\n sha256 = \"d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filetime/0.2.22/download\"],\n strip_prefix = \"filetime-0.2.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.filetime-0.2.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__flagset-0.4.7\",\n sha256 = \"b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flagset/0.4.7/download\"],\n strip_prefix = \"flagset-0.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.flagset-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__flate2-1.0.28\",\n sha256 = \"46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flate2/1.0.28/download\"],\n strip_prefix = \"flate2-1.0.28\",\n build_file = Label(\"@crate_index//crate_index:BUILD.flate2-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foreign-types-0.3.2\",\n sha256 = \"f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types/0.3.2/download\"],\n strip_prefix = \"foreign-types-0.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foreign-types-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foreign-types-shared-0.1.1\",\n sha256 = \"00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-shared/0.1.1/download\"],\n strip_prefix = \"foreign-types-shared-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foreign-types-shared-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__form_urlencoded-1.2.0\",\n sha256 = \"a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/form_urlencoded/1.2.0/download\"],\n strip_prefix = \"form_urlencoded-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.form_urlencoded-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-0.1.3\",\n sha256 = \"2f9c8c625c6b8634ce70cd8cbb2ab8a103e4c2b4185c86d9954d2e16b1ef7c4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi/0.1.3/download\"],\n strip_prefix = \"ftdi-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-embedded-hal-0.22.0\",\n sha256 = \"5e328c2738c104e2649586bda4baabf376825db50014eb0d41bee74fb6064deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi-embedded-hal/0.22.0/download\"],\n strip_prefix = \"ftdi-embedded-hal-0.22.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-embedded-hal-0.22.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ftdi-mpsse-0.1.1\",\n sha256 = \"fa7cfcda69930a8d2fdcdd7ffb9234fe4c79a8c73934ed4904327d77bfb5078a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ftdi-mpsse/0.1.1/download\"],\n strip_prefix = \"ftdi-mpsse-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ftdi-mpsse-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fuchsia-cprng-0.1.1\",\n sha256 = \"a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fuchsia-cprng/0.1.1/download\"],\n strip_prefix = \"fuchsia-cprng-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fuchsia-cprng-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__funty-2.0.0\",\n sha256 = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/funty/2.0.0/download\"],\n strip_prefix = \"funty-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.funty-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futf-0.1.5\",\n sha256 = \"df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futf/0.1.5/download\"],\n strip_prefix = \"futf-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futf-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-channel-0.3.31\",\n sha256 = \"2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.31/download\"],\n strip_prefix = \"futures-channel-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-core-0.3.31\",\n sha256 = \"05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.31/download\"],\n strip_prefix = \"futures-core-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-io-0.3.31\",\n sha256 = \"9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.31/download\"],\n strip_prefix = \"futures-io-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-sink-0.3.31\",\n sha256 = \"e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.31/download\"],\n strip_prefix = \"futures-sink-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-task-0.3.31\",\n sha256 = \"f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.31/download\"],\n strip_prefix = \"futures-task-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-util-0.3.31\",\n sha256 = \"9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.31/download\"],\n strip_prefix = \"futures-util-0.3.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__gcc-0.3.55\",\n sha256 = \"8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gcc/0.3.55/download\"],\n strip_prefix = \"gcc-0.3.55\",\n build_file = Label(\"@crate_index//crate_index:BUILD.gcc-0.3.55.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__generic-array-0.14.7\",\n sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n strip_prefix = \"generic-array-0.14.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.generic-array-0.14.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.2.10\",\n sha256 = \"be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.2.10/download\"],\n strip_prefix = \"getrandom-0.2.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.2.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__gimli-0.28.0\",\n sha256 = \"6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gimli/0.28.0/download\"],\n strip_prefix = \"gimli-0.28.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.gimli-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__gimli-0.31.1\",\n sha256 = \"07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gimli/0.31.1/download\"],\n strip_prefix = \"gimli-0.31.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.gimli-0.31.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__group-0.13.0\",\n sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n strip_prefix = \"group-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.group-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__h2-0.4.7\",\n sha256 = \"ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/h2/0.4.7/download\"],\n strip_prefix = \"h2-0.4.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__half-2.6.0\",\n sha256 = \"459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/half/2.6.0/download\"],\n strip_prefix = \"half-2.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.half-2.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__handlebars-4.3.7\",\n sha256 = \"83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/handlebars/4.3.7/download\"],\n strip_prefix = \"handlebars-4.3.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.handlebars-4.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.12.3\",\n sha256 = \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.12.3/download\"],\n strip_prefix = \"hashbrown-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.14.0\",\n sha256 = \"2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.14.0/download\"],\n strip_prefix = \"hashbrown-0.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.4.1\",\n sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n strip_prefix = \"heck-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hermit-abi-0.3.3\",\n sha256 = \"d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hermit-abi/0.3.3/download\"],\n strip_prefix = \"hermit-abi-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hermit-abi-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hex-0.4.3\",\n sha256 = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hex/0.4.3/download\"],\n strip_prefix = \"hex-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hex-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hkdf-0.12.3\",\n sha256 = \"791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hkdf/0.12.3/download\"],\n strip_prefix = \"hkdf-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hkdf-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hmac-0.12.1\",\n sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n strip_prefix = \"hmac-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hmac-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__html5ever-0.26.0\",\n sha256 = \"bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html5ever/0.26.0/download\"],\n strip_prefix = \"html5ever-0.26.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.html5ever-0.26.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-1.2.0\",\n sha256 = \"f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http/1.2.0/download\"],\n strip_prefix = \"http-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-1.0.1\",\n sha256 = \"1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body/1.0.1/download\"],\n strip_prefix = \"http-body-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-util-0.1.2\",\n sha256 = \"793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body-util/0.1.2/download\"],\n strip_prefix = \"http-body-util-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httparse-1.9.5\",\n sha256 = \"7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httparse/1.9.5/download\"],\n strip_prefix = \"httparse-1.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__humantime-2.1.0\",\n sha256 = \"9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/humantime/2.1.0/download\"],\n strip_prefix = \"humantime-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.humantime-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__humantime-serde-1.1.1\",\n sha256 = \"57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/humantime-serde/1.1.1/download\"],\n strip_prefix = \"humantime-serde-1.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.humantime-serde-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-1.5.2\",\n sha256 = \"256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper/1.5.2/download\"],\n strip_prefix = \"hyper-1.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-rustls-0.27.5\",\n sha256 = \"2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-rustls/0.27.5/download\"],\n strip_prefix = \"hyper-rustls-0.27.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-rustls-0.27.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-tls-0.6.0\",\n sha256 = \"70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-tls/0.6.0/download\"],\n strip_prefix = \"hyper-tls-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-tls-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-util-0.1.10\",\n sha256 = \"df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-util/0.1.10/download\"],\n strip_prefix = \"hyper-util-0.1.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iana-time-zone-0.1.58\",\n sha256 = \"8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone/0.1.58/download\"],\n strip_prefix = \"iana-time-zone-0.1.58\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iana-time-zone-0.1.58.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iana-time-zone-haiku-0.1.2\",\n sha256 = \"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone-haiku/0.1.2/download\"],\n strip_prefix = \"iana-time-zone-haiku-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iana-time-zone-haiku-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ident_case-1.0.1\",\n sha256 = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ident_case/1.0.1/download\"],\n strip_prefix = \"ident_case-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ident_case-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__idna-0.4.0\",\n sha256 = \"7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna/0.4.0/download\"],\n strip_prefix = \"idna-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.idna-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-1.9.3\",\n sha256 = \"bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/1.9.3/download\"],\n strip_prefix = \"indexmap-1.9.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-1.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-2.0.0\",\n sha256 = \"d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.0.0/download\"],\n strip_prefix = \"indexmap-2.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-0.17.6\",\n sha256 = \"0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.17.6/download\"],\n strip_prefix = \"indicatif-0.17.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.17.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indoc-2.0.4\",\n sha256 = \"1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indoc/2.0.4/download\"],\n strip_prefix = \"indoc-2.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indoc-2.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__inout-0.1.3\",\n sha256 = \"a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inout/0.1.3/download\"],\n strip_prefix = \"inout-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.inout-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__instant-0.1.12\",\n sha256 = \"7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/instant/0.1.12/download\"],\n strip_prefix = \"instant-0.1.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.instant-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__inventory-0.3.17\",\n sha256 = \"3b31349d02fe60f80bbbab1a9402364cad7460626d6030494b08ac4a2075bf81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inventory/0.3.17/download\"],\n strip_prefix = \"inventory-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.inventory-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ipnet-2.10.1\",\n sha256 = \"ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipnet/2.10.1/download\"],\n strip_prefix = \"ipnet-2.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ipnet-2.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__is-terminal-0.4.9\",\n sha256 = \"cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is-terminal/0.4.9/download\"],\n strip_prefix = \"is-terminal-0.4.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.is-terminal-0.4.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itoa-1.0.9\",\n sha256 = \"af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.9/download\"],\n strip_prefix = \"itoa-1.0.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__js-sys-0.3.64\",\n sha256 = \"c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.64/download\"],\n strip_prefix = \"js-sys-0.3.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__keccak-0.1.5\",\n sha256 = \"ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/keccak/0.1.5/download\"],\n strip_prefix = \"keccak-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.keccak-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazy_static-1.4.0\",\n sha256 = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.4.0/download\"],\n strip_prefix = \"lazy_static-1.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libc-0.2.169\",\n sha256 = \"b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.169/download\"],\n strip_prefix = \"libc-0.2.169\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.169.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libftdi1-sys-1.1.2\",\n sha256 = \"3ff6928872c7d13bec3c8a60c4c92f41f6252f3369b7552a5b4f9c90c8ba2338\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libftdi1-sys/1.1.2/download\"],\n strip_prefix = \"libftdi1-sys-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libftdi1-sys-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.7.4\",\n sha256 = \"b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.7.4/download\"],\n strip_prefix = \"libloading-0.7.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.8.3\",\n sha256 = \"0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.3/download\"],\n strip_prefix = \"libloading-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libm-0.2.8\",\n sha256 = \"4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libm/0.2.8/download\"],\n strip_prefix = \"libm-0.2.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libm-0.2.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libudev-0.3.0\",\n sha256 = \"78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libudev/0.3.0/download\"],\n strip_prefix = \"libudev-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libudev-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libudev-sys-0.1.4\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//third_party/rust/patches:libudev-sys-0.1.4.patch\",\n ],\n sha256 = \"3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libudev-sys/0.1.4/download\"],\n strip_prefix = \"libudev-sys-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libudev-sys-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libusb1-sys-0.7.0\",\n sha256 = \"da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libusb1-sys/0.7.0/download\"],\n strip_prefix = \"libusb1-sys-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libusb1-sys-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.4.5\",\n sha256 = \"57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.5/download\"],\n strip_prefix = \"linux-raw-sys-0.4.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lock_api-0.4.10\",\n sha256 = \"c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.10/download\"],\n strip_prefix = \"lock_api-0.4.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__log-0.4.20\",\n sha256 = \"b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.20/download\"],\n strip_prefix = \"log-0.4.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mac-0.1.1\",\n sha256 = \"c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mac/0.1.1/download\"],\n strip_prefix = \"mac-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mac-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mach-0.1.2\",\n sha256 = \"2fd13ee2dd61cc82833ba05ade5a30bb3d63f7ced605ef827063c63078302de9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mach/0.1.2/download\"],\n strip_prefix = \"mach-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mach-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mach2-0.4.1\",\n sha256 = \"6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mach2/0.4.1/download\"],\n strip_prefix = \"mach2-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mach2-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__maplit-1.0.2\",\n sha256 = \"3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/maplit/1.0.2/download\"],\n strip_prefix = \"maplit-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.maplit-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__markup5ever-0.11.0\",\n sha256 = \"7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/markup5ever/0.11.0/download\"],\n strip_prefix = \"markup5ever-0.11.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.markup5ever-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mdbook-0.4.34\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//third_party/rust/patches:mdbook-landing-page-links.patch\",\n ],\n sha256 = \"c55eb7c4dad20cc5bc15181c2aaf43d5689d5c3e0b80b50cc4cf0b7fe72a26d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mdbook/0.4.34/download\"],\n strip_prefix = \"mdbook-0.4.34\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mdbook-0.4.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memchr-2.6.4\",\n sha256 = \"f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.6.4/download\"],\n strip_prefix = \"memchr-2.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memmap2-0.9.9\",\n sha256 = \"744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memmap2/0.9.9/download\"],\n strip_prefix = \"memmap2-0.9.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memmap2-0.9.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memoffset-0.9.0\",\n sha256 = \"5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.9.0/download\"],\n strip_prefix = \"memoffset-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memoffset-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mime-0.3.17\",\n sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n strip_prefix = \"mime-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__miniz_oxide-0.7.1\",\n sha256 = \"e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/miniz_oxide/0.7.1/download\"],\n strip_prefix = \"miniz_oxide-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.miniz_oxide-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-0.8.8\",\n sha256 = \"927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/0.8.8/download\"],\n strip_prefix = \"mio-0.8.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-0.8.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-1.0.3\",\n sha256 = \"2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.0.3/download\"],\n strip_prefix = \"mio-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-signals-0.2.0\",\n sha256 = \"21e9524e26c8749824640a1282b68a695b21d55862efa6d465b5f71107c93368\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio-signals/0.2.0/download\"],\n strip_prefix = \"mio-signals-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-signals-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__native-tls-0.2.12\",\n sha256 = \"a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/native-tls/0.2.12/download\"],\n strip_prefix = \"native-tls-0.2.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.native-tls-0.2.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nb-0.1.3\",\n sha256 = \"801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nb/0.1.3/download\"],\n strip_prefix = \"nb-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nb-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nb-1.1.0\",\n sha256 = \"8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nb/1.1.0/download\"],\n strip_prefix = \"nb-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nb-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__new_debug_unreachable-1.0.4\",\n sha256 = \"e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/new_debug_unreachable/1.0.4/download\"],\n strip_prefix = \"new_debug_unreachable-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.new_debug_unreachable-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.26.4\",\n sha256 = \"598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.26.4/download\"],\n strip_prefix = \"nix-0.26.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__normpath-1.1.1\",\n sha256 = \"ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/normpath/1.1.1/download\"],\n strip_prefix = \"normpath-1.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.normpath-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-bigint-0.4.4\",\n sha256 = \"608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint/0.4.4/download\"],\n strip_prefix = \"num-bigint-0.4.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-bigint-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-bigint-dig-0.8.4\",\n sha256 = \"dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint-dig/0.8.4/download\"],\n strip_prefix = \"num-bigint-dig-0.8.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-bigint-dig-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-conv-0.1.0\",\n sha256 = \"51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.1.0/download\"],\n strip_prefix = \"num-conv-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-integer-0.1.45\",\n sha256 = \"225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-integer/0.1.45/download\"],\n strip_prefix = \"num-integer-0.1.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-integer-0.1.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-iter-0.1.43\",\n sha256 = \"7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-iter/0.1.43/download\"],\n strip_prefix = \"num-iter-0.1.43\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-iter-0.1.43.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-traits-0.2.17\",\n sha256 = \"39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-traits/0.2.17/download\"],\n strip_prefix = \"num-traits-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-traits-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num_enum-0.7.0\",\n sha256 = \"70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num_enum/0.7.0/download\"],\n strip_prefix = \"num_enum-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num_enum-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num_enum_derive-0.7.0\",\n sha256 = \"56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num_enum_derive/0.7.0/download\"],\n strip_prefix = \"num_enum_derive-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num_enum_derive-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__number_prefix-0.4.0\",\n sha256 = \"830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/number_prefix/0.4.0/download\"],\n strip_prefix = \"number_prefix-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.number_prefix-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__object-0.32.1\",\n sha256 = \"9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/object/0.32.1/download\"],\n strip_prefix = \"object-0.32.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.object-0.32.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__object-0.36.7\",\n sha256 = \"62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/object/0.36.7/download\"],\n strip_prefix = \"object-0.36.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.object-0.36.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell-1.18.0\",\n sha256 = \"dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.18.0/download\"],\n strip_prefix = \"once_cell-1.18.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__opener-0.6.1\",\n sha256 = \"6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opener/0.6.1/download\"],\n strip_prefix = \"opener-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.opener-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-0.10.64\",\n sha256 = \"95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl/0.10.64/download\"],\n strip_prefix = \"openssl-0.10.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-0.10.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-macros-0.1.1\",\n sha256 = \"a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-macros/0.1.1/download\"],\n strip_prefix = \"openssl-macros-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-probe-0.1.5\",\n sha256 = \"ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-probe/0.1.5/download\"],\n strip_prefix = \"openssl-probe-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-probe-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__openssl-sys-0.9.102\",\n sha256 = \"c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/openssl-sys/0.9.102/download\"],\n strip_prefix = \"openssl-sys-0.9.102\",\n build_file = Label(\"@crate_index//crate_index:BUILD.openssl-sys-0.9.102.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__option-ext-0.2.0\",\n sha256 = \"04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/option-ext/0.2.0/download\"],\n strip_prefix = \"option-ext-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.option-ext-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__p256-0.13.2\",\n sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n strip_prefix = \"p256-0.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.p256-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__p384-0.13.0\",\n sha256 = \"70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p384/0.13.0/download\"],\n strip_prefix = \"p384-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.p384-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__parking_lot-0.12.1\",\n sha256 = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot/0.12.1/download\"],\n strip_prefix = \"parking_lot-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.parking_lot-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__parking_lot_core-0.9.8\",\n sha256 = \"93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot_core/0.9.8/download\"],\n strip_prefix = \"parking_lot_core-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.parking_lot_core-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__paste-1.0.14\",\n sha256 = \"de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/paste/1.0.14/download\"],\n strip_prefix = \"paste-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pem-rfc7468-0.7.0\",\n sha256 = \"88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem-rfc7468/0.7.0/download\"],\n strip_prefix = \"pem-rfc7468-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pem-rfc7468-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__percent-encoding-2.3.0\",\n sha256 = \"9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.0/download\"],\n strip_prefix = \"percent-encoding-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest-2.7.3\",\n sha256 = \"d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest/2.7.3/download\"],\n strip_prefix = \"pest-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_derive-2.7.3\",\n sha256 = \"a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_derive/2.7.3/download\"],\n strip_prefix = \"pest_derive-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_derive-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_generator-2.7.3\",\n sha256 = \"d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_generator/2.7.3/download\"],\n strip_prefix = \"pest_generator-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_generator-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pest_meta-2.7.3\",\n sha256 = \"b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_meta/2.7.3/download\"],\n strip_prefix = \"pest_meta-2.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pest_meta-2.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf-0.10.1\",\n sha256 = \"fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.10.1/download\"],\n strip_prefix = \"phf-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_codegen-0.10.0\",\n sha256 = \"4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.10.0/download\"],\n strip_prefix = \"phf_codegen-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_codegen-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_generator-0.10.0\",\n sha256 = \"5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.10.0/download\"],\n strip_prefix = \"phf_generator-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_generator-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__phf_shared-0.10.0\",\n sha256 = \"b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.10.0/download\"],\n strip_prefix = \"phf_shared-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.phf_shared-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-lite-0.2.16\",\n sha256 = \"3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.16/download\"],\n strip_prefix = \"pin-project-lite-0.2.16\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-utils-0.1.0\",\n sha256 = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-utils/0.1.0/download\"],\n strip_prefix = \"pin-utils-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-utils-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkcs1-0.7.5\",\n sha256 = \"c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs1/0.7.5/download\"],\n strip_prefix = \"pkcs1-0.7.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkcs1-0.7.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkcs8-0.10.2\",\n sha256 = \"f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs8/0.10.2/download\"],\n strip_prefix = \"pkcs8-0.10.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkcs8-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pkg-config-0.3.27\",\n sha256 = \"26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkg-config/0.3.27/download\"],\n strip_prefix = \"pkg-config-0.3.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pkg-config-0.3.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-1.4.3\",\n sha256 = \"31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.4.3/download\"],\n strip_prefix = \"portable-atomic-1.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ppv-lite86-0.2.17\",\n sha256 = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.17/download\"],\n strip_prefix = \"ppv-lite86-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__precomputed-hash-0.1.1\",\n sha256 = \"925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/precomputed-hash/0.1.1/download\"],\n strip_prefix = \"precomputed-hash-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.precomputed-hash-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__primeorder-0.13.2\",\n sha256 = \"3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/primeorder/0.13.2/download\"],\n strip_prefix = \"primeorder-0.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.primeorder-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro-crate-1.3.1\",\n sha256 = \"7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro-crate/1.3.1/download\"],\n strip_prefix = \"proc-macro-crate-1.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro-crate-1.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-1.0.95\",\n sha256 = \"02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.95/download\"],\n strip_prefix = \"proc-macro2-1.0.95\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.95.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pulldown-cmark-0.9.3\",\n sha256 = \"77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pulldown-cmark/0.9.3/download\"],\n strip_prefix = \"pulldown-cmark-0.9.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pulldown-cmark-0.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__quote-1.0.40\",\n sha256 = \"1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.40/download\"],\n strip_prefix = \"quote-1.0.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__radium-0.7.0\",\n sha256 = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/radium/0.7.0/download\"],\n strip_prefix = \"radium-0.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.radium-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.3.23\",\n sha256 = \"64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.3.23/download\"],\n strip_prefix = \"rand-0.3.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.3.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.4.6\",\n sha256 = \"552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.4.6/download\"],\n strip_prefix = \"rand-0.4.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.4.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.8.5\",\n sha256 = \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.8.5/download\"],\n strip_prefix = \"rand-0.8.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.8.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_chacha-0.3.1\",\n sha256 = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.3.1/download\"],\n strip_prefix = \"rand_chacha-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.3.1\",\n sha256 = \"7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.3.1/download\"],\n strip_prefix = \"rand_core-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.4.2\",\n sha256 = \"9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.4.2/download\"],\n strip_prefix = \"rand_core-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.6.4\",\n sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n strip_prefix = \"rand_core-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rdrand-0.4.0\",\n sha256 = \"678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rdrand/0.4.0/download\"],\n strip_prefix = \"rdrand-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rdrand-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_syscall-0.2.16\",\n sha256 = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.2.16/download\"],\n strip_prefix = \"redox_syscall-0.2.16\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_syscall-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_syscall-0.3.5\",\n sha256 = \"567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.3.5/download\"],\n strip_prefix = \"redox_syscall-0.3.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_syscall-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__redox_users-0.4.3\",\n sha256 = \"b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_users/0.4.3/download\"],\n strip_prefix = \"redox_users-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.redox_users-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-1.9.4\",\n sha256 = \"12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.9.4/download\"],\n strip_prefix = \"regex-1.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-automata-0.3.7\",\n sha256 = \"49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.3.7/download\"],\n strip_prefix = \"regex-automata-0.3.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-syntax-0.7.5\",\n sha256 = \"dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.7.5/download\"],\n strip_prefix = \"regex-syntax-0.7.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.7.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__reqwest-0.12.12\",\n sha256 = \"43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/reqwest/0.12.12/download\"],\n strip_prefix = \"reqwest-0.12.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.reqwest-0.12.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rfc6979-0.4.0\",\n sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n strip_prefix = \"rfc6979-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rfc6979-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ring-0.16.20\",\n sha256 = \"3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.16.20/download\"],\n strip_prefix = \"ring-0.16.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ring-0.16.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ring-0.17.8\",\n sha256 = \"c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.17.8/download\"],\n strip_prefix = \"ring-0.17.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ring-0.17.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rsa-0.9.2\",\n sha256 = \"6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rsa/0.9.2/download\"],\n strip_prefix = \"rsa-0.9.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rsa-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rsa-der-0.3.0\",\n sha256 = \"a19473b2de3164677ff38e4309c42448ba8d0fe5ad5fa722e7d278f991859aa6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rsa-der/0.3.0/download\"],\n strip_prefix = \"rsa-der-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rsa-der-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rusb-0.9.4\",\n sha256 = \"ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rusb/0.9.4/download\"],\n strip_prefix = \"rusb-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rusb-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rust-crypto-0.2.36\",\n sha256 = \"f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rust-crypto/0.2.36/download\"],\n strip_prefix = \"rust-crypto-0.2.36\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rust-crypto-0.2.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-demangle-0.1.23\",\n sha256 = \"d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-demangle/0.1.23/download\"],\n strip_prefix = \"rustc-demangle-0.1.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-demangle-0.1.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-serialize-0.3.25\",\n sha256 = \"fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-serialize/0.3.25/download\"],\n strip_prefix = \"rustc-serialize-0.3.25\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-serialize-0.3.25.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-0.38.10\",\n sha256 = \"ed6248e1caa625eb708e266e06159f135e8c26f2bb7ceb72dc4b2766d0340964\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.10/download\"],\n strip_prefix = \"rustix-0.38.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-0.23.21\",\n sha256 = \"8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls/0.23.21/download\"],\n strip_prefix = \"rustls-0.23.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-0.23.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-pemfile-2.2.0\",\n sha256 = \"dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pemfile/2.2.0/download\"],\n strip_prefix = \"rustls-pemfile-2.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-pemfile-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-pki-types-1.10.1\",\n sha256 = \"d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pki-types/1.10.1/download\"],\n strip_prefix = \"rustls-pki-types-1.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-pki-types-1.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustls-webpki-0.102.8\",\n sha256 = \"64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-webpki/0.102.8/download\"],\n strip_prefix = \"rustls-webpki-0.102.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustls-webpki-0.102.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustversion-1.0.14\",\n sha256 = \"7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.14/download\"],\n strip_prefix = \"rustversion-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ruzstd-0.7.3\",\n sha256 = \"fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ruzstd/0.7.3/download\"],\n strip_prefix = \"ruzstd-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ruzstd-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ryu-1.0.15\",\n sha256 = \"1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ryu/1.0.15/download\"],\n strip_prefix = \"ryu-1.0.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ryu-1.0.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__schannel-0.1.27\",\n sha256 = \"1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/schannel/0.1.27/download\"],\n strip_prefix = \"schannel-0.1.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.schannel-0.1.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sec1-0.7.3\",\n sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n strip_prefix = \"sec1-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sec1-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__secrecy-0.8.0\",\n sha256 = \"9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/secrecy/0.8.0/download\"],\n strip_prefix = \"secrecy-0.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.secrecy-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__security-framework-2.10.0\",\n sha256 = \"770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/security-framework/2.10.0/download\"],\n strip_prefix = \"security-framework-2.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.security-framework-2.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__security-framework-sys-2.14.0\",\n sha256 = \"49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/security-framework-sys/2.14.0/download\"],\n strip_prefix = \"security-framework-sys-2.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.security-framework-sys-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde-1.0.219\",\n sha256 = \"5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.219/download\"],\n strip_prefix = \"serde-1.0.219\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.219.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_bytes-0.11.12\",\n sha256 = \"ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_bytes/0.11.12/download\"],\n strip_prefix = \"serde_bytes-0.11.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_bytes-0.11.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_derive-1.0.219\",\n sha256 = \"5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.219/download\"],\n strip_prefix = \"serde_derive-1.0.219\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.219.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_json-1.0.107\",\n sha256 = \"6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.107/download\"],\n strip_prefix = \"serde_json-1.0.107\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.107.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_urlencoded-0.7.1\",\n sha256 = \"d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_urlencoded/0.7.1/download\"],\n strip_prefix = \"serde_urlencoded-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_urlencoded-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_with-3.4.0\",\n sha256 = \"64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_with/3.4.0/download\"],\n strip_prefix = \"serde_with-3.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_with-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_with_macros-3.4.0\",\n sha256 = \"93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_with_macros/3.4.0/download\"],\n strip_prefix = \"serde_with_macros-3.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_with_macros-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serialport-4.2.2\",\n sha256 = \"c32634e2bd4311420caa504404a55fad2131292c485c97014cbed89a5899885f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serialport/4.2.2/download\"],\n strip_prefix = \"serialport-4.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serialport-4.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha2-0.10.7\",\n sha256 = \"479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha2/0.10.7/download\"],\n strip_prefix = \"sha2-0.10.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha2-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha3-0.10.8\",\n sha256 = \"75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha3/0.10.8/download\"],\n strip_prefix = \"sha3-0.10.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha3-0.10.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shellwords-1.1.0\",\n sha256 = \"89e515aa4699a88148ed5ef96413ceef0048ce95b43fbc955a33bde0a70fcae6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shellwords/1.1.0/download\"],\n strip_prefix = \"shellwords-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shellwords-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shlex-1.1.0\",\n sha256 = \"43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.1.0/download\"],\n strip_prefix = \"shlex-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signature-2.1.0\",\n sha256 = \"5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signature/2.1.0/download\"],\n strip_prefix = \"signature-2.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signature-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__simple_asn1-0.6.2\",\n sha256 = \"adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simple_asn1/0.6.2/download\"],\n strip_prefix = \"simple_asn1-0.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.simple_asn1-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__siphasher-0.3.11\",\n sha256 = \"38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/siphasher/0.3.11/download\"],\n strip_prefix = \"siphasher-0.3.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.siphasher-0.3.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__slab-0.4.9\",\n sha256 = \"8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.9/download\"],\n strip_prefix = \"slab-0.4.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__smallvec-1.13.2\",\n sha256 = \"3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.13.2/download\"],\n strip_prefix = \"smallvec-1.13.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__socket2-0.5.8\",\n sha256 = \"c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.5.8/download\"],\n strip_prefix = \"socket2-0.5.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.5.2\",\n sha256 = \"6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.5.2/download\"],\n strip_prefix = \"spin-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.9.8\",\n sha256 = \"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.8/download\"],\n strip_prefix = \"spin-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spki-0.7.3\",\n sha256 = \"d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spki/0.7.3/download\"],\n strip_prefix = \"spki-0.7.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spki-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__stable_deref_trait-1.2.1\",\n sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n strip_prefix = \"stable_deref_trait-1.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__string_cache-0.8.7\",\n sha256 = \"f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache/0.8.7/download\"],\n strip_prefix = \"string_cache-0.8.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.string_cache-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__string_cache_codegen-0.5.2\",\n sha256 = \"6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache_codegen/0.5.2/download\"],\n strip_prefix = \"string_cache_codegen-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.string_cache_codegen-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strsim-0.10.0\",\n sha256 = \"73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.10.0/download\"],\n strip_prefix = \"strsim-0.10.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.10.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strum-0.25.0\",\n sha256 = \"290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum/0.25.0/download\"],\n strip_prefix = \"strum-0.25.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strum-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strum_macros-0.25.2\",\n sha256 = \"ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum_macros/0.25.2/download\"],\n strip_prefix = \"strum_macros-0.25.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strum_macros-0.25.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__subtle-2.5.0\",\n sha256 = \"81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/subtle/2.5.0/download\"],\n strip_prefix = \"subtle-2.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.subtle-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-1.0.109\",\n sha256 = \"72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/1.0.109/download\"],\n strip_prefix = \"syn-1.0.109\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-1.0.109.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-2.0.101\",\n sha256 = \"8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.101/download\"],\n strip_prefix = \"syn-2.0.101\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.101.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sync_wrapper-1.0.2\",\n sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n strip_prefix = \"sync_wrapper-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__system-configuration-0.6.1\",\n sha256 = \"3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-configuration/0.6.1/download\"],\n strip_prefix = \"system-configuration-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.system-configuration-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__system-configuration-sys-0.6.0\",\n sha256 = \"8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-configuration-sys/0.6.0/download\"],\n strip_prefix = \"system-configuration-sys-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.system-configuration-sys-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tap-1.0.1\",\n sha256 = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tap/1.0.1/download\"],\n strip_prefix = \"tap-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tap-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tar-0.4.40\",\n sha256 = \"b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tar/0.4.40/download\"],\n strip_prefix = \"tar-0.4.40\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tar-0.4.40.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tempfile-3.8.0\",\n sha256 = \"cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.8.0/download\"],\n strip_prefix = \"tempfile-3.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tendril-0.4.3\",\n sha256 = \"d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tendril/0.4.3/download\"],\n strip_prefix = \"tendril-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tendril-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__termcolor-1.2.0\",\n sha256 = \"be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termcolor/1.2.0/download\"],\n strip_prefix = \"termcolor-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.termcolor-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__terminal_size-0.3.0\",\n sha256 = \"21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminal_size/0.3.0/download\"],\n strip_prefix = \"terminal_size-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.terminal_size-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-1.0.49\",\n sha256 = \"1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/1.0.49/download\"],\n strip_prefix = \"thiserror-1.0.49\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-1.0.49.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-impl-1.0.49\",\n sha256 = \"10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.49/download\"],\n strip_prefix = \"thiserror-impl-1.0.49\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-1.0.49.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.1.45\",\n sha256 = \"1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.1.45/download\"],\n strip_prefix = \"time-0.1.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.1.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.3.41\",\n sha256 = \"8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.41/download\"],\n strip_prefix = \"time-0.3.41\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.41.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-core-0.1.4\",\n sha256 = \"c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.4/download\"],\n strip_prefix = \"time-core-0.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-macros-0.2.22\",\n sha256 = \"3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.22/download\"],\n strip_prefix = \"time-macros-0.2.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tiny-keccak-2.0.2\",\n sha256 = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-keccak/2.0.2/download\"],\n strip_prefix = \"tiny-keccak-2.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tiny-keccak-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyvec-1.6.0\",\n sha256 = \"87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec/1.6.0/download\"],\n strip_prefix = \"tinyvec-1.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyvec-1.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyvec_macros-0.1.1\",\n sha256 = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec_macros/0.1.1/download\"],\n strip_prefix = \"tinyvec_macros-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyvec_macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tls_codec-0.4.2\",\n sha256 = \"0de2e01245e2bb89d6f05801c564fa27624dbd7b1846859876c7dad82e90bf6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tls_codec/0.4.2/download\"],\n strip_prefix = \"tls_codec-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tls_codec-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tls_codec_derive-0.4.2\",\n sha256 = \"2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tls_codec_derive/0.4.2/download\"],\n strip_prefix = \"tls_codec_derive-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tls_codec_derive-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-1.43.0\",\n sha256 = \"3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.43.0/download\"],\n strip_prefix = \"tokio-1.43.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.43.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-native-tls-0.3.1\",\n sha256 = \"bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-native-tls/0.3.1/download\"],\n strip_prefix = \"tokio-native-tls-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-native-tls-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-rustls-0.26.1\",\n sha256 = \"5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-rustls/0.26.1/download\"],\n strip_prefix = \"tokio-rustls-0.26.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-rustls-0.26.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-util-0.7.13\",\n sha256 = \"d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.13/download\"],\n strip_prefix = \"tokio-util-0.7.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml-0.5.11\",\n sha256 = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/0.5.11/download\"],\n strip_prefix = \"toml-0.5.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.5.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_datetime-0.6.3\",\n sha256 = \"7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/0.6.3/download\"],\n strip_prefix = \"toml_datetime-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_edit-0.19.14\",\n sha256 = \"f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.19.14/download\"],\n strip_prefix = \"toml_edit-0.19.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.19.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__topological-sort-0.2.2\",\n sha256 = \"ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/topological-sort/0.2.2/download\"],\n strip_prefix = \"topological-sort-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.topological-sort-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-0.5.2\",\n sha256 = \"d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower/0.5.2/download\"],\n strip_prefix = \"tower-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-layer-0.3.3\",\n sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n strip_prefix = \"tower-layer-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-service-0.3.3\",\n sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n strip_prefix = \"tower-service-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-0.1.41\",\n sha256 = \"784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.41/download\"],\n strip_prefix = \"tracing-0.1.41\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.41.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-core-0.1.33\",\n sha256 = \"e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.33/download\"],\n strip_prefix = \"tracing-core-0.1.33\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__try-lock-0.2.5\",\n sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n strip_prefix = \"try-lock-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__twox-hash-1.6.3\",\n sha256 = \"97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/twox-hash/1.6.3/download\"],\n strip_prefix = \"twox-hash-1.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.twox-hash-1.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typed-arena-2.0.2\",\n sha256 = \"6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typed-arena/2.0.2/download\"],\n strip_prefix = \"typed-arena-2.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typed-arena-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typeid-1.0.3\",\n sha256 = \"bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typeid/1.0.3/download\"],\n strip_prefix = \"typeid-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typeid-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typenum-1.17.0\",\n sha256 = \"42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typenum/1.17.0/download\"],\n strip_prefix = \"typenum-1.17.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typenum-1.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typetag-0.2.20\",\n sha256 = \"73f22b40dd7bfe8c14230cf9702081366421890435b2d625fa92b4acc4c3de6f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typetag/0.2.20/download\"],\n strip_prefix = \"typetag-0.2.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typetag-0.2.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__typetag-impl-0.2.20\",\n sha256 = \"35f5380909ffc31b4de4f4bdf96b877175a016aa2ca98cee39fcfd8c4d53d952\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typetag-impl/0.2.20/download\"],\n strip_prefix = \"typetag-impl-0.2.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.typetag-impl-0.2.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ucd-trie-0.1.6\",\n sha256 = \"ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ucd-trie/0.1.6/download\"],\n strip_prefix = \"ucd-trie-0.1.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ucd-trie-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicase-2.7.0\",\n sha256 = \"f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicase/2.7.0/download\"],\n strip_prefix = \"unicase-2.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicase-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-bidi-0.3.13\",\n sha256 = \"92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-bidi/0.3.13/download\"],\n strip_prefix = \"unicode-bidi-0.3.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-bidi-0.3.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-ident-1.0.12\",\n sha256 = \"3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.12/download\"],\n strip_prefix = \"unicode-ident-1.0.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-normalization-0.1.22\",\n sha256 = \"5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-normalization/0.1.22/download\"],\n strip_prefix = \"unicode-normalization-0.1.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-normalization-0.1.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-width-0.1.10\",\n sha256 = \"c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.1.10/download\"],\n strip_prefix = \"unicode-width-0.1.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__untrusted-0.7.1\",\n sha256 = \"a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.7.1/download\"],\n strip_prefix = \"untrusted-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.untrusted-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__untrusted-0.9.0\",\n sha256 = \"8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.9.0/download\"],\n strip_prefix = \"untrusted-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.untrusted-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__url-2.4.1\",\n sha256 = \"143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/url/2.4.1/download\"],\n strip_prefix = \"url-2.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.url-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf-8-0.7.6\",\n sha256 = \"09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf-8/0.7.6/download\"],\n strip_prefix = \"utf-8-0.7.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf-8-0.7.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf8parse-0.2.1\",\n sha256 = \"711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.1/download\"],\n strip_prefix = \"utf8parse-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__vcpkg-0.2.15\",\n sha256 = \"accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/vcpkg/0.2.15/download\"],\n strip_prefix = \"vcpkg-0.2.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.vcpkg-0.2.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__version_check-0.9.4\",\n sha256 = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.4/download\"],\n strip_prefix = \"version_check-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__void-1.0.2\",\n sha256 = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/void/1.0.2/download\"],\n strip_prefix = \"void-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.void-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__want-0.3.1\",\n sha256 = \"bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/want/0.3.1/download\"],\n strip_prefix = \"want-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.10.0-wasi-snapshot-preview1\",\n sha256 = \"1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.10.0+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.10.0+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.11.0-wasi-snapshot-preview1\",\n sha256 = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.0+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.0+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-0.2.100\",\n sha256 = \"1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-backend-0.2.100\",\n sha256 = \"2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-backend/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-backend-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-backend-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-futures-0.4.37\",\n sha256 = \"c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-futures/0.4.37/download\"],\n strip_prefix = \"wasm-bindgen-futures-0.4.37\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-futures-0.4.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-0.2.100\",\n sha256 = \"7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-support-0.2.100\",\n sha256 = \"8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-shared-0.2.100\",\n sha256 = \"1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.100/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.100\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.100.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__web-sys-0.3.64\",\n sha256 = \"9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-sys/0.3.64/download\"],\n strip_prefix = \"web-sys-0.3.64\",\n build_file = Label(\"@crate_index//crate_index:BUILD.web-sys-0.3.64.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-util-0.1.5\",\n sha256 = \"70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-util/0.1.5/download\"],\n strip_prefix = \"winapi-util-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-util-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-core-0.51.1\",\n sha256 = \"f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.51.1/download\"],\n strip_prefix = \"windows-core-0.51.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.1.1\",\n sha256 = \"76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.1/download\"],\n strip_prefix = \"windows-link-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-registry-0.2.0\",\n sha256 = \"e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-registry/0.2.0/download\"],\n strip_prefix = \"windows-registry-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-registry-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-result-0.2.0\",\n sha256 = \"1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.2.0/download\"],\n strip_prefix = \"windows-result-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-strings-0.1.0\",\n sha256 = \"4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.1.0/download\"],\n strip_prefix = \"windows-strings-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.45.0\",\n sha256 = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.45.0/download\"],\n strip_prefix = \"windows-sys-0.45.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.45.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.48.0\",\n sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n strip_prefix = \"windows-sys-0.48.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.52.0\",\n sha256 = \"282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.52.0/download\"],\n strip_prefix = \"windows-sys-0.52.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.52.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.42.2\",\n sha256 = \"8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.42.2/download\"],\n strip_prefix = \"windows-targets-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.42.2\",\n sha256 = \"597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.42.2/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.42.2\",\n sha256 = \"e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.42.2/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.42.2\",\n sha256 = \"c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.42.2/download\"],\n strip_prefix = \"windows_i686_gnu-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.42.2\",\n sha256 = \"44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.42.2/download\"],\n strip_prefix = \"windows_i686_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.42.2\",\n sha256 = \"8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.42.2\",\n sha256 = \"26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.42.2\",\n sha256 = \"9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.42.2/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.42.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.42.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winnow-0.5.15\",\n sha256 = \"7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.5.15/download\"],\n strip_prefix = \"winnow-0.5.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wyz-0.5.1\",\n sha256 = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wyz/0.5.1/download\"],\n strip_prefix = \"wyz-0.5.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wyz-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__x509-cert-0.2.5\",\n sha256 = \"1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x509-cert/0.2.5/download\"],\n strip_prefix = \"x509-cert-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.x509-cert-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__xattr-1.0.1\",\n sha256 = \"f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xattr/1.0.1/download\"],\n strip_prefix = \"xattr-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.xattr-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-0.8.27\",\n sha256 = \"0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.27/download\"],\n strip_prefix = \"zerocopy-0.8.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-derive-0.8.27\",\n sha256 = \"88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.27/download\"],\n strip_prefix = \"zerocopy-derive-0.8.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize-1.8.1\",\n sha256 = \"ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize/1.8.1/download\"],\n strip_prefix = \"zeroize-1.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize_derive-1.4.2\",\n sha256 = \"ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize_derive/1.4.2/download\"],\n strip_prefix = \"zeroize_derive-1.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.4.2.bazel\"),\n )\n\n return [\n struct(repo=\"crate_index__addr2line-0.24.2\", is_dev_dep = False),\n struct(repo=\"crate_index__aes-0.8.3\", is_dev_dep = False),\n struct(repo=\"crate_index__anstyle-1.0.4\", is_dev_dep = False),\n struct(repo=\"crate_index__anyhow-1.0.75\", is_dev_dep = False),\n struct(repo=\"crate_index__arrayvec-0.7.4\", is_dev_dep = False),\n struct(repo=\"crate_index__asn1-0.15.5\", is_dev_dep = False),\n struct(repo=\"crate_index__base64-0.21.5\", is_dev_dep = False),\n struct(repo=\"crate_index__base64ct-1.6.0\", is_dev_dep = False),\n struct(repo=\"crate_index__bitflags-2.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__bitvec-1.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__byteorder-1.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__chrono-0.4.40\", is_dev_dep = False),\n struct(repo=\"crate_index__ciborium-0.2.2\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-4.4.7\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-num-1.0.2\", is_dev_dep = False),\n struct(repo=\"crate_index__const-oid-0.9.6\", is_dev_dep = False),\n struct(repo=\"crate_index__coset-0.3.8\", is_dev_dep = False),\n struct(repo=\"crate_index__crc-3.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__cryptoki-0.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__cryptoki-sys-0.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__der-0.7.8\", is_dev_dep = False),\n struct(repo=\"crate_index__deser-hjson-2.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__directories-5.0.1\", is_dev_dep = False),\n struct(repo=\"crate_index__ecdsa-0.16.9\", is_dev_dep = False),\n struct(repo=\"crate_index__elf-0.7.2\", is_dev_dep = False),\n struct(repo=\"crate_index__elliptic-curve-0.13.8\", is_dev_dep = False),\n struct(repo=\"crate_index__embedded-hal-1.0.0\", is_dev_dep = False),\n struct(repo=\"crate_index__env_logger-0.10.0\", is_dev_dep = False),\n struct(repo=\"crate_index__erased-serde-0.3.31\", is_dev_dep = False),\n struct(repo=\"crate_index__foreign-types-0.3.2\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-0.1.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-embedded-hal-0.22.0\", is_dev_dep = False),\n struct(repo=\"crate_index__ftdi-mpsse-0.1.1\", is_dev_dep = False),\n struct(repo=\"crate_index__heck-0.4.1\", is_dev_dep = False),\n struct(repo=\"crate_index__hex-0.4.3\", is_dev_dep = False),\n struct(repo=\"crate_index__hmac-0.12.1\", is_dev_dep = False),\n struct(repo=\"crate_index__humantime-2.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__humantime-serde-1.1.1\", is_dev_dep = False),\n struct(repo=\"crate_index__indexmap-2.0.0\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-0.17.6\", is_dev_dep = False),\n struct(repo=\"crate_index__inventory-0.3.17\", is_dev_dep = False),\n struct(repo=\"crate_index__itertools-0.13.0\", is_dev_dep = False),\n struct(repo=\"crate_index__libloading-0.8.3\", is_dev_dep = False),\n struct(repo=\"crate_index__log-0.4.20\", is_dev_dep = False),\n struct(repo=\"crate_index__mdbook-0.4.34\", is_dev_dep = False),\n struct(repo=\"crate_index__memchr-2.6.4\", is_dev_dep = False),\n struct(repo=\"crate_index__memoffset-0.9.0\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-0.8.8\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-signals-0.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__num-bigint-dig-0.8.4\", is_dev_dep = False),\n struct(repo=\"crate_index__num-traits-0.2.17\", is_dev_dep = False),\n struct(repo=\"crate_index__num_enum-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__object-0.36.7\", is_dev_dep = False),\n struct(repo=\"crate_index__once_cell-1.18.0\", is_dev_dep = False),\n struct(repo=\"crate_index__openssl-0.10.64\", is_dev_dep = False),\n struct(repo=\"crate_index__openssl-sys-0.9.102\", is_dev_dep = False),\n struct(repo=\"crate_index__p256-0.13.2\", is_dev_dep = False),\n struct(repo=\"crate_index__p384-0.13.0\", is_dev_dep = False),\n struct(repo=\"crate_index__paste-1.0.14\", is_dev_dep = False),\n struct(repo=\"crate_index__pem-rfc7468-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__pest-2.7.3\", is_dev_dep = False),\n struct(repo=\"crate_index__pest_derive-2.7.3\", is_dev_dep = False),\n struct(repo=\"crate_index__proc-macro2-1.0.95\", is_dev_dep = False),\n struct(repo=\"crate_index__quote-1.0.40\", is_dev_dep = False),\n struct(repo=\"crate_index__rand-0.8.5\", is_dev_dep = False),\n struct(repo=\"crate_index__rand_chacha-0.3.1\", is_dev_dep = False),\n struct(repo=\"crate_index__regex-1.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__reqwest-0.12.12\", is_dev_dep = False),\n struct(repo=\"crate_index__ring-0.16.20\", is_dev_dep = False),\n struct(repo=\"crate_index__rsa-0.9.2\", is_dev_dep = False),\n struct(repo=\"crate_index__rsa-der-0.3.0\", is_dev_dep = False),\n struct(repo=\"crate_index__rusb-0.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__rust-crypto-0.2.36\", is_dev_dep = False),\n struct(repo=\"crate_index__rustix-0.38.10\", is_dev_dep = False),\n struct(repo=\"crate_index__scopeguard-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__secrecy-0.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__serde-1.0.219\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_bytes-0.11.12\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_json-1.0.107\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_with-3.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__serialport-4.2.2\", is_dev_dep = False),\n struct(repo=\"crate_index__sha2-0.10.7\", is_dev_dep = False),\n struct(repo=\"crate_index__sha3-0.10.8\", is_dev_dep = False),\n struct(repo=\"crate_index__shellwords-1.1.0\", is_dev_dep = False),\n struct(repo=\"crate_index__strum-0.25.0\", is_dev_dep = False),\n struct(repo=\"crate_index__syn-2.0.101\", is_dev_dep = False),\n struct(repo=\"crate_index__tar-0.4.40\", is_dev_dep = False),\n struct(repo=\"crate_index__tempfile-3.8.0\", is_dev_dep = False),\n struct(repo=\"crate_index__thiserror-1.0.49\", is_dev_dep = False),\n struct(repo=\"crate_index__tiny-keccak-2.0.2\", is_dev_dep = False),\n struct(repo=\"crate_index__typetag-0.2.20\", is_dev_dep = False),\n struct(repo=\"crate_index__x509-cert-0.2.5\", is_dev_dep = False),\n struct(repo=\"crate_index__zerocopy-0.8.27\", is_dev_dep = False),\n struct(repo=\"crate_index__zeroize-1.8.1\", is_dev_dep = False),\n struct(repo = \"crate_index__indoc-2.0.4\", is_dev_dep = True),\n ]\n" } } }, @@ -5613,6 +5613,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"addr2line\",\n deps = [\n \"@crate_index__gimli-0.28.0//:gimli\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=addr2line\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.21.0\",\n)\n" } }, + "crate_index__addr2line-0.24.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/addr2line/0.24.2/download" + ], + "strip_prefix": "addr2line-0.24.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"addr2line\",\n deps = [\n \"@crate_index__cpp_demangle-0.4.5//:cpp_demangle\",\n \"@crate_index__fallible-iterator-0.3.0//:fallible_iterator\",\n \"@crate_index__gimli-0.31.1//:gimli\",\n \"@crate_index__memmap2-0.9.9//:memmap2\",\n \"@crate_index__object-0.36.7//:object\",\n \"@crate_index__rustc-demangle-0.1.23//:rustc_demangle\",\n \"@crate_index__smallvec-1.13.2//:smallvec\",\n \"@crate_index__typed-arena-2.0.2//:typed_arena\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"cpp_demangle\",\n \"default\",\n \"fallible-iterator\",\n \"loader\",\n \"rustc-demangle\",\n \"smallvec\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=addr2line\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.24.2\",\n)\n" + } + }, "crate_index__adler-1.0.2": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -6397,6 +6413,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"coset\",\n deps = [\n \"@crate_index__ciborium-0.2.2//:ciborium\",\n \"@crate_index__ciborium-io-0.2.2//:ciborium_io\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=coset\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.8\",\n)\n" } }, + "crate_index__cpp_demangle-0.4.5": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/cpp_demangle/0.4.5/download" + ], + "strip_prefix": "cpp_demangle-0.4.5", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cpp_demangle\",\n deps = [\n \"@crate_index__cfg-if-1.0.0//:cfg_if\",\n \"@crate_index__cpp_demangle-0.4.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cpp_demangle\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"cpp_demangle\",\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cpp_demangle\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + } + }, "crate_index__cpufeatures-0.2.9": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -6946,6 +6978,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"errno\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(target_os = \"wasi\")\n ],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [\n \"@crate_index__windows-sys-0.48.0//:windows_sys\", # cfg(windows)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=errno\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.5\",\n)\n" } }, + "crate_index__fallible-iterator-0.3.0": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/fallible-iterator/0.3.0/download" + ], + "strip_prefix": "fallible-iterator-0.3.0", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fallible_iterator\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fallible-iterator\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.0\",\n)\n" + } + }, "crate_index__fastrand-2.0.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -7346,6 +7394,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"gimli\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"read\",\n \"read-core\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=gimli\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.28.0\",\n)\n" } }, + "crate_index__gimli-0.31.1": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/gimli/0.31.1/download" + ], + "strip_prefix": "gimli-0.31.1", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"gimli\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"read\",\n \"read-core\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=gimli\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.1\",\n)\n" + } + }, "crate_index__group-0.13.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -8282,6 +8346,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"memchr\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=memchr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.6.4\",\n)\n" } }, + "crate_index__memmap2-0.9.9": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/memmap2/0.9.9/download" + ], + "strip_prefix": "memmap2-0.9.9", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"memmap2\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [\n \"@crate_index__libc-0.2.169//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=memmap2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.9\",\n)\n" + } + }, "crate_index__memoffset-0.9.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -10186,6 +10266,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"spki\",\n deps = [\n \"@crate_index__der-0.7.8//:der\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"pem\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=spki\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.3\",\n)\n" } }, + "crate_index__stable_deref_trait-1.2.1": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/stable_deref_trait/1.2.1/download" + ], + "strip_prefix": "stable_deref_trait-1.2.1", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"stable_deref_trait\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=stable_deref_trait\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.1\",\n)\n" + } + }, "crate_index__static_assertions-1.1.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -10890,6 +10986,22 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"twox_hash\",\n deps = [\n \"@crate_index__cfg-if-1.0.0//:cfg_if\",\n \"@crate_index__static_assertions-1.1.0//:static_assertions\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=twox-hash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.6.3\",\n)\n" } }, + "crate_index__typed-arena-2.0.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/typed-arena/2.0.2/download" + ], + "strip_prefix": "typed-arena-2.0.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'lowrisc_opentitan'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"typed_arena\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=typed-arena\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:wasm32-unknown-unknown\": [],\n \"@rules_rust//rust/platform:wasm32-wasip1\": [],\n \"@rules_rust//rust/platform:x86_64-pc-windows-msvc\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.2\",\n)\n" + } + }, "crate_index__typeid-1.0.3": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { diff --git a/rules/coverage/view.bzl b/rules/coverage/view.bzl new file mode 100644 index 0000000000000..3cebe100dec32 --- /dev/null +++ b/rules/coverage/view.bzl @@ -0,0 +1,86 @@ +# Copyright lowRISC contributors (OpenTitan project). +# Licensed under the Apache License, Version 2.0, see LICENSE for details. +# SPDX-License-Identifier: Apache-2.0 + +load( + "//rules/opentitan:providers.bzl", + "SiliconBinaryInfo", + "get_binary_files", +) + +_TEST_SCRIPT = """\ +{generate_coverage_view} \ + --elf="{elf_file}" \ + --kind="{kind}" \ + --output="$COVERAGE_OUTPUT_FILE" \ + --temp-dir="$TEST_UNDECLARED_OUTPUTS_DIR" \ +""" + +def _coverage_view_test(ctx): + # This suffix is required to distinguish the coverage view LCOV files from + # the coverage data of other tests. + if not ctx.label.name.endswith("_coverage_view"): + fail("The name of the coverage_view_test rule must end with '_coverage_view'") + + elf_label = ctx.attr.elf + groups = elf_label.output_groups + + if "silicon_creator_elf" in groups: + elf_list = groups["silicon_creator_elf"].to_list() + elif "elf" in ctx.attr.elf.output_groups: + elf_list = groups["elf"].to_list() + else: + elf_list = get_binary_files(elf_label, field = "elf", providers = [SiliconBinaryInfo]) + + if len(elf_list) != 1: + fail("The target must have exactly one elf file.") + elf = elf_list[0] + + runfiles = ctx.runfiles() + + # Coverage view tests are only applicable when coverage is enabled. + if ctx.var.get("ot_coverage_enabled", "false") == "true": + runfiles = runfiles.merge(ctx.runfiles(files = [elf])) + runfiles = runfiles.merge(ctx.attr._generate_coverage_view[DefaultInfo].default_runfiles) + + script_content = _TEST_SCRIPT.format( + generate_coverage_view = ctx.executable._generate_coverage_view.short_path, + elf_file = elf.short_path, + kind = ctx.attr.kind, + ) + else: + script_content = "" + + script = ctx.actions.declare_file(ctx.label.name + ".sh") + ctx.actions.write( + output = script, + content = script_content, + is_executable = True, + ) + + return DefaultInfo( + executable = script, + runfiles = runfiles, + ) + +coverage_view_test = rule( + implementation = _coverage_view_test, + attrs = { + "elf": attr.label( + allow_files = True, + doc = "ELF file to extract coverage view", + ), + "kind": attr.string( + doc = "Kind of given elf file", + default = "ibex", + values = ["ibex", "otbn"], + ), + "_generate_coverage_view": attr.label( + default = "//util/coverage/collect_cc_coverage:generate_coverage_view", + executable = True, + cfg = "exec", + ), + }, + fragments = ["cpp"], + test = True, +) diff --git a/sw/device/silicon_creator/rom_ext/sival/BUILD b/sw/device/silicon_creator/rom_ext/sival/BUILD index 0627eaae4ab76..6aaa95824c63e 100644 --- a/sw/device/silicon_creator/rom_ext/sival/BUILD +++ b/sw/device/silicon_creator/rom_ext/sival/BUILD @@ -6,6 +6,7 @@ load("@rules_pkg//pkg:tar.bzl", "pkg_tar") load("//rules:const.bzl", "CONST", "hex") load("//rules:manifest.bzl", "manifest") load("//rules:signing.bzl", "offline_presigning_artifacts", "offline_signature_attach") +load("//rules/coverage:view.bzl", "coverage_view_test") load("//rules/opentitan:defs.bzl", "opentitan_binary") load( "//sw/device/silicon_creator/rom_ext:defs.bzl", @@ -105,6 +106,56 @@ manifest(d = { for slot in SLOTS ] +ROM_EXT_CONFIGS = { + "dice_x509_xmodem": { + "dice": "dice_x509", + "deps": ["//sw/device/silicon_creator/lib/rescue:rescue_xmodem"], + }, + "dice_cwt_spidfu": { + "dice": "dice_cwt", + "deps": ["//sw/device/silicon_creator/lib/rescue:rescue_spidfu"], + }, + "dice_x509_usbdfu": { + "dice": "dice_x509", + "deps": ["//sw/device/silicon_creator/lib/rescue:rescue_usbdfu"], + }, +} + +[ + opentitan_binary( + name = "rom_ext_prod_{}".format(name), + exec_env = [ + "//hw/top_earlgrey:silicon_creator", + ], + extra_bazel_features = [ + "minsize", + "use_lld", + ], + linker_script = "//sw/device/silicon_creator/rom_ext:ld_slot_virtual", + linkopts = [ + "$(location //sw/device/silicon_creator/rom_ext:rom_ext_{})".format(config["dice"]), + "$(location //sw/device/lib/crt)", + ], + deps = [ + # The sival_owner C library is excluded from the real ROM_EXT, + # as chips maintain their ownership configuration in flash. + "//sw/device/lib/crt", + "//sw/device/silicon_creator/lib:manifest_def", + "//sw/device/silicon_creator/rom_ext:rom_ext_{}".format(config["dice"]), + "//sw/device/silicon_creator/rom_ext/imm_section:main_section_{}_slot_virtual".format(config["dice"]), + ] + config["deps"], + ) + for name, config in ROM_EXT_CONFIGS.items() +] + +[ + coverage_view_test( + name = "rom_ext_prod_{}_coverage_view".format(name), + elf = "rom_ext_prod_{}".format(name), + ) + for name in ROM_EXT_CONFIGS.keys() +] + offline_presigning_artifacts( name = "presigning", testonly = True, diff --git a/sw/otbn/crypto/BUILD b/sw/otbn/crypto/BUILD index 5393ec6d056a1..188c78f78f245 100644 --- a/sw/otbn/crypto/BUILD +++ b/sw/otbn/crypto/BUILD @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 load("//rules:otbn.bzl", "otbn_binary", "otbn_library") +load("//rules/coverage:view.bzl", "coverage_view_test") package(default_visibility = ["//visibility:public"]) @@ -19,6 +20,12 @@ otbn_binary( ], ) +coverage_view_test( + name = "boot_coverage_view", + elf = ":boot", + kind = "otbn", +) + otbn_library( name = "ed25519", srcs = [ diff --git a/third_party/rust/Cargo.lock b/third_party/rust/Cargo.lock index 2f8bbcf5719e4..68002f102ee1d 100644 --- a/third_party/rust/Cargo.lock +++ b/third_party/rust/Cargo.lock @@ -29,7 +29,23 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli", + "gimli 0.28.0", +] + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "cpp_demangle", + "fallible-iterator", + "gimli 0.31.1", + "memmap2", + "object 0.36.7", + "rustc-demangle", + "smallvec", + "typed-arena", ] [[package]] @@ -190,7 +206,7 @@ version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line", + "addr2line 0.21.0", "cc", "cfg-if", "libc", @@ -292,6 +308,7 @@ checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" name = "cargo_raze_deps" version = "0.0.0" dependencies = [ + "addr2line 0.24.2", "aes", "anstyle", "anyhow", @@ -565,6 +582,15 @@ dependencies = [ "ciborium-io", ] +[[package]] +name = "cpp_demangle" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpufeatures" version = "0.2.9" @@ -909,6 +935,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + [[package]] name = "fastrand" version = "2.0.0" @@ -1122,6 +1154,16 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] + [[package]] name = "group" version = "0.13.0" @@ -1711,6 +1753,15 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.9.0" @@ -2907,6 +2958,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3334,6 +3391,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + [[package]] name = "typeid" version = "1.0.3" diff --git a/third_party/rust/Cargo.toml b/third_party/rust/Cargo.toml index 2a229f038ca10..3256a9caac344 100644 --- a/third_party/rust/Cargo.toml +++ b/third_party/rust/Cargo.toml @@ -15,6 +15,7 @@ path = "empty_file_to_appease_cargo.rs" # # Do not modify the Cargo.lock file via cargo. [dependencies] +addr2line = "0.24.2" aes = "0.8.2" anyhow = { version = "1.0.57", features=["backtrace"] } arrayvec = { version = "0.7", features=["serde"] } diff --git a/util/coverage/collect_cc_coverage/BUILD b/util/coverage/collect_cc_coverage/BUILD index 9895670ef20ff..48be884025b80 100644 --- a/util/coverage/collect_cc_coverage/BUILD +++ b/util/coverage/collect_cc_coverage/BUILD @@ -32,3 +32,17 @@ rust_binary( "@crate_index//:clap", ], ) + +rust_binary( + name = "generate_coverage_view", + srcs = ["generate_coverage_view.rs"], + deps = [ + ":coverage_lib", + "@crate_index//:addr2line", + "@crate_index//:anyhow", + "@crate_index//:clap", + "@crate_index//:object", + "@crate_index//:serde", + "@crate_index//:serde_json", + ], +) diff --git a/util/coverage/collect_cc_coverage/generate_coverage_view.rs b/util/coverage/collect_cc_coverage/generate_coverage_view.rs new file mode 100644 index 0000000000000..fcb46cc5d8590 --- /dev/null +++ b/util/coverage/collect_cc_coverage/generate_coverage_view.rs @@ -0,0 +1,358 @@ +// Copyright lowRISC contributors (OpenTitan project). +// Licensed under the Apache License, Version 2.0, see LICENSE for details. +// SPDX-License-Identifier: Apache-2.0 + +//! This tool creates a code coverage view for OpenTitan firmware. +//! +//! A "coverage view" represents the total set of executable lines and functions +//! present in a given ELF, as determined by DWARF debug information and LLVM +//! instrumentation metadata. This is used as a filter to generate coverage +//! reports of specific firmware by hiding code discarded by the compiler/linker. +//! +//! This tool assumes the following environment variables are set: +//! - `RUNFILES_DIR`: Location of the test's runfiles. +//! - `VERBOSE_COVERAGE`: Print debug info from the coverage scripts. + +use anyhow::{anyhow, Context, Result}; +use clap::Parser; +use object::{Object, ObjectSection}; +use serde::Deserialize; +use std::collections::{BTreeMap, BTreeSet}; +use std::fmt::Write; +use std::fs; +use std::path::{Path, PathBuf}; + +use coverage_lib::{debug_environ, llvm_cov_export, llvm_profdata_merge, ProfileData}; + +/// Source files that should not correlate with DWARF line info. +/// +/// For some source files, such as those containing macro-defined functions, +/// DWARF debug line information point to the macro invocation site, +/// whereas the LLVM coverage mapping points to regions within the macro +/// body. These files are treated as exceptions to DWARF-based filtering. +const IGNORE_DWARF: &[&str] = &["sw/device/silicon_creator/lib/manifest.h"]; + +#[derive(Debug, Parser)] +#[command( + name = "generate-coverage-view", + about = "Creates code coverage view for OpenTitan firmware" +)] +struct Opts { + /// Path to the ELF file to be analyzed. + #[arg(long)] + elf: PathBuf, + + /// Kind of ELF file provided in the `--elf` argument. + #[arg(long, default_value = "ibex", value_parser = ["ibex", "otbn"])] + kind: String, + + /// Path to the output LCOV file. + #[arg(long)] + output: PathBuf, + + /// Directory where the intermediate artifacts are stored. + #[arg(long)] + temp_dir: PathBuf, +} + +/// Root structure for LLVM's coverage export JSON format. +#[derive(Debug, Deserialize)] +struct ExportJson { + data: Vec, +} + +/// Contains coverage information for a set of functions. +#[derive(Debug, Deserialize)] +struct ExportData { + functions: Vec, +} + +/// Represents an individual function's coverage metadata. +#[derive(Debug, Deserialize)] +struct Function { + name: String, + filenames: Vec, + regions: Vec, +} + +/// Represents a source code region from LLVM export JSON. +#[derive(Debug, Deserialize)] +struct Region { + line_start: u64, + #[allow(dead_code)] + col_start: u64, + line_end: u64, + #[allow(dead_code)] + col_end: u64, + execution_count: u64, + file_id: usize, + #[allow(dead_code)] + expanded_file_id: usize, + kind: u64, +} + +/// Aggregated coverage components for a specific source file. +#[derive(Debug, Default)] +struct CoverageInfo { + /// Sorted set of line numbers that were actually executable in the binary. + da: BTreeSet, + /// Sorted map of function names to their starting line numbers. + func: BTreeMap, + /// Sorted map of function names to their execution counts. + fnda: BTreeMap, +} + +/// Extracts executable line information from the ELF using DWARF debug info. +/// +/// Maps source file paths to a set of line numbers that correspond to machine instructions +/// in the `.text` section of the provided ELF. +fn get_dwarf_line_map(elf_path: &Path) -> Result>> { + let mut line_map: BTreeMap> = BTreeMap::new(); + let dwarf = addr2line::Loader::new(elf_path).unwrap(); + + let obj_file = fs::read(elf_path)?; + let obj = object::File::parse(&*obj_file)?; + + for section in obj + .sections() + .filter(|s| s.kind() == object::SectionKind::Text) + { + let start = section.address(); + let end = start + section.size(); + if let Ok(ranges) = dwarf.find_location_range(start, end) { + for (_addr, _size, loc) in ranges { + if let (Some(file), Some(line)) = (loc.file, loc.line) { + let file = file + .replace("/proc/self/cwd/./", "") + .replace("/proc/self/cwd/", ""); + line_map.entry(file).or_default().insert(line as u64); + } + } + } + } + Ok(line_map) +} + +/// Identifies source regions and functions actually present in the final binary. +/// +/// Cross-references LLVM coverage metadata with the dwarf line map to filter out +/// functions or regions that might have been removed by the compiler/linker. +fn find_executable_regions( + functions: &[Function], + line_map: &BTreeMap>, +) -> Result> { + let mut executable_regions: BTreeMap = BTreeMap::new(); + + for func in functions { + let body = &func.regions[0]; + // Sanity check: The first region is the main function body. + assert_eq!(body.kind, 0); + assert_eq!(body.file_id, 0); + + if body.execution_count == 0 { + // If the function is not reachable, all expansions should be unreachable too. + assert!(func.regions.iter().all(|r| r.execution_count == 0)); + continue; + } + + let body_filename = &func.filenames[body.file_id]; + let func_name = dedup_inline_copies(&func.name)?; + + // Use the DWARF line map to determine if any machine instructions were + // generated for this function. This allows us to exclude functions + // that were stripped by the compiler or linker. + let func_hit = line_map + .get(&func.filenames[0]) + .map(|lines_hit| { + lines_hit + .range(body.line_start..=body.line_end) + .next() + .is_some() + }) + .unwrap_or(false); + + if !func_hit { + continue; + } + + let body_entry = executable_regions.entry(body_filename.clone()).or_default(); + body_entry + .func + .insert(func_name.to_string(), body.line_start); + + for region in func + .regions + .iter() + .filter(|r| r.kind == 0 && r.execution_count != 0) + { + assert_eq!(region.expanded_file_id, 0); + let filename = &func.filenames[region.file_id]; + let entry = executable_regions.entry(filename.clone()).or_default(); + entry.da.extend(region.line_start..=region.line_end); + } + } + + // Cross-reference DWARF line info with collected regions to ensure every + // executable instruction is mapped to a coverage region. + for (filename, lines) in line_map { + if IGNORE_DWARF.contains(&filename.as_str()) { + continue; + } + if let Some(executable) = executable_regions.get(filename) { + for line in lines { + if !executable.da.contains(line) { + return Err(anyhow!( + "line {line} in {filename} has DWARF info but no coverage regions" + )); + } + } + } + } + + Ok(executable_regions) +} + +/// Removes the LLVM-added prefix for static inlined functions. +/// +/// In the LLVM coverage export, static inline functions that are duplicated +/// across translation units may have a filename prefix separated by a colon. +/// This function returns the base function name. +fn dedup_inline_copies(name: &str) -> Result<&str> { + name.split(':').last().context("Invalid function name") +} + +/// Filters raw LCOV output to only include regions that exist in the binary. +/// +/// This creates the "view" by taking the LCOV input and removing +/// functions that has no related dwarf line info. +fn filter_lcov_view( + lcov_input: &str, + executable_regions: &BTreeMap, +) -> Result { + let mut filtered_lcov = String::new(); + + // Iterate through each source file record in the input LCOV data. + for record in lcov_input + .split("\nend_of_record\n") + .filter(|r| !r.trim().is_empty()) + { + let mut lines = record.lines(); + let sf_line = lines.next().context("Missing SF line")?; + let filename = sf_line.strip_prefix("SF:").context("Invalid SF line")?; + + let is_asm = filename.to_lowercase().ends_with(".s"); + let is_ignore_dwarf = IGNORE_DWARF.contains(&filename); + + let no_filter = is_asm || is_ignore_dwarf; + + let executable = match executable_regions.get(filename) { + _ if no_filter => &Default::default(), + Some(e) => e, + None => continue, + }; + + // Collected filtered FNDA, and DA records. + let mut filtered = CoverageInfo::default(); + for line in lines { + let (kind, argstr) = line.split_once(':').context("Invalid LCOV line")?; + let args: Vec<&str> = argstr.split(',').collect(); + if kind == "FN" { + let lineno = args[0].parse()?; + let name = dedup_inline_copies(args[1])?; + filtered.func.insert(name.to_string(), lineno); + } else if kind == "FNDA" { + let count: u64 = args[0].parse()?; + let name = dedup_inline_copies(args[1])?; + if count > 0 && (no_filter || executable.func.contains_key(name)) { + filtered.fnda.insert(name.to_string(), count); + } + } else if kind == "DA" { + let lineno = args[0].parse()?; + let count: u64 = args[1].parse()?; + if count > 0 && (no_filter || executable.da.contains(&lineno)) { + filtered.da.insert(lineno); + } + } + } + + // Output the filtered LCOV record. + writeln!(filtered_lcov, "{}", sf_line)?; + for (name, lineno) in &filtered.func { + if filtered.fnda.contains_key(name) { + writeln!(filtered_lcov, "FN:{lineno},{name}")?; + } + } + for name in filtered.fnda.keys() { + writeln!(filtered_lcov, "FNDA:0,{name}")?; + } + for lineno in &filtered.da { + writeln!(filtered_lcov, "DA:{lineno},0")?; + } + writeln!(filtered_lcov, "end_of_record")?; + } + Ok(filtered_lcov) +} + +fn handle_ibex(opts: &Opts) -> Result<()> { + let lcov_input_file = opts.temp_dir.join("coverage.dat"); + let json_output_file = opts.temp_dir.join("coverage.json"); + let profdata_file = opts.temp_dir.join("coverage.profdata"); + let profraw_file = opts.temp_dir.join("coverage.profraw"); + + // Generate a profraw file where all counters are marked as "hit". + let profile = ProfileData::from_elf(&opts.elf)?; + println!("Loaded {:?} = {}", profile.file_name, profile.build_id); + profile.generate_view_profraw(&profraw_file)?; + + // Export to JSON and LCOV formats for analysis. + llvm_profdata_merge(&profraw_file, &profdata_file); + llvm_cov_export("text", &profdata_file, &profile.elf, &json_output_file); + llvm_cov_export("lcov", &profdata_file, &profile.elf, &lcov_input_file); + + // Determine which source lines actually executable in the binary. + let json_str = fs::read_to_string(&json_output_file)?; + let export: ExportJson = serde_json::from_str(&json_str)?; + let functions = &export.data.first().context("Empty export data")?.functions; + let line_map = get_dwarf_line_map(&opts.elf)?; + let executable_regions = find_executable_regions(functions, &line_map)?; + + // Filter the initial LCOV to match only the executable regions. + let lcov_str = fs::read_to_string(&lcov_input_file)?; + let filtered_lcov = filter_lcov_view(&lcov_str, &executable_regions)?; + + // Write the filtered LCOV. + fs::write(&opts.output, filtered_lcov)?; + Ok(()) +} + +fn handle_otbn(opts: &Opts) -> Result<()> { + let line_map = get_dwarf_line_map(&opts.elf)?; + // OTBN binaries lack LLVM coverage metadata; we generate the coverage view + // from DWARF line information only. + let mut lcov = String::new(); + for (filename, lines) in line_map { + writeln!(lcov, "SF:{filename}")?; + for line in lines { + writeln!(lcov, "DA:{line},0")?; + } + writeln!(lcov, "end_of_record")?; + } + fs::write(&opts.output, lcov)?; + Ok(()) +} + +fn main() -> Result<()> { + debug_environ(); + let opts = Opts::parse(); + + fs::create_dir_all(&opts.temp_dir)?; + + match opts.kind.as_str() { + "ibex" => handle_ibex(&opts)?, + "otbn" => handle_otbn(&opts)?, + _ => unreachable!("Value parser should restrict kind to ibex or otbn"), + } + + println!("Coverage view for generated: {:?}", opts.output); + Ok(()) +}