# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# DO NOT EDIT. THIS FILE IS GENERATED BY CARGO GNAW. EDIT THE CARGO TOML FILE

import("//build/licenses/license.gni")

gn_source_root = rebase_path("//", root_build_dir)
not_needed([ "gn_source_root" ])

group("aead") {
  public_deps = [ ":aead-v0_4_3" ]
}

group("aes") {
  public_deps = [ ":aes-v0_8_4" ]
}

group("aes-gcm") {
  public_deps = [ ":aes-gcm-v0_10_2" ]
}

group("aes-gcm-siv") {
  public_deps = [ ":aes-gcm-siv-v0_11_1" ]
}

group("ahash") {
  public_deps = [ ":ahash-v0_8_6" ]
}

group("ansi_term") {
  public_deps = [ ":ansi_term-v0_12_1" ]
}

group("anyhow") {
  public_deps = [ ":anyhow-v1_0_75" ]
}

group("arbitrary") {
  public_deps = [ ":arbitrary-v1_0_3" ]
}

group("argh") {
  public_deps = [ ":argh-v0_1_12" ]
}

group("arrayref") {
  public_deps = [ ":arrayref-v0_3_5" ]
}

group("arrayvec") {
  public_deps = [ ":arrayvec-v0_7_1" ]
}

group("ash") {
  public_deps = [ ":ash-v0_37_0+1_3_209" ]
}

group("assert_matches") {
  public_deps = [ ":assert_matches-v1_5_0" ]
}

group("async-channel") {
  public_deps = [ ":async-channel-v1_8_0" ]
}

if (!(current_os == "fuchsia")) {
  group("async-executor") {
    public_deps = [ ":async-executor-v1_5_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("async-fs") {
    public_deps = [ ":async-fs-v1_6_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("async-io") {
    public_deps = [ ":async-io-v1_12_0" ]
  }
}

group("async-lock") {
  public_deps = [ ":async-lock-v2_6_0" ]
}

if (!(current_os == "fuchsia")) {
  group("async-net") {
    public_deps = [ ":async-net-v1_7_0" ]
  }
}

group("async-stream") {
  public_deps = [ ":async-stream-v0_3_5" ]
}

group("async-trait") {
  public_deps = [ ":async-trait-v0_1_71($host_toolchain)" ]
}

group("atty") {
  public_deps = [ ":atty-v0_2_11" ]
}

group("base64") {
  public_deps = [ ":base64-v0_21_7" ]
}

group("bincode") {
  public_deps = [ ":bincode-v1_3_3" ]
}

group("bit-set") {
  public_deps = [ ":bit-set-v0_5_3" ]
}

group("bit-vec") {
  public_deps = [ ":bit-vec-v0_6_3" ]
}

group("bitfield") {
  public_deps = [ ":bitfield-v0_14_0" ]
}

group("bitflags") {
  public_deps = [ ":bitflags-v2_4_1" ]
}

group("blocking") {
  public_deps = [ ":blocking-v1_3_0" ]
}

group("bstr") {
  public_deps = [ ":bstr-v1_5_0" ]
}

group("bumpalo") {
  public_deps = [ ":bumpalo-v3_2_1" ]
}

group("byteorder") {
  public_deps = [ ":byteorder-v1_4_3" ]
}

group("bytes") {
  public_deps = [ ":bytes-v1_0_1" ]
}

group("camino") {
  public_deps = [ ":camino-v1_1_1" ]
}

if (!(current_os == "fuchsia")) {
  group("cargo_metadata") {
    public_deps = [ ":cargo_metadata-v0_14_1" ]
  }
}

group("cfg-if") {
  public_deps = [ ":cfg-if-v1_0_0" ]
}

group("chacha20") {
  public_deps = [ ":chacha20-v0_9_1" ]
}

group("chrono") {
  public_deps = [ ":chrono-v0_4_34" ]
}

group("chrono-english") {
  public_deps = [ ":chrono-english-v0_1_7" ]
}

group("clap") {
  public_deps = [ ":clap-v2_34_0" ]
}

group("crc") {
  public_deps = [ ":crc-v1_8_1" ]
}

group("criterion") {
  public_deps = [ ":criterion-v0_2_11" ]
}

group("crossbeam") {
  public_deps = [ ":crossbeam-v0_8_0" ]
}

group("crossbeam-utils") {
  public_deps = [ ":crossbeam-utils-v0_8_14" ]
}

if (!(current_os == "fuchsia")) {
  group("crossterm") {
    public_deps = [ ":crossterm-v0_19_0" ]
  }
}

group("crypto-mac") {
  public_deps = [ ":crypto-mac-v0_11_1" ]
}

group("csv") {
  public_deps = [ ":csv-v1_2_1" ]
}

group("darling") {
  public_deps = [ ":darling-v0_12_4" ]
}

group("data-encoding") {
  public_deps = [ ":data-encoding-v2_3_2" ]
}

group("derivative") {
  public_deps = [ ":derivative-v2_2_0($host_toolchain)" ]
}

group("derive_builder") {
  public_deps = [ ":derive_builder-v0_11_1" ]
}

group("derp") {
  public_deps = [ ":derp-v0_0_14" ]
}

group("difference") {
  public_deps = [ ":difference-v2_0_0" ]
}

group("digest") {
  public_deps = [ ":digest-v0_10_7" ]
}

group("downcast-rs") {
  public_deps = [ ":downcast-rs-v1_2_0" ]
}

group("dyn-clone") {
  public_deps = [ ":dyn-clone-v1_0_5" ]
}

if (!(current_os == "fuchsia")) {
  group("easy-parallel") {
    public_deps = [ ":easy-parallel-v3_1_0" ]
  }
}

group("ecdsa") {
  public_deps = [ ":ecdsa-v0_14_8" ]
}

group("either") {
  public_deps = [ ":either-v1_8_0" ]
}

group("elliptic-curve") {
  public_deps = [ ":elliptic-curve-v0_12_3" ]
}

if (current_os == "fuchsia") {
  group("euclid") {
    public_deps = [ ":euclid-v0_22_1" ]
  }
}

group("eui48") {
  public_deps = [ ":eui48-v1_1_0" ]
}

group("event-listener") {
  public_deps = [ ":event-listener-v2_5_1" ]
}

group("fancy-regex") {
  public_deps = [ ":fancy-regex-v0_8_0" ]
}

group("fatfs") {
  public_deps = [ ":fatfs-v0_3_6" ]
}

group("flate2") {
  public_deps = [ ":flate2-v1_0_14" ]
}

group("fragile") {
  public_deps = [ ":fragile-v1_0_0" ]
}

if (!(current_os == "fuchsia")) {
  group("fs_extra") {
    public_deps = [ ":fs_extra-v1_2_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("fuse3") {
    public_deps = [ ":fuse3-v0_6_1" ]
  }
}

group("futures") {
  public_deps = [ ":futures-v0_3_19" ]
}

group("futures-executor") {
  public_deps = [ ":futures-executor-v0_3_19" ]
}

group("futures-io") {
  public_deps = [ ":futures-io-v0_3_19" ]
}

group("futures-lite") {
  public_deps = [ ":futures-lite-v1_11_3" ]
}

group("futures-test") {
  public_deps = [ ":futures-test-v0_3_19" ]
}

group("futures-util") {
  public_deps = [ ":futures-util-v0_3_19" ]
}

if (current_os == "fuchsia") {
  group("getopts") {
    public_deps = [ ":getopts-v0_2_18" ]
  }
}

group("getrandom") {
  public_deps = [ ":getrandom-v0_2_10" ]
}

group("glob") {
  public_deps = [ ":glob-v0_3_0" ]
}

group("gpt") {
  public_deps = [ ":gpt-v3_0_0" ]
}

group("half") {
  public_deps = [ ":half-v1_6_0" ]
}

group("handlebars") {
  public_deps = [ ":handlebars-v4_3_5" ]
}

group("heck") {
  public_deps = [ ":heck-v0_3_1" ]
}

group("hex") {
  public_deps = [ ":hex-v0_3_2" ]
}

group("hkdf") {
  public_deps = [ ":hkdf-v0_12_3" ]
}

group("hmac") {
  public_deps = [ ":hmac-v0_12_1" ]
}

if (!(current_os == "fuchsia")) {
  group("home") {
    public_deps = [ ":home-v0_5_9" ]
  }
}

group("hound") {
  public_deps = [ ":hound-v3_5_0" ]
}

group("http") {
  public_deps = [ ":http-v0_2_4" ]
}

group("humansize") {
  public_deps = [ ":humansize-v1_1_1" ]
}

group("hyper") {
  public_deps = [ ":hyper-v0_14_19" ]
}

if (!(current_os == "fuchsia")) {
  group("hyper-rustls") {
    public_deps = [ ":hyper-rustls-v0_22_1" ]
  }
}

if (current_os == "fuchsia") {
  group("hyper-rustls") {
    public_deps = [ ":hyper-rustls-v0_22_1" ]
  }
}

group("indexmap") {
  public_deps = [ ":indexmap-v1_9_2" ]
}

if (!(current_os == "fuchsia")) {
  group("indoc") {
    public_deps = [ ":indoc-v1_0_3($host_toolchain)" ]
  }
}

group("iota") {
  public_deps = [ ":iota-v0_2_2" ]
}

group("itertools") {
  public_deps = [ ":itertools-v0_10_1" ]
}

group("itoa") {
  public_deps = [ ":itoa-v0_4_3" ]
}

group("json5format") {
  public_deps = [ ":json5format-v0_2_6" ]
}

group("lazy_static") {
  public_deps = [ ":lazy_static-v1_4_0" ]
}

group("libc") {
  public_deps = [ ":libc-v0_2_149" ]
}

group("libm") {
  public_deps = [ ":libm-v0_2_1" ]
}

group("linked-hash-map") {
  public_deps = [ ":linked-hash-map-v0_5_3" ]
}

if (current_os == "fuchsia") {
  group("lipsum") {
    public_deps = [ ":lipsum-v0_6_0" ]
  }
}

group("lock_api") {
  public_deps = [ ":lock_api-v0_4_11" ]
}

group("log") {
  public_deps = [ ":log-v0_4_20" ]
}

if (!(current_os == "fuchsia")) {
  group("loom") {
    public_deps = [ ":loom-v0_7_1" ]
    testonly = true
  }
}

group("lru-cache") {
  public_deps = [ ":lru-cache-v0_1_2" ]
}

group("macro_rules_attribute") {
  public_deps = [ ":macro_rules_attribute-v0_1_3" ]
}

group("maplit") {
  public_deps = [ ":maplit-v1_0_1" ]
}

group("maybe-owned") {
  public_deps = [ ":maybe-owned-v0_3_2" ]
}

import("//third_party/rust_crates/visibility.gni")

group("md-5") {
  public_deps = [ ":md-5-v0_10_5" ]

  visibility = md5_visibility
}

group("memchr") {
  public_deps = [ ":memchr-v2_7_1" ]
}

group("memoffset") {
  public_deps = [ ":memoffset-v0_7_1" ]
}

group("miniz_oxide") {
  public_deps = [ ":miniz_oxide-v0_3_6" ]
}

if (!(current_os == "fuchsia")) {
  group("mio") {
    public_deps = [ ":mio-v0_8_9" ]
  }
}

group("mockall") {
  public_deps = [ ":mockall-v0_9_0" ]
}

group("netlink-packet-core") {
  public_deps = [ ":netlink-packet-core-v0_7_0" ]
}

group("netlink-packet-generic") {
  public_deps = [ ":netlink-packet-generic-v0_3_3" ]
}

group("netlink-packet-route") {
  public_deps = [ ":netlink-packet-route-v0_20_0" ]
}

group("netlink-packet-sock-diag") {
  public_deps = [ ":netlink-packet-sock-diag-v0_4_2" ]
}

group("netlink-packet-utils") {
  public_deps = [ ":netlink-packet-utils-v0_5_2" ]
}

import("//src/lib/fuchsia_nix/nix_visibility.gni")

group("nix") {
  public_deps = [ ":nix-v0_26_2" ]

  visibility = nix_visibility
}

group("nom") {
  public_deps = [ ":nom-v5_0_0" ]
}

group("nom_locate") {
  public_deps = [ ":nom_locate-v2_1_0" ]
}

if (!(current_os == "fuchsia")) {
  group("notify") {
    public_deps = [ ":notify-v5_2_0" ]
  }
}

group("nu-ansi-term") {
  public_deps = [ ":nu-ansi-term-v0_46_0" ]
}

group("num") {
  public_deps = [ ":num-v0_4_0" ]
}

group("num-derive") {
  public_deps = [ ":num-derive-v0_4_2($host_toolchain)" ]
}

group("num-traits") {
  public_deps = [ ":num-traits-v0_2_18" ]
}

group("omaha_client") {
  public_deps = [ ":omaha_client-v0_1_0" ]
}

group("once_cell") {
  public_deps = [ ":once_cell-v1_17_1" ]
}

if (current_os == "fuchsia") {
  group("openat") {
    public_deps = [ ":openat-v0_1_17" ]
  }
}

group("overload") {
  public_deps = [ ":overload-v0_1_1" ]
}

group("p256") {
  public_deps = [ ":p256-v0_11_1" ]
}

if (!(current_os == "fuchsia")) {
  group("parking_lot") {
    public_deps = [ ":parking_lot-v0_9_0" ]
  }
}

group("paste") {
  public_deps = [ ":paste-v1_0_9($host_toolchain)" ]
}

group("pathdiff") {
  public_deps = [ ":pathdiff-v0_2_1" ]
}

group("pem") {
  public_deps = [ ":pem-v0_8_3" ]
}

group("percent-encoding") {
  public_deps = [ ":percent-encoding-v2_2_0" ]
}

group("pest") {
  public_deps = [ ":pest-v2_7_8" ]
}

group("pest_derive") {
  public_deps = [ ":pest_derive-v2_7_8($host_toolchain)" ]
}

if (!(current_os == "fuchsia")) {
  group("petgraph") {
    public_deps = [ ":petgraph-v0_6_2" ]
  }
}

group("pin-project") {
  public_deps = [ ":pin-project-v1_0_11" ]
}

group("pin-project-lite") {
  public_deps = [ ":pin-project-lite-v0_2_13" ]
}

group("pkcs8") {
  public_deps = [ ":pkcs8-v0_9_0" ]
}

group("png") {
  public_deps = [ ":png-v0_14_0" ]
}

if (current_os == "fuchsia") {
  group("pretty") {
    public_deps = [ ":pretty-v0_5_2" ]
  }
}

group("pretty_assertions") {
  public_deps = [ ":pretty_assertions-v1_2_1" ]
}

group("prettytable-rs") {
  public_deps = [ ":prettytable-rs-v0_8_0" ]
}

if (!(current_os == "fuchsia")) {
  group("proc-macro2") {
    public_deps = [ ":proc-macro2-v1_0_79" ]
  }
}

group("proptest") {
  public_deps = [ ":proptest-v1_4_0" ]
}

group("proptest-derive") {
  public_deps = [ ":proptest-derive-v0_3_0($host_toolchain)" ]
}

group("prost") {
  public_deps = [ ":prost-v0_11_0" ]
}

group("prost-build") {
  public_deps = [ ":prost-build-v0_11_1" ]
}

group("prost-types") {
  public_deps = [ ":prost-types-v0_11_1" ]
}

if (!(current_os == "fuchsia")) {
  group("pulldown-cmark") {
    public_deps = [ ":pulldown-cmark-v0_6_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("quote") {
    public_deps = [ ":quote-v1_0_35" ]
  }
}

group("rand") {
  public_deps = [ ":rand-v0_8_4" ]
}

group("rand_xorshift") {
  public_deps = [ ":rand_xorshift-v0_3_0" ]
}

group("rayon") {
  public_deps = [ ":rayon-v1_3_0" ]
}

group("ref-cast") {
  public_deps = [ ":ref-cast-v1_0_9" ]
}

group("regex") {
  public_deps = [ ":regex-v1_7_3" ]
}

group("regex-syntax") {
  public_deps = [ ":regex-syntax-v0_8_3" ]
}

group("ring") {
  public_deps = [ ":ring-v0_16_20" ]
}

import("//build/icu/icu_rust_crates.gni")

if (current_os == "fuchsia") {
  icu_group("rust_icu_common") {
    public_deps = [ ":rust_icu_common-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_sys") {
    public_deps = [ ":rust_icu_sys-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_ucal") {
    public_deps = [ ":rust_icu_ucal-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_uchar") {
    public_deps = [ ":rust_icu_uchar-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_udat") {
    public_deps = [ ":rust_icu_udat-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_udata") {
    public_deps = [ ":rust_icu_udata-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_uenum") {
    public_deps = [ ":rust_icu_uenum-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_uloc") {
    public_deps = [ ":rust_icu_uloc-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_unorm2") {
    public_deps = [ ":rust_icu_unorm2-v5_0_0" ]
  }
}

if (current_os == "fuchsia") {
  icu_group("rust_icu_ustring") {
    public_deps = [ ":rust_icu_ustring-v5_0_0" ]
  }
}

group("rustc-hash") {
  public_deps = [ ":rustc-hash-v1_0_1" ]
}

if (!(current_os == "fuchsia")) {
  group("rustfix") {
    public_deps = [ ":rustfix-v0_6_1" ]
  }
}

group("rustls") {
  public_deps = [ ":rustls-v0_19_1" ]
}

if (!(current_os == "fuchsia")) {
  group("rustls-native-certs") {
    public_deps = [ ":rustls-native-certs-v0_5_0" ]
  }
}

group("rustyline") {
  public_deps = [ ":rustyline-v2_1_0" ]
}

group("rutabaga_gfx") {
  public_deps = [ ":rutabaga_gfx-v0_1_3" ]
}

group("schemars") {
  public_deps = [ ":schemars-v0_8_10" ]
}

group("scopeguard") {
  public_deps = [ ":scopeguard-v1_1_0" ]
}

group("scrypt") {
  public_deps = [ ":scrypt-v0_10_0" ]
}

group("serde") {
  public_deps = [ ":serde-v1_0_203" ]
}

group("serde_cbor") {
  public_deps = [ ":serde_cbor-v0_11_1" ]
}

group("serde_derive") {
  public_deps = [ ":serde_derive-v1_0_203($host_toolchain)" ]
}

group("serde_json") {
  public_deps = [ ":serde_json-v1_0_87" ]
}

group("serde_json5") {
  public_deps = [ ":serde_json5-v0_1_0" ]
}

group("serde_repr") {
  public_deps = [ ":serde_repr-v0_1_7($host_toolchain)" ]
}

if (!(current_os == "fuchsia")) {
  group("serde_yaml") {
    public_deps = [ ":serde_yaml-v0_9_14" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("serial_test") {
    public_deps = [ ":serial_test-v0_5_1" ]
  }
}

group("sha1") {
  public_deps = [ ":sha1-v0_10_5" ]

  visibility = sha1_visibility
}

group("sha2") {
  public_deps = [ ":sha2-v0_10_6" ]
}

if (!(current_os == "fuchsia")) {
  group("shared_child") {
    public_deps = [ ":shared_child-v1_0_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("signal-hook") {
    public_deps = [ ":signal-hook-v0_3_17" ]
  }
}

group("signature") {
  public_deps = [ ":signature-v1_6_4" ]
}

if (!(current_os == "fuchsia")) {
  group("simplelog") {
    public_deps = [ ":simplelog-v0_10_2" ]
  }
}

group("siphasher") {
  public_deps = [ ":siphasher-v0_3_10" ]
}

group("slab") {
  public_deps = [ ":slab-v0_4_7" ]
}

group("smallvec") {
  public_deps = [ ":smallvec-v1_13_1" ]
}

group("socket2") {
  public_deps = [ ":socket2-v0_5_5" ]
}

group("splines") {
  public_deps = [ ":splines-v2_2_0" ]
}

group("static_assertions") {
  public_deps = [ ":static_assertions-v1_1_0" ]
}

group("strsim") {
  public_deps = [ ":strsim-v0_10_0" ]
}

group("structopt") {
  public_deps = [ ":structopt-v0_2_14" ]
}

if (!(current_os == "fuchsia")) {
  group("strum") {
    public_deps = [ ":strum-v0_25_0" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("strum_macros") {
    public_deps = [ ":strum_macros-v0_25_3($host_toolchain)" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("syn") {
    public_deps = [ ":syn-v2_0_55" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("synstructure") {
    public_deps = [ ":synstructure-v0_12_1" ]
  }
}

if (!(current_os == "fuchsia")) {
  group("tar") {
    public_deps = [ ":tar-v0_4_25" ]
  }
}

group("tempfile") {
  public_deps = [ ":tempfile-v3_2_0" ]
}

if (!(current_os == "fuchsia")) {
  group("term_grid") {
    public_deps = [ ":term_grid-v0_2_0" ]
  }
}

group("termion") {
  public_deps = [ ":termion-v1_5_3" ]
}

if (!(current_os == "fuchsia")) {
  group("termios") {
    public_deps = [ ":termios-v0_3_2" ]
  }
}

group("termtree") {
  public_deps = [ ":termtree-v0_4_1" ]
}

group("test-case") {
  public_deps = [ ":test-case-v3_2_1" ]
}

group("textwrap") {
  public_deps = [ ":textwrap-v0_11_0" ]
}

group("thiserror") {
  public_deps = [ ":thiserror-v1_0_57" ]
}

import("//third_party/rust_crates/private_visibility.gni")

if (!(current_os == "fuchsia")) {
  group("tinyjson") {
    public_deps = [ ":tinyjson-v2_5_0" ]

    visibility = private_visibility
  }
}

if (!(current_os == "fuchsia")) {
  group("tokio") {
    public_deps = [ ":tokio-v1_32_1" ]
  }
}

if (current_os == "fuchsia") {
  group("tokio") {
    public_deps = [ ":tokio-v1_32_1" ]
  }
}

group("tokio-rustls") {
  public_deps = [ ":tokio-rustls-v0_22_0" ]
}

if (!(current_os == "fuchsia")) {
  group("tokio-stream") {
    public_deps = [ ":tokio-stream-v0_1_14" ]
  }
}

group("toml") {
  public_deps = [ ":toml-v0_5_6" ]
}

group("toml_edit") {
  public_deps = [ ":toml_edit-v0_2_1" ]
}

group("tracing") {
  public_deps = [ ":tracing-v0_1_40" ]
}

group("tracing-core") {
  public_deps = [ ":tracing-core-v0_1_32" ]
}

group("tracing-log") {
  public_deps = [ ":tracing-log-v0_2_0" ]
}

group("tracing-mutex") {
  public_deps = [ ":tracing-mutex-v0_3_0" ]
}

group("tracing-subscriber") {
  public_deps = [ ":tracing-subscriber-v0_3_18" ]
}

if (current_os == "fuchsia") {
  group("trust-dns-proto") {
    public_deps = [ ":trust-dns-proto-v0_22_0" ]
  }
}

if (current_os == "fuchsia") {
  group("trust-dns-resolver") {
    public_deps = [ ":trust-dns-resolver-v0_22_0" ]
  }
}

if (current_os == "fuchsia") {
  group("ttf-parser") {
    public_deps = [ ":ttf-parser-v0_10_1" ]
  }
}

group("tuf") {
  public_deps = [ ":tuf-v0_3_0-beta12" ]
}

group("typed-builder") {
  public_deps = [ ":typed-builder-v0_10_0($host_toolchain)" ]
}

group("unic-char-range") {
  public_deps = [ ":unic-char-range-v0_9_0" ]
}

group("unic-ucd-block") {
  public_deps = [ ":unic-ucd-block-v0_9_0" ]
}

group("unicase") {
  public_deps = [ ":unicase-v2_7_0" ]
}

if (current_os == "fuchsia") {
  group("unicode-normalization") {
    public_deps = [ ":unicode-normalization-v0_1_19" ]
  }
}

group("unicode-segmentation") {
  public_deps = [ ":unicode-segmentation-v1_10_1" ]
}

group("unicode-width") {
  public_deps = [ ":unicode-width-v0_1_10" ]
}

group("unicode-xid") {
  public_deps = [ ":unicode-xid-v0_2_0" ]
}

group("untrusted") {
  public_deps = [ ":untrusted-v0_7_1" ]
}

group("url") {
  public_deps = [ ":url-v2_3_1" ]
}

group("utf8parse") {
  public_deps = [ ":utf8parse-v0_1_1" ]
}

group("uuid") {
  public_deps = [ ":uuid-v1_1_2" ]
}

group("valico") {
  public_deps = [ ":valico-v2_4_2" ]
}

if (current_os == "fuchsia") {
  group("vk-sys") {
    public_deps = [ ":vk-sys-v0_7_0" ]
  }
}

group("vm-device") {
  public_deps = [ ":vm-device-v0_1_0" ]
}

group("vte") {
  public_deps = [ ":vte-v0_3_3" ]
}

group("walkdir") {
  public_deps = [ ":walkdir-v2_3_1" ]
}

group("webpki") {
  public_deps = [ ":webpki-v0_21_0" ]
}

group("which") {
  public_deps = [ ":which-v4_0_2" ]
}

group("xml-rs") {
  public_deps = [ ":xml-rs-v0_8_0" ]
}

group("zerocopy") {
  public_deps = [ ":zerocopy-v0_8_0-alpha_5" ]
}

if (!(current_os == "fuchsia")) {
  group("zip") {
    public_deps = [ ":zip-v0_5_5" ]
  }
}

group("zstd") {
  public_deps = [ ":zstd-v0_11_2+zstd_1_5_2" ]
}

license("adler32-v1_0_4.license") {
  public_package_name = "adler32"
  license_files = [ "//third_party/rust_crates/vendor/adler32-1.0.4/LICENSE" ]
}

rust_library("adler32-v1_0_4") {
  crate_name = "adler32"
  crate_root = "//third_party/rust_crates/vendor/adler32-1.0.4/src/lib.rs"
  output_name = "adler32-49c7289baa3c93e2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=49c7289baa3c93e2",
    "-Cextra-filename=-49c7289baa3c93e2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":adler32-v1_0_4.license" ]
}

license("aead-v0_4_3.license") {
  public_package_name = "aead"
  license_files = [
    "//third_party/rust_crates/vendor/aead-0.4.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/aead-0.4.3/LICENSE-MIT",
  ]
}

rust_library("aead-v0_4_3") {
  crate_name = "aead"
  crate_root = "//third_party/rust_crates/vendor/aead-0.4.3/src/lib.rs"
  output_name = "aead-af52864ec4702c1b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":rand_core-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=af52864ec4702c1b",
    "-Cextra-filename=-af52864ec4702c1b",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aead-v0_4_3.license" ]
}

license("aead-v0_5_2.license") {
  public_package_name = "aead"
  license_files = [
    "//third_party/rust_crates/vendor/aead-0.5.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/aead-0.5.2/LICENSE-MIT",
  ]
}

rust_library("aead-v0_5_2") {
  crate_name = "aead"
  crate_root = "//third_party/rust_crates/vendor/aead-0.5.2/src/lib.rs"
  output_name = "aead-c9f35f957ee41fdf"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crypto-common-v0_1_6" ]
  deps += [ ":generic-array-v0_14_5" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=c9f35f957ee41fdf",
    "-Cextra-filename=-c9f35f957ee41fdf",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aead-v0_5_2.license" ]
}

license("aes-v0_8_4.license") {
  public_package_name = "aes"
  license_files = [
    "//third_party/rust_crates/vendor/aes-0.8.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/aes-0.8.4/LICENSE-MIT",
  ]
}

rust_library("aes-v0_8_4") {
  crate_name = "aes"
  crate_root = "//third_party/rust_crates/vendor/aes-0.8.4/src/lib.rs"
  output_name = "aes-9f84688850b96a05"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":cipher-v0_4_4" ]
  if (current_cpu == "arm64" || current_cpu == "x64" || false) {
    deps += [ ":cpufeatures-v0_2_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=9f84688850b96a05",
    "-Cextra-filename=-9f84688850b96a05",
    "--cfg=aes_armv8",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aes-v0_8_4.license" ]
}

license("aes-gcm-v0_10_2.license") {
  public_package_name = "aes_gcm"
  license_files = [
    "//third_party/rust_crates/vendor/aes-gcm-0.10.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/aes-gcm-0.10.2/LICENSE-MIT",
  ]
}

rust_library("aes-gcm-v0_10_2") {
  crate_name = "aes_gcm"
  crate_root = "//third_party/rust_crates/vendor/aes-gcm-0.10.2/src/lib.rs"
  output_name = "aes_gcm-2d18ff22adffd647"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":aead-v0_5_2" ]
  deps += [ ":aes-v0_8_4" ]
  deps += [ ":cipher-v0_4_4" ]
  deps += [ ":ctr-v0_9_2" ]
  deps += [ ":ghash-v0_5_0" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=2d18ff22adffd647",
    "-Cextra-filename=-2d18ff22adffd647",
    "--cfg=feature=\"aes\"",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"rand_core\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aes-gcm-v0_10_2.license" ]
}

license("aes-gcm-siv-v0_11_1.license") {
  public_package_name = "aes_gcm_siv"
  license_files = [
    "//third_party/rust_crates/vendor/aes-gcm-siv-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/aes-gcm-siv-0.11.1/LICENSE-MIT",
  ]
}

rust_library("aes-gcm-siv-v0_11_1") {
  crate_name = "aes_gcm_siv"
  crate_root = "//third_party/rust_crates/vendor/aes-gcm-siv-0.11.1/src/lib.rs"
  output_name = "aes_gcm_siv-cbb576ed6067b82"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":aead-v0_5_2" ]
  deps += [ ":aes-v0_8_4" ]
  deps += [ ":cipher-v0_4_4" ]
  deps += [ ":ctr-v0_9_2" ]
  deps += [ ":polyval-v0_6_0" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=cbb576ed6067b82",
    "-Cextra-filename=-cbb576ed6067b82",
    "--cfg=feature=\"aes\"",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aes-gcm-siv-v0_11_1.license" ]
}

license("ahash-v0_8_6.license") {
  public_package_name = "ahash"
  license_files = [
    "//third_party/rust_crates/vendor/ahash-0.8.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ahash-0.8.6/LICENSE-MIT",
  ]
}

rust_library("ahash-v0_8_6") {
  crate_name = "ahash"
  crate_root = "//third_party/rust_crates/vendor/ahash-0.8.6/src/lib.rs"
  output_name = "ahash-c0866eecdfac783f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":getrandom-v0_2_10" ]
  deps += [ ":zerocopy-v0_7_15" ]
  if (!(false && false)) {
    deps += [ ":once_cell-v1_17_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c0866eecdfac783f",
    "-Cextra-filename=-c0866eecdfac783f",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"runtime-rng\"",
  ]
  if (current_cpu == "x64" || current_cpu == "arm64" || false || false ||
      false || false) {
    rustflags += [ "--cfg=feature=\"folded_multiply\"" ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":ahash-v0_8_6.license" ]
}

license("aho-corasick-v0_7_18.license") {
  public_package_name = "aho_corasick"
  license_files =
      [ "//third_party/rust_crates/ask2patch/aho-corasick/LICENSE-MIT" ]
}

rust_library("aho-corasick-v0_7_18") {
  crate_name = "aho_corasick"
  crate_root = "//third_party/rust_crates/ask2patch/aho-corasick/src/lib.rs"
  output_name = "aho_corasick-753ae8ca48505855"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=753ae8ca48505855",
    "-Cextra-filename=-753ae8ca48505855",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":aho-corasick-v0_7_18.license" ]
}

rust_library("android_system_properties-v0_1_5") {
  crate_name = "android_system_properties"
  crate_root =
      "//third_party/rust_crates/empty/android_system_properties/src/lib.rs"
  output_name = "android_system_properties-fb55b1f486b3c828"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=fb55b1f486b3c828",
    "-Cextra-filename=-fb55b1f486b3c828",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("android-tzdata-v0_1_1") {
  crate_name = "android_tzdata"
  crate_root = "//third_party/rust_crates/empty/android-tzdata/src/lib.rs"
  output_name = "android_tzdata-a1a30826099c6222"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a1a30826099c6222",
    "-Cextra-filename=-a1a30826099c6222",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("ansi_term-v0_12_1.license") {
  public_package_name = "ansi_term"
  license_files =
      [ "//third_party/rust_crates/vendor/ansi_term-0.12.1/LICENCE" ]
}

rust_library("ansi_term-v0_12_1") {
  crate_name = "ansi_term"
  crate_root = "//third_party/rust_crates/vendor/ansi_term-0.12.1/src/lib.rs"
  output_name = "ansi_term-516aa23c0cf40460"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=516aa23c0cf40460",
    "-Cextra-filename=-516aa23c0cf40460",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ansi_term-v0_12_1.license" ]
}

license("anyhow-v1_0_75.license") {
  public_package_name = "anyhow"
  license_files = [
    "//third_party/rust_crates/vendor/anyhow-1.0.75/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/anyhow-1.0.75/LICENSE-MIT",
  ]
}

rust_library("anyhow-v1_0_75") {
  crate_name = "anyhow"
  crate_root = "//third_party/rust_crates/vendor/anyhow-1.0.75/src/lib.rs"
  output_name = "anyhow-99a34437cafed13a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=99a34437cafed13a",
    "-Cextra-filename=-99a34437cafed13a",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":anyhow-v1_0_75.license" ]
}

license("arbitrary-v1_0_3.license") {
  public_package_name = "arbitrary"
  license_files = [
    "//third_party/rust_crates/vendor/arbitrary-1.0.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/arbitrary-1.0.3/LICENSE-MIT",
  ]
}

rust_library("arbitrary-v1_0_3") {
  crate_name = "arbitrary"
  crate_root = "//third_party/rust_crates/vendor/arbitrary-1.0.3/src/lib.rs"
  output_name = "arbitrary-a91f002c1ed551ed"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":derive_arbitrary-v1_0_2($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=a91f002c1ed551ed",
    "-Cextra-filename=-a91f002c1ed551ed",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"derive_arbitrary\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":arbitrary-v1_0_3.license" ]
}

license("argh-v0_1_12.license") {
  public_package_name = "argh"
  license_files = [ "//third_party/rust_crates/vendor/argh-0.1.12/LICENSE" ]
}

rust_library("argh-v0_1_12") {
  crate_name = "argh"
  crate_root = "//third_party/rust_crates/vendor/argh-0.1.12/src/lib.rs"
  output_name = "argh-22dc77a208701f30"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":argh_derive-v0_1_12($host_toolchain)" ]
  deps += [ ":argh_shared-v0_1_12" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=22dc77a208701f30",
    "-Cextra-filename=-22dc77a208701f30",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":argh-v0_1_12.license" ]
}

license("argh_derive-v0_1_12.license") {
  public_package_name = "argh_derive"
  license_files =
      [ "//third_party/rust_crates/vendor/argh_derive-0.1.12/LICENSE" ]
}

rust_proc_macro("argh_derive-v0_1_12") {
  crate_name = "argh_derive"
  crate_root = "//third_party/rust_crates/vendor/argh_derive-0.1.12/src/lib.rs"
  output_name = "argh_derive-5f3acc1b826834de"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":argh_shared-v0_1_12" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5f3acc1b826834de",
    "-Cextra-filename=-5f3acc1b826834de",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":argh_derive-v0_1_12.license" ]
}

license("argh_shared-v0_1_12.license") {
  public_package_name = "argh_shared"
  license_files =
      [ "//third_party/rust_crates/vendor/argh_shared-0.1.12/LICENSE" ]
}

rust_library("argh_shared-v0_1_12") {
  crate_name = "argh_shared"
  crate_root = "//third_party/rust_crates/vendor/argh_shared-0.1.12/src/lib.rs"
  output_name = "argh_shared-544226982af09ad9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=544226982af09ad9",
    "-Cextra-filename=-544226982af09ad9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":argh_shared-v0_1_12.license" ]
}

license("arrayref-v0_3_5.license") {
  public_package_name = "arrayref"
  license_files = [ "//third_party/rust_crates/vendor/arrayref-0.3.5/LICENSE" ]
}

rust_library("arrayref-v0_3_5") {
  crate_name = "arrayref"
  crate_root = "//third_party/rust_crates/vendor/arrayref-0.3.5/src/lib.rs"
  output_name = "arrayref-1f394a4894f5a098"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1f394a4894f5a098",
    "-Cextra-filename=-1f394a4894f5a098",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":arrayref-v0_3_5.license" ]
}

license("arrayvec-v0_7_1.license") {
  public_package_name = "arrayvec"
  license_files = [
    "//third_party/rust_crates/vendor/arrayvec-0.7.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/arrayvec-0.7.1/LICENSE-MIT",
  ]
}

rust_library("arrayvec-v0_7_1") {
  crate_name = "arrayvec"
  crate_root = "//third_party/rust_crates/vendor/arrayvec-0.7.1/src/lib.rs"
  output_name = "arrayvec-2b25e26ec4c0a472"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2b25e26ec4c0a472",
    "-Cextra-filename=-2b25e26ec4c0a472",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":arrayvec-v0_7_1.license" ]
}

license("ash-v0_37_0+1_3_209.license") {
  public_package_name = "ash"
  license_files = [
    "//third_party/rust_crates/vendor/ash-0.37.0+1.3.209/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ash-0.37.0+1.3.209/LICENSE-MIT",
  ]
}

rust_library("ash-v0_37_0+1_3_209") {
  crate_name = "ash"
  crate_root = "//third_party/rust_crates/vendor/ash-0.37.0+1.3.209/src/lib.rs"
  output_name = "ash-b07aaa2f97684336"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b07aaa2f97684336",
    "-Cextra-filename=-b07aaa2f97684336",
    "--cfg=feature=\"linked\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ash-v0_37_0+1_3_209.license" ]
}

license("assert_matches-v1_5_0.license") {
  public_package_name = "assert_matches"
  license_files = [
    "//third_party/rust_crates/vendor/assert_matches-1.5.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/assert_matches-1.5.0/LICENSE-MIT",
  ]
}

rust_library("assert_matches-v1_5_0") {
  crate_name = "assert_matches"
  crate_root =
      "//third_party/rust_crates/vendor/assert_matches-1.5.0/src/lib.rs"
  output_name = "assert_matches-568351bf14d9d02"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=568351bf14d9d02",
    "-Cextra-filename=-568351bf14d9d02",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":assert_matches-v1_5_0.license" ]
}

license("async-channel-v1_8_0.license") {
  public_package_name = "async_channel"
  license_files = [
    "//third_party/rust_crates/vendor/async-channel-1.8.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-channel-1.8.0/LICENSE-MIT",
  ]
}

rust_library("async-channel-v1_8_0") {
  crate_name = "async_channel"
  crate_root = "//third_party/rust_crates/vendor/async-channel-1.8.0/src/lib.rs"
  output_name = "async_channel-4d9e4e3e151dd008"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":concurrent-queue-v2_1_0" ]
  deps += [ ":event-listener-v2_5_1" ]
  deps += [ ":futures-core-v0_3_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4d9e4e3e151dd008",
    "-Cextra-filename=-4d9e4e3e151dd008",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-channel-v1_8_0.license" ]
}

license("async-executor-v1_5_0.license") {
  public_package_name = "async_executor"
  license_files = [
    "//third_party/rust_crates/vendor/async-executor-1.5.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-executor-1.5.0/LICENSE-MIT",
  ]
}

rust_library("async-executor-v1_5_0") {
  crate_name = "async_executor"
  crate_root =
      "//third_party/rust_crates/vendor/async-executor-1.5.0/src/lib.rs"
  output_name = "async_executor-124118651f47136"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-lock-v2_6_0" ]
  deps += [ ":async-task-v4_0_3" ]
  deps += [ ":concurrent-queue-v2_1_0" ]
  deps += [ ":fastrand-v1_4_0" ]
  deps += [ ":futures-lite-v1_11_3" ]
  deps += [ ":slab-v0_4_7" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=124118651f47136",
    "-Cextra-filename=-124118651f47136",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-executor-v1_5_0.license" ]
}

license("async-fs-v1_6_0.license") {
  public_package_name = "async_fs"
  license_files = [
    "//third_party/rust_crates/vendor/async-fs-1.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-fs-1.6.0/LICENSE-MIT",
  ]
}

rust_library("async-fs-v1_6_0") {
  crate_name = "async_fs"
  crate_root = "//third_party/rust_crates/vendor/async-fs-1.6.0/src/lib.rs"
  output_name = "async_fs-d08414b37762da39"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-lock-v2_6_0" ]
  deps += [ ":blocking-v1_3_0" ]
  deps += [ ":futures-lite-v1_11_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d08414b37762da39",
    "-Cextra-filename=-d08414b37762da39",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-fs-v1_6_0.license" ]
}

license("async-io-v1_12_0.license") {
  public_package_name = "async_io"
  license_files = [
    "//third_party/rust_crates/forks/async-io/LICENSE-APACHE",
    "//third_party/rust_crates/forks/async-io/LICENSE-MIT",
  ]
}

rust_library("async-io-v1_12_0") {
  crate_name = "async_io"
  crate_root = "//third_party/rust_crates/forks/async-io/src/lib.rs"
  output_name = "async_io-8cea39e881d5ae1e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-lock-v2_6_0" ]
  deps += [ ":concurrent-queue-v2_1_0" ]
  deps += [ ":futures-lite-v1_11_3" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":parking-v2_0_0" ]
  deps += [ ":polling-v2_4_0" ]
  deps += [ ":slab-v0_4_7" ]
  deps += [ ":socket2-v0_4_4" ]
  deps += [ ":waker-fn-v1_1_0" ]
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":windows-sys-v0_42_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8cea39e881d5ae1e",
    "-Cextra-filename=-8cea39e881d5ae1e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-io-v1_12_0.license" ]
}

license("async-lock-v2_6_0.license") {
  public_package_name = "async_lock"
  license_files = [
    "//third_party/rust_crates/vendor/async-lock-2.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-lock-2.6.0/LICENSE-MIT",
  ]
}

rust_library("async-lock-v2_6_0") {
  crate_name = "async_lock"
  crate_root = "//third_party/rust_crates/vendor/async-lock-2.6.0/src/lib.rs"
  output_name = "async_lock-1fb84a03f9a9c9cf"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":event-listener-v2_5_1" ]
  deps += [ ":futures-lite-v1_11_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=1fb84a03f9a9c9cf",
    "-Cextra-filename=-1fb84a03f9a9c9cf",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-lock-v2_6_0.license" ]
}

license("async-net-v1_7_0.license") {
  public_package_name = "async_net"
  license_files = [
    "//third_party/rust_crates/vendor/async-net-1.7.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-net-1.7.0/LICENSE-MIT",
  ]
}

rust_library("async-net-v1_7_0") {
  crate_name = "async_net"
  crate_root = "//third_party/rust_crates/vendor/async-net-1.7.0/src/lib.rs"
  output_name = "async_net-40ebfd6a451158cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-io-v1_12_0" ]
  deps += [ ":blocking-v1_3_0" ]
  deps += [ ":futures-lite-v1_11_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=40ebfd6a451158cd",
    "-Cextra-filename=-40ebfd6a451158cd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-net-v1_7_0.license" ]
}

license("async-stream-v0_3_5.license") {
  public_package_name = "async_stream"
  license_files =
      [ "//third_party/rust_crates/vendor/async-stream-0.3.5/LICENSE" ]
}

rust_library("async-stream-v0_3_5") {
  crate_name = "async_stream"
  crate_root = "//third_party/rust_crates/vendor/async-stream-0.3.5/src/lib.rs"
  output_name = "async_stream-f4f882ab5615681b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-stream-impl-v0_3_5($host_toolchain)" ]
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":pin-project-lite-v0_2_13" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f4f882ab5615681b",
    "-Cextra-filename=-f4f882ab5615681b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-stream-v0_3_5.license" ]
}

license("async-stream-impl-v0_3_5.license") {
  public_package_name = "async_stream_impl"
  license_files =
      [ "//third_party/rust_crates/vendor/async-stream-impl-0.3.5/LICENSE" ]
}

rust_proc_macro("async-stream-impl-v0_3_5") {
  crate_name = "async_stream_impl"
  crate_root =
      "//third_party/rust_crates/vendor/async-stream-impl-0.3.5/src/lib.rs"
  output_name = "async_stream_impl-bdf5c3df77d0ae6a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=bdf5c3df77d0ae6a",
    "-Cextra-filename=-bdf5c3df77d0ae6a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-stream-impl-v0_3_5.license" ]
}

license("async-task-v4_0_3.license") {
  public_package_name = "async_task"
  license_files = [
    "//third_party/rust_crates/vendor/async-task-4.0.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-task-4.0.3/LICENSE-MIT",
  ]
}

rust_library("async-task-v4_0_3") {
  crate_name = "async_task"
  crate_root = "//third_party/rust_crates/vendor/async-task-4.0.3/src/lib.rs"
  output_name = "async_task-9e0c33b950a5d71e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9e0c33b950a5d71e",
    "-Cextra-filename=-9e0c33b950a5d71e",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-task-v4_0_3.license" ]
}

license("async-trait-v0_1_71.license") {
  public_package_name = "async_trait"
  license_files = [
    "//third_party/rust_crates/vendor/async-trait-0.1.71/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/async-trait-0.1.71/LICENSE-MIT",
  ]
}

rust_proc_macro("async-trait-v0_1_71") {
  crate_name = "async_trait"
  crate_root = "//third_party/rust_crates/vendor/async-trait-0.1.71/src/lib.rs"
  output_name = "async_trait-1fd7cf147dfbb38f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=1fd7cf147dfbb38f",
    "-Cextra-filename=-1fd7cf147dfbb38f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":async-trait-v0_1_71.license" ]
}

license("atomic-waker-v1_1_2.license") {
  public_package_name = "atomic_waker"
  license_files = [
    "//third_party/rust_crates/vendor/atomic-waker-1.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/atomic-waker-1.1.2/LICENSE-MIT",
    "//third_party/rust_crates/vendor/atomic-waker-1.1.2/LICENSE-THIRD-PARTY",
  ]
}

rust_library("atomic-waker-v1_1_2") {
  crate_name = "atomic_waker"
  crate_root = "//third_party/rust_crates/vendor/atomic-waker-1.1.2/src/lib.rs"
  output_name = "atomic_waker-856f7c0622c0dbc0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=856f7c0622c0dbc0",
    "-Cextra-filename=-856f7c0622c0dbc0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":atomic-waker-v1_1_2.license" ]
}

license("atty-v0_2_11.license") {
  public_package_name = "atty"
  license_files = [ "//third_party/rust_crates/vendor/atty-0.2.11/LICENSE" ]
}

rust_library("atty-v0_2_11") {
  crate_name = "atty"
  crate_root = "//third_party/rust_crates/vendor/atty-0.2.11/src/lib.rs"
  output_name = "atty-8928199b13c115d5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":termion-v1_5_3" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=8928199b13c115d5",
    "-Cextra-filename=-8928199b13c115d5",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":atty-v0_2_11.license" ]
}

rust_library("backtrace-v0_3_61") {
  crate_name = "backtrace"
  crate_root = "//third_party/rust_crates/empty/backtrace/src/lib.rs"
  output_name = "backtrace-78d5fcff862777ab"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=78d5fcff862777ab",
    "-Cextra-filename=-78d5fcff862777ab",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("base16ct-v0_1_1.license") {
  public_package_name = "base16ct"
  license_files = [
    "//third_party/rust_crates/vendor/base16ct-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/base16ct-0.1.1/LICENSE-MIT",
  ]
}

rust_library("base16ct-v0_1_1") {
  crate_name = "base16ct"
  crate_root = "//third_party/rust_crates/vendor/base16ct-0.1.1/src/lib.rs"
  output_name = "base16ct-4bf1d79b4b9e7aef"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=4bf1d79b4b9e7aef",
    "-Cextra-filename=-4bf1d79b4b9e7aef",
    "--cfg=feature=\"alloc\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":base16ct-v0_1_1.license" ]
}

license("base64-v0_13_0.license") {
  public_package_name = "base64"
  license_files = [
    "//third_party/rust_crates/vendor/base64-0.13.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/base64-0.13.0/LICENSE-MIT",
  ]
}

rust_library("base64-v0_13_0") {
  crate_name = "base64"
  crate_root = "//third_party/rust_crates/vendor/base64-0.13.0/src/lib.rs"
  output_name = "base64-5335de7b20fd4c04"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5335de7b20fd4c04",
    "-Cextra-filename=-5335de7b20fd4c04",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = []
  visibility += [ ":*" ]
  visibility += [ "//*" ]

  applicable_licenses = [ ":base64-v0_13_0.license" ]
}

license("base64-v0_21_7.license") {
  public_package_name = "base64"
  license_files = [
    "//third_party/rust_crates/vendor/base64-0.21.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/base64-0.21.7/LICENSE-MIT",
  ]
}

rust_library("base64-v0_21_7") {
  crate_name = "base64"
  crate_root = "//third_party/rust_crates/vendor/base64-0.21.7/src/lib.rs"
  output_name = "base64-893dd6c5b101d98e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=893dd6c5b101d98e",
    "-Cextra-filename=-893dd6c5b101d98e",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":base64-v0_21_7.license" ]
}

license("base64ct-v1_6_0.license") {
  public_package_name = "base64ct"
  license_files = [
    "//third_party/rust_crates/vendor/base64ct-1.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/base64ct-1.6.0/LICENSE-MIT",
  ]
}

rust_library("base64ct-v1_6_0") {
  crate_name = "base64ct"
  crate_root = "//third_party/rust_crates/vendor/base64ct-1.6.0/src/lib.rs"
  output_name = "base64ct-ba441f89d782df0a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=ba441f89d782df0a",
    "-Cextra-filename=-ba441f89d782df0a",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":base64ct-v1_6_0.license" ]
}

license("bincode-v1_3_3.license") {
  public_package_name = "bincode"
  license_files =
      [ "//third_party/rust_crates/vendor/bincode-1.3.3/LICENSE.md" ]
}

rust_library("bincode-v1_3_3") {
  crate_name = "bincode"
  crate_root = "//third_party/rust_crates/vendor/bincode-1.3.3/src/lib.rs"
  output_name = "bincode-2294ada8ceec0c61"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2294ada8ceec0c61",
    "-Cextra-filename=-2294ada8ceec0c61",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bincode-v1_3_3.license" ]
}

license("bit-set-v0_5_3.license") {
  public_package_name = "bit_set"
  license_files = [
    "//third_party/rust_crates/vendor/bit-set-0.5.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bit-set-0.5.3/LICENSE-MIT",
  ]
}

rust_library("bit-set-v0_5_3") {
  crate_name = "bit_set"
  crate_root = "//third_party/rust_crates/vendor/bit-set-0.5.3/src/lib.rs"
  output_name = "bit_set-1bfda5d01e22a6bd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bit-vec-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1bfda5d01e22a6bd",
    "-Cextra-filename=-1bfda5d01e22a6bd",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bit-set-v0_5_3.license" ]
}

license("bit-vec-v0_6_3.license") {
  public_package_name = "bit_vec"
  license_files = [
    "//third_party/rust_crates/vendor/bit-vec-0.6.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bit-vec-0.6.3/LICENSE-MIT",
  ]
}

rust_library("bit-vec-v0_6_3") {
  crate_name = "bit_vec"
  crate_root = "//third_party/rust_crates/vendor/bit-vec-0.6.3/src/lib.rs"
  output_name = "bit_vec-ef0910eab7e0b593"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ef0910eab7e0b593",
    "-Cextra-filename=-ef0910eab7e0b593",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bit-vec-v0_6_3.license" ]
}

license("bitfield-v0_14_0.license") {
  public_package_name = "bitfield"
  license_files = [
    "//third_party/rust_crates/vendor/bitfield-0.14.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bitfield-0.14.0/LICENSE-MIT",
  ]
}

rust_library("bitfield-v0_14_0") {
  crate_name = "bitfield"
  crate_root = "//third_party/rust_crates/vendor/bitfield-0.14.0/src/lib.rs"
  output_name = "bitfield-36a15d1ed087f920"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=36a15d1ed087f920",
    "-Cextra-filename=-36a15d1ed087f920",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bitfield-v0_14_0.license" ]
}

license("bitflags-v1_3_2.license") {
  public_package_name = "bitflags"
  license_files = [
    "//third_party/rust_crates/vendor/bitflags-1.3.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bitflags-1.3.2/LICENSE-MIT",
  ]
}

rust_library("bitflags-v1_3_2") {
  crate_name = "bitflags"
  crate_root = "//third_party/rust_crates/vendor/bitflags-1.3.2/src/lib.rs"
  output_name = "bitflags-d696f344bc6327ae"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d696f344bc6327ae",
    "-Cextra-filename=-d696f344bc6327ae",
    "--cfg=feature=\"default\"",
  ]

  visibility = []
  visibility += [ ":*" ]
  visibility += [ "//third_party/alacritty/alacritty_terminal:*" ]

  applicable_licenses = [ ":bitflags-v1_3_2.license" ]
}

license("bitflags-v2_4_1.license") {
  public_package_name = "bitflags"
  license_files = [
    "//third_party/rust_crates/vendor/bitflags-2.4.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bitflags-2.4.1/LICENSE-MIT",
  ]
}

rust_library("bitflags-v2_4_1") {
  crate_name = "bitflags"
  crate_root = "//third_party/rust_crates/vendor/bitflags-2.4.1/src/lib.rs"
  output_name = "bitflags-2dca82e1c034ddb5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=2dca82e1c034ddb5",
    "-Cextra-filename=-2dca82e1c034ddb5",
    "--cfg=feature=\"serde\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bitflags-v2_4_1.license" ]
}

license("block-buffer-v0_10_4.license") {
  public_package_name = "block_buffer"
  license_files = [
    "//third_party/rust_crates/vendor/block-buffer-0.10.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/block-buffer-0.10.4/LICENSE-MIT",
  ]
}

rust_library("block-buffer-v0_10_4") {
  crate_name = "block_buffer"
  crate_root = "//third_party/rust_crates/vendor/block-buffer-0.10.4/src/lib.rs"
  output_name = "block_buffer-85e204470625e557"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":generic-array-v0_14_5" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=85e204470625e557",
    "-Cextra-filename=-85e204470625e557",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":block-buffer-v0_10_4.license" ]
}

license("blocking-v1_3_0.license") {
  public_package_name = "blocking"
  license_files = [
    "//third_party/rust_crates/vendor/blocking-1.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/blocking-1.3.0/LICENSE-MIT",
  ]
}

rust_library("blocking-v1_3_0") {
  crate_name = "blocking"
  crate_root = "//third_party/rust_crates/vendor/blocking-1.3.0/src/lib.rs"
  output_name = "blocking-5bf234e93a32c1f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-channel-v1_8_0" ]
  deps += [ ":async-lock-v2_6_0" ]
  deps += [ ":async-task-v4_0_3" ]
  deps += [ ":atomic-waker-v1_1_2" ]
  deps += [ ":fastrand-v1_4_0" ]
  deps += [ ":futures-lite-v1_11_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5bf234e93a32c1f",
    "-Cextra-filename=-5bf234e93a32c1f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":blocking-v1_3_0.license" ]
}

license("bstr-v1_5_0.license") {
  public_package_name = "bstr"
  license_files = [
    "//third_party/rust_crates/vendor/bstr-1.5.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bstr-1.5.0/LICENSE-MIT",
    "//third_party/rust_crates/vendor/bstr-1.5.0/src/unicode/data/LICENSE-UNICODE",
  ]
}

rust_library("bstr-v1_5_0") {
  crate_name = "bstr"
  crate_root = "//third_party/rust_crates/vendor/bstr-1.5.0/src/lib.rs"
  output_name = "bstr-d2f2ba99a0d8a8a4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d2f2ba99a0d8a8a4",
    "-Cextra-filename=-d2f2ba99a0d8a8a4",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bstr-v1_5_0.license" ]
}

license("bumpalo-v3_2_1.license") {
  public_package_name = "bumpalo"
  license_files = [
    "//third_party/rust_crates/vendor/bumpalo-3.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/bumpalo-3.2.1/LICENSE-MIT",
  ]
}

rust_library("bumpalo-v3_2_1") {
  crate_name = "bumpalo"
  crate_root = "//third_party/rust_crates/vendor/bumpalo-3.2.1/src/lib.rs"
  output_name = "bumpalo-6c0f43d1ab0e9655"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6c0f43d1ab0e9655",
    "-Cextra-filename=-6c0f43d1ab0e9655",
    "--cfg=feature=\"collections\"",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bumpalo-v3_2_1.license" ]
}

license("bytecount-v0_6_0.license") {
  public_package_name = "bytecount"
  license_files = [
    "//third_party/rust_crates/vendor/bytecount-0.6.0/LICENSE.Apache2",
    "//third_party/rust_crates/vendor/bytecount-0.6.0/LICENSE.MIT",
  ]
}

rust_library("bytecount-v0_6_0") {
  crate_name = "bytecount"
  crate_root = "//third_party/rust_crates/vendor/bytecount-0.6.0/src/lib.rs"
  output_name = "bytecount-b4fade0a2dc4ee4a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b4fade0a2dc4ee4a",
    "-Cextra-filename=-b4fade0a2dc4ee4a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bytecount-v0_6_0.license" ]
}

license("byteorder-v1_4_3.license") {
  public_package_name = "byteorder"
  license_files =
      [ "//third_party/rust_crates/ask2patch/byteorder/LICENSE-MIT" ]
}

rust_library("byteorder-v1_4_3") {
  crate_name = "byteorder"
  crate_root = "//third_party/rust_crates/ask2patch/byteorder/src/lib.rs"
  output_name = "byteorder-eb0270683cf7e0fd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=eb0270683cf7e0fd",
    "-Cextra-filename=-eb0270683cf7e0fd",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"i128\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":byteorder-v1_4_3.license" ]
}

license("bytes-v1_0_1.license") {
  public_package_name = "bytes"
  license_files = [ "//third_party/rust_crates/vendor/bytes-1.0.1/LICENSE" ]
}

rust_library("bytes-v1_0_1") {
  crate_name = "bytes"
  crate_root = "//third_party/rust_crates/vendor/bytes-1.0.1/src/lib.rs"
  output_name = "bytes-95481d3375f8e2b1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=95481d3375f8e2b1",
    "-Cextra-filename=-95481d3375f8e2b1",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":bytes-v1_0_1.license" ]
}

license("camino-v1_1_1.license") {
  public_package_name = "camino"
  license_files = [
    "//third_party/rust_crates/vendor/camino-1.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/camino-1.1.1/LICENSE-MIT",
  ]
}

rust_library("camino-v1_1_1") {
  crate_name = "camino"
  crate_root = "//third_party/rust_crates/vendor/camino-1.1.1/src/lib.rs"
  output_name = "camino-d00e09f300cff915"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proptest-v1_4_0" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d00e09f300cff915",
    "-Cextra-filename=-d00e09f300cff915",
    "--cfg=feature=\"proptest\"",
    "--cfg=feature=\"proptest1\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serde1\"",
    "--cfg=path_buf_capacity",
    "--cfg=shrink_to",
    "--cfg=try_reserve_2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":camino-v1_1_1.license" ]
}

license("cargo_metadata-v0_14_1.license") {
  public_package_name = "cargo_metadata"
  license_files =
      [ "//third_party/rust_crates/vendor/cargo_metadata-0.14.1/LICENSE-MIT" ]
}

rust_library("cargo_metadata-v0_14_1") {
  crate_name = "cargo_metadata"
  crate_root =
      "//third_party/rust_crates/vendor/cargo_metadata-0.14.1/src/lib.rs"
  output_name = "cargo_metadata-c02c463dd45e6a7c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":camino-v1_1_1" ]
  deps += [ ":cargo-platform-v0_1_2" ]
  deps += [ ":semver-v1_0_4" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c02c463dd45e6a7c",
    "-Cextra-filename=-c02c463dd45e6a7c",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cargo_metadata-v0_14_1.license" ]
}

license("cargo-platform-v0_1_2.license") {
  public_package_name = "cargo_platform"
  license_files = [
    "//third_party/rust_crates/vendor/cargo-platform-0.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cargo-platform-0.1.2/LICENSE-MIT",
  ]
}

rust_library("cargo-platform-v0_1_2") {
  crate_name = "cargo_platform"
  crate_root =
      "//third_party/rust_crates/vendor/cargo-platform-0.1.2/src/lib.rs"
  output_name = "cargo_platform-1a9bc2981dd0c628"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=1a9bc2981dd0c628",
    "-Cextra-filename=-1a9bc2981dd0c628",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cargo-platform-v0_1_2.license" ]
}

license("cast-v0_2_2.license") {
  public_package_name = "cast"
  license_files = [
    "//third_party/rust_crates/vendor/cast-0.2.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cast-0.2.2/LICENSE-MIT",
  ]
}

rust_library("cast-v0_2_2") {
  crate_name = "cast"
  crate_root = "//third_party/rust_crates/vendor/cast-0.2.2/src/lib.rs"
  output_name = "cast-2e8d76cdb85d3e9e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2e8d76cdb85d3e9e",
    "-Cextra-filename=-2e8d76cdb85d3e9e",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cast-v0_2_2.license" ]
}

license("cfg-if-v0_1_10.license") {
  public_package_name = "cfg_if"
  license_files = [
    "//third_party/rust_crates/vendor/cfg-if-0.1.10/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cfg-if-0.1.10/LICENSE-MIT",
  ]
}

rust_library("cfg-if-v0_1_10") {
  crate_name = "cfg_if"
  crate_root = "//third_party/rust_crates/vendor/cfg-if-0.1.10/src/lib.rs"
  output_name = "cfg_if-de3fee777d28505f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=de3fee777d28505f",
    "-Cextra-filename=-de3fee777d28505f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cfg-if-v0_1_10.license" ]
}

license("cfg-if-v1_0_0.license") {
  public_package_name = "cfg_if"
  license_files = [
    "//third_party/rust_crates/vendor/cfg-if-1.0.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cfg-if-1.0.0/LICENSE-MIT",
  ]
}

rust_library("cfg-if-v1_0_0") {
  crate_name = "cfg_if"
  crate_root = "//third_party/rust_crates/vendor/cfg-if-1.0.0/src/lib.rs"
  output_name = "cfg_if-5f200286e6ae9b7a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5f200286e6ae9b7a",
    "-Cextra-filename=-5f200286e6ae9b7a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cfg-if-v1_0_0.license" ]
}

license("chacha20-v0_9_1.license") {
  public_package_name = "chacha20"
  license_files = [
    "//third_party/rust_crates/vendor/chacha20-0.9.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/chacha20-0.9.1/LICENSE-MIT",
  ]
}

rust_library("chacha20-v0_9_1") {
  crate_name = "chacha20"
  crate_root = "//third_party/rust_crates/vendor/chacha20-0.9.1/src/lib.rs"
  output_name = "chacha20-d08bfd603edd31a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":cipher-v0_4_4" ]
  if (current_cpu == "x64" || false) {
    deps += [ ":cpufeatures-v0_2_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d08bfd603edd31a",
    "-Cextra-filename=-d08bfd603edd31a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":chacha20-v0_9_1.license" ]
}

license("chrono-v0_4_34.license") {
  public_package_name = "chrono"
  license_files =
      [ "//third_party/rust_crates/vendor/chrono-0.4.34/LICENSE.txt" ]
}

rust_library("chrono-v0_4_34") {
  crate_name = "chrono"
  crate_root = "//third_party/rust_crates/vendor/chrono-0.4.34/src/lib.rs"
  output_name = "chrono-6cd08b71ee20ad6f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":serde-v1_0_203" ]
  if (current_cpu == "wasm32" && !(false || false)) {
    deps += [ ":js-sys-v0_3_68" ]
    deps += [ ":wasm-bindgen-v0_2_91" ]
  }
  if (false) {
    deps += [ ":android-tzdata-v0_1_1" ]
  }
  if (true) {
    deps += [ ":iana-time-zone-v0_1_60" ]
  }
  if (false) {
    deps += [ ":windows-targets-v0_52_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=6cd08b71ee20ad6f",
    "-Cextra-filename=-6cd08b71ee20ad6f",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"android-tzdata\"",
    "--cfg=feature=\"clock\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"iana-time-zone\"",
    "--cfg=feature=\"js-sys\"",
    "--cfg=feature=\"now\"",
    "--cfg=feature=\"oldtime\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"wasm-bindgen\"",
    "--cfg=feature=\"wasmbind\"",
    "--cfg=feature=\"winapi\"",
    "--cfg=feature=\"windows-targets\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":chrono-v0_4_34.license" ]
}

license("chrono-english-v0_1_7.license") {
  public_package_name = "chrono_english"
  license_files =
      [ "//third_party/rust_crates/vendor/chrono-english-0.1.7/LICENSE.txt" ]
}

rust_library("chrono-english-v0_1_7") {
  crate_name = "chrono_english"
  crate_root =
      "//third_party/rust_crates/vendor/chrono-english-0.1.7/src/lib.rs"
  output_name = "chrono_english-f3d6180781b6b606"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":scanlex-v0_1_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f3d6180781b6b606",
    "-Cextra-filename=-f3d6180781b6b606",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":chrono-english-v0_1_7.license" ]
}

license("cipher-v0_4_4.license") {
  public_package_name = "cipher"
  license_files = [
    "//third_party/rust_crates/vendor/cipher-0.4.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cipher-0.4.4/LICENSE-MIT",
  ]
}

rust_library("cipher-v0_4_4") {
  crate_name = "cipher"
  crate_root = "//third_party/rust_crates/vendor/cipher-0.4.4/src/lib.rs"
  output_name = "cipher-df1e7a940dfb4a0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crypto-common-v0_1_6" ]
  deps += [ ":inout-v0_1_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=df1e7a940dfb4a0",
    "-Cextra-filename=-df1e7a940dfb4a0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cipher-v0_4_4.license" ]
}

license("clap-v2_34_0.license") {
  public_package_name = "clap"
  license_files = [ "//third_party/rust_crates/vendor/clap-2.34.0/LICENSE-MIT" ]
}

rust_library("clap-v2_34_0") {
  crate_name = "clap"
  crate_root = "//third_party/rust_crates/vendor/clap-2.34.0/src/lib.rs"
  output_name = "clap-b3916594ed5ba51"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":atty-v0_2_11" ]
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":strsim-v0_8_0" ]
  deps += [ ":textwrap-v0_11_0" ]
  deps += [ ":unicode-width-v0_1_10" ]
  deps += [ ":vec_map-v0_8_1" ]
  if (!false) {
    deps += [ ":ansi_term-v0_12_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b3916594ed5ba51",
    "-Cextra-filename=-b3916594ed5ba51",
    "--cfg=feature=\"ansi_term\"",
    "--cfg=feature=\"atty\"",
    "--cfg=feature=\"color\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"strsim\"",
    "--cfg=feature=\"suggestions\"",
    "--cfg=feature=\"vec_map\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":clap-v2_34_0.license" ]
}

license("cloudabi-v0_0_3.license") {
  public_package_name = "cloudabi"
  license_files = [ "//third_party/rust_crates/vendor/cloudabi-0.0.3/LICENSE" ]
}

rust_library("cloudabi-v0_0_3") {
  crate_name = "cloudabi"
  crate_root = "//third_party/rust_crates/vendor/cloudabi-0.0.3/cloudabi.rs"
  output_name = "cloudabi-e4327fa628aa1d7e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e4327fa628aa1d7e",
    "-Cextra-filename=-e4327fa628aa1d7e",
    "--cfg=feature=\"bitflags\"",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cloudabi-v0_0_3.license" ]
}

license("combine-v4_6_2.license") {
  public_package_name = "combine"
  license_files = [ "//third_party/rust_crates/vendor/combine-4.6.2/LICENSE" ]
}

rust_library("combine-v4_6_2") {
  crate_name = "combine"
  crate_root = "//third_party/rust_crates/vendor/combine-4.6.2/src/lib.rs"
  output_name = "combine-b374e32fabd5ae13"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":bytes-v1_0_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b374e32fabd5ae13",
    "-Cextra-filename=-b374e32fabd5ae13",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"bytes\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":combine-v4_6_2.license" ]
}

license("concurrent-queue-v2_1_0.license") {
  public_package_name = "concurrent_queue"
  license_files = [
    "//third_party/rust_crates/vendor/concurrent-queue-2.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/concurrent-queue-2.1.0/LICENSE-MIT",
  ]
}

rust_library("concurrent-queue-v2_1_0") {
  crate_name = "concurrent_queue"
  crate_root =
      "//third_party/rust_crates/vendor/concurrent-queue-2.1.0/src/lib.rs"
  output_name = "concurrent_queue-c9905697768476bb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crossbeam-utils-v0_8_14" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c9905697768476bb",
    "-Cextra-filename=-c9905697768476bb",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":concurrent-queue-v2_1_0.license" ]
}

license("const-oid-v0_9_2.license") {
  public_package_name = "const_oid"
  license_files = [
    "//third_party/rust_crates/vendor/const-oid-0.9.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/const-oid-0.9.2/LICENSE-MIT",
  ]
}

rust_library("const-oid-v0_9_2") {
  crate_name = "const_oid"
  crate_root = "//third_party/rust_crates/vendor/const-oid-0.9.2/src/lib.rs"
  output_name = "const_oid-ac78a18294354b18"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=ac78a18294354b18",
    "-Cextra-filename=-ac78a18294354b18",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":const-oid-v0_9_2.license" ]
}

license("core-foundation-v0_9_2.license") {
  public_package_name = "core_foundation"
  license_files = [
    "//third_party/rust_crates/vendor/core-foundation-0.9.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/core-foundation-0.9.2/LICENSE-MIT",
  ]
}

rust_library("core-foundation-v0_9_2") {
  crate_name = "core_foundation"
  crate_root =
      "//third_party/rust_crates/vendor/core-foundation-0.9.2/src/lib.rs"
  output_name = "core_foundation-1793acbfd0376d1a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":core-foundation-sys-v0_8_3" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1793acbfd0376d1a",
    "-Cextra-filename=-1793acbfd0376d1a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":core-foundation-v0_9_2.license" ]
}

license("core-foundation-sys-v0_8_3.license") {
  public_package_name = "core_foundation_sys"
  license_files = [
    "//third_party/rust_crates/vendor/core-foundation-sys-0.8.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/core-foundation-sys-0.8.3/LICENSE-MIT",
  ]
}

rust_library("core-foundation-sys-v0_8_3") {
  crate_name = "core_foundation_sys"
  crate_root =
      "//third_party/rust_crates/vendor/core-foundation-sys-0.8.3/src/lib.rs"
  output_name = "core_foundation_sys-4cac9aebdc1fb14"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4cac9aebdc1fb14",
    "-Cextra-filename=-4cac9aebdc1fb14",
  ]
  if (current_os == "mac") {
    rustflags += [ "-lframework=CoreFoundation" ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":core-foundation-sys-v0_8_3.license" ]
}

license("cpufeatures-v0_2_1.license") {
  public_package_name = "cpufeatures"
  license_files = [
    "//third_party/rust_crates/vendor/cpufeatures-0.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/cpufeatures-0.2.1/LICENSE-MIT",
  ]
}

rust_library("cpufeatures-v0_2_1") {
  crate_name = "cpufeatures"
  crate_root = "//third_party/rust_crates/vendor/cpufeatures-0.2.1/src/lib.rs"
  output_name = "cpufeatures-2ca0d32e43ea13"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (current_cpu == "arm64" && current_os == "mac") {
    deps += [ ":libc-v0_2_149" ]
  }
  if (current_cpu == "arm64" && current_os == "linux") {
    deps += [ ":libc-v0_2_149" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2ca0d32e43ea13",
    "-Cextra-filename=-2ca0d32e43ea13",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cpufeatures-v0_2_1.license" ]
}

license("crc-v1_8_1.license") {
  public_package_name = "crc"
  license_files = [
    "//third_party/rust_crates/vendor/crc-1.8.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crc-1.8.1/LICENSE-MIT",
  ]
}

rust_library("crc-v1_8_1") {
  crate_name = "crc"
  crate_root = "//third_party/rust_crates/vendor/crc-1.8.1/src/lib.rs"
  output_name = "crc-b07cba2eb65fd100"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [ "OUT_DIR=../../../compat/crc" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b07cba2eb65fd100",
    "-Cextra-filename=-b07cba2eb65fd100",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crc-v1_8_1.license" ]
}

license("crc32fast-v1_2_0.license") {
  public_package_name = "crc32fast"
  license_files = [
    "//third_party/rust_crates/vendor/crc32fast-1.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crc32fast-1.2.0/LICENSE-MIT",
  ]
}

rust_library("crc32fast-v1_2_0") {
  crate_name = "crc32fast"
  crate_root = "//third_party/rust_crates/vendor/crc32fast-1.2.0/src/lib.rs"
  output_name = "crc32fast-6606a11d9036fb05"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=6606a11d9036fb05",
    "-Cextra-filename=-6606a11d9036fb05",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=crc32fast_stdarchx86",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crc32fast-v1_2_0.license" ]
}

license("criterion-v0_2_11.license") {
  public_package_name = "criterion"
  license_files = [
    "//third_party/rust_crates/vendor/criterion-0.2.11/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/criterion-0.2.11/LICENSE-MIT",
  ]
}

rust_library("criterion-v0_2_11") {
  crate_name = "criterion"
  crate_root = "//third_party/rust_crates/vendor/criterion-0.2.11/src/lib.rs"
  output_name = "criterion-b8034bd1e116f938"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":csv-v1_2_1" ]
  deps += [ ":walkdir-v2_3_1" ]
  deps += [ ":atty-v0_2_11" ]
  deps += [ ":cast-v0_2_2" ]
  deps += [ ":clap-v2_34_0" ]
  deps += [ ":itertools-v0_8_0" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":rand_core-v0_3_1" ]
  deps += [ ":rand_os-v0_1_2" ]
  deps += [ ":rand_xoshiro-v0_1_0" ]
  deps += [ ":rayon-core-v1_7_1" ]
  deps += [ ":rayon-v1_3_0" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_derive-v1_0_203($host_toolchain)" ]
  deps += [ ":serde_json-v1_0_87" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b8034bd1e116f938",
    "-Cextra-filename=-b8034bd1e116f938",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":criterion-v0_2_11.license" ]
}

license("crossbeam-v0_8_0.license") {
  public_package_name = "crossbeam"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-0.8.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-0.8.0/LICENSE-MIT",
  ]
}

rust_library("crossbeam-v0_8_0") {
  crate_name = "crossbeam"
  crate_root = "//third_party/rust_crates/vendor/crossbeam-0.8.0/src/lib.rs"
  output_name = "crossbeam-8cfd474d0e0be27"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":crossbeam-channel-v0_5_1" ]
  deps += [ ":crossbeam-deque-v0_8_1" ]
  deps += [ ":crossbeam-epoch-v0_9_4" ]
  deps += [ ":crossbeam-queue-v0_3_1" ]
  deps += [ ":crossbeam-utils-v0_8_14" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8cfd474d0e0be27",
    "-Cextra-filename=-8cfd474d0e0be27",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"crossbeam-channel\"",
    "--cfg=feature=\"crossbeam-deque\"",
    "--cfg=feature=\"crossbeam-epoch\"",
    "--cfg=feature=\"crossbeam-queue\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-v0_8_0.license" ]
}

license("crossbeam-channel-v0_5_1.license") {
  public_package_name = "crossbeam_channel"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-channel-0.5.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-channel-0.5.1/LICENSE-MIT",
    "//third_party/rust_crates/vendor/crossbeam-channel-0.5.1/LICENSE-THIRD-PARTY",
  ]
}

rust_library("crossbeam-channel-v0_5_1") {
  crate_name = "crossbeam_channel"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-channel-0.5.1/src/lib.rs"
  output_name = "crossbeam_channel-4f2cca7fb0f4b481"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":crossbeam-utils-v0_8_14" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4f2cca7fb0f4b481",
    "-Cextra-filename=-4f2cca7fb0f4b481",
    "--cfg=feature=\"crossbeam-utils\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-channel-v0_5_1.license" ]
}

license("crossbeam-deque-v0_7_4.license") {
  public_package_name = "crossbeam_deque"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-deque-0.7.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-deque-0.7.4/LICENSE-MIT",
  ]
}

rust_library("crossbeam-deque-v0_7_4") {
  crate_name = "crossbeam_deque"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-deque-0.7.4/src/lib.rs"
  output_name = "crossbeam_deque-bd42bcf5aa8a0ab0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crossbeam-epoch-v0_8_2" ]
  deps += [ ":crossbeam-utils-v0_7_2" ]
  deps += [ ":maybe-uninit-v2_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=bd42bcf5aa8a0ab0",
    "-Cextra-filename=-bd42bcf5aa8a0ab0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-deque-v0_7_4.license" ]
}

license("crossbeam-deque-v0_8_1.license") {
  public_package_name = "crossbeam_deque"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-deque-0.8.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-deque-0.8.1/LICENSE-MIT",
  ]
}

rust_library("crossbeam-deque-v0_8_1") {
  crate_name = "crossbeam_deque"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-deque-0.8.1/src/lib.rs"
  output_name = "crossbeam_deque-6f0af594d373cabc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":crossbeam-epoch-v0_9_4" ]
  deps += [ ":crossbeam-utils-v0_8_14" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6f0af594d373cabc",
    "-Cextra-filename=-6f0af594d373cabc",
    "--cfg=feature=\"crossbeam-epoch\"",
    "--cfg=feature=\"crossbeam-utils\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-deque-v0_8_1.license" ]
}

license("crossbeam-epoch-v0_8_2.license") {
  public_package_name = "crossbeam_epoch"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-epoch-0.8.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-epoch-0.8.2/LICENSE-MIT",
  ]
}

rust_library("crossbeam-epoch-v0_8_2") {
  crate_name = "crossbeam_epoch"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-epoch-0.8.2/src/lib.rs"
  output_name = "crossbeam_epoch-c9fde0457794d33"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]
  deps += [ ":crossbeam-utils-v0_7_2" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":maybe-uninit-v2_0_0" ]
  deps += [ ":memoffset-v0_5_3" ]
  deps += [ ":scopeguard-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c9fde0457794d33",
    "-Cextra-filename=-c9fde0457794d33",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"lazy_static\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-epoch-v0_8_2.license" ]
}

license("crossbeam-epoch-v0_9_4.license") {
  public_package_name = "crossbeam_epoch"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-epoch-0.9.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-epoch-0.9.4/LICENSE-MIT",
  ]
}

rust_library("crossbeam-epoch-v0_9_4") {
  crate_name = "crossbeam_epoch"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-epoch-0.9.4/src/lib.rs"
  output_name = "crossbeam_epoch-5332a575293037f6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":crossbeam-utils-v0_8_14" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":memoffset-v0_6_3" ]
  deps += [ ":scopeguard-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5332a575293037f6",
    "-Cextra-filename=-5332a575293037f6",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"lazy_static\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-epoch-v0_9_4.license" ]
}

license("crossbeam-queue-v0_2_1.license") {
  public_package_name = "crossbeam_queue"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-queue-0.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-queue-0.2.1/LICENSE-MIT",
    "//third_party/rust_crates/vendor/crossbeam-queue-0.2.1/LICENSE-THIRD-PARTY",
  ]
}

rust_library("crossbeam-queue-v0_2_1") {
  crate_name = "crossbeam_queue"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-queue-0.2.1/src/lib.rs"
  output_name = "crossbeam_queue-e8eb2d3b2d6a8126"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]
  deps += [ ":crossbeam-utils-v0_7_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e8eb2d3b2d6a8126",
    "-Cextra-filename=-e8eb2d3b2d6a8126",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-queue-v0_2_1.license" ]
}

license("crossbeam-queue-v0_3_1.license") {
  public_package_name = "crossbeam_queue"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-queue-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-queue-0.3.1/LICENSE-MIT",
    "//third_party/rust_crates/vendor/crossbeam-queue-0.3.1/LICENSE-THIRD-PARTY",
  ]
}

rust_library("crossbeam-queue-v0_3_1") {
  crate_name = "crossbeam_queue"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-queue-0.3.1/src/lib.rs"
  output_name = "crossbeam_queue-14b2ad0739ad313f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":crossbeam-utils-v0_8_14" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=14b2ad0739ad313f",
    "-Cextra-filename=-14b2ad0739ad313f",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-queue-v0_3_1.license" ]
}

license("crossbeam-utils-v0_7_2.license") {
  public_package_name = "crossbeam_utils"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-utils-0.7.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-utils-0.7.2/LICENSE-MIT",
  ]
}

rust_library("crossbeam-utils-v0_7_2") {
  crate_name = "crossbeam_utils"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-utils-0.7.2/src/lib.rs"
  output_name = "crossbeam_utils-5b2f6810d5833e99"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]
  deps += [ ":lazy_static-v1_4_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5b2f6810d5833e99",
    "-Cextra-filename=-5b2f6810d5833e99",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"lazy_static\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-utils-v0_7_2.license" ]
}

license("crossbeam-utils-v0_8_14.license") {
  public_package_name = "crossbeam_utils"
  license_files = [
    "//third_party/rust_crates/vendor/crossbeam-utils-0.8.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crossbeam-utils-0.8.14/LICENSE-MIT",
  ]
}

rust_library("crossbeam-utils-v0_8_14") {
  crate_name = "crossbeam_utils"
  crate_root =
      "//third_party/rust_crates/vendor/crossbeam-utils-0.8.14/src/lib.rs"
  output_name = "crossbeam_utils-d51f793976478e1e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d51f793976478e1e",
    "-Cextra-filename=-d51f793976478e1e",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossbeam-utils-v0_8_14.license" ]
}

license("crossterm-v0_19_0.license") {
  public_package_name = "crossterm"
  license_files =
      [ "//third_party/rust_crates/vendor/crossterm-0.19.0/LICENSE" ]
}

rust_library("crossterm-v0_19_0") {
  crate_name = "crossterm"
  crate_root = "//third_party/rust_crates/vendor/crossterm-0.19.0/src/lib.rs"
  output_name = "crossterm-3fc6a95bb38daeac"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":parking_lot-v0_11_1" ]
  if (true) {
    deps += [ ":libc-v0_2_149" ]
    deps += [ ":mio-v0_7_14" ]
    deps += [ ":signal-hook-v0_1_17" ]
  }
  if (false) {
    deps += [ ":crossterm_winapi-v0_7_0" ]
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3fc6a95bb38daeac",
    "-Cextra-filename=-3fc6a95bb38daeac",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crossterm-v0_19_0.license" ]
}

rust_library("crossterm_winapi-v0_7_0") {
  crate_name = "crossterm_winapi"
  crate_root = "//third_party/rust_crates/empty/crossterm_winapi/src/lib.rs"
  output_name = "crossterm_winapi-e4d128a29a118570"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e4d128a29a118570",
    "-Cextra-filename=-e4d128a29a118570",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("crypto-bigint-v0_4_9.license") {
  public_package_name = "crypto_bigint"
  license_files = [
    "//third_party/rust_crates/vendor/crypto-bigint-0.4.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crypto-bigint-0.4.9/LICENSE-MIT",
  ]
}

rust_library("crypto-bigint-v0_4_9") {
  crate_name = "crypto_bigint"
  crate_root = "//third_party/rust_crates/vendor/crypto-bigint-0.4.9/src/lib.rs"
  output_name = "crypto_bigint-6a52254ae8562ffd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=6a52254ae8562ffd",
    "-Cextra-filename=-6a52254ae8562ffd",
    "--cfg=feature=\"generic-array\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"zeroize\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crypto-bigint-v0_4_9.license" ]
}

license("crypto-common-v0_1_6.license") {
  public_package_name = "crypto_common"
  license_files = [
    "//third_party/rust_crates/vendor/crypto-common-0.1.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crypto-common-0.1.6/LICENSE-MIT",
  ]
}

rust_library("crypto-common-v0_1_6") {
  crate_name = "crypto_common"
  crate_root = "//third_party/rust_crates/vendor/crypto-common-0.1.6/src/lib.rs"
  output_name = "crypto_common-5d6d7bd17ffc0e4b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":typenum-v1_15_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5d6d7bd17ffc0e4b",
    "-Cextra-filename=-5d6d7bd17ffc0e4b",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crypto-common-v0_1_6.license" ]
}

license("crypto-mac-v0_11_1.license") {
  public_package_name = "crypto_mac"
  license_files = [
    "//third_party/rust_crates/vendor/crypto-mac-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/crypto-mac-0.11.1/LICENSE-MIT",
  ]
}

rust_library("crypto-mac-v0_11_1") {
  crate_name = "crypto_mac"
  crate_root = "//third_party/rust_crates/vendor/crypto-mac-0.11.1/src/lib.rs"
  output_name = "crypto_mac-c61aae76717eb909"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c61aae76717eb909",
    "-Cextra-filename=-c61aae76717eb909",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":crypto-mac-v0_11_1.license" ]
}

license("cstr-v0_2_11.license") {
  public_package_name = "cstr"
  license_files = [ "//third_party/rust_crates/vendor/cstr-0.2.11/LICENSE" ]
}

rust_proc_macro("cstr-v0_2_11") {
  crate_name = "cstr"
  crate_root = "//third_party/rust_crates/vendor/cstr-0.2.11/src/lib.rs"
  output_name = "cstr-196d60c30dc5c128"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=196d60c30dc5c128",
    "-Cextra-filename=-196d60c30dc5c128",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":cstr-v0_2_11.license" ]
}

license("csv-v1_2_1.license") {
  public_package_name = "csv"
  license_files = [ "//third_party/rust_crates/ask2patch/csv/LICENSE-MIT" ]
}

rust_library("csv-v1_2_1") {
  crate_name = "csv"
  crate_root = "//third_party/rust_crates/ask2patch/csv/src/lib.rs"
  output_name = "csv-37fa29d57667d41d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":csv-core-v0_1_10" ]
  deps += [ ":itoa-v1_0_5" ]
  deps += [ ":ryu-v1_0_3" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=37fa29d57667d41d",
    "-Cextra-filename=-37fa29d57667d41d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":csv-v1_2_1.license" ]
}

license("csv-core-v0_1_10.license") {
  public_package_name = "csv_core"
  license_files = [ "//third_party/rust_crates/ask2patch/csv-core/LICENSE-MIT" ]
}

rust_library("csv-core-v0_1_10") {
  crate_name = "csv_core"
  crate_root = "//third_party/rust_crates/ask2patch/csv-core/src/lib.rs"
  output_name = "csv_core-736f88686751ea8f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=736f88686751ea8f",
    "-Cextra-filename=-736f88686751ea8f",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":csv-core-v0_1_10.license" ]
}

rust_library("ctor-v0_1_22") {
  crate_name = "ctor"
  crate_root = "//third_party/rust_crates/empty/ctor/src/lib.rs"
  output_name = "ctor-68e72cb62e982ed"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=68e72cb62e982ed",
    "-Cextra-filename=-68e72cb62e982ed",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("ctr-v0_9_2.license") {
  public_package_name = "ctr"
  license_files = [
    "//third_party/rust_crates/vendor/ctr-0.9.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ctr-0.9.2/LICENSE-MIT",
  ]
}

rust_library("ctr-v0_9_2") {
  crate_name = "ctr"
  crate_root = "//third_party/rust_crates/vendor/ctr-0.9.2/src/lib.rs"
  output_name = "ctr-41e6cc0f97ba3680"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cipher-v0_4_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=41e6cc0f97ba3680",
    "-Cextra-filename=-41e6cc0f97ba3680",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ctr-v0_9_2.license" ]
}

license("darling-v0_12_4.license") {
  public_package_name = "darling"
  license_files = [ "//third_party/rust_crates/vendor/darling-0.12.4/LICENSE" ]
}

rust_library("darling-v0_12_4") {
  crate_name = "darling"
  crate_root = "//third_party/rust_crates/vendor/darling-0.12.4/src/lib.rs"
  output_name = "darling-5a4b9f34f6f46a1e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":darling_core-v0_12_4" ]
  deps += [ ":darling_macro-v0_12_4($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5a4b9f34f6f46a1e",
    "-Cextra-filename=-5a4b9f34f6f46a1e",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"suggestions\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":darling-v0_12_4.license" ]
}

license("darling_core-v0_12_4.license") {
  public_package_name = "darling_core"
  license_files =
      [ "//third_party/rust_crates/vendor/darling_core-0.12.4/LICENSE" ]
}

rust_library("darling_core-v0_12_4") {
  crate_name = "darling_core"
  crate_root = "//third_party/rust_crates/vendor/darling_core-0.12.4/src/lib.rs"
  output_name = "darling_core-7c30dc6b918f6494"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":fnv-v1_0_7" ]
  deps += [ ":ident_case-v1_0_1" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":strsim-v0_10_0" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=7c30dc6b918f6494",
    "-Cextra-filename=-7c30dc6b918f6494",
    "--cfg=feature=\"strsim\"",
    "--cfg=feature=\"suggestions\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":darling_core-v0_12_4.license" ]
}

license("darling_macro-v0_12_4.license") {
  public_package_name = "darling_macro"
  license_files =
      [ "//third_party/rust_crates/vendor/darling_macro-0.12.4/LICENSE" ]
}

rust_proc_macro("darling_macro-v0_12_4") {
  crate_name = "darling_macro"
  crate_root =
      "//third_party/rust_crates/vendor/darling_macro-0.12.4/src/lib.rs"
  output_name = "darling_macro-eb126b2cf9a334f7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":darling_core-v0_12_4" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=eb126b2cf9a334f7",
    "-Cextra-filename=-eb126b2cf9a334f7",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":darling_macro-v0_12_4.license" ]
}

license("data-encoding-v2_3_2.license") {
  public_package_name = "data_encoding"
  license_files =
      [ "//third_party/rust_crates/vendor/data-encoding-2.3.2/LICENSE" ]
}

rust_library("data-encoding-v2_3_2") {
  crate_name = "data_encoding"
  crate_root = "//third_party/rust_crates/vendor/data-encoding-2.3.2/src/lib.rs"
  output_name = "data_encoding-182ebdb900ce1527"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=182ebdb900ce1527",
    "-Cextra-filename=-182ebdb900ce1527",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":data-encoding-v2_3_2.license" ]
}

license("deflate-v0_7_19.license") {
  public_package_name = "deflate"
  license_files = [
    "//third_party/rust_crates/vendor/deflate-0.7.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/deflate-0.7.19/LICENSE-MIT",
  ]
}

rust_library("deflate-v0_7_19") {
  crate_name = "deflate"
  crate_root = "//third_party/rust_crates/vendor/deflate-0.7.19/src/lib.rs"
  output_name = "deflate-65e9287bc3778641"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":adler32-v1_0_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=65e9287bc3778641",
    "-Cextra-filename=-65e9287bc3778641",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":deflate-v0_7_19.license" ]
}

license("der-v0_6_1.license") {
  public_package_name = "der"
  license_files = [
    "//third_party/rust_crates/vendor/der-0.6.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/der-0.6.1/LICENSE-MIT",
  ]
}

rust_library("der-v0_6_1") {
  crate_name = "der"
  crate_root = "//third_party/rust_crates/vendor/der-0.6.1/src/lib.rs"
  output_name = "der-df0899f2738bbab5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":const-oid-v0_9_2" ]
  deps += [ ":pem-rfc7468-v0_6_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=df0899f2738bbab5",
    "-Cextra-filename=-df0899f2738bbab5",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"const-oid\"",
    "--cfg=feature=\"oid\"",
    "--cfg=feature=\"pem\"",
    "--cfg=feature=\"pem-rfc7468\"",
    "--cfg=feature=\"zeroize\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":der-v0_6_1.license" ]
}

license("derivative-v2_2_0.license") {
  public_package_name = "derivative"
  license_files = [
    "//third_party/rust_crates/vendor/derivative-2.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/derivative-2.2.0/LICENSE-MIT",
  ]
}

rust_proc_macro("derivative-v2_2_0") {
  crate_name = "derivative"
  crate_root = "//third_party/rust_crates/vendor/derivative-2.2.0/src/lib.rs"
  output_name = "derivative-ecd51d3b9027d2b0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ecd51d3b9027d2b0",
    "-Cextra-filename=-ecd51d3b9027d2b0",
    "--cfg=feature=\"use_core\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derivative-v2_2_0.license" ]
}

license("derive_arbitrary-v1_0_2.license") {
  public_package_name = "derive_arbitrary"
  license_files = [
    "//third_party/rust_crates/vendor/derive_arbitrary-1.0.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/derive_arbitrary-1.0.2/LICENSE-MIT",
  ]
}

rust_proc_macro("derive_arbitrary-v1_0_2") {
  crate_name = "derive_arbitrary"
  crate_root =
      "//third_party/rust_crates/vendor/derive_arbitrary-1.0.2/src/lib.rs"
  output_name = "derive_arbitrary-cbcb745c5e452a00"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cbcb745c5e452a00",
    "-Cextra-filename=-cbcb745c5e452a00",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derive_arbitrary-v1_0_2.license" ]
}

license("derive_builder-v0_11_1.license") {
  public_package_name = "derive_builder"
  license_files = [
    "//third_party/rust_crates/vendor/derive_builder-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/derive_builder-0.11.1/LICENSE-MIT",
  ]
}

rust_library("derive_builder-v0_11_1") {
  crate_name = "derive_builder"
  crate_root =
      "//third_party/rust_crates/vendor/derive_builder-0.11.1/src/lib.rs"
  output_name = "derive_builder-9c3bfc1ada21069c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":derive_builder_macro-v0_11_1($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9c3bfc1ada21069c",
    "-Cextra-filename=-9c3bfc1ada21069c",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derive_builder-v0_11_1.license" ]
}

license("derive_builder_core-v0_11_1.license") {
  public_package_name = "derive_builder_core"
  license_files = [
    "//third_party/rust_crates/vendor/derive_builder_core-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/derive_builder_core-0.11.1/LICENSE-MIT",
  ]
}

rust_library("derive_builder_core-v0_11_1") {
  crate_name = "derive_builder_core"
  crate_root =
      "//third_party/rust_crates/vendor/derive_builder_core-0.11.1/src/lib.rs"
  output_name = "derive_builder_core-cb614473adb815b6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":darling-v0_12_4" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=cb614473adb815b6",
    "-Cextra-filename=-cb614473adb815b6",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derive_builder_core-v0_11_1.license" ]
}

license("derive_builder_macro-v0_11_1.license") {
  public_package_name = "derive_builder_macro"
  license_files = [
    "//third_party/rust_crates/vendor/derive_builder_macro-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/derive_builder_macro-0.11.1/LICENSE-MIT",
  ]
}

rust_proc_macro("derive_builder_macro-v0_11_1") {
  crate_name = "derive_builder_macro"
  crate_root =
      "//third_party/rust_crates/vendor/derive_builder_macro-0.11.1/src/lib.rs"
  output_name = "derive_builder_macro-f9e7ca6f1cc11cc6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":derive_builder_core-v0_11_1" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f9e7ca6f1cc11cc6",
    "-Cextra-filename=-f9e7ca6f1cc11cc6",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derive_builder_macro-v0_11_1.license" ]
}

license("derp-v0_0_14.license") {
  public_package_name = "derp"
  license_files = [ "//third_party/rust_crates/vendor/derp-0.0.14/LICENSE" ]
}

rust_library("derp-v0_0_14") {
  crate_name = "derp"
  crate_root = "//third_party/rust_crates/vendor/derp-0.0.14/src/lib.rs"
  output_name = "derp-8224201ec77eaa7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":untrusted-v0_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8224201ec77eaa7",
    "-Cextra-filename=-8224201ec77eaa7",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":derp-v0_0_14.license" ]
}

license("diff-v0_1_13.license") {
  public_package_name = "diff"
  license_files = [
    "//third_party/rust_crates/vendor/diff-0.1.13/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/diff-0.1.13/LICENSE-MIT",
  ]
}

rust_library("diff-v0_1_13") {
  crate_name = "diff"
  crate_root = "//third_party/rust_crates/vendor/diff-0.1.13/src/lib.rs"
  output_name = "diff-5f77d9990450ef31"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5f77d9990450ef31",
    "-Cextra-filename=-5f77d9990450ef31",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":diff-v0_1_13.license" ]
}

license("difference-v2_0_0.license") {
  public_package_name = "difference"
  license_files =
      [ "//third_party/rust_crates/vendor/difference-2.0.0/LICENSE" ]
}

rust_library("difference-v2_0_0") {
  crate_name = "difference"
  crate_root = "//third_party/rust_crates/vendor/difference-2.0.0/src/lib.rs"
  output_name = "difference-729c4c18786eef68"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=729c4c18786eef68",
    "-Cextra-filename=-729c4c18786eef68",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":difference-v2_0_0.license" ]
}

license("digest-v0_10_7.license") {
  public_package_name = "digest"
  license_files = [
    "//third_party/rust_crates/vendor/digest-0.10.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/digest-0.10.7/LICENSE-MIT",
  ]
}

rust_library("digest-v0_10_7") {
  crate_name = "digest"
  crate_root = "//third_party/rust_crates/vendor/digest-0.10.7/src/lib.rs"
  output_name = "digest-960a689ed1cf9313"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":block-buffer-v0_10_4" ]
  deps += [ ":crypto-common-v0_1_6" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=960a689ed1cf9313",
    "-Cextra-filename=-960a689ed1cf9313",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"block-buffer\"",
    "--cfg=feature=\"core-api\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"mac\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"subtle\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":digest-v0_10_7.license" ]
}

license("downcast-v0_10_0.license") {
  public_package_name = "downcast"
  license_files =
      [ "//third_party/rust_crates/vendor/downcast-0.10.0/LICENSE-MIT" ]
}

rust_library("downcast-v0_10_0") {
  crate_name = "downcast"
  crate_root = "//third_party/rust_crates/vendor/downcast-0.10.0/src/lib.rs"
  output_name = "downcast-417417cb956aacf6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=417417cb956aacf6",
    "-Cextra-filename=-417417cb956aacf6",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":downcast-v0_10_0.license" ]
}

license("downcast-rs-v1_2_0.license") {
  public_package_name = "downcast_rs"
  license_files = [
    "//third_party/rust_crates/vendor/downcast-rs-1.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/downcast-rs-1.2.0/LICENSE-MIT",
  ]
}

rust_library("downcast-rs-v1_2_0") {
  crate_name = "downcast_rs"
  crate_root = "//third_party/rust_crates/vendor/downcast-rs-1.2.0/src/lib.rs"
  output_name = "downcast_rs-f02ee96ede03c448"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f02ee96ede03c448",
    "-Cextra-filename=-f02ee96ede03c448",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":downcast-rs-v1_2_0.license" ]
}

license("dyn-clone-v1_0_5.license") {
  public_package_name = "dyn_clone"
  license_files = [
    "//third_party/rust_crates/vendor/dyn-clone-1.0.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/dyn-clone-1.0.5/LICENSE-MIT",
  ]
}

rust_library("dyn-clone-v1_0_5") {
  crate_name = "dyn_clone"
  crate_root = "//third_party/rust_crates/vendor/dyn-clone-1.0.5/src/lib.rs"
  output_name = "dyn_clone-6a4f417762877a3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6a4f417762877a3",
    "-Cextra-filename=-6a4f417762877a3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":dyn-clone-v1_0_5.license" ]
}

license("easy-parallel-v3_1_0.license") {
  public_package_name = "easy_parallel"
  license_files = [
    "//third_party/rust_crates/vendor/easy-parallel-3.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/easy-parallel-3.1.0/LICENSE-MIT",
  ]
}

rust_library("easy-parallel-v3_1_0") {
  crate_name = "easy_parallel"
  crate_root = "//third_party/rust_crates/vendor/easy-parallel-3.1.0/src/lib.rs"
  output_name = "easy_parallel-87f77231f1b1949b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=87f77231f1b1949b",
    "-Cextra-filename=-87f77231f1b1949b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":easy-parallel-v3_1_0.license" ]
}

license("ecdsa-v0_14_8.license") {
  public_package_name = "ecdsa"
  license_files = [
    "//third_party/rust_crates/vendor/ecdsa-0.14.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ecdsa-0.14.8/LICENSE-MIT",
  ]
}

rust_library("ecdsa-v0_14_8") {
  crate_name = "ecdsa"
  crate_root = "//third_party/rust_crates/vendor/ecdsa-0.14.8/src/lib.rs"
  output_name = "ecdsa-d89b14fa4df3b169"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":der-v0_6_1" ]
  deps += [ ":elliptic-curve-v0_12_3" ]
  deps += [ ":rfc6979-v0_3_1" ]
  deps += [ ":serdect-v0_1_0" ]
  deps += [ ":signature-v1_6_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d89b14fa4df3b169",
    "-Cextra-filename=-d89b14fa4df3b169",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"arithmetic\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"der\"",
    "--cfg=feature=\"digest\"",
    "--cfg=feature=\"hazmat\"",
    "--cfg=feature=\"pem\"",
    "--cfg=feature=\"pkcs8\"",
    "--cfg=feature=\"rfc6979\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serdect\"",
    "--cfg=feature=\"sign\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"verify\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ecdsa-v0_14_8.license" ]
}

license("either-v1_8_0.license") {
  public_package_name = "either"
  license_files = [
    "//third_party/rust_crates/vendor/either-1.8.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/either-1.8.0/LICENSE-MIT",
  ]
}

rust_library("either-v1_8_0") {
  crate_name = "either"
  crate_root = "//third_party/rust_crates/vendor/either-1.8.0/src/lib.rs"
  output_name = "either-f4134ec734cf166b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f4134ec734cf166b",
    "-Cextra-filename=-f4134ec734cf166b",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"use_std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":either-v1_8_0.license" ]
}

license("elliptic-curve-v0_12_3.license") {
  public_package_name = "elliptic_curve"
  license_files = [
    "//third_party/rust_crates/vendor/elliptic-curve-0.12.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/elliptic-curve-0.12.3/LICENSE-MIT",
  ]
}

rust_library("elliptic-curve-v0_12_3") {
  crate_name = "elliptic_curve"
  crate_root =
      "//third_party/rust_crates/vendor/elliptic-curve-0.12.3/src/lib.rs"
  output_name = "elliptic_curve-973540e2f7662ec8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":base16ct-v0_1_1" ]
  deps += [ ":crypto-bigint-v0_4_9" ]
  deps += [ ":der-v0_6_1" ]
  deps += [ ":digest-v0_10_7" ]
  deps += [ ":ff-v0_12_1" ]
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":group-v0_12_1" ]
  deps += [ ":hkdf-v0_12_3" ]
  deps += [ ":pem-rfc7468-v0_6_0" ]
  deps += [ ":pkcs8-v0_9_0" ]
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":sec1-v0_3_0" ]
  deps += [ ":serdect-v0_1_0" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=973540e2f7662ec8",
    "-Cextra-filename=-973540e2f7662ec8",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"arithmetic\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"digest\"",
    "--cfg=feature=\"ecdh\"",
    "--cfg=feature=\"ff\"",
    "--cfg=feature=\"group\"",
    "--cfg=feature=\"hazmat\"",
    "--cfg=feature=\"hkdf\"",
    "--cfg=feature=\"pem\"",
    "--cfg=feature=\"pem-rfc7468\"",
    "--cfg=feature=\"pkcs8\"",
    "--cfg=feature=\"sec1\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serdect\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":elliptic-curve-v0_12_3.license" ]
}

license("encode_unicode-v0_3_5.license") {
  public_package_name = "encode_unicode"
  license_files = [
    "//third_party/rust_crates/vendor/encode_unicode-0.3.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/encode_unicode-0.3.5/LICENSE-MIT",
  ]
}

rust_library("encode_unicode-v0_3_5") {
  crate_name = "encode_unicode"
  crate_root =
      "//third_party/rust_crates/vendor/encode_unicode-0.3.5/src/lib.rs"
  output_name = "encode_unicode-ab58d040036a3fcc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ab58d040036a3fcc",
    "-Cextra-filename=-ab58d040036a3fcc",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":encode_unicode-v0_3_5.license" ]
}

license("enum-as-inner-v0_5_1.license") {
  public_package_name = "enum_as_inner"
  license_files = [
    "//third_party/rust_crates/vendor/enum-as-inner-0.5.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/enum-as-inner-0.5.1/LICENSE-MIT",
    "//third_party/rust_crates/vendor/enum-as-inner-0.5.1/copyright.txt",
  ]
}

rust_proc_macro("enum-as-inner-v0_5_1") {
  crate_name = "enum_as_inner"
  crate_root = "//third_party/rust_crates/vendor/enum-as-inner-0.5.1/src/lib.rs"
  output_name = "enum_as_inner-ca7505f662d13300"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":heck-v0_4_1" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ca7505f662d13300",
    "-Cextra-filename=-ca7505f662d13300",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":enum-as-inner-v0_5_1.license" ]
}

license("error-chain-v0_12_0.license") {
  public_package_name = "error_chain"
  license_files = [
    "//third_party/rust_crates/vendor/error-chain-0.12.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/error-chain-0.12.0/LICENSE-MIT",
  ]
}

rust_library("error-chain-v0_12_0") {
  crate_name = "error_chain"
  crate_root = "//third_party/rust_crates/vendor/error-chain-0.12.0/src/lib.rs"
  output_name = "error_chain-ba7b1075069f9cf9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ba7b1075069f9cf9",
    "-Cextra-filename=-ba7b1075069f9cf9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":error-chain-v0_12_0.license" ]
}

license("euclid-v0_22_1.license") {
  public_package_name = "euclid"
  license_files = [
    "//third_party/rust_crates/vendor/euclid-0.22.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/euclid-0.22.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/euclid-0.22.1/LICENSE-MIT",
  ]
}

rust_library("euclid-v0_22_1") {
  crate_name = "euclid"
  crate_root = "//third_party/rust_crates/vendor/euclid-0.22.1/src/lib.rs"
  output_name = "euclid-f36cc8a923068aca"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f36cc8a923068aca",
    "-Cextra-filename=-f36cc8a923068aca",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":euclid-v0_22_1.license" ]
}

license("eui48-v1_1_0.license") {
  public_package_name = "eui48"
  license_files = [
    "//third_party/rust_crates/vendor/eui48-1.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/eui48-1.1.0/LICENSE-MIT",
  ]
}

rust_library("eui48-v1_1_0") {
  crate_name = "eui48"
  crate_root = "//third_party/rust_crates/vendor/eui48-1.1.0/src/lib.rs"
  output_name = "eui48-311e12b917d0daa"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":regex-v1_7_3" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=311e12b917d0daa",
    "-Cextra-filename=-311e12b917d0daa",
    "--cfg=feature=\"disp_hexstring\"",
    "--cfg=feature=\"serde\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":eui48-v1_1_0.license" ]
}

license("event-listener-v2_5_1.license") {
  public_package_name = "event_listener"
  license_files = [
    "//third_party/rust_crates/vendor/event-listener-2.5.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/event-listener-2.5.1/LICENSE-MIT",
  ]
}

rust_library("event-listener-v2_5_1") {
  crate_name = "event_listener"
  crate_root =
      "//third_party/rust_crates/vendor/event-listener-2.5.1/src/lib.rs"
  output_name = "event_listener-db0b634d4cbcc40b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=db0b634d4cbcc40b",
    "-Cextra-filename=-db0b634d4cbcc40b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":event-listener-v2_5_1.license" ]
}

license("fancy-regex-v0_8_0.license") {
  public_package_name = "fancy_regex"
  license_files =
      [ "//third_party/rust_crates/vendor/fancy-regex-0.8.0/LICENSE" ]
}

rust_library("fancy-regex-v0_8_0") {
  crate_name = "fancy_regex"
  crate_root = "//third_party/rust_crates/vendor/fancy-regex-0.8.0/src/lib.rs"
  output_name = "fancy_regex-b9fd63eddc01ef4b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bit-set-v0_5_3" ]
  deps += [ ":regex-v1_7_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b9fd63eddc01ef4b",
    "-Cextra-filename=-b9fd63eddc01ef4b",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"perf\"",
    "--cfg=feature=\"unicode\"",
  ]

  visibility = []
  visibility += [ ":*" ]

  applicable_licenses = [ ":fancy-regex-v0_8_0.license" ]
}

license("fastrand-v1_4_0.license") {
  public_package_name = "fastrand"
  license_files = [
    "//third_party/rust_crates/vendor/fastrand-1.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/fastrand-1.4.0/LICENSE-MIT",
  ]
}

rust_library("fastrand-v1_4_0") {
  crate_name = "fastrand"
  crate_root = "//third_party/rust_crates/vendor/fastrand-1.4.0/src/lib.rs"
  output_name = "fastrand-3e2364b5ac67c966"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (current_cpu == "wasm32") {
    deps += [ ":instant-v0_1_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3e2364b5ac67c966",
    "-Cextra-filename=-3e2364b5ac67c966",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fastrand-v1_4_0.license" ]
}

license("fatfs-v0_3_6.license") {
  public_package_name = "fatfs"
  license_files = [ "//third_party/rust_crates/forks/fatfs/LICENSE.txt" ]
}

rust_library("fatfs-v0_3_6") {
  crate_name = "fatfs"
  crate_root = "//third_party/rust_crates/forks/fatfs/src/lib.rs"
  output_name = "fatfs-88a1471ee3619a95"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":log-v0_4_20" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=88a1471ee3619a95",
    "-Cextra-filename=-88a1471ee3619a95",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"chrono\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"lfn\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"unicode\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fatfs-v0_3_6.license" ]
}

license("ff-v0_12_1.license") {
  public_package_name = "ff"
  license_files = [
    "//third_party/rust_crates/vendor/ff-0.12.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ff-0.12.1/LICENSE-MIT",
  ]
}

rust_library("ff-v0_12_1") {
  crate_name = "ff"
  crate_root = "//third_party/rust_crates/vendor/ff-0.12.1/src/lib.rs"
  output_name = "ff-d7fd2f75eea0efe4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d7fd2f75eea0efe4",
    "-Cextra-filename=-d7fd2f75eea0efe4",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ff-v0_12_1.license" ]
}

license("filetime-v0_2_14.license") {
  public_package_name = "filetime"
  license_files = [
    "//third_party/rust_crates/vendor/filetime-0.2.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/filetime-0.2.14/LICENSE-MIT",
  ]
}

rust_library("filetime-v0_2_14") {
  crate_name = "filetime"
  crate_root = "//third_party/rust_crates/vendor/filetime-0.2.14/src/lib.rs"
  output_name = "filetime-771a5d3d16b52760"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  if (false) {
    deps += [ ":redox_syscall-v0_2_13" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=771a5d3d16b52760",
    "-Cextra-filename=-771a5d3d16b52760",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_2_13"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":filetime-v0_2_14.license" ]
}

license("fixedbitset-v0_4_2.license") {
  public_package_name = "fixedbitset"
  license_files = [
    "//third_party/rust_crates/vendor/fixedbitset-0.4.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/fixedbitset-0.4.2/LICENSE-MIT",
  ]
}

rust_library("fixedbitset-v0_4_2") {
  crate_name = "fixedbitset"
  crate_root = "//third_party/rust_crates/vendor/fixedbitset-0.4.2/src/lib.rs"
  output_name = "fixedbitset-bdfd7022a8b37cb5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=bdfd7022a8b37cb5",
    "-Cextra-filename=-bdfd7022a8b37cb5",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fixedbitset-v0_4_2.license" ]
}

license("flate2-v1_0_14.license") {
  public_package_name = "flate2"
  license_files = [
    "//third_party/rust_crates/vendor/flate2-1.0.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/flate2-1.0.14/LICENSE-MIT",
  ]
}

rust_library("flate2-v1_0_14") {
  crate_name = "flate2"
  crate_root = "//third_party/rust_crates/vendor/flate2-1.0.14/src/lib.rs"
  output_name = "flate2-28efad300e8652f3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]
  deps += [ ":crc32fast-v1_2_0" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":miniz_oxide-v0_3_6" ]
  if (current_cpu == "wasm32" && !false) {
    deps += [ ":miniz_oxide-v0_3_6" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=28efad300e8652f3",
    "-Cextra-filename=-28efad300e8652f3",
    "--cfg=feature=\"miniz_oxide\"",
    "--cfg=feature=\"rust_backend\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":flate2-v1_0_14.license" ]
}

license("float-cmp-v0_8_0.license") {
  public_package_name = "float_cmp"
  license_files = [ "//third_party/rust_crates/vendor/float-cmp-0.8.0/LICENSE" ]
}

rust_library("float-cmp-v0_8_0") {
  crate_name = "float_cmp"
  crate_root = "//third_party/rust_crates/vendor/float-cmp-0.8.0/src/lib.rs"
  output_name = "float_cmp-25495b83f43346cf"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-traits-v0_2_18" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=25495b83f43346cf",
    "-Cextra-filename=-25495b83f43346cf",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"num-traits\"",
    "--cfg=feature=\"ratio\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":float-cmp-v0_8_0.license" ]
}

license("fnv-v1_0_7.license") {
  public_package_name = "fnv"
  license_files = [
    "//third_party/rust_crates/vendor/fnv-1.0.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/fnv-1.0.7/LICENSE-MIT",
  ]
}

rust_library("fnv-v1_0_7") {
  crate_name = "fnv"
  crate_root = "//third_party/rust_crates/vendor/fnv-1.0.7/lib.rs"
  output_name = "fnv-8fb9daf136cad9d8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=8fb9daf136cad9d8",
    "-Cextra-filename=-8fb9daf136cad9d8",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fnv-v1_0_7.license" ]
}

license("form_urlencoded-v1_1_0.license") {
  public_package_name = "form_urlencoded"
  license_files = [
    "//third_party/rust_crates/vendor/form_urlencoded-1.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/form_urlencoded-1.1.0/LICENSE-MIT",
  ]
}

rust_library("form_urlencoded-v1_1_0") {
  crate_name = "form_urlencoded"
  crate_root =
      "//third_party/rust_crates/vendor/form_urlencoded-1.1.0/src/lib.rs"
  output_name = "form_urlencoded-936a3ec4100fa350"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":percent-encoding-v2_2_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=936a3ec4100fa350",
    "-Cextra-filename=-936a3ec4100fa350",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":form_urlencoded-v1_1_0.license" ]
}

license("fragile-v1_0_0.license") {
  public_package_name = "fragile"
  license_files = [ "//third_party/rust_crates/vendor/fragile-1.0.0/LICENSE" ]
}

rust_library("fragile-v1_0_0") {
  crate_name = "fragile"
  crate_root = "//third_party/rust_crates/vendor/fragile-1.0.0/src/lib.rs"
  output_name = "fragile-4fff0e17f0e7f677"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4fff0e17f0e7f677",
    "-Cextra-filename=-4fff0e17f0e7f677",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fragile-v1_0_0.license" ]
}

license("fs_extra-v1_2_0.license") {
  public_package_name = "fs_extra"
  license_files = [ "//third_party/rust_crates/vendor/fs_extra-1.2.0/LICENSE" ]
}

rust_library("fs_extra-v1_2_0") {
  crate_name = "fs_extra"
  crate_root = "//third_party/rust_crates/vendor/fs_extra-1.2.0/src/lib.rs"
  output_name = "fs_extra-ea7c546e9eec1d22"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ea7c546e9eec1d22",
    "-Cextra-filename=-ea7c546e9eec1d22",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fs_extra-v1_2_0.license" ]
}

license("fsevent-sys-v4_0_0.license") {
  public_package_name = "fsevent_sys"
  license_files =
      [ "//third_party/rust_crates/vendor/fsevent-sys-4.0.0/LICENSE" ]
}

rust_library("fsevent-sys-v4_0_0") {
  crate_name = "fsevent_sys"
  crate_root = "//third_party/rust_crates/vendor/fsevent-sys-4.0.0/src/lib.rs"
  output_name = "fsevent_sys-2cc9241b509ff4e3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2cc9241b509ff4e3",
    "-Cextra-filename=-2cc9241b509ff4e3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fsevent-sys-v4_0_0.license" ]
}

rust_library("fuchsia-cprng-v0_1_1") {
  crate_name = "fuchsia_cprng"
  crate_root = "//src/lib/zircon/rust/fuchsia-cprng/src/lib.rs"
  output_name = "fuchsia_cprng-2003c73715c7fc44"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2003c73715c7fc44",
    "-Cextra-filename=-2003c73715c7fc44",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("fuse3-v0_6_1.license") {
  public_package_name = "fuse3"
  license_files = [ "//third_party/rust_crates/forks/fuse3/LICENSE" ]
}

rust_library("fuse3-v0_6_1") {
  crate_name = "fuse3"
  crate_root = "//third_party/rust_crates/forks/fuse3/src/lib.rs"
  output_name = "fuse3-2e97ecf83b22f6d3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-trait-v0_1_71($host_toolchain)" ]
  deps += [ ":bincode-v1_3_3" ]
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":cstr-v0_2_11($host_toolchain)" ]
  deps += [ ":futures-channel-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":nix-v0_26_2" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":slab-v0_4_7" ]
  deps += [ ":tokio-v1_32_1" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ ":which-v4_0_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=2e97ecf83b22f6d3",
    "-Cextra-filename=-2e97ecf83b22f6d3",
    "--cfg=feature=\"tokio\"",
    "--cfg=feature=\"tokio-runtime\"",
    "--cfg=feature=\"unprivileged\"",
    "--cfg=feature=\"which\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":fuse3-v0_6_1.license" ]
}

license("futures-v0_3_19.license") {
  public_package_name = "futures"
  license_files = [
    "//third_party/rust_crates/vendor/futures-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-v0_3_19") {
  crate_name = "futures"
  crate_root = "//third_party/rust_crates/vendor/futures-0.3.19/src/lib.rs"
  output_name = "futures-e6516813fcd2ea59"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":futures-channel-v0_3_19" ]
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-executor-v0_3_19" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":futures-sink-v0_3_19" ]
  deps += [ ":futures-task-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e6516813fcd2ea59",
    "-Cextra-filename=-e6516813fcd2ea59",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"async-await\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"executor\"",
    "--cfg=feature=\"futures-executor\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-v0_3_19.license" ]
}

license("futures-channel-v0_3_19.license") {
  public_package_name = "futures_channel"
  license_files = [
    "//third_party/rust_crates/vendor/futures-channel-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-channel-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-channel-v0_3_19") {
  crate_name = "futures_channel"
  crate_root =
      "//third_party/rust_crates/vendor/futures-channel-0.3.19/src/lib.rs"
  output_name = "futures_channel-bbc95929c179c5c3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-sink-v0_3_19" ]

  rustenv = [ "CARGO_PKG_NAME=futures-channel" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=bbc95929c179c5c3",
    "-Cextra-filename=-bbc95929c179c5c3",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"futures-sink\"",
    "--cfg=feature=\"sink\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-channel-v0_3_19.license" ]
}

license("futures-core-v0_3_19.license") {
  public_package_name = "futures_core"
  license_files = [
    "//third_party/rust_crates/vendor/futures-core-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-core-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-core-v0_3_19") {
  crate_name = "futures_core"
  crate_root = "//third_party/rust_crates/vendor/futures-core-0.3.19/src/lib.rs"
  output_name = "futures_core-328f95cc9ee7790f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [ "CARGO_PKG_NAME=futures-core" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=328f95cc9ee7790f",
    "-Cextra-filename=-328f95cc9ee7790f",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-core-v0_3_19.license" ]
}

license("futures-executor-v0_3_19.license") {
  public_package_name = "futures_executor"
  license_files = [
    "//third_party/rust_crates/vendor/futures-executor-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-executor-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-executor-v0_3_19") {
  crate_name = "futures_executor"
  crate_root =
      "//third_party/rust_crates/vendor/futures-executor-0.3.19/src/lib.rs"
  output_name = "futures_executor-5454b73f7d5eee50"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-task-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5454b73f7d5eee50",
    "-Cextra-filename=-5454b73f7d5eee50",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-executor-v0_3_19.license" ]
}

license("futures-io-v0_3_19.license") {
  public_package_name = "futures_io"
  license_files = [
    "//third_party/rust_crates/vendor/futures-io-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-io-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-io-v0_3_19") {
  crate_name = "futures_io"
  crate_root = "//third_party/rust_crates/vendor/futures-io-0.3.19/src/lib.rs"
  output_name = "futures_io-13ea868f3a902971"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=13ea868f3a902971",
    "-Cextra-filename=-13ea868f3a902971",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-io-v0_3_19.license" ]
}

license("futures-lite-v1_11_3.license") {
  public_package_name = "futures_lite"
  license_files = [
    "//third_party/rust_crates/vendor/futures-lite-1.11.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-lite-1.11.3/LICENSE-MIT",
    "//third_party/rust_crates/vendor/futures-lite-1.11.3/LICENSE-THIRD-PARTY",
  ]
}

rust_library("futures-lite-v1_11_3") {
  crate_name = "futures_lite"
  crate_root = "//third_party/rust_crates/vendor/futures-lite-1.11.3/src/lib.rs"
  output_name = "futures_lite-722154d5ee232ef5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":fastrand-v1_4_0" ]
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":parking-v2_0_0" ]
  deps += [ ":pin-project-lite-v0_2_13" ]
  deps += [ ":waker-fn-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=722154d5ee232ef5",
    "-Cextra-filename=-722154d5ee232ef5",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"fastrand\"",
    "--cfg=feature=\"futures-io\"",
    "--cfg=feature=\"parking\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"waker-fn\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-lite-v1_11_3.license" ]
}

license("futures-macro-v0_3_19.license") {
  public_package_name = "futures_macro"
  license_files = [
    "//third_party/rust_crates/vendor/futures-macro-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-macro-0.3.19/LICENSE-MIT",
  ]
}

rust_proc_macro("futures-macro-v0_3_19") {
  crate_name = "futures_macro"
  crate_root =
      "//third_party/rust_crates/vendor/futures-macro-0.3.19/src/lib.rs"
  output_name = "futures_macro-e633a40a740590a9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = [ "CARGO_PKG_NAME=futures-macro" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e633a40a740590a9",
    "-Cextra-filename=-e633a40a740590a9",
    "--cfg=fn_like_proc_macro",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-macro-v0_3_19.license" ]
}

license("futures-sink-v0_3_19.license") {
  public_package_name = "futures_sink"
  license_files = [
    "//third_party/rust_crates/vendor/futures-sink-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-sink-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-sink-v0_3_19") {
  crate_name = "futures_sink"
  crate_root = "//third_party/rust_crates/vendor/futures-sink-0.3.19/src/lib.rs"
  output_name = "futures_sink-3c76929821bf0d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3c76929821bf0d",
    "-Cextra-filename=-3c76929821bf0d",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-sink-v0_3_19.license" ]
}

license("futures-task-v0_3_19.license") {
  public_package_name = "futures_task"
  license_files = [
    "//third_party/rust_crates/vendor/futures-task-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-task-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-task-v0_3_19") {
  crate_name = "futures_task"
  crate_root = "//third_party/rust_crates/vendor/futures-task-0.3.19/src/lib.rs"
  output_name = "futures_task-176189a99c38d371"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [ "CARGO_PKG_NAME=futures-task" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=176189a99c38d371",
    "-Cextra-filename=-176189a99c38d371",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-task-v0_3_19.license" ]
}

license("futures-test-v0_3_19.license") {
  public_package_name = "futures_test"
  license_files = [
    "//third_party/rust_crates/vendor/futures-test-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-test-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-test-v0_3_19") {
  crate_name = "futures_test"
  crate_root = "//third_party/rust_crates/vendor/futures-test-0.3.19/src/lib.rs"
  output_name = "futures_test-18f27c453898e02d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-executor-v0_3_19" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":futures-macro-v0_3_19($host_toolchain)" ]
  deps += [ ":futures-sink-v0_3_19" ]
  deps += [ ":futures-task-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":pin-project-v1_0_11" ]
  deps += [ ":pin-utils-v0_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=18f27c453898e02d",
    "-Cextra-filename=-18f27c453898e02d",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-test-v0_3_19.license" ]
}

license("futures-util-v0_3_19.license") {
  public_package_name = "futures_util"
  license_files = [
    "//third_party/rust_crates/vendor/futures-util-0.3.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/futures-util-0.3.19/LICENSE-MIT",
  ]
}

rust_library("futures-util-v0_3_19") {
  crate_name = "futures_util"
  crate_root = "//third_party/rust_crates/vendor/futures-util-0.3.19/src/lib.rs"
  output_name = "futures_util-fde13ada8c10d5f9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":futures-channel-v0_3_19" ]
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":futures-macro-v0_3_19($host_toolchain)" ]
  deps += [ ":futures-sink-v0_3_19" ]
  deps += [ ":futures-task-v0_3_19" ]
  deps += [ ":pin-project-lite-v0_2_13" ]
  deps += [ ":pin-utils-v0_1_0" ]
  deps += [ ":slab-v0_4_7" ]

  rustenv = [ "CARGO_PKG_NAME=futures-util" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fde13ada8c10d5f9",
    "-Cextra-filename=-fde13ada8c10d5f9",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"async-await\"",
    "--cfg=feature=\"async-await-macro\"",
    "--cfg=feature=\"channel\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"futures-channel\"",
    "--cfg=feature=\"futures-io\"",
    "--cfg=feature=\"futures-macro\"",
    "--cfg=feature=\"futures-sink\"",
    "--cfg=feature=\"io\"",
    "--cfg=feature=\"memchr\"",
    "--cfg=feature=\"sink\"",
    "--cfg=feature=\"slab\"",
    "--cfg=feature=\"std\"",
    "--cfg=fn_like_proc_macro",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":futures-util-v0_3_19.license" ]
}

license("generator-v0_7_5.license") {
  public_package_name = "generator"
  license_files = [
    "//third_party/rust_crates/vendor/generator-0.7.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/generator-0.7.5/LICENSE-MIT",
  ]
}

rust_library("generator-v0_7_5") {
  crate_name = "generator"
  crate_root = "//third_party/rust_crates/vendor/generator-0.7.5/src/lib.rs"
  output_name = "generator-76a988bf2831d99"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":windows-v0_48_0" ]
  }
  deps += [ "//build/validate:non_production_tag" ]
  if (!(current_os == "fuchsia")) {
    deps += [ "//third_party/rust_crates/compat/generator:asm" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=76a988bf2831d99",
    "-Cextra-filename=-76a988bf2831d99",
  ]

  visibility = []
  visibility += [ ":loom-v0_7_1" ]
  testonly = true
  applicable_licenses = [ ":generator-v0_7_5.license" ]
}

license("generic-array-v0_14_5.license") {
  public_package_name = "generic_array"
  license_files =
      [ "//third_party/rust_crates/vendor/generic-array-0.14.5/LICENSE" ]
}

rust_library("generic-array-v0_14_5") {
  crate_name = "generic_array"
  crate_root =
      "//third_party/rust_crates/vendor/generic-array-0.14.5/src/lib.rs"
  output_name = "generic_array-46093893e2cb6048"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":typenum-v1_15_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=46093893e2cb6048",
    "-Cextra-filename=-46093893e2cb6048",
    "--cfg=feature=\"more_lengths\"",
    "--cfg=relaxed_coherence",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":generic-array-v0_14_5.license" ]
}

license("getopts-v0_2_18.license") {
  public_package_name = "getopts"
  license_files = [
    "//third_party/rust_crates/vendor/getopts-0.2.18/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/getopts-0.2.18/LICENSE-MIT",
  ]
}

rust_library("getopts-v0_2_18") {
  crate_name = "getopts"
  crate_root = "//third_party/rust_crates/vendor/getopts-0.2.18/src/lib.rs"
  output_name = "getopts-ee306262a9b3a5b0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-width-v0_1_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ee306262a9b3a5b0",
    "-Cextra-filename=-ee306262a9b3a5b0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":getopts-v0_2_18.license" ]
}

license("getrandom-v0_2_10.license") {
  public_package_name = "getrandom"
  license_files = [
    "//third_party/rust_crates/vendor/getrandom-0.2.10/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/getrandom-0.2.10/LICENSE-MIT",
  ]
}

rust_library("getrandom-v0_2_10") {
  crate_name = "getrandom"
  crate_root = "//third_party/rust_crates/vendor/getrandom-0.2.10/src/lib.rs"
  output_name = "getrandom-fbe0538dc0c6360c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  if (false) {
    deps += [ ":wasi-v0_11_0+wasi-snapshot-preview1" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }

  rustenv = [
    "CARGO_PKG_NAME=getrandom",
    "CARGO_PKG_VERSION=0.2.10",
    "CARGO_MANIFEST_DIR=${gn_source_root}/third_party/rust_crates/vendor/getrandom-0.2.10",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fbe0538dc0c6360c",
    "-Cextra-filename=-fbe0538dc0c6360c",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":getrandom-v0_2_10.license" ]
}

license("ghash-v0_5_0.license") {
  public_package_name = "ghash"
  license_files = [
    "//third_party/rust_crates/vendor/ghash-0.5.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ghash-0.5.0/LICENSE-MIT",
  ]
}

rust_library("ghash-v0_5_0") {
  crate_name = "ghash"
  crate_root = "//third_party/rust_crates/vendor/ghash-0.5.0/src/lib.rs"
  output_name = "ghash-4e01efdbbd29242a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":opaque-debug-v0_3_0" ]
  deps += [ ":polyval-v0_6_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=4e01efdbbd29242a",
    "-Cextra-filename=-4e01efdbbd29242a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ghash-v0_5_0.license" ]
}

license("glob-v0_3_0.license") {
  public_package_name = "glob"
  license_files = [
    "//third_party/rust_crates/vendor/glob-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/glob-0.3.0/LICENSE-MIT",
  ]
}

rust_library("glob-v0_3_0") {
  crate_name = "glob"
  crate_root = "//third_party/rust_crates/vendor/glob-0.3.0/src/lib.rs"
  output_name = "glob-aa5b2e2c44f5f401"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=aa5b2e2c44f5f401",
    "-Cextra-filename=-aa5b2e2c44f5f401",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":glob-v0_3_0.license" ]
}

license("gpt-v3_0_0.license") {
  public_package_name = "gpt"
  license_files = [ "//third_party/rust_crates/vendor/gpt-3.0.0/LICENSE" ]
}

rust_library("gpt-v3_0_0") {
  crate_name = "gpt"
  crate_root = "//third_party/rust_crates/vendor/gpt-3.0.0/src/lib.rs"
  output_name = "gpt-ee8537fb7cdea5c1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":crc-v1_8_1" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":uuid-v0_8_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ee8537fb7cdea5c1",
    "-Cextra-filename=-ee8537fb7cdea5c1",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":gpt-v3_0_0.license" ]
}

license("group-v0_12_1.license") {
  public_package_name = "group"
  license_files = [
    "//third_party/rust_crates/vendor/group-0.12.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/group-0.12.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/group-0.12.1/LICENSE-MIT",
  ]
}

rust_library("group-v0_12_1") {
  crate_name = "group"
  crate_root = "//third_party/rust_crates/vendor/group-0.12.1/src/lib.rs"
  output_name = "group-3f682e71210470a3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ff-v0_12_1" ]
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=3f682e71210470a3",
    "-Cextra-filename=-3f682e71210470a3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":group-v0_12_1.license" ]
}

license("half-v1_6_0.license") {
  public_package_name = "half"
  license_files = [
    "//third_party/rust_crates/vendor/half-1.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/half-1.6.0/LICENSE-MIT",
  ]
}

rust_library("half-v1_6_0") {
  crate_name = "half"
  crate_root = "//third_party/rust_crates/vendor/half-1.6.0/src/lib.rs"
  output_name = "half-d9b7b38cc4103d3d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d9b7b38cc4103d3d",
    "-Cextra-filename=-d9b7b38cc4103d3d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":half-v1_6_0.license" ]
}

license("handlebars-v4_3_5.license") {
  public_package_name = "handlebars"
  license_files = [
    "//third_party/rust_crates/vendor/handlebars-4.3.5/LICENSE",
    "//third_party/rust_crates/vendor/handlebars-4.3.5/wasm/LICENSE",
  ]
}

rust_library("handlebars-v4_3_5") {
  crate_name = "handlebars"
  crate_root = "//third_party/rust_crates/vendor/handlebars-4.3.5/src/lib.rs"
  output_name = "handlebars-f0d384607bf539b0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":pest-v2_7_8" ]
  deps += [ ":pest_derive-v2_7_8($host_toolchain)" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]
  deps += [ ":thiserror-v1_0_57" ]

  rustenv = [ "CARGO_MANIFEST_DIR=${gn_source_root}/third_party/rust_crates/vendor/handlebars-4.3.5" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=f0d384607bf539b0",
    "-Cextra-filename=-f0d384607bf539b0",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":handlebars-v4_3_5.license" ]
}

license("hashbrown-v0_12_3.license") {
  public_package_name = "hashbrown"
  license_files = [
    "//third_party/rust_crates/vendor/hashbrown-0.12.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hashbrown-0.12.3/LICENSE-MIT",
  ]
}

rust_library("hashbrown-v0_12_3") {
  crate_name = "hashbrown"
  crate_root = "//third_party/rust_crates/vendor/hashbrown-0.12.3/src/lib.rs"
  output_name = "hashbrown-159c93b40eceb50a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=159c93b40eceb50a",
    "-Cextra-filename=-159c93b40eceb50a",
    "--cfg=feature=\"raw\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hashbrown-v0_12_3.license" ]
}

license("heck-v0_3_1.license") {
  public_package_name = "heck"
  license_files = [
    "//third_party/rust_crates/vendor/heck-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/heck-0.3.1/LICENSE-MIT",
  ]
}

rust_library("heck-v0_3_1") {
  crate_name = "heck"
  crate_root = "//third_party/rust_crates/vendor/heck-0.3.1/src/lib.rs"
  output_name = "heck-e3dad0497ab5b0fe"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-segmentation-v1_10_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e3dad0497ab5b0fe",
    "-Cextra-filename=-e3dad0497ab5b0fe",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":heck-v0_3_1.license" ]
}

license("heck-v0_4_1.license") {
  public_package_name = "heck"
  license_files = [
    "//third_party/rust_crates/vendor/heck-0.4.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/heck-0.4.1/LICENSE-MIT",
  ]
}

rust_library("heck-v0_4_1") {
  crate_name = "heck"
  crate_root = "//third_party/rust_crates/vendor/heck-0.4.1/src/lib.rs"
  output_name = "heck-f37b68fb3b2b9ab3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f37b68fb3b2b9ab3",
    "-Cextra-filename=-f37b68fb3b2b9ab3",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":heck-v0_4_1.license" ]
}

license("hermit-abi-v0_1_8.license") {
  public_package_name = "hermit_abi"
  license_files = [
    "//third_party/rust_crates/vendor/hermit-abi-0.1.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hermit-abi-0.1.8/LICENSE-MIT",
  ]
}

rust_library("hermit-abi-v0_1_8") {
  crate_name = "hermit_abi"
  crate_root = "//third_party/rust_crates/vendor/hermit-abi-0.1.8/src/lib.rs"
  output_name = "hermit_abi-f84c675d3602a4e4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f84c675d3602a4e4",
    "-Cextra-filename=-f84c675d3602a4e4",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hermit-abi-v0_1_8.license" ]
}

license("hex-v0_3_2.license") {
  public_package_name = "hex"
  license_files = [
    "//third_party/rust_crates/vendor/hex-0.3.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hex-0.3.2/LICENSE-MIT",
  ]
}

rust_library("hex-v0_3_2") {
  crate_name = "hex"
  crate_root = "//third_party/rust_crates/vendor/hex-0.3.2/src/lib.rs"
  output_name = "hex-67ad4b3000c63154"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=67ad4b3000c63154",
    "-Cextra-filename=-67ad4b3000c63154",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hex-v0_3_2.license" ]
}

license("hkdf-v0_12_3.license") {
  public_package_name = "hkdf"
  license_files = [
    "//third_party/rust_crates/vendor/hkdf-0.12.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hkdf-0.12.3/LICENSE-MIT",
  ]
}

rust_library("hkdf-v0_12_3") {
  crate_name = "hkdf"
  crate_root = "//third_party/rust_crates/vendor/hkdf-0.12.3/src/lib.rs"
  output_name = "hkdf-59183894568a732f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":hmac-v0_12_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=59183894568a732f",
    "-Cextra-filename=-59183894568a732f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hkdf-v0_12_3.license" ]
}

license("hmac-v0_12_1.license") {
  public_package_name = "hmac"
  license_files = [
    "//third_party/rust_crates/vendor/hmac-0.12.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hmac-0.12.1/LICENSE-MIT",
  ]
}

rust_library("hmac-v0_12_1") {
  crate_name = "hmac"
  crate_root = "//third_party/rust_crates/vendor/hmac-0.12.1/src/lib.rs"
  output_name = "hmac-d6aaa775a3c1c26d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":digest-v0_10_7" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d6aaa775a3c1c26d",
    "-Cextra-filename=-d6aaa775a3c1c26d",
    "--cfg=feature=\"reset\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hmac-v0_12_1.license" ]
}

license("home-v0_5_9.license") {
  public_package_name = "home"
  license_files = [
    "//third_party/rust_crates/vendor/home-0.5.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/home-0.5.9/LICENSE-MIT",
  ]
}

rust_library("home-v0_5_9") {
  crate_name = "home"
  crate_root = "//third_party/rust_crates/vendor/home-0.5.9/src/lib.rs"
  output_name = "home-995a6338de29718d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":windows-sys-v0_52_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=995a6338de29718d",
    "-Cextra-filename=-995a6338de29718d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":home-v0_5_9.license" ]
}

license("hound-v3_5_0.license") {
  public_package_name = "hound"
  license_files = [ "//third_party/rust_crates/forks/hound/license" ]
}

rust_library("hound-v3_5_0") {
  crate_name = "hound"
  crate_root = "//third_party/rust_crates/forks/hound/src/lib.rs"
  output_name = "hound-80b4d537af823d33"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=80b4d537af823d33",
    "-Cextra-filename=-80b4d537af823d33",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hound-v3_5_0.license" ]
}

license("http-v0_2_4.license") {
  public_package_name = "http"
  license_files = [
    "//third_party/rust_crates/vendor/http-0.2.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/http-0.2.4/LICENSE-MIT",
  ]
}

rust_library("http-v0_2_4") {
  crate_name = "http"
  crate_root = "//third_party/rust_crates/vendor/http-0.2.4/src/lib.rs"
  output_name = "http-6a6e000f40845eef"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":fnv-v1_0_7" ]
  deps += [ ":itoa-v0_4_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6a6e000f40845eef",
    "-Cextra-filename=-6a6e000f40845eef",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":http-v0_2_4.license" ]
}

license("http-body-v0_4_4.license") {
  public_package_name = "http_body"
  license_files = [ "//third_party/rust_crates/vendor/http-body-0.4.4/LICENSE" ]
}

rust_library("http-body-v0_4_4") {
  crate_name = "http_body"
  crate_root = "//third_party/rust_crates/vendor/http-body-0.4.4/src/lib.rs"
  output_name = "http_body-4cfe6790799a56b9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":http-v0_2_4" ]
  deps += [ ":pin-project-lite-v0_2_13" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4cfe6790799a56b9",
    "-Cextra-filename=-4cfe6790799a56b9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":http-body-v0_4_4.license" ]
}

license("httparse-v1_7_1.license") {
  public_package_name = "httparse"
  license_files = [
    "//third_party/rust_crates/vendor/httparse-1.7.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/httparse-1.7.1/LICENSE-MIT",
  ]
}

rust_library("httparse-v1_7_1") {
  crate_name = "httparse"
  crate_root = "//third_party/rust_crates/vendor/httparse-1.7.1/src/lib.rs"
  output_name = "httparse-80b3f01f6603e0f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=80b3f01f6603e0f",
    "-Cextra-filename=-80b3f01f6603e0f",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=httparse_simd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":httparse-v1_7_1.license" ]
}

license("httpdate-v1_0_2.license") {
  public_package_name = "httpdate"
  license_files = [
    "//third_party/rust_crates/vendor/httpdate-1.0.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/httpdate-1.0.2/LICENSE-MIT",
  ]
}

rust_library("httpdate-v1_0_2") {
  crate_name = "httpdate"
  crate_root = "//third_party/rust_crates/vendor/httpdate-1.0.2/src/lib.rs"
  output_name = "httpdate-cbaf0261c4491eb6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cbaf0261c4491eb6",
    "-Cextra-filename=-cbaf0261c4491eb6",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":httpdate-v1_0_2.license" ]
}

license("humansize-v1_1_1.license") {
  public_package_name = "humansize"
  license_files = [
    "//third_party/rust_crates/vendor/humansize-1.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/humansize-1.1.1/LICENSE-MIT",
  ]
}

rust_library("humansize-v1_1_1") {
  crate_name = "humansize"
  crate_root = "//third_party/rust_crates/vendor/humansize-1.1.1/src/lib.rs"
  output_name = "humansize-c6e531eb85c12cc1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c6e531eb85c12cc1",
    "-Cextra-filename=-c6e531eb85c12cc1",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":humansize-v1_1_1.license" ]
}

license("hyper-v0_14_19.license") {
  public_package_name = "hyper"
  license_files = [ "//third_party/rust_crates/vendor/hyper-0.14.19/LICENSE" ]
}

rust_library("hyper-v0_14_19") {
  crate_name = "hyper"
  crate_root = "//third_party/rust_crates/vendor/hyper-0.14.19/src/lib.rs"
  output_name = "hyper-cc7cc936a1c0e0fb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":futures-channel-v0_3_19" ]
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":http-body-v0_4_4" ]
  deps += [ ":http-v0_2_4" ]
  deps += [ ":httparse-v1_7_1" ]
  deps += [ ":httpdate-v1_0_2" ]
  deps += [ ":itoa-v1_0_5" ]
  deps += [ ":pin-project-lite-v0_2_13" ]
  deps += [ ":tokio-v1_32_1" ]
  deps += [ ":tower-service-v0_3_0" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ ":want-v0_3_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cc7cc936a1c0e0fb",
    "-Cextra-filename=-cc7cc936a1c0e0fb",
    "--cfg=feature=\"client\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"http1\"",
    "--cfg=feature=\"server\"",
    "--cfg=feature=\"stream\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hyper-v0_14_19.license" ]
}

license("hyper-rustls-v0_22_1.license") {
  public_package_name = "hyper_rustls"
  license_files = [
    "//third_party/rust_crates/vendor/hyper-rustls-0.22.1/LICENSE",
    "//third_party/rust_crates/vendor/hyper-rustls-0.22.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/hyper-rustls-0.22.1/LICENSE-ISC",
    "//third_party/rust_crates/vendor/hyper-rustls-0.22.1/LICENSE-MIT",
  ]
}

rust_library("hyper-rustls-v0_22_1") {
  crate_name = "hyper_rustls"
  crate_root = "//third_party/rust_crates/vendor/hyper-rustls-0.22.1/src/lib.rs"
  output_name = "hyper_rustls-383db729aca6b09e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rustls-v0_19_1" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":hyper-v0_14_19" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":rustls-native-certs-v0_5_0" ]
  deps += [ ":tokio-rustls-v0_22_0" ]
  deps += [ ":tokio-v1_32_1" ]
  deps += [ ":webpki-v0_21_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=383db729aca6b09e",
    "-Cextra-filename=-383db729aca6b09e",
    "--cfg=feature=\"rustls-native-certs\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":hyper-rustls-v0_22_1.license" ]
}

license("iana-time-zone-v0_1_60.license") {
  public_package_name = "iana_time_zone"
  license_files = [
    "//third_party/rust_crates/vendor/iana-time-zone-0.1.60/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/iana-time-zone-0.1.60/LICENSE-MIT",
  ]
}

rust_library("iana-time-zone-v0_1_60") {
  crate_name = "iana_time_zone"
  crate_root =
      "//third_party/rust_crates/vendor/iana-time-zone-0.1.60/src/lib.rs"
  output_name = "iana_time_zone-967aad457d7ea2f5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (current_os == "mac" || false) {
    deps += [ ":core-foundation-sys-v0_8_3" ]
  }
  if (current_cpu == "wasm32") {
    deps += [ ":js-sys-v0_3_68" ]
    deps += [ ":wasm-bindgen-v0_2_91" ]
  }
  if (false) {
    deps += [ ":android_system_properties-v0_1_5" ]
  }
  if (false) {
    deps += [ ":iana-time-zone-haiku-v0_1_2" ]
  }
  if (false) {
    deps += [ ":windows-core-v0_52_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=967aad457d7ea2f5",
    "-Cextra-filename=-967aad457d7ea2f5",
    "--cfg=feature=\"fallback\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":iana-time-zone-v0_1_60.license" ]
}

rust_library("iana-time-zone-haiku-v0_1_2") {
  crate_name = "iana_time_zone_haiku"
  crate_root = "//third_party/rust_crates/empty/iana-time-zone-haiku/src/lib.rs"
  output_name = "iana_time_zone_haiku-bdd654178d2587ab"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=bdd654178d2587ab",
    "-Cextra-filename=-bdd654178d2587ab",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("ident_case-v1_0_1.license") {
  public_package_name = "ident_case"
  license_files =
      [ "//third_party/rust_crates/vendor/ident_case-1.0.1/LICENSE" ]
}

rust_library("ident_case-v1_0_1") {
  crate_name = "ident_case"
  crate_root = "//third_party/rust_crates/vendor/ident_case-1.0.1/src/lib.rs"
  output_name = "ident_case-b27b32febfa5a05a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b27b32febfa5a05a",
    "-Cextra-filename=-b27b32febfa5a05a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ident_case-v1_0_1.license" ]
}

license("idna-v0_1_5.license") {
  public_package_name = "idna"
  license_files = [
    "//third_party/rust_crates/vendor/idna-0.1.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/idna-0.1.5/LICENSE-MIT",
  ]
}

rust_library("idna-v0_1_5") {
  crate_name = "idna"
  crate_root = "//third_party/rust_crates/vendor/idna-0.1.5/src/lib.rs"
  output_name = "idna-682a1dbddbc2bf79"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":matches-v0_1_9" ]
  deps += [ ":unicode-bidi-v0_3_4" ]
  deps += [ ":unicode-normalization-v0_1_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=682a1dbddbc2bf79",
    "-Cextra-filename=-682a1dbddbc2bf79",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":idna-v0_1_5.license" ]
}

license("idna-v0_2_3.license") {
  public_package_name = "idna"
  license_files = [
    "//third_party/rust_crates/vendor/idna-0.2.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/idna-0.2.3/LICENSE-MIT",
  ]
}

rust_library("idna-v0_2_3") {
  crate_name = "idna"
  crate_root = "//third_party/rust_crates/vendor/idna-0.2.3/src/lib.rs"
  output_name = "idna-22cfd0b478d3e8bd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":matches-v0_1_9" ]
  deps += [ ":unicode-bidi-v0_3_4" ]
  deps += [ ":unicode-normalization-v0_1_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=22cfd0b478d3e8bd",
    "-Cextra-filename=-22cfd0b478d3e8bd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":idna-v0_2_3.license" ]
}

license("idna-v0_3_0.license") {
  public_package_name = "idna"
  license_files = [
    "//third_party/rust_crates/vendor/idna-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/idna-0.3.0/LICENSE-MIT",
  ]
}

rust_library("idna-v0_3_0") {
  crate_name = "idna"
  crate_root = "//third_party/rust_crates/vendor/idna-0.3.0/src/lib.rs"
  output_name = "idna-682e58f626eba0bb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-bidi-v0_3_4" ]
  deps += [ ":unicode-normalization-v0_1_19" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=682e58f626eba0bb",
    "-Cextra-filename=-682e58f626eba0bb",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":idna-v0_3_0.license" ]
}

license("indexmap-v1_9_2.license") {
  public_package_name = "indexmap"
  license_files = [
    "//third_party/rust_crates/vendor/indexmap-1.9.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/indexmap-1.9.2/LICENSE-MIT",
  ]
}

rust_library("indexmap-v1_9_2") {
  crate_name = "indexmap"
  crate_root = "//third_party/rust_crates/vendor/indexmap-1.9.2/src/lib.rs"
  output_name = "indexmap-48d3353175399349"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":hashbrown-v0_12_3" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=48d3353175399349",
    "-Cextra-filename=-48d3353175399349",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serde-1\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_std",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":indexmap-v1_9_2.license" ]
}

license("indoc-v1_0_3.license") {
  public_package_name = "indoc"
  license_files = [
    "//third_party/rust_crates/vendor/indoc-1.0.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/indoc-1.0.3/LICENSE-MIT",
  ]
}

rust_proc_macro("indoc-v1_0_3") {
  crate_name = "indoc"
  crate_root = "//third_party/rust_crates/vendor/indoc-1.0.3/src/lib.rs"
  output_name = "indoc-da3b32d05f72f95e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unindent-v0_1_7" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=da3b32d05f72f95e",
    "-Cextra-filename=-da3b32d05f72f95e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":indoc-v1_0_3.license" ]
}

license("inflate-v0_4_5.license") {
  public_package_name = "inflate"
  license_files = [ "//third_party/rust_crates/vendor/inflate-0.4.5/LICENSE" ]
}

rust_library("inflate-v0_4_5") {
  crate_name = "inflate"
  crate_root = "//third_party/rust_crates/vendor/inflate-0.4.5/src/lib.rs"
  output_name = "inflate-e2d006b321248ecb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":adler32-v1_0_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e2d006b321248ecb",
    "-Cextra-filename=-e2d006b321248ecb",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":inflate-v0_4_5.license" ]
}

license("inotify-v0_9_3.license") {
  public_package_name = "inotify"
  license_files = [ "//third_party/rust_crates/vendor/inotify-0.9.3/LICENSE" ]
}

rust_library("inotify-v0_9_3") {
  crate_name = "inotify"
  crate_root = "//third_party/rust_crates/vendor/inotify-0.9.3/src/lib.rs"
  output_name = "inotify-95428818c5e4383a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":inotify-sys-v0_1_5" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=95428818c5e4383a",
    "-Cextra-filename=-95428818c5e4383a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":inotify-v0_9_3.license" ]
}

license("inotify-sys-v0_1_5.license") {
  public_package_name = "inotify_sys"
  license_files =
      [ "//third_party/rust_crates/vendor/inotify-sys-0.1.5/LICENSE" ]
}

rust_library("inotify-sys-v0_1_5") {
  crate_name = "inotify_sys"
  crate_root = "//third_party/rust_crates/vendor/inotify-sys-0.1.5/src/lib.rs"
  output_name = "inotify_sys-5a7221e0cdb60ab6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5a7221e0cdb60ab6",
    "-Cextra-filename=-5a7221e0cdb60ab6",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":inotify-sys-v0_1_5.license" ]
}

license("inout-v0_1_3.license") {
  public_package_name = "inout"
  license_files = [
    "//third_party/rust_crates/vendor/inout-0.1.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/inout-0.1.3/LICENSE-MIT",
  ]
}

rust_library("inout-v0_1_3") {
  crate_name = "inout"
  crate_root = "//third_party/rust_crates/vendor/inout-0.1.3/src/lib.rs"
  output_name = "inout-b2a05e3eedfe4536"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":generic-array-v0_14_5" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=b2a05e3eedfe4536",
    "-Cextra-filename=-b2a05e3eedfe4536",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":inout-v0_1_3.license" ]
}

license("instant-v0_1_9.license") {
  public_package_name = "instant"
  license_files = [ "//third_party/rust_crates/vendor/instant-0.1.9/LICENSE" ]
}

rust_library("instant-v0_1_9") {
  crate_name = "instant"
  crate_root = "//third_party/rust_crates/vendor/instant-0.1.9/src/lib.rs"
  output_name = "instant-83da69adfa026a2e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=83da69adfa026a2e",
    "-Cextra-filename=-83da69adfa026a2e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":instant-v0_1_9.license" ]
}

license("iota-v0_2_2.license") {
  public_package_name = "iota"
  license_files = [
    "//third_party/rust_crates/vendor/iota-0.2.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/iota-0.2.2/LICENSE-MIT",
  ]
}

rust_library("iota-v0_2_2") {
  crate_name = "iota"
  crate_root = "//third_party/rust_crates/vendor/iota-0.2.2/src/lib.rs"
  output_name = "iota-e068e14ca4b8dd42"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e068e14ca4b8dd42",
    "-Cextra-filename=-e068e14ca4b8dd42",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":iota-v0_2_2.license" ]
}

license("ipnet-v2_3_1.license") {
  public_package_name = "ipnet"
  license_files = [
    "//third_party/rust_crates/vendor/ipnet-2.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ipnet-2.3.1/LICENSE-MIT",
  ]
}

rust_library("ipnet-v2_3_1") {
  crate_name = "ipnet"
  crate_root = "//third_party/rust_crates/vendor/ipnet-2.3.1/src/lib.rs"
  output_name = "ipnet-f8a52ce484aace28"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f8a52ce484aace28",
    "-Cextra-filename=-f8a52ce484aace28",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ipnet-v2_3_1.license" ]
}

license("itertools-v0_10_1.license") {
  public_package_name = "itertools"
  license_files = [
    "//third_party/rust_crates/vendor/itertools-0.10.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/itertools-0.10.1/LICENSE-MIT",
  ]
}

rust_library("itertools-v0_10_1") {
  crate_name = "itertools"
  crate_root = "//third_party/rust_crates/vendor/itertools-0.10.1/src/lib.rs"
  output_name = "itertools-6923aac211951545"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":either-v1_8_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6923aac211951545",
    "-Cextra-filename=-6923aac211951545",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"use_alloc\"",
    "--cfg=feature=\"use_std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":itertools-v0_10_1.license" ]
}

license("itertools-v0_8_0.license") {
  public_package_name = "itertools"
  license_files = [
    "//third_party/rust_crates/vendor/itertools-0.8.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/itertools-0.8.0/LICENSE-MIT",
  ]
}

rust_library("itertools-v0_8_0") {
  crate_name = "itertools"
  crate_root = "//third_party/rust_crates/vendor/itertools-0.8.0/src/lib.rs"
  output_name = "itertools-1f61a40f0ca305b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":either-v1_8_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1f61a40f0ca305b",
    "-Cextra-filename=-1f61a40f0ca305b",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"use_std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":itertools-v0_8_0.license" ]
}

license("itoa-v0_4_3.license") {
  public_package_name = "itoa"
  license_files = [
    "//third_party/rust_crates/vendor/itoa-0.4.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/itoa-0.4.3/LICENSE-MIT",
  ]
}

rust_library("itoa-v0_4_3") {
  crate_name = "itoa"
  crate_root = "//third_party/rust_crates/vendor/itoa-0.4.3/src/lib.rs"
  output_name = "itoa-f3a32c9a05744438"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f3a32c9a05744438",
    "-Cextra-filename=-f3a32c9a05744438",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":itoa-v0_4_3.license" ]
}

license("itoa-v1_0_5.license") {
  public_package_name = "itoa"
  license_files = [
    "//third_party/rust_crates/vendor/itoa-1.0.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/itoa-1.0.5/LICENSE-MIT",
  ]
}

rust_library("itoa-v1_0_5") {
  crate_name = "itoa"
  crate_root = "//third_party/rust_crates/vendor/itoa-1.0.5/src/lib.rs"
  output_name = "itoa-d5820561044d3a6e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d5820561044d3a6e",
    "-Cextra-filename=-d5820561044d3a6e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":itoa-v1_0_5.license" ]
}

rust_library("js-sys-v0_3_68") {
  crate_name = "js_sys"
  crate_root = "//third_party/rust_crates/empty/js-sys/src/lib.rs"
  output_name = "js_sys-36060ea082782507"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=36060ea082782507",
    "-Cextra-filename=-36060ea082782507",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("json5format-v0_2_6.license") {
  public_package_name = "json5format"
  license_files =
      [ "//third_party/rust_crates/vendor/json5format-0.2.6/LICENSE" ]
}

rust_library("json5format-v0_2_6") {
  crate_name = "json5format"
  crate_root = "//third_party/rust_crates/vendor/json5format-0.2.6/src/lib.rs"
  output_name = "json5format-daa5df659ed21ae8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":regex-v1_7_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=daa5df659ed21ae8",
    "-Cextra-filename=-daa5df659ed21ae8",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":json5format-v0_2_6.license" ]
}

license("jsonway-v2_0_0.license") {
  public_package_name = "jsonway"
  license_files = [ "//third_party/rust_crates/vendor/jsonway-2.0.0/LICENSE" ]
}

rust_library("jsonway-v2_0_0") {
  crate_name = "jsonway"
  crate_root = "//third_party/rust_crates/vendor/jsonway-2.0.0/src/lib.rs"
  output_name = "jsonway-5ed994a48b787f8e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5ed994a48b787f8e",
    "-Cextra-filename=-5ed994a48b787f8e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":jsonway-v2_0_0.license" ]
}

license("kqueue-v1_0_7.license") {
  public_package_name = "kqueue"
  license_files = [ "//third_party/rust_crates/vendor/kqueue-1.0.7/LICENSE" ]
}

rust_library("kqueue-v1_0_7") {
  crate_name = "kqueue"
  crate_root = "//third_party/rust_crates/vendor/kqueue-1.0.7/src/lib.rs"
  output_name = "kqueue-8ba64de94884151f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":kqueue-sys-v1_0_3" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8ba64de94884151f",
    "-Cextra-filename=-8ba64de94884151f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":kqueue-v1_0_7.license" ]
}

license("kqueue-sys-v1_0_3.license") {
  public_package_name = "kqueue_sys"
  license_files =
      [ "//third_party/rust_crates/vendor/kqueue-sys-1.0.3/LICENSE" ]
}

rust_library("kqueue-sys-v1_0_3") {
  crate_name = "kqueue_sys"
  crate_root = "//third_party/rust_crates/vendor/kqueue-sys-1.0.3/src/lib.rs"
  output_name = "kqueue_sys-369df57c1b7accc0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=369df57c1b7accc0",
    "-Cextra-filename=-369df57c1b7accc0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":kqueue-sys-v1_0_3.license" ]
}

license("lazy_static-v1_4_0.license") {
  public_package_name = "lazy_static"
  license_files = [
    "//third_party/rust_crates/vendor/lazy_static-1.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/lazy_static-1.4.0/LICENSE-MIT",
  ]
}

rust_library("lazy_static-v1_4_0") {
  crate_name = "lazy_static"
  crate_root = "//third_party/rust_crates/vendor/lazy_static-1.4.0/src/lib.rs"
  output_name = "lazy_static-cdf593bd3fb3d68f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=cdf593bd3fb3d68f",
    "-Cextra-filename=-cdf593bd3fb3d68f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":lazy_static-v1_4_0.license" ]
}

license("libc-v0_2_149.license") {
  public_package_name = "libc"
  license_files = [
    "//third_party/rust_crates/vendor/libc-0.2.149/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/libc-0.2.149/LICENSE-MIT",
  ]
}

rust_library("libc-v0_2_149") {
  crate_name = "libc"
  crate_root = "//third_party/rust_crates/vendor/libc-0.2.149/src/lib.rs"
  output_name = "libc-a14c8d28af9f8577"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a14c8d28af9f8577",
    "-Cextra-filename=-a14c8d28af9f8577",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"extra_traits\"",
    "--cfg=feature=\"std\"",
    "--cfg=libc_priv_mod_use",
    "--cfg=libc_union",
    "--cfg=libc_const_size_of",
    "--cfg=libc_align",
    "--cfg=libc_core_cvoid",
    "--cfg=libc_packedN",
    "--cfg=libc_cfg_target_vendor",
    "--cfg=libc_int128",
    "--cfg=libc_non_exhaustive",
    "--cfg=libc_long_array",
    "--cfg=libc_ptr_addr_of",
    "--cfg=libc_underscore_const_names",
    "--cfg=libc_const_extern_fn",
  ]
  if (false) {
    rustflags += [ "--cfg=freebsd11" ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":libc-v0_2_149.license" ]
}

rust_library("libm-v0_2_1") {
  crate_name = "libm"
  crate_root = "//third_party/rust_crates/forks/libm/src/lib.rs"
  output_name = "libm-9acc3111b7a9209b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":static_assertions-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9acc3111b7a9209b",
    "-Cextra-filename=-9acc3111b7a9209b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("linked-hash-map-v0_5_3.license") {
  public_package_name = "linked_hash_map"
  license_files = [
    "//third_party/rust_crates/vendor/linked-hash-map-0.5.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/linked-hash-map-0.5.3/LICENSE-MIT",
  ]
}

rust_library("linked-hash-map-v0_5_3") {
  crate_name = "linked_hash_map"
  crate_root =
      "//third_party/rust_crates/vendor/linked-hash-map-0.5.3/src/lib.rs"
  output_name = "linked_hash_map-b9b35caede8d8189"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b9b35caede8d8189",
    "-Cextra-filename=-b9b35caede8d8189",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":linked-hash-map-v0_5_3.license" ]
}

license("lipsum-v0_6_0.license") {
  public_package_name = "lipsum"
  license_files = [ "//third_party/rust_crates/vendor/lipsum-0.6.0/LICENSE" ]
}

rust_library("lipsum-v0_6_0") {
  crate_name = "lipsum"
  crate_root = "//third_party/rust_crates/vendor/lipsum-0.6.0/src/lib.rs"
  output_name = "lipsum-3f3d810083da13c9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand-v0_6_5" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=3f3d810083da13c9",
    "-Cextra-filename=-3f3d810083da13c9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":lipsum-v0_6_0.license" ]
}

license("lock_api-v0_3_4.license") {
  public_package_name = "lock_api"
  license_files = [
    "//third_party/rust_crates/vendor/lock_api-0.3.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/lock_api-0.3.4/LICENSE-MIT",
  ]
}

rust_library("lock_api-v0_3_4") {
  crate_name = "lock_api"
  crate_root = "//third_party/rust_crates/vendor/lock_api-0.3.4/src/lib.rs"
  output_name = "lock_api-12f3d9bb96757377"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":scopeguard-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=12f3d9bb96757377",
    "-Cextra-filename=-12f3d9bb96757377",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":lock_api-v0_3_4.license" ]
}

license("lock_api-v0_4_11.license") {
  public_package_name = "lock_api"
  license_files = [
    "//third_party/rust_crates/vendor/lock_api-0.4.11/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/lock_api-0.4.11/LICENSE-MIT",
  ]
}

rust_library("lock_api-v0_4_11") {
  crate_name = "lock_api"
  crate_root = "//third_party/rust_crates/vendor/lock_api-0.4.11/src/lib.rs"
  output_name = "lock_api-202cfc12c9882962"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":scopeguard-v1_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=202cfc12c9882962",
    "-Cextra-filename=-202cfc12c9882962",
    "--cfg=feature=\"atomic_usize\"",
    "--cfg=feature=\"default\"",
    "--cfg=has_const_fn_trait_bound",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":lock_api-v0_4_11.license" ]
}

license("log-v0_4_20.license") {
  public_package_name = "log"
  license_files = [
    "//third_party/rust_crates/vendor/log-0.4.20/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/log-0.4.20/LICENSE-MIT",
  ]
}

rust_library("log-v0_4_20") {
  crate_name = "log"
  crate_root = "//third_party/rust_crates/vendor/log-0.4.20/src/lib.rs"
  output_name = "log-3237885152c97e3d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=3237885152c97e3d",
    "-Cextra-filename=-3237885152c97e3d",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":log-v0_4_20.license" ]
}

license("loom-v0_7_1.license") {
  public_package_name = "loom"
  license_files = [ "//third_party/rust_crates/vendor/loom-0.7.1/LICENSE" ]
}

rust_library("loom-v0_7_1") {
  crate_name = "loom"
  crate_root = "//third_party/rust_crates/vendor/loom-0.7.1/src/lib.rs"
  output_name = "loom-7b415502d397946a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":generator-v0_7_5" ]
  deps += [ ":scoped-tls-v1_0_1" ]
  deps += [ ":tracing-subscriber-v0_3_18" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ "//build/validate:non_production_tag" ]
  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7b415502d397946a",
    "-Cextra-filename=-7b415502d397946a",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  testonly = true
  applicable_licenses = [ ":loom-v0_7_1.license" ]
}

license("lru-cache-v0_1_2.license") {
  public_package_name = "lru_cache"
  license_files = [
    "//third_party/rust_crates/vendor/lru-cache-0.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/lru-cache-0.1.2/LICENSE-MIT",
  ]
}

rust_library("lru-cache-v0_1_2") {
  crate_name = "lru_cache"
  crate_root = "//third_party/rust_crates/vendor/lru-cache-0.1.2/src/lib.rs"
  output_name = "lru_cache-d0de9f2b92e5e947"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":linked-hash-map-v0_5_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d0de9f2b92e5e947",
    "-Cextra-filename=-d0de9f2b92e5e947",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":lru-cache-v0_1_2.license" ]
}

license("macro_rules_attribute-v0_1_3.license") {
  public_package_name = "macro_rules_attribute"
  license_files = [
    "//third_party/rust_crates/vendor/macro_rules_attribute-0.1.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/macro_rules_attribute-0.1.3/LICENSE-MIT",
    "//third_party/rust_crates/vendor/macro_rules_attribute-0.1.3/LICENSE-ZLIB",
  ]
}

rust_library("macro_rules_attribute-v0_1_3") {
  crate_name = "macro_rules_attribute"
  crate_root =
      "//third_party/rust_crates/vendor/macro_rules_attribute-0.1.3/src/lib.rs"
  output_name = "macro_rules_attribute-59fd32e10fa7ad1b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":macro_rules_attribute-proc_macro-v0_1_3($host_toolchain)" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=59fd32e10fa7ad1b",
    "-Cextra-filename=-59fd32e10fa7ad1b",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":macro_rules_attribute-v0_1_3.license" ]
}

license("macro_rules_attribute-proc_macro-v0_1_3.license") {
  public_package_name = "macro_rules_attribute_proc_macro"
  license_files = [
    "//third_party/rust_crates/vendor/macro_rules_attribute-proc_macro-0.1.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/macro_rules_attribute-proc_macro-0.1.3/LICENSE-MIT",
    "//third_party/rust_crates/vendor/macro_rules_attribute-proc_macro-0.1.3/LICENSE-ZLIB",
  ]
}

rust_proc_macro("macro_rules_attribute-proc_macro-v0_1_3") {
  crate_name = "macro_rules_attribute_proc_macro"
  crate_root = "//third_party/rust_crates/vendor/macro_rules_attribute-proc_macro-0.1.3/mod.rs"
  output_name = "macro_rules_attribute_proc_macro-a7577883011bb875"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=a7577883011bb875",
    "-Cextra-filename=-a7577883011bb875",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":macro_rules_attribute-proc_macro-v0_1_3.license" ]
}

license("maplit-v1_0_1.license") {
  public_package_name = "maplit"
  license_files = [
    "//third_party/rust_crates/vendor/maplit-1.0.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/maplit-1.0.1/LICENSE-MIT",
  ]
}

rust_library("maplit-v1_0_1") {
  crate_name = "maplit"
  crate_root = "//third_party/rust_crates/vendor/maplit-1.0.1/src/lib.rs"
  output_name = "maplit-42f6d562ec404170"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=42f6d562ec404170",
    "-Cextra-filename=-42f6d562ec404170",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":maplit-v1_0_1.license" ]
}

license("matchers-v0_1_0.license") {
  public_package_name = "matchers"
  license_files = [ "//third_party/rust_crates/vendor/matchers-0.1.0/LICENSE" ]
}

rust_library("matchers-v0_1_0") {
  crate_name = "matchers"
  crate_root = "//third_party/rust_crates/vendor/matchers-0.1.0/src/lib.rs"
  output_name = "matchers-d20ec4d350970f68"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":regex-automata-v0_1_9" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d20ec4d350970f68",
    "-Cextra-filename=-d20ec4d350970f68",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":matchers-v0_1_0.license" ]
}

license("matches-v0_1_9.license") {
  public_package_name = "matches"
  license_files = [ "//third_party/rust_crates/vendor/matches-0.1.9/LICENSE" ]
}

rust_library("matches-v0_1_9") {
  crate_name = "matches"
  crate_root = "//third_party/rust_crates/vendor/matches-0.1.9/lib.rs"
  output_name = "matches-c708e0b8aa4fcca4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c708e0b8aa4fcca4",
    "-Cextra-filename=-c708e0b8aa4fcca4",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":matches-v0_1_9.license" ]
}

license("maybe-owned-v0_3_2.license") {
  public_package_name = "maybe_owned"
  license_files = [
    "//third_party/rust_crates/vendor/maybe-owned-0.3.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/maybe-owned-0.3.2/LICENSE-MIT",
  ]
}

rust_library("maybe-owned-v0_3_2") {
  crate_name = "maybe_owned"
  crate_root = "//third_party/rust_crates/vendor/maybe-owned-0.3.2/src/lib.rs"
  output_name = "maybe_owned-cd58fab7b411c920"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=cd58fab7b411c920",
    "-Cextra-filename=-cd58fab7b411c920",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":maybe-owned-v0_3_2.license" ]
}

license("maybe-uninit-v2_0_0.license") {
  public_package_name = "maybe_uninit"
  license_files = [
    "//third_party/rust_crates/vendor/maybe-uninit-2.0.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/maybe-uninit-2.0.0/LICENSE-MIT",
  ]
}

rust_library("maybe-uninit-v2_0_0") {
  crate_name = "maybe_uninit"
  crate_root = "//third_party/rust_crates/vendor/maybe-uninit-2.0.0/src/lib.rs"
  output_name = "maybe_uninit-fb89acfa5fdd5d93"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=fb89acfa5fdd5d93",
    "-Cextra-filename=-fb89acfa5fdd5d93",
    "--cfg=derive_copy",
    "--cfg=repr_transparent",
    "--cfg=native_uninit",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":maybe-uninit-v2_0_0.license" ]
}

license("md-5-v0_10_5.license") {
  public_package_name = "md5"
  license_files = [
    "//third_party/rust_crates/vendor/md-5-0.10.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/md-5-0.10.5/LICENSE-MIT",
  ]
}

rust_library("md-5-v0_10_5") {
  crate_name = "md5"
  crate_root = "//third_party/rust_crates/vendor/md-5-0.10.5/src/lib.rs"
  output_name = "md5-ad61f69e6a163720"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":digest-v0_10_7" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ad61f69e6a163720",
    "-Cextra-filename=-ad61f69e6a163720",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":md-5-v0_10_5.license" ]
}

license("memchr-v2_7_1.license") {
  public_package_name = "memchr"
  license_files = [ "//third_party/rust_crates/ask2patch/memchr/LICENSE-MIT" ]
}

rust_library("memchr-v2_7_1") {
  crate_name = "memchr"
  crate_root = "//third_party/rust_crates/ask2patch/memchr/src/lib.rs"
  output_name = "memchr-5f68ad2b301e4efb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=5f68ad2b301e4efb",
    "-Cextra-filename=-5f68ad2b301e4efb",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"use_std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":memchr-v2_7_1.license" ]
}

license("memoffset-v0_5_3.license") {
  public_package_name = "memoffset"
  license_files = [ "//third_party/rust_crates/vendor/memoffset-0.5.3/LICENSE" ]
}

rust_library("memoffset-v0_5_3") {
  crate_name = "memoffset"
  crate_root = "//third_party/rust_crates/vendor/memoffset-0.5.3/src/lib.rs"
  output_name = "memoffset-86fca2d18c439f83"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=86fca2d18c439f83",
    "-Cextra-filename=-86fca2d18c439f83",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":memoffset-v0_5_3.license" ]
}

license("memoffset-v0_6_3.license") {
  public_package_name = "memoffset"
  license_files = [ "//third_party/rust_crates/vendor/memoffset-0.6.3/LICENSE" ]
}

rust_library("memoffset-v0_6_3") {
  crate_name = "memoffset"
  crate_root = "//third_party/rust_crates/vendor/memoffset-0.6.3/src/lib.rs"
  output_name = "memoffset-4f8761547d1c3d9f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4f8761547d1c3d9f",
    "-Cextra-filename=-4f8761547d1c3d9f",
    "--cfg=feature=\"default\"",
    "--cfg=tuple_ty",
    "--cfg=allow_clippy",
    "--cfg=maybe_uninit",
    "--cfg=doctests",
    "--cfg=raw_ref_macros",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":memoffset-v0_6_3.license" ]
}

license("memoffset-v0_7_1.license") {
  public_package_name = "memoffset"
  license_files = [ "//third_party/rust_crates/vendor/memoffset-0.7.1/LICENSE" ]
}

rust_library("memoffset-v0_7_1") {
  crate_name = "memoffset"
  crate_root = "//third_party/rust_crates/vendor/memoffset-0.7.1/src/lib.rs"
  output_name = "memoffset-67ada2534d04f1ff"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=67ada2534d04f1ff",
    "-Cextra-filename=-67ada2534d04f1ff",
    "--cfg=feature=\"default\"",
    "--cfg=tuple_ty",
    "--cfg=allow_clippy",
    "--cfg=maybe_uninit",
    "--cfg=doctests",
    "--cfg=raw_ref_macros",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":memoffset-v0_7_1.license" ]
}

license("memoffset-v0_9_1.license") {
  public_package_name = "memoffset"
  license_files = [ "//third_party/rust_crates/vendor/memoffset-0.9.1/LICENSE" ]
}

rust_library("memoffset-v0_9_1") {
  crate_name = "memoffset"
  crate_root = "//third_party/rust_crates/vendor/memoffset-0.9.1/src/lib.rs"
  output_name = "memoffset-491c7ec8e8cc0bca"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=491c7ec8e8cc0bca",
    "-Cextra-filename=-491c7ec8e8cc0bca",
    "--cfg=feature=\"default\"",
    "--cfg=tuple_ty",
    "--cfg=allow_clippy",
    "--cfg=maybe_uninit",
    "--cfg=doctests",
    "--cfg=raw_ref_macros",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":memoffset-v0_9_1.license" ]
}

license("miniz_oxide-v0_3_6.license") {
  public_package_name = "miniz_oxide"
  license_files =
      [ "//third_party/rust_crates/vendor/miniz_oxide-0.3.6/LICENSE" ]
}

rust_library("miniz_oxide-v0_3_6") {
  crate_name = "miniz_oxide"
  crate_root = "//third_party/rust_crates/vendor/miniz_oxide-0.3.6/src/lib.rs"
  output_name = "miniz_oxide-9a756a7abca21ed4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":adler32-v1_0_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9a756a7abca21ed4",
    "-Cextra-filename=-9a756a7abca21ed4",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":miniz_oxide-v0_3_6.license" ]
}

license("mio-v0_7_14.license") {
  public_package_name = "mio"
  license_files = [ "//third_party/rust_crates/vendor/mio-0.7.14/LICENSE" ]
}

rust_library("mio-v0_7_14") {
  crate_name = "mio"
  crate_root = "//third_party/rust_crates/vendor/mio-0.7.14/src/lib.rs"
  output_name = "mio-11280508328a7a2f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":miow-v0_3_7" ]
    deps += [ ":ntapi-v0_3_4" ]
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=11280508328a7a2f",
    "-Cextra-filename=-11280508328a7a2f",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"os-ext\"",
    "--cfg=feature=\"os-poll\"",
    "--cfg=feature=\"os-util\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":mio-v0_7_14.license" ]
}

license("mio-v0_8_9.license") {
  public_package_name = "mio"
  license_files = [ "//third_party/rust_crates/vendor/mio-0.8.9/LICENSE" ]
}

rust_library("mio-v0_8_9") {
  crate_name = "mio"
  crate_root = "//third_party/rust_crates/vendor/mio-0.8.9/src/lib.rs"
  output_name = "mio-64ef654502e0fc6d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  if (false) {
    deps += [ ":wasi-v0_11_0+wasi-snapshot-preview1" ]
    deps += [ ":libc-v0_2_149" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":windows-sys-v0_48_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=64ef654502e0fc6d",
    "-Cextra-filename=-64ef654502e0fc6d",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"log\"",
    "--cfg=feature=\"net\"",
    "--cfg=feature=\"os-ext\"",
    "--cfg=feature=\"os-poll\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":mio-v0_8_9.license" ]
}

rust_library("miow-v0_3_7") {
  crate_name = "miow"
  crate_root = "//third_party/rust_crates/empty/miow/src/lib.rs"
  output_name = "miow-299ced46ef99541f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=299ced46ef99541f",
    "-Cextra-filename=-299ced46ef99541f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("mockall-v0_9_0.license") {
  public_package_name = "mockall"
  license_files = [
    "//third_party/rust_crates/vendor/mockall-0.9.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/mockall-0.9.0/LICENSE-MIT",
  ]
}

rust_library("mockall-v0_9_0") {
  crate_name = "mockall"
  crate_root = "//third_party/rust_crates/vendor/mockall-0.9.0/src/lib.rs"
  output_name = "mockall-101dad7ffbea75df"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":downcast-v0_10_0" ]
  deps += [ ":fragile-v1_0_0" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":mockall_derive-v0_9_0($host_toolchain)" ]
  deps += [ ":predicates-tree-v1_0_2" ]
  deps += [ ":predicates-v1_0_7" ]
  deps += [ "//build/validate:non_production_tag" ]
  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=101dad7ffbea75df",
    "-Cextra-filename=-101dad7ffbea75df",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":mockall-v0_9_0.license" ]
}

license("mockall_derive-v0_9_0.license") {
  public_package_name = "mockall_derive"
  license_files = [
    "//third_party/rust_crates/vendor/mockall_derive-0.9.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/mockall_derive-0.9.0/LICENSE-MIT",
  ]
}

rust_proc_macro("mockall_derive-v0_9_0") {
  crate_name = "mockall_derive"
  crate_root =
      "//third_party/rust_crates/vendor/mockall_derive-0.9.0/src/lib.rs"
  output_name = "mockall_derive-6535f5e9d7922162"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6535f5e9d7922162",
    "-Cextra-filename=-6535f5e9d7922162",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":mockall_derive-v0_9_0.license" ]
}

license("multimap-v0_8_3.license") {
  public_package_name = "multimap"
  license_files = [
    "//third_party/rust_crates/vendor/multimap-0.8.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/multimap-0.8.3/LICENSE-MIT",
  ]
}

rust_library("multimap-v0_8_3") {
  crate_name = "multimap"
  crate_root = "//third_party/rust_crates/vendor/multimap-0.8.3/src/lib.rs"
  output_name = "multimap-60f5095b2d01969a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=60f5095b2d01969a",
    "-Cextra-filename=-60f5095b2d01969a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":multimap-v0_8_3.license" ]
}

license("netlink-packet-core-v0_7_0.license") {
  public_package_name = "netlink_packet_core"
  license_files = [
    "//third_party/rust_crates/forks/netlink-packet-core-0.7.0/LICENSE-MIT",
  ]
}

rust_library("netlink-packet-core-v0_7_0") {
  crate_name = "netlink_packet_core"
  crate_root =
      "//third_party/rust_crates/forks/netlink-packet-core-0.7.0/src/lib.rs"
  output_name = "netlink_packet_core-aecdc1c5cbee1f5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":netlink-packet-utils-v0_5_2" ]
  deps += [ ":anyhow-v1_0_75" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=aecdc1c5cbee1f5",
    "-Cextra-filename=-aecdc1c5cbee1f5",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":netlink-packet-core-v0_7_0.license" ]
}

license("netlink-packet-generic-v0_3_3.license") {
  public_package_name = "netlink_packet_generic"
  license_files = [
    "//third_party/rust_crates/forks/netlink-packet-generic-0.3.3/LICENSE-MIT",
  ]
}

rust_library("netlink-packet-generic-v0_3_3") {
  crate_name = "netlink_packet_generic"
  crate_root =
      "//third_party/rust_crates/forks/netlink-packet-generic-0.3.3/src/lib.rs"
  output_name = "netlink_packet_generic-7427460e46946e3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":netlink-packet-core-v0_7_0" ]
  deps += [ ":netlink-packet-utils-v0_5_2" ]
  deps += [ ":anyhow-v1_0_75" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7427460e46946e3",
    "-Cextra-filename=-7427460e46946e3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":netlink-packet-generic-v0_3_3.license" ]
}

license("netlink-packet-route-v0_20_0.license") {
  public_package_name = "netlink_packet_route"
  license_files = [
    "//third_party/rust_crates/forks/netlink-packet-route-0.20.0/LICENSE-MIT",
  ]
}

rust_library("netlink-packet-route-v0_20_0") {
  crate_name = "netlink_packet_route"
  crate_root =
      "//third_party/rust_crates/forks/netlink-packet-route-0.20.0/src/lib.rs"
  output_name = "netlink_packet_route-6a6f82783dbd978e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":netlink-packet-core-v0_7_0" ]
  deps += [ ":netlink-packet-utils-v0_5_2" ]
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":bitflags-v2_4_1" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":thiserror-v1_0_57" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=6a6f82783dbd978e",
    "-Cextra-filename=-6a6f82783dbd978e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":netlink-packet-route-v0_20_0.license" ]
}

license("netlink-packet-sock-diag-v0_4_2.license") {
  public_package_name = "netlink_packet_sock_diag"
  license_files = [ "//third_party/rust_crates/forks/netlink-packet-sock-diag-0.4.2/LICENSE-MIT" ]
}

rust_library("netlink-packet-sock-diag-v0_4_2") {
  crate_name = "netlink_packet_sock_diag"
  crate_root = "//third_party/rust_crates/forks/netlink-packet-sock-diag-0.4.2/src/lib.rs"
  output_name = "netlink_packet_sock_diag-946f7e102ee3e5f0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":netlink-packet-core-v0_7_0" ]
  deps += [ ":netlink-packet-utils-v0_5_2" ]
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":smallvec-v1_13_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=946f7e102ee3e5f0",
    "-Cextra-filename=-946f7e102ee3e5f0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":netlink-packet-sock-diag-v0_4_2.license" ]
}

license("netlink-packet-utils-v0_5_2.license") {
  public_package_name = "netlink_packet_utils"
  license_files = [
    "//third_party/rust_crates/forks/netlink-packet-utils-0.5.2/LICENSE-MIT",
  ]
}

rust_library("netlink-packet-utils-v0_5_2") {
  crate_name = "netlink_packet_utils"
  crate_root =
      "//third_party/rust_crates/forks/netlink-packet-utils-0.5.2/src/lib.rs"
  output_name = "netlink_packet_utils-77b6e0ba4c9d7397"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":thiserror-v1_0_57" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=77b6e0ba4c9d7397",
    "-Cextra-filename=-77b6e0ba4c9d7397",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":netlink-packet-utils-v0_5_2.license" ]
}

license("nix-v0_26_2.license") {
  public_package_name = "nix"
  license_files = [ "//third_party/rust_crates/vendor/nix-0.26.2/LICENSE" ]
}

rust_library("nix-v0_26_2") {
  crate_name = "nix"
  crate_root = "//third_party/rust_crates/vendor/nix-0.26.2/src/lib.rs"
  output_name = "nix-228c27518909fe5c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":pin-utils-v0_1_0" ]
  deps += [ ":static_assertions-v1_1_0" ]
  if (!false) {
    deps += [ ":memoffset-v0_7_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=228c27518909fe5c",
    "-Cextra-filename=-228c27518909fe5c",
    "--cfg=feature=\"acct\"",
    "--cfg=feature=\"aio\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"dir\"",
    "--cfg=feature=\"env\"",
    "--cfg=feature=\"event\"",
    "--cfg=feature=\"feature\"",
    "--cfg=feature=\"fs\"",
    "--cfg=feature=\"hostname\"",
    "--cfg=feature=\"inotify\"",
    "--cfg=feature=\"ioctl\"",
    "--cfg=feature=\"kmod\"",
    "--cfg=feature=\"memoffset\"",
    "--cfg=feature=\"mman\"",
    "--cfg=feature=\"mount\"",
    "--cfg=feature=\"mqueue\"",
    "--cfg=feature=\"net\"",
    "--cfg=feature=\"personality\"",
    "--cfg=feature=\"pin-utils\"",
    "--cfg=feature=\"poll\"",
    "--cfg=feature=\"process\"",
    "--cfg=feature=\"pthread\"",
    "--cfg=feature=\"ptrace\"",
    "--cfg=feature=\"quota\"",
    "--cfg=feature=\"reboot\"",
    "--cfg=feature=\"resource\"",
    "--cfg=feature=\"sched\"",
    "--cfg=feature=\"signal\"",
    "--cfg=feature=\"socket\"",
    "--cfg=feature=\"term\"",
    "--cfg=feature=\"time\"",
    "--cfg=feature=\"ucontext\"",
    "--cfg=feature=\"uio\"",
    "--cfg=feature=\"user\"",
    "--cfg=feature=\"zerocopy\"",
  ]

  visibility = []
  visibility += [ ":*" ]
  visibility += [ "//third_party/rust_crates/compat/rustyline:*" ]

  applicable_licenses = [ ":nix-v0_26_2.license" ]
}

license("nix-v0_27_1.license") {
  public_package_name = "nix"
  license_files = [ "//third_party/rust_crates/vendor/nix-0.27.1/LICENSE" ]
}

rust_library("nix-v0_27_1") {
  crate_name = "nix"
  crate_root = "//third_party/rust_crates/vendor/nix-0.27.1/src/lib.rs"
  output_name = "nix-40d467c7851fd2c7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v2_4_1" ]
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":memoffset-v0_9_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=40d467c7851fd2c7",
    "-Cextra-filename=-40d467c7851fd2c7",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"event\"",
    "--cfg=feature=\"feature\"",
    "--cfg=feature=\"fs\"",
    "--cfg=feature=\"ioctl\"",
    "--cfg=feature=\"memoffset\"",
    "--cfg=feature=\"mman\"",
    "--cfg=feature=\"socket\"",
    "--cfg=feature=\"uio\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":nix-v0_27_1.license" ]
}

license("nom-v5_0_0.license") {
  public_package_name = "nom"
  license_files = [ "//third_party/rust_crates/vendor/nom-5.0.0/LICENSE" ]
}

rust_library("nom-v5_0_0") {
  crate_name = "nom"
  crate_root = "//third_party/rust_crates/vendor/nom-5.0.0/src/lib.rs"
  output_name = "nom-75597d9e6590c988"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":regex-v1_7_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=75597d9e6590c988",
    "-Cextra-filename=-75597d9e6590c988",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"lazy_static\"",
    "--cfg=feature=\"regex\"",
    "--cfg=feature=\"regexp\"",
    "--cfg=feature=\"regexp_macros\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":nom-v5_0_0.license" ]
}

license("nom_locate-v2_1_0.license") {
  public_package_name = "nom_locate"
  license_files =
      [ "//third_party/rust_crates/vendor/nom_locate-2.1.0/LICENSE" ]
}

rust_library("nom_locate-v2_1_0") {
  crate_name = "nom_locate"
  crate_root = "//third_party/rust_crates/vendor/nom_locate-2.1.0/src/lib.rs"
  output_name = "nom_locate-7e01b57d7a23ba7a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":bytecount-v0_6_0" ]
  deps += [ ":nom-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7e01b57d7a23ba7a",
    "-Cextra-filename=-7e01b57d7a23ba7a",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":nom_locate-v2_1_0.license" ]
}

license("normalize-line-endings-v0_3_0.license") {
  public_package_name = "normalize_line_endings"
  license_files = [
    "//third_party/rust_crates/vendor/normalize-line-endings-0.3.0/LICENSE",
  ]
}

rust_library("normalize-line-endings-v0_3_0") {
  crate_name = "normalize_line_endings"
  crate_root =
      "//third_party/rust_crates/vendor/normalize-line-endings-0.3.0/src/lib.rs"
  output_name = "normalize_line_endings-4054253ee9a0f431"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4054253ee9a0f431",
    "-Cextra-filename=-4054253ee9a0f431",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":normalize-line-endings-v0_3_0.license" ]
}

license("notify-v5_2_0.license") {
  public_package_name = "notify"
  license_files = [ "//third_party/rust_crates/forks/notify/LICENSE.ARTISTIC" ]
}

rust_library("notify-v5_2_0") {
  crate_name = "notify"
  crate_root = "//third_party/rust_crates/forks/notify/src/lib.rs"
  output_name = "notify-fabf86cf74fe990b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":walkdir-v2_3_1" ]
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":filetime-v0_2_14" ]
  deps += [ ":libc-v0_2_149" ]
  if (false || false || false || false) {
    deps += [ ":kqueue-v1_0_7" ]
    deps += [ ":mio-v0_8_9" ]
  }
  if (current_os == "linux" || false) {
    deps += [ ":inotify-v0_9_3" ]
    deps += [ ":mio-v0_8_9" ]
  }
  if (current_os == "mac") {
    deps += [ ":fsevent-sys-v4_0_0" ]
  }
  if (false) {
    deps += [ ":windows-sys-v0_45_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=fabf86cf74fe990b",
    "-Cextra-filename=-fabf86cf74fe990b",
    "--cfg=feature=\"fsevent-sys\"",
    "--cfg=feature=\"macos_fsevent\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":notify-v5_2_0.license" ]
}

license("ntapi-v0_3_4.license") {
  public_package_name = "ntapi"
  license_files = [
    "//third_party/rust_crates/empty/ntapi/LICENSE-APACHE",
    "//third_party/rust_crates/empty/ntapi/LICENSE-MIT",
  ]
}

rust_library("ntapi-v0_3_4") {
  crate_name = "ntapi"
  crate_root = "//third_party/rust_crates/empty/ntapi/src/lib.rs"
  output_name = "ntapi-3fb9016f4c012ee1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":winapi-v0_3_9" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3fb9016f4c012ee1",
    "-Cextra-filename=-3fb9016f4c012ee1",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"user\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ntapi-v0_3_4.license" ]
}

license("nu-ansi-term-v0_46_0.license") {
  public_package_name = "nu_ansi_term"
  license_files =
      [ "//third_party/rust_crates/vendor/nu-ansi-term-0.46.0/LICENCE" ]
}

rust_library("nu-ansi-term-v0_46_0") {
  crate_name = "nu_ansi_term"
  crate_root = "//third_party/rust_crates/vendor/nu-ansi-term-0.46.0/src/lib.rs"
  output_name = "nu_ansi_term-8ffdebcdd74cbc77"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":overload-v0_1_1" ]
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8ffdebcdd74cbc77",
    "-Cextra-filename=-8ffdebcdd74cbc77",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":nu-ansi-term-v0_46_0.license" ]
}

license("num-v0_4_0.license") {
  public_package_name = "num"
  license_files = [
    "//third_party/rust_crates/vendor/num-0.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-0.4.0/LICENSE-MIT",
  ]
}

rust_library("num-v0_4_0") {
  crate_name = "num"
  crate_root = "//third_party/rust_crates/vendor/num-0.4.0/src/lib.rs"
  output_name = "num-bbbc48fd5d807e0a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-bigint-v0_4_3" ]
  deps += [ ":num-complex-v0_4_0" ]
  deps += [ ":num-integer-v0_1_44" ]
  deps += [ ":num-iter-v0_1_42" ]
  deps += [ ":num-rational-v0_4_0" ]
  deps += [ ":num-traits-v0_2_18" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=bbbc48fd5d807e0a",
    "-Cextra-filename=-bbbc48fd5d807e0a",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"num-bigint\"",
    "--cfg=feature=\"rand\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-v0_4_0.license" ]
}

license("num-bigint-v0_4_3.license") {
  public_package_name = "num_bigint"
  license_files = [
    "//third_party/rust_crates/vendor/num-bigint-0.4.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-bigint-0.4.3/LICENSE-MIT",
  ]
}

rust_library("num-bigint-v0_4_3") {
  crate_name = "num_bigint"
  crate_root = "//third_party/rust_crates/vendor/num-bigint-0.4.3/src/lib.rs"
  output_name = "num_bigint-362cd991252bf6d3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-integer-v0_1_44" ]
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":rand-v0_8_4" ]

  rustenv = [ "OUT_DIR=../../../../compat/num-bigint" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=362cd991252bf6d3",
    "-Cextra-filename=-362cd991252bf6d3",
    "--cfg=feature=\"rand\"",
    "--cfg=feature=\"std\"",
    "--cfg=u64_digit",
    "--cfg=has_try_from",
  ]
  if (current_cpu == "x64") {
    rustflags += [ "--cfg=use_addcarry" ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-bigint-v0_4_3.license" ]
}

license("num-complex-v0_4_0.license") {
  public_package_name = "num_complex"
  license_files = [
    "//third_party/rust_crates/vendor/num-complex-0.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-complex-0.4.0/LICENSE-MIT",
  ]
}

rust_library("num-complex-v0_4_0") {
  crate_name = "num_complex"
  crate_root = "//third_party/rust_crates/vendor/num-complex-0.4.0/src/lib.rs"
  output_name = "num_complex-2c955e71eec8ce6e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":rand-v0_8_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2c955e71eec8ce6e",
    "-Cextra-filename=-2c955e71eec8ce6e",
    "--cfg=feature=\"rand\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_i128",
    "--cfg=has_const_fn",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-complex-v0_4_0.license" ]
}

license("num_cpus-v1_13_0.license") {
  public_package_name = "num_cpus"
  license_files = [
    "//third_party/rust_crates/vendor/num_cpus-1.13.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num_cpus-1.13.0/LICENSE-MIT",
  ]
}

rust_library("num_cpus-v1_13_0") {
  crate_name = "num_cpus"
  crate_root = "//third_party/rust_crates/vendor/num_cpus-1.13.0/src/lib.rs"
  output_name = "num_cpus-2a33e47c2187c1d3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]
  if ((current_cpu == "x64" || current_cpu == "arm64") && false) {
    deps += [ ":hermit-abi-v0_1_8" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2a33e47c2187c1d3",
    "-Cextra-filename=-2a33e47c2187c1d3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num_cpus-v1_13_0.license" ]
}

license("num-derive-v0_4_2.license") {
  public_package_name = "num_derive"
  license_files = [
    "//third_party/rust_crates/vendor/num-derive-0.4.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-derive-0.4.2/LICENSE-MIT",
  ]
}

rust_proc_macro("num-derive-v0_4_2") {
  crate_name = "num_derive"
  crate_root = "//third_party/rust_crates/vendor/num-derive-0.4.2/src/lib.rs"
  output_name = "num_derive-59c052b6ac9cc106"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=59c052b6ac9cc106",
    "-Cextra-filename=-59c052b6ac9cc106",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-derive-v0_4_2.license" ]
}

license("num-integer-v0_1_44.license") {
  public_package_name = "num_integer"
  license_files = [
    "//third_party/rust_crates/vendor/num-integer-0.1.44/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-integer-0.1.44/LICENSE-MIT",
  ]
}

rust_library("num-integer-v0_1_44") {
  crate_name = "num_integer"
  crate_root = "//third_party/rust_crates/vendor/num-integer-0.1.44/src/lib.rs"
  output_name = "num_integer-2a84ff8675296986"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-traits-v0_2_18" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2a84ff8675296986",
    "-Cextra-filename=-2a84ff8675296986",
    "--cfg=feature=\"i128\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_i128",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-integer-v0_1_44.license" ]
}

license("num-iter-v0_1_42.license") {
  public_package_name = "num_iter"
  license_files = [
    "//third_party/rust_crates/vendor/num-iter-0.1.42/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-iter-0.1.42/LICENSE-MIT",
  ]
}

rust_library("num-iter-v0_1_42") {
  crate_name = "num_iter"
  crate_root = "//third_party/rust_crates/vendor/num-iter-0.1.42/src/lib.rs"
  output_name = "num_iter-a257411d06b07f30"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-integer-v0_1_44" ]
  deps += [ ":num-traits-v0_2_18" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a257411d06b07f30",
    "-Cextra-filename=-a257411d06b07f30",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"i128\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_i128",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-iter-v0_1_42.license" ]
}

license("num-rational-v0_4_0.license") {
  public_package_name = "num_rational"
  license_files = [
    "//third_party/rust_crates/vendor/num-rational-0.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-rational-0.4.0/LICENSE-MIT",
  ]
}

rust_library("num-rational-v0_4_0") {
  crate_name = "num_rational"
  crate_root = "//third_party/rust_crates/vendor/num-rational-0.4.0/src/lib.rs"
  output_name = "num_rational-dcc88f7010610c33"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":num-bigint-v0_4_3" ]
  deps += [ ":num-integer-v0_1_44" ]
  deps += [ ":num-traits-v0_2_18" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=dcc88f7010610c33",
    "-Cextra-filename=-dcc88f7010610c33",
    "--cfg=feature=\"num-bigint\"",
    "--cfg=feature=\"num-bigint-std\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_int_exp_fmt",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-rational-v0_4_0.license" ]
}

license("num-traits-v0_2_18.license") {
  public_package_name = "num_traits"
  license_files = [
    "//third_party/rust_crates/vendor/num-traits-0.2.18/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/num-traits-0.2.18/LICENSE-MIT",
  ]
}

rust_library("num-traits-v0_2_18") {
  crate_name = "num_traits"
  crate_root = "//third_party/rust_crates/vendor/num-traits-0.2.18/src/lib.rs"
  output_name = "num_traits-7866ac47502981a8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libm-v0_2_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7866ac47502981a8",
    "-Cextra-filename=-7866ac47502981a8",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"i128\"",
    "--cfg=feature=\"libm\"",
    "--cfg=feature=\"std\"",
    "--cfg=has_copysign",
    "--cfg=has_div_euclid",
    "--cfg=has_float_to_from_bytes",
    "--cfg=has_int_to_from_bytes",
    "--cfg=has_is_subnormal",
    "--cfg=has_leading_trailing_ones",
    "--cfg=has_reverse_bits",
    "--cfg=has_to_int_unchecked",
    "--cfg=has_total_cmp",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":num-traits-v0_2_18.license" ]
}

license("numtoa-v0_1_0.license") {
  public_package_name = "numtoa"
  license_files = [
    "//third_party/rust_crates/vendor/numtoa-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/numtoa-0.1.0/LICENSE-MIT",
  ]
}

rust_library("numtoa-v0_1_0") {
  crate_name = "numtoa"
  crate_root = "//third_party/rust_crates/vendor/numtoa-0.1.0/src/lib.rs"
  output_name = "numtoa-7acb857cdac0bf2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=7acb857cdac0bf2",
    "-Cextra-filename=-7acb857cdac0bf2",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":numtoa-v0_1_0.license" ]
}

license("omaha_client-v0_1_0.license") {
  public_package_name = "omaha_client"
  license_files = [
    "//third_party/rust_crates/vendor/omaha_client-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/omaha_client-0.1.0/LICENSE-BSD",
    "//third_party/rust_crates/vendor/omaha_client-0.1.0/LICENSE-MIT",
  ]
}

rust_library("omaha_client-v0_1_0") {
  crate_name = "omaha_client"
  crate_root = "//third_party/rust_crates/vendor/omaha_client-0.1.0/src/lib.rs"
  output_name = "omaha_client-464d14c78d580224"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":ecdsa-v0_14_8" ]
  deps += [ ":elliptic-curve-v0_12_3" ]
  deps += [ ":futures-v0_3_19" ]
  deps += [ ":hex-v0_3_2" ]
  deps += [ ":http-v0_2_4" ]
  deps += [ ":hyper-v0_14_19" ]
  deps += [ ":itertools-v0_10_1" ]
  deps += [ ":p256-v0_11_1" ]
  deps += [ ":pin-project-v1_0_11" ]
  deps += [ ":pkcs8-v0_9_0" ]
  deps += [ ":pretty_assertions-v1_2_1" ]
  deps += [ ":rand-v0_8_4" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]
  deps += [ ":serde_repr-v0_1_7($host_toolchain)" ]
  deps += [ ":sha2-v0_10_6" ]
  deps += [ ":signature-v1_6_4" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ ":typed-builder-v0_10_0($host_toolchain)" ]
  deps += [ ":uuid-v1_1_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=464d14c78d580224",
    "-Cextra-filename=-464d14c78d580224",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":omaha_client-v0_1_0.license" ]
}

license("once_cell-v1_17_1.license") {
  public_package_name = "once_cell"
  license_files = [
    "//third_party/rust_crates/vendor/once_cell-1.17.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/once_cell-1.17.1/LICENSE-MIT",
  ]
}

rust_library("once_cell-v1_17_1") {
  crate_name = "once_cell"
  crate_root = "//third_party/rust_crates/vendor/once_cell-1.17.1/src/lib.rs"
  output_name = "once_cell-283c53dba5ff9f5a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=283c53dba5ff9f5a",
    "-Cextra-filename=-283c53dba5ff9f5a",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"race\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"unstable\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":once_cell-v1_17_1.license" ]
}

license("opaque-debug-v0_3_0.license") {
  public_package_name = "opaque_debug"
  license_files = [
    "//third_party/rust_crates/vendor/opaque-debug-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/opaque-debug-0.3.0/LICENSE-MIT",
  ]
}

rust_library("opaque-debug-v0_3_0") {
  crate_name = "opaque_debug"
  crate_root = "//third_party/rust_crates/vendor/opaque-debug-0.3.0/src/lib.rs"
  output_name = "opaque_debug-56835c6b9238e559"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=56835c6b9238e559",
    "-Cextra-filename=-56835c6b9238e559",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":opaque-debug-v0_3_0.license" ]
}

license("openat-v0_1_17.license") {
  public_package_name = "openat"
  license_files = [
    "//third_party/rust_crates/vendor/openat-0.1.17/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/openat-0.1.17/LICENSE-MIT",
  ]
}

rust_library("openat-v0_1_17") {
  crate_name = "openat"
  crate_root = "//third_party/rust_crates/vendor/openat-0.1.17/src/lib.rs"
  output_name = "openat-b3aae38d235053dc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b3aae38d235053dc",
    "-Cextra-filename=-b3aae38d235053dc",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":openat-v0_1_17.license" ]
}

license("openssl-probe-v0_1_2.license") {
  public_package_name = "openssl_probe"
  license_files = [
    "//third_party/rust_crates/vendor/openssl-probe-0.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/openssl-probe-0.1.2/LICENSE-MIT",
  ]
}

rust_library("openssl-probe-v0_1_2") {
  crate_name = "openssl_probe"
  crate_root = "//third_party/rust_crates/vendor/openssl-probe-0.1.2/src/lib.rs"
  output_name = "openssl_probe-759570083bb12b65"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=759570083bb12b65",
    "-Cextra-filename=-759570083bb12b65",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":openssl-probe-v0_1_2.license" ]
}

rust_library("output_vt100-v0_1_3") {
  crate_name = "output_vt100"
  crate_root = "//third_party/rust_crates/empty/output_vt100/src/lib.rs"
  output_name = "output_vt100-b461a7524cd03ba2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b461a7524cd03ba2",
    "-Cextra-filename=-b461a7524cd03ba2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("overload-v0_1_1.license") {
  public_package_name = "overload"
  license_files = [ "//third_party/rust_crates/vendor/overload-0.1.1/LICENSE" ]
}

rust_library("overload-v0_1_1") {
  crate_name = "overload"
  crate_root = "//third_party/rust_crates/vendor/overload-0.1.1/src/lib.rs"
  output_name = "overload-eb3d37d1929098ee"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=eb3d37d1929098ee",
    "-Cextra-filename=-eb3d37d1929098ee",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":overload-v0_1_1.license" ]
}

license("p256-v0_11_1.license") {
  public_package_name = "p256"
  license_files = [
    "//third_party/rust_crates/vendor/p256-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/p256-0.11.1/LICENSE-MIT",
  ]
}

rust_library("p256-v0_11_1") {
  crate_name = "p256"
  crate_root = "//third_party/rust_crates/vendor/p256-0.11.1/src/lib.rs"
  output_name = "p256-7e25af40872242fd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ecdsa-v0_14_8" ]
  deps += [ ":elliptic-curve-v0_12_3" ]
  deps += [ ":serdect-v0_1_0" ]
  deps += [ ":sha2-v0_10_6" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=7e25af40872242fd",
    "-Cextra-filename=-7e25af40872242fd",
    "--cfg=feature=\"arithmetic\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"digest\"",
    "--cfg=feature=\"ecdsa\"",
    "--cfg=feature=\"ecdsa-core\"",
    "--cfg=feature=\"pem\"",
    "--cfg=feature=\"pkcs8\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serdect\"",
    "--cfg=feature=\"sha2\"",
    "--cfg=feature=\"sha256\"",
    "--cfg=feature=\"std\"",
  ]

  aliased_deps = {
    ecdsa_core = ":ecdsa-v0_14_8"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":p256-v0_11_1.license" ]
}

license("parking-v2_0_0.license") {
  public_package_name = "parking"
  license_files = [
    "//third_party/rust_crates/vendor/parking-2.0.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking-2.0.0/LICENSE-MIT",
    "//third_party/rust_crates/vendor/parking-2.0.0/LICENSE-THIRD-PARTY",
  ]
}

rust_library("parking-v2_0_0") {
  crate_name = "parking"
  crate_root = "//third_party/rust_crates/vendor/parking-2.0.0/src/lib.rs"
  output_name = "parking-f53320ef53395fc3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f53320ef53395fc3",
    "-Cextra-filename=-f53320ef53395fc3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":parking-v2_0_0.license" ]
}

license("parking_lot-v0_11_1.license") {
  public_package_name = "parking_lot"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot-0.11.1/LICENSE-MIT",
  ]
}

rust_library("parking_lot-v0_11_1") {
  crate_name = "parking_lot"
  crate_root = "//third_party/rust_crates/vendor/parking_lot-0.11.1/src/lib.rs"
  output_name = "parking_lot-a739a418d82fd597"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":instant-v0_1_9" ]
  deps += [ ":lock_api-v0_4_11" ]
  deps += [ ":parking_lot_core-v0_8_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=a739a418d82fd597",
    "-Cextra-filename=-a739a418d82fd597",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":parking_lot-v0_11_1.license" ]
}

license("parking_lot-v0_12_0.license") {
  public_package_name = "parking_lot"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot-0.12.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot-0.12.0/LICENSE-MIT",
  ]
}

rust_library("parking_lot-v0_12_0") {
  crate_name = "parking_lot"
  crate_root = "//third_party/rust_crates/vendor/parking_lot-0.12.0/src/lib.rs"
  output_name = "parking_lot-d9810ba0a454a15a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lock_api-v0_4_11" ]
  deps += [ ":parking_lot_core-v0_9_9" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d9810ba0a454a15a",
    "-Cextra-filename=-d9810ba0a454a15a",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":parking_lot-v0_12_0.license" ]
}

license("parking_lot-v0_9_0.license") {
  public_package_name = "parking_lot"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot-0.9.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot-0.9.0/LICENSE-MIT",
  ]
}

rust_library("parking_lot-v0_9_0") {
  crate_name = "parking_lot"
  crate_root = "//third_party/rust_crates/vendor/parking_lot-0.9.0/src/lib.rs"
  output_name = "parking_lot-6721767503fecbee"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lock_api-v0_3_4" ]
  deps += [ ":parking_lot_core-v0_6_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6721767503fecbee",
    "-Cextra-filename=-6721767503fecbee",
    "--cfg=feature=\"default\"",
  ]

  visibility = []
  visibility += [ "//src/lib/fuchsia-sync" ]
  visibility += [ "//third_party/rust_crates:*" ]

  applicable_licenses = [ ":parking_lot-v0_9_0.license" ]
}

license("parking_lot_core-v0_6_2.license") {
  public_package_name = "parking_lot_core"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot_core-0.6.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot_core-0.6.2/LICENSE-MIT",
  ]
}

rust_library("parking_lot_core-v0_6_2") {
  crate_name = "parking_lot_core"
  crate_root =
      "//third_party/rust_crates/vendor/parking_lot_core-0.6.2/src/lib.rs"
  output_name = "parking_lot_core-32ade8d5cf038200"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v0_1_10" ]
  deps += [ ":smallvec-v0_6_14" ]
  if (false) {
    deps += [ ":cloudabi-v0_0_3" ]
  }
  if (false) {
    deps += [ ":redox_syscall-v0_1_51" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=32ade8d5cf038200",
    "-Cextra-filename=-32ade8d5cf038200",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_1_51"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":parking_lot_core-v0_6_2.license" ]
}

license("parking_lot_core-v0_8_3.license") {
  public_package_name = "parking_lot_core"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot_core-0.8.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot_core-0.8.3/LICENSE-MIT",
  ]
}

rust_library("parking_lot_core-v0_8_3") {
  crate_name = "parking_lot_core"
  crate_root =
      "//third_party/rust_crates/vendor/parking_lot_core-0.8.3/src/lib.rs"
  output_name = "parking_lot_core-21f257089bd39d94"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":instant-v0_1_9" ]
  deps += [ ":smallvec-v1_13_1" ]
  if (false) {
    deps += [ ":redox_syscall-v0_2_13" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=21f257089bd39d94",
    "-Cextra-filename=-21f257089bd39d94",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_2_13"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":parking_lot_core-v0_8_3.license" ]
}

license("parking_lot_core-v0_9_9.license") {
  public_package_name = "parking_lot_core"
  license_files = [
    "//third_party/rust_crates/vendor/parking_lot_core-0.9.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/parking_lot_core-0.9.9/LICENSE-MIT",
  ]
}

rust_library("parking_lot_core-v0_9_9") {
  crate_name = "parking_lot_core"
  crate_root =
      "//third_party/rust_crates/vendor/parking_lot_core-0.9.9/src/lib.rs"
  output_name = "parking_lot_core-514c12b41d285b80"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":smallvec-v1_13_1" ]
  if (false) {
    deps += [ ":redox_syscall-v0_4_1" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":windows-targets-v0_48_5" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=514c12b41d285b80",
    "-Cextra-filename=-514c12b41d285b80",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":parking_lot_core-v0_9_9.license" ]
}

license("password-hash-v0_4_2.license") {
  public_package_name = "password_hash"
  license_files = [
    "//third_party/rust_crates/vendor/password-hash-0.4.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/password-hash-0.4.2/LICENSE-MIT",
  ]
}

rust_library("password-hash-v0_4_2") {
  crate_name = "password_hash"
  crate_root = "//third_party/rust_crates/vendor/password-hash-0.4.2/src/lib.rs"
  output_name = "password_hash-6a058f9191c6a2ed"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base64ct-v1_6_0" ]
  deps += [ ":rand_core-v0_6_3" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=6a058f9191c6a2ed",
    "-Cextra-filename=-6a058f9191c6a2ed",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":password-hash-v0_4_2.license" ]
}

license("paste-v1_0_9.license") {
  public_package_name = "paste"
  license_files = [
    "//third_party/rust_crates/vendor/paste-1.0.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/paste-1.0.9/LICENSE-MIT",
  ]
}

rust_proc_macro("paste-v1_0_9") {
  crate_name = "paste"
  crate_root = "//third_party/rust_crates/vendor/paste-1.0.9/src/lib.rs"
  output_name = "paste-9ceccfa079366a8a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9ceccfa079366a8a",
    "-Cextra-filename=-9ceccfa079366a8a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":paste-v1_0_9.license" ]
}

license("pathdiff-v0_2_1.license") {
  public_package_name = "pathdiff"
  license_files = [
    "//third_party/rust_crates/vendor/pathdiff-0.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pathdiff-0.2.1/LICENSE-MIT",
  ]
}

rust_library("pathdiff-v0_2_1") {
  crate_name = "pathdiff"
  crate_root = "//third_party/rust_crates/vendor/pathdiff-0.2.1/src/lib.rs"
  output_name = "pathdiff-f92b819d1f19c4a5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":camino-v1_1_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f92b819d1f19c4a5",
    "-Cextra-filename=-f92b819d1f19c4a5",
    "--cfg=feature=\"camino\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pathdiff-v0_2_1.license" ]
}

license("pbkdf2-v0_11_0.license") {
  public_package_name = "pbkdf2"
  license_files = [
    "//third_party/rust_crates/vendor/pbkdf2-0.11.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pbkdf2-0.11.0/LICENSE-MIT",
  ]
}

rust_library("pbkdf2-v0_11_0") {
  crate_name = "pbkdf2"
  crate_root = "//third_party/rust_crates/vendor/pbkdf2-0.11.0/src/lib.rs"
  output_name = "pbkdf2-d9fbdc66c07f60c2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":digest-v0_10_7" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d9fbdc66c07f60c2",
    "-Cextra-filename=-d9fbdc66c07f60c2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pbkdf2-v0_11_0.license" ]
}

license("pem-v0_8_3.license") {
  public_package_name = "pem"
  license_files = [ "//third_party/rust_crates/vendor/pem-0.8.3/LICENSE.md" ]
}

rust_library("pem-v0_8_3") {
  crate_name = "pem"
  crate_root = "//third_party/rust_crates/vendor/pem-0.8.3/src/lib.rs"
  output_name = "pem-cdefa2bfba638b2c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base64-v0_13_0" ]
  deps += [ ":once_cell-v1_17_1" ]
  deps += [ ":regex-v1_7_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cdefa2bfba638b2c",
    "-Cextra-filename=-cdefa2bfba638b2c",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pem-v0_8_3.license" ]
}

license("pem-rfc7468-v0_6_0.license") {
  public_package_name = "pem_rfc7468"
  license_files = [
    "//third_party/rust_crates/vendor/pem-rfc7468-0.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pem-rfc7468-0.6.0/LICENSE-MIT",
  ]
}

rust_library("pem-rfc7468-v0_6_0") {
  crate_name = "pem_rfc7468"
  crate_root = "//third_party/rust_crates/vendor/pem-rfc7468-0.6.0/src/lib.rs"
  output_name = "pem_rfc7468-5fa84759974d2c30"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base64ct-v1_6_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=5fa84759974d2c30",
    "-Cextra-filename=-5fa84759974d2c30",
    "--cfg=feature=\"alloc\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pem-rfc7468-v0_6_0.license" ]
}

license("percent-encoding-v1_0_1.license") {
  public_package_name = "percent_encoding"
  license_files = [
    "//third_party/rust_crates/vendor/percent-encoding-1.0.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/percent-encoding-1.0.1/LICENSE-MIT",
  ]
}

rust_library("percent-encoding-v1_0_1") {
  crate_name = "percent_encoding"
  crate_root = "//third_party/rust_crates/vendor/percent-encoding-1.0.1/lib.rs"
  output_name = "percent_encoding-ac2a99b38019401d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ac2a99b38019401d",
    "-Cextra-filename=-ac2a99b38019401d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":percent-encoding-v1_0_1.license" ]
}

license("percent-encoding-v2_2_0.license") {
  public_package_name = "percent_encoding"
  license_files = [
    "//third_party/rust_crates/vendor/percent-encoding-2.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/percent-encoding-2.2.0/LICENSE-MIT",
  ]
}

rust_library("percent-encoding-v2_2_0") {
  crate_name = "percent_encoding"
  crate_root =
      "//third_party/rust_crates/vendor/percent-encoding-2.2.0/src/lib.rs"
  output_name = "percent_encoding-58f6833f792480e7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=58f6833f792480e7",
    "-Cextra-filename=-58f6833f792480e7",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":percent-encoding-v2_2_0.license" ]
}

license("pest-v2_7_8.license") {
  public_package_name = "pest"
  license_files = [
    "//third_party/rust_crates/vendor/pest-2.7.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pest-2.7.8/LICENSE-MIT",
  ]
}

rust_library("pest-v2_7_8") {
  crate_name = "pest"
  crate_root = "//third_party/rust_crates/vendor/pest-2.7.8/src/lib.rs"
  output_name = "pest-9198485691403e62"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":ucd-trie-v0_1_6" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=9198485691403e62",
    "-Cextra-filename=-9198485691403e62",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"memchr\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pest-v2_7_8.license" ]
}

license("pest_derive-v2_7_8.license") {
  public_package_name = "pest_derive"
  license_files = [
    "//third_party/rust_crates/vendor/pest_derive-2.7.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pest_derive-2.7.8/LICENSE-MIT",
  ]
}

rust_proc_macro("pest_derive-v2_7_8") {
  crate_name = "pest_derive"
  crate_root = "//third_party/rust_crates/vendor/pest_derive-2.7.8/src/lib.rs"
  output_name = "pest_derive-21dd0ec1b82f1fef"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":pest-v2_7_8" ]
  deps += [ ":pest_generator-v2_7_8" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=21dd0ec1b82f1fef",
    "-Cextra-filename=-21dd0ec1b82f1fef",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pest_derive-v2_7_8.license" ]
}

license("pest_generator-v2_7_8.license") {
  public_package_name = "pest_generator"
  license_files = [
    "//third_party/rust_crates/vendor/pest_generator-2.7.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pest_generator-2.7.8/LICENSE-MIT",
  ]
}

rust_library("pest_generator-v2_7_8") {
  crate_name = "pest_generator"
  crate_root =
      "//third_party/rust_crates/vendor/pest_generator-2.7.8/src/lib.rs"
  output_name = "pest_generator-faa5b05e011947da"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":pest-v2_7_8" ]
  deps += [ ":pest_meta-v2_7_8" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=faa5b05e011947da",
    "-Cextra-filename=-faa5b05e011947da",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pest_generator-v2_7_8.license" ]
}

license("pest_meta-v2_7_8.license") {
  public_package_name = "pest_meta"
  license_files = [
    "//third_party/rust_crates/vendor/pest_meta-2.7.8/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pest_meta-2.7.8/LICENSE-MIT",
  ]
}

rust_library("pest_meta-v2_7_8") {
  crate_name = "pest_meta"
  crate_root = "//third_party/rust_crates/vendor/pest_meta-2.7.8/src/lib.rs"
  output_name = "pest_meta-ad122d452878e904"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":once_cell-v1_17_1" ]
  deps += [ ":pest-v2_7_8" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=ad122d452878e904",
    "-Cextra-filename=-ad122d452878e904",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pest_meta-v2_7_8.license" ]
}

license("petgraph-v0_6_2.license") {
  public_package_name = "petgraph"
  license_files = [
    "//third_party/rust_crates/vendor/petgraph-0.6.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/petgraph-0.6.2/LICENSE-MIT",
  ]
}

rust_library("petgraph-v0_6_2") {
  crate_name = "petgraph"
  crate_root = "//third_party/rust_crates/vendor/petgraph-0.6.2/src/lib.rs"
  output_name = "petgraph-10ec43366d8813bd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":fixedbitset-v0_4_2" ]
  deps += [ ":indexmap-v1_9_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=10ec43366d8813bd",
    "-Cextra-filename=-10ec43366d8813bd",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"graphmap\"",
    "--cfg=feature=\"matrix_graph\"",
    "--cfg=feature=\"stable_graph\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":petgraph-v0_6_2.license" ]
}

license("phf-v0_7_24.license") {
  public_package_name = "phf"
  license_files = [ "//third_party/rust_crates/vendor/phf-0.7.24/LICENSE" ]
}

rust_library("phf-v0_7_24") {
  crate_name = "phf"
  crate_root = "//third_party/rust_crates/vendor/phf-0.7.24/src/lib.rs"
  output_name = "phf-b1c3ba777c6cb9d2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":phf_shared-v0_7_24" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b1c3ba777c6cb9d2",
    "-Cextra-filename=-b1c3ba777c6cb9d2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":phf-v0_7_24.license" ]
}

license("phf_shared-v0_7_24.license") {
  public_package_name = "phf_shared"
  license_files =
      [ "//third_party/rust_crates/vendor/phf_shared-0.7.24/LICENSE" ]
}

rust_library("phf_shared-v0_7_24") {
  crate_name = "phf_shared"
  crate_root = "//third_party/rust_crates/vendor/phf_shared-0.7.24/src/lib.rs"
  output_name = "phf_shared-310fac8e05c2d167"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":siphasher-v0_2_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=310fac8e05c2d167",
    "-Cextra-filename=-310fac8e05c2d167",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":phf_shared-v0_7_24.license" ]
}

license("pin-project-v1_0_11.license") {
  public_package_name = "pin_project"
  license_files = [
    "//third_party/rust_crates/vendor/pin-project-1.0.11/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pin-project-1.0.11/LICENSE-MIT",
  ]
}

rust_library("pin-project-v1_0_11") {
  crate_name = "pin_project"
  crate_root = "//third_party/rust_crates/vendor/pin-project-1.0.11/src/lib.rs"
  output_name = "pin_project-55a716de2a61a73b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":pin-project-internal-v1_0_11($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=55a716de2a61a73b",
    "-Cextra-filename=-55a716de2a61a73b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pin-project-v1_0_11.license" ]
}

license("pin-project-internal-v1_0_11.license") {
  public_package_name = "pin_project_internal"
  license_files = [
    "//third_party/rust_crates/vendor/pin-project-internal-1.0.11/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pin-project-internal-1.0.11/LICENSE-MIT",
  ]
}

rust_proc_macro("pin-project-internal-v1_0_11") {
  crate_name = "pin_project_internal"
  crate_root =
      "//third_party/rust_crates/vendor/pin-project-internal-1.0.11/src/lib.rs"
  output_name = "pin_project_internal-94b0d1eaf7b218df"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=94b0d1eaf7b218df",
    "-Cextra-filename=-94b0d1eaf7b218df",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pin-project-internal-v1_0_11.license" ]
}

license("pin-project-lite-v0_2_13.license") {
  public_package_name = "pin_project_lite"
  license_files = [
    "//third_party/rust_crates/vendor/pin-project-lite-0.2.13/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pin-project-lite-0.2.13/LICENSE-MIT",
  ]
}

rust_library("pin-project-lite-v0_2_13") {
  crate_name = "pin_project_lite"
  crate_root =
      "//third_party/rust_crates/vendor/pin-project-lite-0.2.13/src/lib.rs"
  output_name = "pin_project_lite-217660f64930d526"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=217660f64930d526",
    "-Cextra-filename=-217660f64930d526",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pin-project-lite-v0_2_13.license" ]
}

license("pin-utils-v0_1_0.license") {
  public_package_name = "pin_utils"
  license_files = [
    "//third_party/rust_crates/vendor/pin-utils-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pin-utils-0.1.0/LICENSE-MIT",
  ]
}

rust_library("pin-utils-v0_1_0") {
  crate_name = "pin_utils"
  crate_root = "//third_party/rust_crates/vendor/pin-utils-0.1.0/src/lib.rs"
  output_name = "pin_utils-f6d0191654b565d6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f6d0191654b565d6",
    "-Cextra-filename=-f6d0191654b565d6",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pin-utils-v0_1_0.license" ]
}

license("pkcs8-v0_9_0.license") {
  public_package_name = "pkcs8"
  license_files = [
    "//third_party/rust_crates/vendor/pkcs8-0.9.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pkcs8-0.9.0/LICENSE-MIT",
  ]
}

rust_library("pkcs8-v0_9_0") {
  crate_name = "pkcs8"
  crate_root = "//third_party/rust_crates/vendor/pkcs8-0.9.0/src/lib.rs"
  output_name = "pkcs8-aa0e6d100698311f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":der-v0_6_1" ]
  deps += [ ":spki-v0_6_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=aa0e6d100698311f",
    "-Cextra-filename=-aa0e6d100698311f",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"pem\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pkcs8-v0_9_0.license" ]
}

license("png-v0_14_0.license") {
  public_package_name = "png"
  license_files = [
    "//third_party/rust_crates/vendor/png-0.14.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/png-0.14.0/LICENSE-MIT",
  ]
}

rust_library("png-v0_14_0") {
  crate_name = "png"
  crate_root = "//third_party/rust_crates/vendor/png-0.14.0/src/lib.rs"
  output_name = "png-496bf2b92540669a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":deflate-v0_7_19" ]
  deps += [ ":inflate-v0_4_5" ]
  deps += [ ":num-iter-v0_1_42" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=496bf2b92540669a",
    "-Cextra-filename=-496bf2b92540669a",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"deflate\"",
    "--cfg=feature=\"png-encoding\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":png-v0_14_0.license" ]
}

license("podio-v0_1_6.license") {
  public_package_name = "podio"
  license_files = [
    "//third_party/rust_crates/vendor/podio-0.1.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/podio-0.1.6/LICENSE-MIT",
  ]
}

rust_library("podio-v0_1_6") {
  crate_name = "podio"
  crate_root = "//third_party/rust_crates/vendor/podio-0.1.6/src/lib.rs"
  output_name = "podio-9f03c94555630577"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9f03c94555630577",
    "-Cextra-filename=-9f03c94555630577",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":podio-v0_1_6.license" ]
}

license("polling-v2_4_0.license") {
  public_package_name = "polling"
  license_files = [
    "//third_party/rust_crates/vendor/polling-2.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/polling-2.4.0/LICENSE-MIT",
  ]
}

rust_library("polling-v2_4_0") {
  crate_name = "polling"
  crate_root = "//third_party/rust_crates/vendor/polling-2.4.0/src/lib.rs"
  output_name = "polling-8f57c54a6963efb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":log-v0_4_20" ]
  if (true || current_os == "fuchsia" || false) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":wepoll-ffi-v0_1_2" ]
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8f57c54a6963efb",
    "-Cextra-filename=-8f57c54a6963efb",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":polling-v2_4_0.license" ]
}

license("polyval-v0_6_0.license") {
  public_package_name = "polyval"
  license_files = [
    "//third_party/rust_crates/vendor/polyval-0.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/polyval-0.6.0/LICENSE-MIT",
  ]
}

rust_library("polyval-v0_6_0") {
  crate_name = "polyval"
  crate_root = "//third_party/rust_crates/vendor/polyval-0.6.0/src/lib.rs"
  output_name = "polyval-95f88f1b4cf6f52"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":opaque-debug-v0_3_0" ]
  deps += [ ":universal-hash-v0_5_1" ]
  if (current_cpu == "arm64" || current_cpu == "x64" || false) {
    deps += [ ":cpufeatures-v0_2_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=95f88f1b4cf6f52",
    "-Cextra-filename=-95f88f1b4cf6f52",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":polyval-v0_6_0.license" ]
}

license("ppv-lite86-v0_2_10.license") {
  public_package_name = "ppv_lite86"
  license_files = [
    "//third_party/rust_crates/vendor/ppv-lite86-0.2.10/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ppv-lite86-0.2.10/LICENSE-MIT",
  ]
}

rust_library("ppv-lite86-v0_2_10") {
  crate_name = "ppv_lite86"
  crate_root = "//third_party/rust_crates/vendor/ppv-lite86-0.2.10/src/lib.rs"
  output_name = "ppv_lite86-e73b5df0490cc9a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e73b5df0490cc9a",
    "-Cextra-filename=-e73b5df0490cc9a",
    "--cfg=feature=\"simd\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ppv-lite86-v0_2_10.license" ]
}

license("predicates-v1_0_7.license") {
  public_package_name = "predicates"
  license_files = [
    "//third_party/rust_crates/vendor/predicates-1.0.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/predicates-1.0.7/LICENSE-MIT",
  ]
}

rust_library("predicates-v1_0_7") {
  crate_name = "predicates"
  crate_root = "//third_party/rust_crates/vendor/predicates-1.0.7/src/lib.rs"
  output_name = "predicates-18699c217c61a73d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":difference-v2_0_0" ]
  deps += [ ":float-cmp-v0_8_0" ]
  deps += [ ":normalize-line-endings-v0_3_0" ]
  deps += [ ":predicates-core-v1_0_2" ]
  deps += [ ":regex-v1_7_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=18699c217c61a73d",
    "-Cextra-filename=-18699c217c61a73d",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"difference\"",
    "--cfg=feature=\"float-cmp\"",
    "--cfg=feature=\"normalize-line-endings\"",
    "--cfg=feature=\"regex\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":predicates-v1_0_7.license" ]
}

license("predicates-core-v1_0_2.license") {
  public_package_name = "predicates_core"
  license_files = [
    "//third_party/rust_crates/vendor/predicates-core-1.0.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/predicates-core-1.0.2/LICENSE-MIT",
  ]
}

rust_library("predicates-core-v1_0_2") {
  crate_name = "predicates_core"
  crate_root =
      "//third_party/rust_crates/vendor/predicates-core-1.0.2/src/lib.rs"
  output_name = "predicates_core-9278ecd8b23c9da2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9278ecd8b23c9da2",
    "-Cextra-filename=-9278ecd8b23c9da2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":predicates-core-v1_0_2.license" ]
}

license("predicates-tree-v1_0_2.license") {
  public_package_name = "predicates_tree"
  license_files = [
    "//third_party/rust_crates/vendor/predicates-tree-1.0.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/predicates-tree-1.0.2/LICENSE-MIT",
  ]
}

rust_library("predicates-tree-v1_0_2") {
  crate_name = "predicates_tree"
  crate_root =
      "//third_party/rust_crates/vendor/predicates-tree-1.0.2/src/lib.rs"
  output_name = "predicates_tree-2fdd83d7979f6648"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":predicates-core-v1_0_2" ]
  deps += [ ":treeline-v0_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2fdd83d7979f6648",
    "-Cextra-filename=-2fdd83d7979f6648",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":predicates-tree-v1_0_2.license" ]
}

license("pretty-v0_5_2.license") {
  public_package_name = "pretty"
  license_files = [ "//third_party/rust_crates/vendor/pretty-0.5.2/LICENSE" ]
}

rust_library("pretty-v0_5_2") {
  crate_name = "pretty"
  crate_root = "//third_party/rust_crates/vendor/pretty-0.5.2/src/lib.rs"
  output_name = "pretty-80700aa60373011"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":typed-arena-v1_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=80700aa60373011",
    "-Cextra-filename=-80700aa60373011",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pretty-v0_5_2.license" ]
}

license("pretty_assertions-v1_2_1.license") {
  public_package_name = "pretty_assertions"
  license_files = [
    "//third_party/rust_crates/vendor/pretty_assertions-1.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/pretty_assertions-1.2.1/LICENSE-MIT",
  ]
}

rust_library("pretty_assertions-v1_2_1") {
  crate_name = "pretty_assertions"
  crate_root =
      "//third_party/rust_crates/vendor/pretty_assertions-1.2.1/src/lib.rs"
  output_name = "pretty_assertions-f3aaec2ba7bb72d0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ansi_term-v0_12_1" ]
  deps += [ ":diff-v0_1_13" ]
  if (false) {
    deps += [ ":ctor-v0_1_22" ]
    deps += [ ":output_vt100-v0_1_3" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f3aaec2ba7bb72d0",
    "-Cextra-filename=-f3aaec2ba7bb72d0",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pretty_assertions-v1_2_1.license" ]
}

license("prettytable-rs-v0_8_0.license") {
  public_package_name = "prettytable"
  license_files =
      [ "//third_party/rust_crates/forks/prettytable-rs/LICENSE.txt" ]
}

rust_library("prettytable-rs-v0_8_0") {
  crate_name = "prettytable"
  crate_root = "//third_party/rust_crates/forks/prettytable-rs/src/lib.rs"
  output_name = "prettytable-1855933ce08984ad"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":csv-v1_2_1" ]
  deps += [ ":atty-v0_2_11" ]
  deps += [ ":encode_unicode-v0_3_5" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":term-v0_5_1" ]
  deps += [ ":unicode-width-v0_1_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1855933ce08984ad",
    "-Cextra-filename=-1855933ce08984ad",
    "--cfg=feature=\"csv\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"win_crlf\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":prettytable-rs-v0_8_0.license" ]
}

license("proc-macro2-v0_4_27.license") {
  public_package_name = "proc_macro2"
  license_files = [
    "//third_party/rust_crates/vendor/proc-macro2-0.4.27/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proc-macro2-0.4.27/LICENSE-MIT",
  ]
}

rust_library("proc-macro2-v0_4_27") {
  crate_name = "proc_macro2"
  crate_root = "//third_party/rust_crates/vendor/proc-macro2-0.4.27/src/lib.rs"
  output_name = "proc_macro2-b6435296c5b4a378"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-xid-v0_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b6435296c5b4a378",
    "-Cextra-filename=-b6435296c5b4a378",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"proc-macro\"",
    "--cfg=u128",
    "--cfg=use_proc_macro",
    "--cfg=wrap_proc_macro",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proc-macro2-v0_4_27.license" ]
}

license("proc-macro2-v1_0_79.license") {
  public_package_name = "proc_macro2"
  license_files = [
    "//third_party/rust_crates/vendor/proc-macro2-1.0.79/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proc-macro2-1.0.79/LICENSE-MIT",
  ]
}

rust_library("proc-macro2-v1_0_79") {
  crate_name = "proc_macro2"
  crate_root = "//third_party/rust_crates/vendor/proc-macro2-1.0.79/src/lib.rs"
  output_name = "proc_macro2-3667db77055f2b5f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-ident-v1_0_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=3667db77055f2b5f",
    "-Cextra-filename=-3667db77055f2b5f",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"proc-macro\"",
    "--cfg=feature=\"span-locations\"",
    "--cfg=span_locations",
    "--cfg=wrap_proc_macro",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proc-macro2-v1_0_79.license" ]
}

license("proc-macro-error-v1_0_4.license") {
  public_package_name = "proc_macro_error"
  license_files = [
    "//third_party/rust_crates/vendor/proc-macro-error-1.0.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proc-macro-error-1.0.4/LICENSE-MIT",
  ]
}

rust_library("proc-macro-error-v1_0_4") {
  crate_name = "proc_macro_error"
  crate_root =
      "//third_party/rust_crates/vendor/proc-macro-error-1.0.4/src/lib.rs"
  output_name = "proc_macro_error-7fe39f1884bfdcff"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro-error-attr-v1_0_4($host_toolchain)" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7fe39f1884bfdcff",
    "-Cextra-filename=-7fe39f1884bfdcff",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"syn\"",
    "--cfg=feature=\"syn-error\"",
    "--cfg=use_fallback",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proc-macro-error-v1_0_4.license" ]
}

license("proc-macro-error-attr-v1_0_4.license") {
  public_package_name = "proc_macro_error_attr"
  license_files = [
    "//third_party/rust_crates/vendor/proc-macro-error-attr-1.0.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proc-macro-error-attr-1.0.4/LICENSE-MIT",
  ]
}

rust_proc_macro("proc-macro-error-attr-v1_0_4") {
  crate_name = "proc_macro_error_attr"
  crate_root =
      "//third_party/rust_crates/vendor/proc-macro-error-attr-1.0.4/src/lib.rs"
  output_name = "proc_macro_error_attr-f458d86aacd315ad"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f458d86aacd315ad",
    "-Cextra-filename=-f458d86aacd315ad",
    "--cfg=use_fallback",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proc-macro-error-attr-v1_0_4.license" ]
}

license("proptest-v1_4_0.license") {
  public_package_name = "proptest"
  license_files = [
    "//third_party/rust_crates/vendor/proptest-1.4.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proptest-1.4.0/LICENSE-MIT",
  ]
}

rust_library("proptest-v1_4_0") {
  crate_name = "proptest"
  crate_root = "//third_party/rust_crates/vendor/proptest-1.4.0/src/lib.rs"
  output_name = "proptest-60c7a54e1a2dc821"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bit-set-v0_5_3" ]
  deps += [ ":bit-vec-v0_6_3" ]
  deps += [ ":bitflags-v2_4_1" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":num-traits-v0_2_18" ]
  deps += [ ":rand-v0_8_4" ]
  deps += [ ":rand_chacha-v0_3_1" ]
  deps += [ ":rand_xorshift-v0_3_0" ]
  deps += [ ":regex-syntax-v0_8_3" ]
  deps += [ ":rusty-fork-v0_3_0" ]
  deps += [ ":tempfile-v3_2_0" ]
  deps += [ ":unarray-v0_1_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=60c7a54e1a2dc821",
    "-Cextra-filename=-60c7a54e1a2dc821",
    "--cfg=feature=\"bit-set\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"fork\"",
    "--cfg=feature=\"lazy_static\"",
    "--cfg=feature=\"regex-syntax\"",
    "--cfg=feature=\"rusty-fork\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"tempfile\"",
    "--cfg=feature=\"timeout\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proptest-v1_4_0.license" ]
}

license("proptest-derive-v0_3_0.license") {
  public_package_name = "proptest_derive"
  license_files = [
    "//third_party/rust_crates/vendor/proptest-derive-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/proptest-derive-0.3.0/LICENSE-MIT",
  ]
}

rust_proc_macro("proptest-derive-v0_3_0") {
  crate_name = "proptest_derive"
  crate_root =
      "//third_party/rust_crates/vendor/proptest-derive-0.3.0/src/lib.rs"
  output_name = "proptest_derive-3ff04ca82bf92114"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v0_4_27" ]
  deps += [ ":quote-v0_6_11" ]
  deps += [ ":syn-v0_15_26" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3ff04ca82bf92114",
    "-Cextra-filename=-3ff04ca82bf92114",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":proptest-derive-v0_3_0.license" ]
}

license("prost-v0_11_0.license") {
  public_package_name = "prost"
  license_files = [ "//third_party/rust_crates/vendor/prost-0.11.0/LICENSE" ]
}

rust_library("prost-v0_11_0") {
  crate_name = "prost"
  crate_root = "//third_party/rust_crates/vendor/prost-0.11.0/src/lib.rs"
  output_name = "prost-9d1b4fd120de6694"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":prost-derive-v0_11_0($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=9d1b4fd120de6694",
    "-Cextra-filename=-9d1b4fd120de6694",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"prost-derive\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":prost-v0_11_0.license" ]
}

license("prost-build-v0_11_1.license") {
  public_package_name = "prost_build"
  license_files =
      [ "//third_party/rust_crates/vendor/prost-build-0.11.1/LICENSE" ]
}

rust_library("prost-build-v0_11_1") {
  crate_name = "prost_build"
  crate_root = "//third_party/rust_crates/vendor/prost-build-0.11.1/src/lib.rs"
  output_name = "prost_build-82ee70f5a1cc1810"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":heck-v0_4_1" ]
  deps += [ ":itertools-v0_10_1" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":multimap-v0_8_3" ]
  deps += [ ":petgraph-v0_6_2" ]
  deps += [ ":prost-types-v0_11_1" ]
  deps += [ ":prost-v0_11_0" ]
  deps += [ ":regex-v1_7_3" ]
  deps += [ ":tempfile-v3_2_0" ]
  deps += [ ":which-v4_0_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=82ee70f5a1cc1810",
    "-Cextra-filename=-82ee70f5a1cc1810",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":prost-build-v0_11_1.license" ]
}

license("prost-derive-v0_11_0.license") {
  public_package_name = "prost_derive"
  license_files =
      [ "//third_party/rust_crates/vendor/prost-derive-0.11.0/LICENSE" ]
}

rust_proc_macro("prost-derive-v0_11_0") {
  crate_name = "prost_derive"
  crate_root = "//third_party/rust_crates/vendor/prost-derive-0.11.0/src/lib.rs"
  output_name = "prost_derive-1b1b4e5ceb7d715e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":itertools-v0_10_1" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=1b1b4e5ceb7d715e",
    "-Cextra-filename=-1b1b4e5ceb7d715e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":prost-derive-v0_11_0.license" ]
}

license("prost-types-v0_11_1.license") {
  public_package_name = "prost_types"
  license_files =
      [ "//third_party/rust_crates/vendor/prost-types-0.11.1/LICENSE" ]
}

rust_library("prost-types-v0_11_1") {
  crate_name = "prost_types"
  crate_root = "//third_party/rust_crates/vendor/prost-types-0.11.1/src/lib.rs"
  output_name = "prost_types-811d56aba2bd75e4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bytes-v1_0_1" ]
  deps += [ ":prost-v0_11_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=811d56aba2bd75e4",
    "-Cextra-filename=-811d56aba2bd75e4",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":prost-types-v0_11_1.license" ]
}

license("publicsuffix-v1_5_4.license") {
  public_package_name = "publicsuffix"
  license_files = [
    "//third_party/rust_crates/vendor/publicsuffix-1.5.4/LICENSE",
    "//third_party/rust_crates/vendor/publicsuffix-1.5.4/LICENSE-APACHE",
  ]
}

rust_library("publicsuffix-v1_5_4") {
  crate_name = "publicsuffix"
  crate_root = "//third_party/rust_crates/vendor/publicsuffix-1.5.4/src/lib.rs"
  output_name = "publicsuffix-a0801fd98f37af12"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":error-chain-v0_12_0" ]
  deps += [ ":idna-v0_2_3" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":regex-v1_7_3" ]
  deps += [ ":url-v2_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a0801fd98f37af12",
    "-Cextra-filename=-a0801fd98f37af12",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":publicsuffix-v1_5_4.license" ]
}

license("pulldown-cmark-v0_6_0.license") {
  public_package_name = "pulldown_cmark"
  license_files = [ "//third_party/rust_crates/forks/pulldown-cmark/LICENSE" ]
}

rust_library("pulldown-cmark-v0_6_0") {
  crate_name = "pulldown_cmark"
  crate_root = "//third_party/rust_crates/forks/pulldown-cmark/src/lib.rs"
  output_name = "pulldown_cmark-de13a6fc690a4786"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":getopts-v0_2_18" ]
  deps += [ ":unicase-v2_7_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=de13a6fc690a4786",
    "-Cextra-filename=-de13a6fc690a4786",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"getopts\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":pulldown-cmark-v0_6_0.license" ]
}

license("quick-error-v1_2_2.license") {
  public_package_name = "quick_error"
  license_files = [
    "//third_party/rust_crates/vendor/quick-error-1.2.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/quick-error-1.2.2/LICENSE-MIT",
  ]
}

rust_library("quick-error-v1_2_2") {
  crate_name = "quick_error"
  crate_root = "//third_party/rust_crates/vendor/quick-error-1.2.2/src/lib.rs"
  output_name = "quick_error-5bd842b4b1c97fb4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5bd842b4b1c97fb4",
    "-Cextra-filename=-5bd842b4b1c97fb4",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":quick-error-v1_2_2.license" ]
}

license("quote-v0_6_11.license") {
  public_package_name = "quote"
  license_files = [
    "//third_party/rust_crates/vendor/quote-0.6.11/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/quote-0.6.11/LICENSE-MIT",
  ]
}

rust_library("quote-v0_6_11") {
  crate_name = "quote"
  crate_root = "//third_party/rust_crates/vendor/quote-0.6.11/src/lib.rs"
  output_name = "quote-4a6a7c47667b0a02"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v0_4_27" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4a6a7c47667b0a02",
    "-Cextra-filename=-4a6a7c47667b0a02",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"proc-macro\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":quote-v0_6_11.license" ]
}

license("quote-v1_0_35.license") {
  public_package_name = "quote"
  license_files = [
    "//third_party/rust_crates/vendor/quote-1.0.35/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/quote-1.0.35/LICENSE-MIT",
  ]
}

rust_library("quote-v1_0_35") {
  crate_name = "quote"
  crate_root = "//third_party/rust_crates/vendor/quote-1.0.35/src/lib.rs"
  output_name = "quote-f08b937169099f82"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f08b937169099f82",
    "-Cextra-filename=-f08b937169099f82",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"proc-macro\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":quote-v1_0_35.license" ]
}

license("rand-v0_6_5.license") {
  public_package_name = "rand"
  license_files = [
    "//third_party/rust_crates/vendor/rand-0.6.5/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand-0.6.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand-0.6.5/LICENSE-MIT",
  ]
}

rust_library("rand-v0_6_5") {
  crate_name = "rand"
  crate_root = "//third_party/rust_crates/vendor/rand-0.6.5/src/lib.rs"
  output_name = "rand-49454de2a45e84d2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_chacha-v0_1_1" ]
  deps += [ ":rand_core-v0_4_2" ]
  deps += [ ":rand_hc-v0_1_0" ]
  deps += [ ":rand_isaac-v0_1_1" ]
  deps += [ ":rand_jitter-v0_1_3" ]
  deps += [ ":rand_os-v0_1_2" ]
  deps += [ ":rand_pcg-v0_1_1" ]
  deps += [ ":rand_xorshift-v0_1_1" ]
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=49454de2a45e84d2",
    "-Cextra-filename=-49454de2a45e84d2",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"rand_os\"",
    "--cfg=feature=\"std\"",
    "--cfg=rustc_1_25",
    "--cfg=rustc_1_26",
    "--cfg=rustc_1_27",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand-v0_6_5.license" ]
}

license("rand-v0_8_4.license") {
  public_package_name = "rand"
  license_files = [
    "//third_party/rust_crates/vendor/rand-0.8.4/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand-0.8.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand-0.8.4/LICENSE-MIT",
  ]
}

rust_library("rand-v0_8_4") {
  crate_name = "rand"
  crate_root = "//third_party/rust_crates/vendor/rand-0.8.4/src/lib.rs"
  output_name = "rand-3acdc77c21a3a508"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_6_3" ]
  if (!false) {
    deps += [ ":rand_chacha-v0_3_1" ]
  }
  if (false) {
    deps += [ ":rand_hc-v0_3_1" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3acdc77c21a3a508",
    "-Cextra-filename=-3acdc77c21a3a508",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"libc\"",
    "--cfg=feature=\"rand_chacha\"",
    "--cfg=feature=\"rand_hc\"",
    "--cfg=feature=\"small_rng\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"std_rng\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand-v0_8_4.license" ]
}

license("rand_chacha-v0_1_1.license") {
  public_package_name = "rand_chacha"
  license_files = [
    "//third_party/rust_crates/vendor/rand_chacha-0.1.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_chacha-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_chacha-0.1.1/LICENSE-MIT",
  ]
}

rust_library("rand_chacha-v0_1_1") {
  crate_name = "rand_chacha"
  crate_root = "//third_party/rust_crates/vendor/rand_chacha-0.1.1/src/lib.rs"
  output_name = "rand_chacha-4d71541867d8f94f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4d71541867d8f94f",
    "-Cextra-filename=-4d71541867d8f94f",
    "--cfg=rustc_1_26",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_chacha-v0_1_1.license" ]
}

license("rand_chacha-v0_3_1.license") {
  public_package_name = "rand_chacha"
  license_files = [
    "//third_party/rust_crates/vendor/rand_chacha-0.3.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_chacha-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_chacha-0.3.1/LICENSE-MIT",
  ]
}

rust_library("rand_chacha-v0_3_1") {
  crate_name = "rand_chacha"
  crate_root = "//third_party/rust_crates/vendor/rand_chacha-0.3.1/src/lib.rs"
  output_name = "rand_chacha-fcec8b118d26a7b7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ppv-lite86-v0_2_10" ]
  deps += [ ":rand_core-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fcec8b118d26a7b7",
    "-Cextra-filename=-fcec8b118d26a7b7",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_chacha-v0_3_1.license" ]
}

license("rand_core-v0_3_1.license") {
  public_package_name = "rand_core"
  license_files = [
    "//third_party/rust_crates/vendor/rand_core-0.3.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_core-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_core-0.3.1/LICENSE-MIT",
  ]
}

rust_library("rand_core-v0_3_1") {
  crate_name = "rand_core"
  crate_root = "//third_party/rust_crates/vendor/rand_core-0.3.1/src/lib.rs"
  output_name = "rand_core-1d548fa20a792394"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_4_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1d548fa20a792394",
    "-Cextra-filename=-1d548fa20a792394",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_core-v0_3_1.license" ]
}

license("rand_core-v0_4_2.license") {
  public_package_name = "rand_core"
  license_files = [
    "//third_party/rust_crates/vendor/rand_core-0.4.2/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_core-0.4.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_core-0.4.2/LICENSE-MIT",
  ]
}

rust_library("rand_core-v0_4_2") {
  crate_name = "rand_core"
  crate_root = "//third_party/rust_crates/vendor/rand_core-0.4.2/src/lib.rs"
  output_name = "rand_core-a1ab8a2dace5ada0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a1ab8a2dace5ada0",
    "-Cextra-filename=-a1ab8a2dace5ada0",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_core-v0_4_2.license" ]
}

license("rand_core-v0_6_3.license") {
  public_package_name = "rand_core"
  license_files = [
    "//third_party/rust_crates/vendor/rand_core-0.6.3/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_core-0.6.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_core-0.6.3/LICENSE-MIT",
  ]
}

rust_library("rand_core-v0_6_3") {
  crate_name = "rand_core"
  crate_root = "//third_party/rust_crates/vendor/rand_core-0.6.3/src/lib.rs"
  output_name = "rand_core-c72139d238b8db6b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":getrandom-v0_2_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c72139d238b8db6b",
    "-Cextra-filename=-c72139d238b8db6b",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_core-v0_6_3.license" ]
}

license("rand_hc-v0_1_0.license") {
  public_package_name = "rand_hc"
  license_files = [
    "//third_party/rust_crates/vendor/rand_hc-0.1.0/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_hc-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_hc-0.1.0/LICENSE-MIT",
  ]
}

rust_library("rand_hc-v0_1_0") {
  crate_name = "rand_hc"
  crate_root = "//third_party/rust_crates/vendor/rand_hc-0.1.0/src/lib.rs"
  output_name = "rand_hc-e9f4f74a87ae5d3b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e9f4f74a87ae5d3b",
    "-Cextra-filename=-e9f4f74a87ae5d3b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_hc-v0_1_0.license" ]
}

license("rand_hc-v0_3_1.license") {
  public_package_name = "rand_hc"
  license_files = [
    "//third_party/rust_crates/vendor/rand_hc-0.3.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_hc-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_hc-0.3.1/LICENSE-MIT",
  ]
}

rust_library("rand_hc-v0_3_1") {
  crate_name = "rand_hc"
  crate_root = "//third_party/rust_crates/vendor/rand_hc-0.3.1/src/lib.rs"
  output_name = "rand_hc-3ce129596cc19371"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3ce129596cc19371",
    "-Cextra-filename=-3ce129596cc19371",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_hc-v0_3_1.license" ]
}

license("rand_isaac-v0_1_1.license") {
  public_package_name = "rand_isaac"
  license_files = [
    "//third_party/rust_crates/vendor/rand_isaac-0.1.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_isaac-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_isaac-0.1.1/LICENSE-MIT",
  ]
}

rust_library("rand_isaac-v0_1_1") {
  crate_name = "rand_isaac"
  crate_root = "//third_party/rust_crates/vendor/rand_isaac-0.1.1/src/lib.rs"
  output_name = "rand_isaac-3b88f072e0dd7a40"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=3b88f072e0dd7a40",
    "-Cextra-filename=-3b88f072e0dd7a40",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_isaac-v0_1_1.license" ]
}

license("rand_jitter-v0_1_3.license") {
  public_package_name = "rand_jitter"
  license_files = [
    "//third_party/rust_crates/vendor/rand_jitter-0.1.3/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_jitter-0.1.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_jitter-0.1.3/LICENSE-MIT",
  ]
}

rust_library("rand_jitter-v0_1_3") {
  crate_name = "rand_jitter"
  crate_root = "//third_party/rust_crates/vendor/rand_jitter-0.1.3/src/lib.rs"
  output_name = "rand_jitter-f950fa4b6ab9b786"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_4_2" ]
  if (current_os == "mac" || false) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f950fa4b6ab9b786",
    "-Cextra-filename=-f950fa4b6ab9b786",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_jitter-v0_1_3.license" ]
}

license("rand_os-v0_1_2.license") {
  public_package_name = "rand_os"
  license_files = [
    "//third_party/rust_crates/vendor/rand_os-0.1.2/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_os-0.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_os-0.1.2/LICENSE-MIT",
  ]
}

rust_library("rand_os-v0_1_2") {
  crate_name = "rand_os"
  crate_root = "//third_party/rust_crates/vendor/rand_os-0.1.2/src/lib.rs"
  output_name = "rand_os-b32b7b23928c4779"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_4_2" ]
  if (false) {
    deps += [ ":rdrand-v0_4_0" ]
  }
  if (false) {
    deps += [ ":cloudabi-v0_0_3" ]
  }
  if (current_os == "fuchsia") {
    deps += [ ":fuchsia-cprng-v0_1_1" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b32b7b23928c4779",
    "-Cextra-filename=-b32b7b23928c4779",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_os-v0_1_2.license" ]
}

license("rand_pcg-v0_1_1.license") {
  public_package_name = "rand_pcg"
  license_files = [
    "//third_party/rust_crates/vendor/rand_pcg-0.1.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_pcg-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_pcg-0.1.1/LICENSE-MIT",
  ]
}

rust_library("rand_pcg-v0_1_1") {
  crate_name = "rand_pcg"
  crate_root = "//third_party/rust_crates/vendor/rand_pcg-0.1.1/src/lib.rs"
  output_name = "rand_pcg-acb26d14eb85350b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=acb26d14eb85350b",
    "-Cextra-filename=-acb26d14eb85350b",
    "--cfg=rust_1_26",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_pcg-v0_1_1.license" ]
}

license("rand_xorshift-v0_1_1.license") {
  public_package_name = "rand_xorshift"
  license_files = [
    "//third_party/rust_crates/vendor/rand_xorshift-0.1.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_xorshift-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_xorshift-0.1.1/LICENSE-MIT",
  ]
}

rust_library("rand_xorshift-v0_1_1") {
  crate_name = "rand_xorshift"
  crate_root = "//third_party/rust_crates/vendor/rand_xorshift-0.1.1/src/lib.rs"
  output_name = "rand_xorshift-7904c04fa5190cb3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=7904c04fa5190cb3",
    "-Cextra-filename=-7904c04fa5190cb3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_xorshift-v0_1_1.license" ]
}

license("rand_xorshift-v0_3_0.license") {
  public_package_name = "rand_xorshift"
  license_files = [
    "//third_party/rust_crates/vendor/rand_xorshift-0.3.0/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_xorshift-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_xorshift-0.3.0/LICENSE-MIT",
  ]
}

rust_library("rand_xorshift-v0_3_0") {
  crate_name = "rand_xorshift"
  crate_root = "//third_party/rust_crates/vendor/rand_xorshift-0.3.0/src/lib.rs"
  output_name = "rand_xorshift-12b3d401a1d4e38"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=12b3d401a1d4e38",
    "-Cextra-filename=-12b3d401a1d4e38",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_xorshift-v0_3_0.license" ]
}

license("rand_xoshiro-v0_1_0.license") {
  public_package_name = "rand_xoshiro"
  license_files = [
    "//third_party/rust_crates/vendor/rand_xoshiro-0.1.0/COPYRIGHT",
    "//third_party/rust_crates/vendor/rand_xoshiro-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rand_xoshiro-0.1.0/LICENSE-MIT",
  ]
}

rust_library("rand_xoshiro-v0_1_0") {
  crate_name = "rand_xoshiro"
  crate_root = "//third_party/rust_crates/vendor/rand_xoshiro-0.1.0/src/lib.rs"
  output_name = "rand_xoshiro-1085831e9652f99c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1085831e9652f99c",
    "-Cextra-filename=-1085831e9652f99c",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rand_xoshiro-v0_1_0.license" ]
}

license("rayon-v1_3_0.license") {
  public_package_name = "rayon"
  license_files = [
    "//third_party/rust_crates/vendor/rayon-1.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rayon-1.3.0/LICENSE-MIT",
  ]
}

rust_library("rayon-v1_3_0") {
  crate_name = "rayon"
  crate_root = "//third_party/rust_crates/vendor/rayon-1.3.0/src/lib.rs"
  output_name = "rayon-9313a85f140dc837"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crossbeam-deque-v0_7_4" ]
  deps += [ ":either-v1_8_0" ]
  deps += [ ":rayon-core-v1_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9313a85f140dc837",
    "-Cextra-filename=-9313a85f140dc837",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rayon-v1_3_0.license" ]
}

license("rayon-core-v1_7_1.license") {
  public_package_name = "rayon_core"
  license_files = [
    "//third_party/rust_crates/vendor/rayon-core-1.7.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rayon-core-1.7.1/LICENSE-MIT",
  ]
}

rust_library("rayon-core-v1_7_1") {
  crate_name = "rayon_core"
  crate_root = "//third_party/rust_crates/vendor/rayon-core-1.7.1/src/lib.rs"
  output_name = "rayon_core-aa56f2c8ddc2f0cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crossbeam-deque-v0_7_4" ]
  deps += [ ":crossbeam-queue-v0_2_1" ]
  deps += [ ":crossbeam-utils-v0_7_2" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":num_cpus-v1_13_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=aa56f2c8ddc2f0cd",
    "-Cextra-filename=-aa56f2c8ddc2f0cd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rayon-core-v1_7_1.license" ]
}

license("rdrand-v0_4_0.license") {
  public_package_name = "rdrand"
  license_files = [ "//third_party/rust_crates/vendor/rdrand-0.4.0/LICENSE" ]
}

rust_library("rdrand-v0_4_0") {
  crate_name = "rdrand"
  crate_root = "//third_party/rust_crates/vendor/rdrand-0.4.0/src/lib.rs"
  output_name = "rdrand-f63300c5315f5e88"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand_core-v0_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f63300c5315f5e88",
    "-Cextra-filename=-f63300c5315f5e88",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rdrand-v0_4_0.license" ]
}

rust_library("redox_syscall-v0_4_1") {
  crate_name = "redox_syscall"
  crate_root = "//third_party/rust_crates/empty/redox_syscall/src/lib.rs"
  output_name = "redox_syscall-e9984ec56112b9ff"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e9984ec56112b9ff",
    "-Cextra-filename=-e9984ec56112b9ff",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("redox_termios-v0_1_1.license") {
  public_package_name = "redox_termios"
  license_files =
      [ "//third_party/rust_crates/vendor/redox_termios-0.1.1/LICENSE" ]
}

rust_library("redox_termios-v0_1_1") {
  crate_name = "redox_termios"
  crate_root = "//third_party/rust_crates/vendor/redox_termios-0.1.1/src/lib.rs"
  output_name = "redox_termios-961497fce38cbc39"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":redox_syscall-v0_1_51" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=961497fce38cbc39",
    "-Cextra-filename=-961497fce38cbc39",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_1_51"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":redox_termios-v0_1_1.license" ]
}

license("ref-cast-v1_0_9.license") {
  public_package_name = "ref_cast"
  license_files = [
    "//third_party/rust_crates/vendor/ref-cast-1.0.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ref-cast-1.0.9/LICENSE-MIT",
  ]
}

rust_library("ref-cast-v1_0_9") {
  crate_name = "ref_cast"
  crate_root = "//third_party/rust_crates/vendor/ref-cast-1.0.9/src/lib.rs"
  output_name = "ref_cast-5f8a6c7128c29f04"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ref-cast-impl-v1_0_9($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5f8a6c7128c29f04",
    "-Cextra-filename=-5f8a6c7128c29f04",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ref-cast-v1_0_9.license" ]
}

license("ref-cast-impl-v1_0_9.license") {
  public_package_name = "ref_cast_impl"
  license_files = [
    "//third_party/rust_crates/vendor/ref-cast-impl-1.0.9/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ref-cast-impl-1.0.9/LICENSE-MIT",
  ]
}

rust_proc_macro("ref-cast-impl-v1_0_9") {
  crate_name = "ref_cast_impl"
  crate_root = "//third_party/rust_crates/vendor/ref-cast-impl-1.0.9/src/lib.rs"
  output_name = "ref_cast_impl-a620d94b17744ad"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=a620d94b17744ad",
    "-Cextra-filename=-a620d94b17744ad",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ref-cast-impl-v1_0_9.license" ]
}

license("regex-v1_7_3.license") {
  public_package_name = "regex"
  license_files = [
    "//third_party/rust_crates/vendor/regex-1.7.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/regex-1.7.3/LICENSE-MIT",
    "//third_party/rust_crates/vendor/regex-1.7.3/src/testdata/LICENSE",
  ]
}

rust_library("regex-v1_7_3") {
  crate_name = "regex"
  crate_root = "//third_party/rust_crates/vendor/regex-1.7.3/src/lib.rs"
  output_name = "regex-c7447a07c90d7939"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":aho-corasick-v0_7_18" ]
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":regex-syntax-v0_6_29" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c7447a07c90d7939",
    "-Cextra-filename=-c7447a07c90d7939",
    "--cfg=feature=\"aho-corasick\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"memchr\"",
    "--cfg=feature=\"perf\"",
    "--cfg=feature=\"perf-cache\"",
    "--cfg=feature=\"perf-dfa\"",
    "--cfg=feature=\"perf-inline\"",
    "--cfg=feature=\"perf-literal\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"unicode\"",
    "--cfg=feature=\"unicode-age\"",
    "--cfg=feature=\"unicode-bool\"",
    "--cfg=feature=\"unicode-case\"",
    "--cfg=feature=\"unicode-gencat\"",
    "--cfg=feature=\"unicode-perl\"",
    "--cfg=feature=\"unicode-script\"",
    "--cfg=feature=\"unicode-segment\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":regex-v1_7_3.license" ]
}

license("regex-automata-v0_1_9.license") {
  public_package_name = "regex_automata"
  license_files = [
    "//third_party/rust_crates/ask2patch/regex-automata/LICENSE-MIT",
    "//third_party/rust_crates/ask2patch/regex-automata/data/fowler-tests/LICENSE",
    "//third_party/rust_crates/ask2patch/regex-automata/data/tests/fowler/LICENSE",
  ]
}

rust_library("regex-automata-v0_1_9") {
  crate_name = "regex_automata"
  crate_root = "//third_party/rust_crates/ask2patch/regex-automata/src/lib.rs"
  output_name = "regex_automata-cdaa0041c57f3413"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":regex-syntax-v0_6_29" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=cdaa0041c57f3413",
    "-Cextra-filename=-cdaa0041c57f3413",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"regex-syntax\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":regex-automata-v0_1_9.license" ]
}

license("regex-syntax-v0_6_29.license") {
  public_package_name = "regex_syntax"
  license_files = [
    "//third_party/rust_crates/vendor/regex-syntax-0.6.29/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/regex-syntax-0.6.29/LICENSE-MIT",
    "//third_party/rust_crates/vendor/regex-syntax-0.6.29/src/unicode_tables/LICENSE-UNICODE",
  ]
}

rust_library("regex-syntax-v0_6_29") {
  crate_name = "regex_syntax"
  crate_root = "//third_party/rust_crates/vendor/regex-syntax-0.6.29/src/lib.rs"
  output_name = "regex_syntax-d26dc0d7d6398dea"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d26dc0d7d6398dea",
    "-Cextra-filename=-d26dc0d7d6398dea",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"unicode\"",
    "--cfg=feature=\"unicode-age\"",
    "--cfg=feature=\"unicode-bool\"",
    "--cfg=feature=\"unicode-case\"",
    "--cfg=feature=\"unicode-gencat\"",
    "--cfg=feature=\"unicode-perl\"",
    "--cfg=feature=\"unicode-script\"",
    "--cfg=feature=\"unicode-segment\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":regex-syntax-v0_6_29.license" ]
}

license("regex-syntax-v0_8_3.license") {
  public_package_name = "regex_syntax"
  license_files = [
    "//third_party/rust_crates/vendor/regex-syntax-0.8.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/regex-syntax-0.8.3/LICENSE-MIT",
    "//third_party/rust_crates/vendor/regex-syntax-0.8.3/src/unicode_tables/LICENSE-UNICODE",
  ]
}

rust_library("regex-syntax-v0_8_3") {
  crate_name = "regex_syntax"
  crate_root = "//third_party/rust_crates/vendor/regex-syntax-0.8.3/src/lib.rs"
  output_name = "regex_syntax-b15c1f1d5c6432f4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=b15c1f1d5c6432f4",
    "-Cextra-filename=-b15c1f1d5c6432f4",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"unicode\"",
    "--cfg=feature=\"unicode-age\"",
    "--cfg=feature=\"unicode-bool\"",
    "--cfg=feature=\"unicode-case\"",
    "--cfg=feature=\"unicode-gencat\"",
    "--cfg=feature=\"unicode-perl\"",
    "--cfg=feature=\"unicode-script\"",
    "--cfg=feature=\"unicode-segment\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":regex-syntax-v0_8_3.license" ]
}

license("remain-v0_2_14.license") {
  public_package_name = "remain"
  license_files = [
    "//third_party/rust_crates/vendor/remain-0.2.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/remain-0.2.14/LICENSE-MIT",
  ]
}

rust_proc_macro("remain-v0_2_14") {
  crate_name = "remain"
  crate_root = "//third_party/rust_crates/vendor/remain-0.2.14/src/lib.rs"
  output_name = "remain-dd228906dd64ef77"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=dd228906dd64ef77",
    "-Cextra-filename=-dd228906dd64ef77",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":remain-v0_2_14.license" ]
}

license("remove_dir_all-v0_5_1.license") {
  public_package_name = "remove_dir_all"
  license_files = [
    "//third_party/rust_crates/vendor/remove_dir_all-0.5.1/LICENCE-APACHE",
    "//third_party/rust_crates/vendor/remove_dir_all-0.5.1/LICENCE-MIT",
  ]
}

rust_library("remove_dir_all-v0_5_1") {
  crate_name = "remove_dir_all"
  crate_root =
      "//third_party/rust_crates/vendor/remove_dir_all-0.5.1/src/lib.rs"
  output_name = "remove_dir_all-202715e376d8ea96"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=202715e376d8ea96",
    "-Cextra-filename=-202715e376d8ea96",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":remove_dir_all-v0_5_1.license" ]
}

license("rfc6979-v0_3_1.license") {
  public_package_name = "rfc6979"
  license_files = [
    "//third_party/rust_crates/vendor/rfc6979-0.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rfc6979-0.3.1/LICENSE-MIT",
  ]
}

rust_library("rfc6979-v0_3_1") {
  crate_name = "rfc6979"
  crate_root = "//third_party/rust_crates/vendor/rfc6979-0.3.1/src/lib.rs"
  output_name = "rfc6979-9dd81aca3a1ebd03"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":crypto-bigint-v0_4_9" ]
  deps += [ ":hmac-v0_12_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=9dd81aca3a1ebd03",
    "-Cextra-filename=-9dd81aca3a1ebd03",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rfc6979-v0_3_1.license" ]
}

license("ring-v0_16_20.license") {
  public_package_name = "ring"
  license_files = [
    "//third_party/rust_crates/vendor/ring-0.16.20/LICENSE",
    "//third_party/rust_crates/vendor/ring-0.16.20/third_party/fiat/LICENSE",
  ]
}

rust_library("ring-v0_16_20") {
  crate_name = "ring"
  crate_root = "//third_party/rust_crates/vendor/ring-0.16.20/src/lib.rs"
  output_name = "ring-924aac29f221fe6c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":untrusted-v0_7_1" ]
  if (current_cpu == "wasm32" && false && current_os == "unknown" && false) {
    deps += [ ":web-sys-v0_3_40" ]
  }
  if (false || current_cpu == "x64" ||
      ((current_cpu == "arm64" || false) &&
       (false || current_os == "fuchsia" || current_os == "linux"))) {
    deps += [ ":spin-v0_5_2" ]
  }
  if (false || current_os == "linux") {
    deps += [ ":libc-v0_2_149" ]
    deps += [ ":once_cell-v1_17_1" ]
  }
  if (false || false || false || false || false || false) {
    deps += [ ":once_cell-v1_17_1" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }
  deps += [ "//third_party/rust_crates/compat/ring:ring-core" ]
  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=924aac29f221fe6c",
    "-Cextra-filename=-924aac29f221fe6c",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"dev_urandom_fallback\"",
    "--cfg=feature=\"once_cell\"",
  ]

  visibility = []
  visibility += [ ":ring" ]
  visibility += [ ":rustls-v0_19_1" ]
  visibility += [ ":sct-v0_6_0" ]
  visibility += [ ":trust-dns-proto-v0_21_2" ]
  visibility += [ ":tuf-v0_3_0-beta12" ]
  visibility += [ ":webpki-v0_21_0" ]

  applicable_licenses = [ ":ring-v0_16_20.license" ]
}

license("rust_icu_common-v5_0_0.license") {
  public_package_name = "rust_icu_common"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_common-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_common-v5_0_0") {
  crate_name = "rust_icu_common"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_common-5.0.0/src/lib.rs"
  output_name = "rust_icu_common-666efc3225233cae"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]
  deps += [ ":thiserror-v1_0_57" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=666efc3225233cae",
    "-Cextra-filename=-666efc3225233cae",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_common-v5_0_0.license" ]
}

license("rust_icu_sys-v5_0_0.license") {
  public_package_name = "rust_icu_sys"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_sys-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_sys-v5_0_0") {
  crate_name = "rust_icu_sys"
  crate_root = "//third_party/rust_crates/vendor/rust_icu_sys-5.0.0/src/lib.rs"
  output_name = "rust_icu_sys-fa9764e6a56c2ea1"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fa9764e6a56c2ea1",
    "-Cextra-filename=-fa9764e6a56c2ea1",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_sys-v5_0_0.license" ]
}

license("rust_icu_ucal-v5_0_0.license") {
  public_package_name = "rust_icu_ucal"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_ucal-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_ucal-v5_0_0") {
  crate_name = "rust_icu_ucal"
  crate_root = "//third_party/rust_crates/vendor/rust_icu_ucal-5.0.0/src/lib.rs"
  output_name = "rust_icu_ucal-abf15b74a772ab83"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]
  deps += [ ":rust_icu_uenum-v5_0_0" ]
  deps += [ ":rust_icu_ustring-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=abf15b74a772ab83",
    "-Cextra-filename=-abf15b74a772ab83",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_ucal-v5_0_0.license" ]
}

license("rust_icu_uchar-v5_0_0.license") {
  public_package_name = "rust_icu_uchar"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_uchar-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_uchar-v5_0_0") {
  crate_name = "rust_icu_uchar"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_uchar-5.0.0/src/lib.rs"
  output_name = "rust_icu_uchar-fa0ad860b152fd6"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fa0ad860b152fd6",
    "-Cextra-filename=-fa0ad860b152fd6",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_uchar-v5_0_0.license" ]
}

license("rust_icu_udat-v5_0_0.license") {
  public_package_name = "rust_icu_udat"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_udat-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_udat-v5_0_0") {
  crate_name = "rust_icu_udat"
  crate_root = "//third_party/rust_crates/vendor/rust_icu_udat-5.0.0/src/lib.rs"
  output_name = "rust_icu_udat-6052f4d1291330a8"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]
  deps += [ ":rust_icu_ucal-v5_0_0" ]
  deps += [ ":rust_icu_uenum-v5_0_0" ]
  deps += [ ":rust_icu_uloc-v5_0_0" ]
  deps += [ ":rust_icu_ustring-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6052f4d1291330a8",
    "-Cextra-filename=-6052f4d1291330a8",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_udat-v5_0_0.license" ]
}

license("rust_icu_udata-v5_0_0.license") {
  public_package_name = "rust_icu_udata"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_udata-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_udata-v5_0_0") {
  crate_name = "rust_icu_udata"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_udata-5.0.0/src/lib.rs"
  output_name = "rust_icu_udata-4ab3796d9facb305"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4ab3796d9facb305",
    "-Cextra-filename=-4ab3796d9facb305",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_udata-v5_0_0.license" ]
}

license("rust_icu_uenum-v5_0_0.license") {
  public_package_name = "rust_icu_uenum"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_uenum-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_uenum-v5_0_0") {
  crate_name = "rust_icu_uenum"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_uenum-5.0.0/src/lib.rs"
  output_name = "rust_icu_uenum-b830a18e067ffc3e"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b830a18e067ffc3e",
    "-Cextra-filename=-b830a18e067ffc3e",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_uenum-v5_0_0.license" ]
}

license("rust_icu_uloc-v5_0_0.license") {
  public_package_name = "rust_icu_uloc"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_uloc-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_uloc-v5_0_0") {
  crate_name = "rust_icu_uloc"
  crate_root = "//third_party/rust_crates/vendor/rust_icu_uloc-5.0.0/src/lib.rs"
  output_name = "rust_icu_uloc-e512f653574f486a"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]
  deps += [ ":rust_icu_uenum-v5_0_0" ]
  deps += [ ":rust_icu_ustring-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e512f653574f486a",
    "-Cextra-filename=-e512f653574f486a",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_uloc-v5_0_0.license" ]
}

license("rust_icu_unorm2-v5_0_0.license") {
  public_package_name = "rust_icu_unorm2"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_unorm2-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_unorm2-v5_0_0") {
  crate_name = "rust_icu_unorm2"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_unorm2-5.0.0/src/lib.rs"
  output_name = "rust_icu_unorm2-6ca6bdc86ab3e35"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]
  deps += [ ":rust_icu_ucal-v5_0_0" ]
  deps += [ ":rust_icu_uenum-v5_0_0" ]
  deps += [ ":rust_icu_uloc-v5_0_0" ]
  deps += [ ":rust_icu_ustring-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6ca6bdc86ab3e35",
    "-Cextra-filename=-6ca6bdc86ab3e35",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_unorm2-v5_0_0.license" ]
}

license("rust_icu_ustring-v5_0_0.license") {
  public_package_name = "rust_icu_ustring"
  license_files =
      [ "//third_party/rust_crates/vendor/rust_icu_ustring-5.0.0/LICENSE" ]
}

icu_rust_library("rust_icu_ustring-v5_0_0") {
  crate_name = "rust_icu_ustring"
  crate_root =
      "//third_party/rust_crates/vendor/rust_icu_ustring-5.0.0/src/lib.rs"
  output_name = "rust_icu_ustring-408d13a32ff68079"
  configs += [ "//src/lib/icu:version" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":paste-v1_0_9($host_toolchain)" ]
  deps += [ ":rust_icu_common-v5_0_0" ]
  deps += [ ":rust_icu_sys-v5_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=408d13a32ff68079",
    "-Cextra-filename=-408d13a32ff68079",
    "--cfg=feature=\"icu_version_67_plus\"",
    "--cfg=feature=\"icu_version_in_env\"",
    "--cfg=feature=\"renaming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rust_icu_ustring-v5_0_0.license" ]
}

license("rustc-hash-v1_0_1.license") {
  public_package_name = "rustc_hash"
  license_files = [
    "//third_party/rust_crates/vendor/rustc-hash-1.0.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rustc-hash-1.0.1/LICENSE-MIT",
  ]
}

rust_library("rustc-hash-v1_0_1") {
  crate_name = "rustc_hash"
  crate_root = "//third_party/rust_crates/vendor/rustc-hash-1.0.1/src/lib.rs"
  output_name = "rustc_hash-d18fd5c05c7b0ca4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d18fd5c05c7b0ca4",
    "-Cextra-filename=-d18fd5c05c7b0ca4",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rustc-hash-v1_0_1.license" ]
}

license("rustfix-v0_6_1.license") {
  public_package_name = "rustfix"
  license_files = [
    "//third_party/rust_crates/vendor/rustfix-0.6.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rustfix-0.6.1/LICENSE-MIT",
  ]
}

rust_library("rustfix-v0_6_1") {
  crate_name = "rustfix"
  crate_root = "//third_party/rust_crates/vendor/rustfix-0.6.1/src/lib.rs"
  output_name = "rustfix-f703216d17cf7216"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":anyhow-v1_0_75" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f703216d17cf7216",
    "-Cextra-filename=-f703216d17cf7216",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rustfix-v0_6_1.license" ]
}

license("rustls-v0_19_1.license") {
  public_package_name = "rustls"
  license_files = [ "//third_party/rust_crates/forks/rustls/LICENSE" ]
}

rust_library("rustls-v0_19_1") {
  crate_name = "rustls"
  crate_root = "//third_party/rust_crates/forks/rustls/src/lib.rs"
  output_name = "rustls-72f8bc3d6c17ed51"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base64-v0_13_0" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":ring-v0_16_20" ]
  deps += [ ":sct-v0_6_0" ]
  deps += [ ":webpki-v0_21_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=72f8bc3d6c17ed51",
    "-Cextra-filename=-72f8bc3d6c17ed51",
    "--cfg=feature=\"dangerous_configuration\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"log\"",
    "--cfg=feature=\"logging\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rustls-v0_19_1.license" ]
}

license("rustls-native-certs-v0_5_0.license") {
  public_package_name = "rustls_native_certs"
  license_files = [
    "//third_party/rust_crates/vendor/rustls-native-certs-0.5.0/LICENSE",
    "//third_party/rust_crates/vendor/rustls-native-certs-0.5.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rustls-native-certs-0.5.0/LICENSE-ISC",
    "//third_party/rust_crates/vendor/rustls-native-certs-0.5.0/LICENSE-MIT",
  ]
}

rust_library("rustls-native-certs-v0_5_0") {
  crate_name = "rustls_native_certs"
  crate_root =
      "//third_party/rust_crates/vendor/rustls-native-certs-0.5.0/src/lib.rs"
  output_name = "rustls_native_certs-be3004a9b1f3e746"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rustls-v0_19_1" ]
  if (true && !(current_os == "mac")) {
    deps += [ ":openssl-probe-v0_1_2" ]
  }
  if (current_os == "mac") {
    deps += [ ":security-framework-v2_3_1" ]
  }
  if (false) {
    deps += [ ":schannel-v0_1_19" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=be3004a9b1f3e746",
    "-Cextra-filename=-be3004a9b1f3e746",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"rustls\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rustls-native-certs-v0_5_0.license" ]
}

rust_proc_macro("rustversion-v1_0_12") {
  crate_name = "rustversion"
  crate_root = "//third_party/rust_crates/empty/rustversion/src/lib.rs"
  output_name = "rustversion-744e65d5c3ea769d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=744e65d5c3ea769d",
    "-Cextra-filename=-744e65d5c3ea769d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("rusty-fork-v0_3_0.license") {
  public_package_name = "rusty_fork"
  license_files = [
    "//third_party/rust_crates/vendor/rusty-fork-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/rusty-fork-0.3.0/LICENSE-MIT",
  ]
}

rust_library("rusty-fork-v0_3_0") {
  crate_name = "rusty_fork"
  crate_root = "//third_party/rust_crates/vendor/rusty-fork-0.3.0/src/lib.rs"
  output_name = "rusty_fork-ace06252817d912e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":fnv-v1_0_7" ]
  deps += [ ":quick-error-v1_2_2" ]
  deps += [ ":tempfile-v3_2_0" ]
  deps += [ ":wait-timeout-v0_2_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ace06252817d912e",
    "-Cextra-filename=-ace06252817d912e",
    "--cfg=feature=\"timeout\"",
    "--cfg=feature=\"wait-timeout\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rusty-fork-v0_3_0.license" ]
}

license("rustyline-v2_1_0.license") {
  public_package_name = "rustyline"
  license_files = [ "//third_party/rust_crates/forks/rustyline/LICENSE" ]
}

rust_library("rustyline-v2_1_0") {
  crate_name = "rustyline"
  crate_root = "//third_party/rust_crates/forks/rustyline/src/lib.rs"
  output_name = "rustyline-9f2f014717e2028d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":memchr-v2_7_1" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":unicode-segmentation-v1_10_1" ]
  deps += [ ":unicode-width-v0_1_10" ]
  if (true && !(current_os == "fuchsia")) {
    deps += [ ":nix-v0_26_2" ]
  }
  if (true) {
    deps += [ ":utf8parse-v0_1_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9f2f014717e2028d",
    "-Cextra-filename=-9f2f014717e2028d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rustyline-v2_1_0.license" ]
}

license("rutabaga_gfx-v0_1_3.license") {
  public_package_name = "rutabaga_gfx"
  license_files =
      [ "//third_party/rust_crates/vendor/rutabaga_gfx-0.1.3/LICENSE" ]
}

rust_library("rutabaga_gfx-v0_1_3") {
  crate_name = "rutabaga_gfx"
  crate_root = "//third_party/rust_crates/vendor/rutabaga_gfx-0.1.3/src/lib.rs"
  output_name = "rutabaga_gfx-128d2e5f0c12814a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":remain-v0_2_14($host_toolchain)" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":zerocopy-v0_7_15" ]
  if (false || current_os == "linux") {
    deps += [ ":nix-v0_27_1" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=128d2e5f0c12814a",
    "-Cextra-filename=-128d2e5f0c12814a",
    "--cfg=feature=\"gfxstream\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":rutabaga_gfx-v0_1_3.license" ]
}

license("ryu-v1_0_3.license") {
  public_package_name = "ryu"
  license_files = [
    "//third_party/rust_crates/vendor/ryu-1.0.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ryu-1.0.3/LICENSE-BOOST",
  ]
}

rust_library("ryu-v1_0_3") {
  crate_name = "ryu"
  crate_root = "//third_party/rust_crates/vendor/ryu-1.0.3/src/lib.rs"
  output_name = "ryu-892abe88d9705b75"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=892abe88d9705b75",
    "-Cextra-filename=-892abe88d9705b75",
    "--cfg=integer128",
    "--cfg=must_use_return",
    "--cfg=maybe_uninit",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ryu-v1_0_3.license" ]
}

license("salsa20-v0_10_2.license") {
  public_package_name = "salsa20"
  license_files = [
    "//third_party/rust_crates/vendor/salsa20-0.10.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/salsa20-0.10.2/LICENSE-MIT",
  ]
}

rust_library("salsa20-v0_10_2") {
  crate_name = "salsa20"
  crate_root = "//third_party/rust_crates/vendor/salsa20-0.10.2/src/lib.rs"
  output_name = "salsa20-967e4f57c272066a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cipher-v0_4_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=967e4f57c272066a",
    "-Cextra-filename=-967e4f57c272066a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":salsa20-v0_10_2.license" ]
}

license("same-file-v1_0_4.license") {
  public_package_name = "same_file"
  license_files =
      [ "//third_party/rust_crates/ask2patch/same-file/LICENSE-MIT" ]
}

rust_library("same-file-v1_0_4") {
  crate_name = "same_file"
  crate_root = "//third_party/rust_crates/ask2patch/same-file/src/lib.rs"
  output_name = "same_file-460d9eb4eb179eea"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":winapi-util-v0_1_5" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=460d9eb4eb179eea",
    "-Cextra-filename=-460d9eb4eb179eea",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":same-file-v1_0_4.license" ]
}

license("scanlex-v0_1_4.license") {
  public_package_name = "scanlex"
  license_files =
      [ "//third_party/rust_crates/vendor/scanlex-0.1.4/LICENSE.txt" ]
}

rust_library("scanlex-v0_1_4") {
  crate_name = "scanlex"
  crate_root = "//third_party/rust_crates/vendor/scanlex-0.1.4/src/lib.rs"
  output_name = "scanlex-d586196f33c095ac"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d586196f33c095ac",
    "-Cextra-filename=-d586196f33c095ac",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":scanlex-v0_1_4.license" ]
}

license("schannel-v0_1_19.license") {
  public_package_name = "schannel"
  license_files =
      [ "//third_party/rust_crates/vendor/schannel-0.1.19/LICENSE.md" ]
}

rust_library("schannel-v0_1_19") {
  crate_name = "schannel"
  crate_root = "//third_party/rust_crates/vendor/schannel-0.1.19/src/lib.rs"
  output_name = "schannel-140c87c712698950"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":winapi-v0_3_9" ]
  deps += [ ":lazy_static-v1_4_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=140c87c712698950",
    "-Cextra-filename=-140c87c712698950",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":schannel-v0_1_19.license" ]
}

license("schemars-v0_8_10.license") {
  public_package_name = "schemars"
  license_files = [ "//third_party/rust_crates/vendor/schemars-0.8.10/LICENSE" ]
}

rust_library("schemars-v0_8_10") {
  crate_name = "schemars"
  crate_root = "//third_party/rust_crates/vendor/schemars-0.8.10/src/lib.rs"
  output_name = "schemars-418da217f5a1778c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":dyn-clone-v1_0_5" ]
  deps += [ ":indexmap-v1_9_2" ]
  deps += [ ":schemars_derive-v0_8_10($host_toolchain)" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=418da217f5a1778c",
    "-Cextra-filename=-418da217f5a1778c",
    "--cfg=feature=\"chrono\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"indexmap\"",
    "--cfg=feature=\"preserve_order\"",
    "--cfg=feature=\"schemars_derive\"",
    "--cfg=std_atomic64",
    "--cfg=std_atomic",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":schemars-v0_8_10.license" ]
}

license("schemars_derive-v0_8_10.license") {
  public_package_name = "schemars_derive"
  license_files =
      [ "//third_party/rust_crates/vendor/schemars_derive-0.8.10/LICENSE" ]
}

rust_proc_macro("schemars_derive-v0_8_10") {
  crate_name = "schemars_derive"
  crate_root =
      "//third_party/rust_crates/vendor/schemars_derive-0.8.10/src/lib.rs"
  output_name = "schemars_derive-5b2df8822511f6d5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":serde_derive_internals-v0_26_0" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5b2df8822511f6d5",
    "-Cextra-filename=-5b2df8822511f6d5",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":schemars_derive-v0_8_10.license" ]
}

license("scoped-tls-v1_0_1.license") {
  public_package_name = "scoped_tls"
  license_files = [
    "//third_party/rust_crates/vendor/scoped-tls-1.0.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/scoped-tls-1.0.1/LICENSE-MIT",
  ]
}

rust_library("scoped-tls-v1_0_1") {
  crate_name = "scoped_tls"
  crate_root = "//third_party/rust_crates/vendor/scoped-tls-1.0.1/src/lib.rs"
  output_name = "scoped_tls-ab3bb947caca0081"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ "//build/validate:non_production_tag" ]
  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ab3bb947caca0081",
    "-Cextra-filename=-ab3bb947caca0081",
  ]

  visibility = []
  visibility += [ ":loom-v0_7_1" ]
  testonly = true
  applicable_licenses = [ ":scoped-tls-v1_0_1.license" ]
}

license("scopeguard-v1_1_0.license") {
  public_package_name = "scopeguard"
  license_files = [
    "//third_party/rust_crates/vendor/scopeguard-1.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/scopeguard-1.1.0/LICENSE-MIT",
  ]
}

rust_library("scopeguard-v1_1_0") {
  crate_name = "scopeguard"
  crate_root = "//third_party/rust_crates/vendor/scopeguard-1.1.0/src/lib.rs"
  output_name = "scopeguard-6ef302a7f864fbb3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=6ef302a7f864fbb3",
    "-Cextra-filename=-6ef302a7f864fbb3",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"use_std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":scopeguard-v1_1_0.license" ]
}

license("scrypt-v0_10_0.license") {
  public_package_name = "scrypt"
  license_files = [
    "//third_party/rust_crates/vendor/scrypt-0.10.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/scrypt-0.10.0/LICENSE-MIT",
  ]
}

rust_library("scrypt-v0_10_0") {
  crate_name = "scrypt"
  crate_root = "//third_party/rust_crates/vendor/scrypt-0.10.0/src/lib.rs"
  output_name = "scrypt-d329cdafd03dc331"
  configs += [ "//build/config:optimize_speed" ]
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":hmac-v0_12_1" ]
  deps += [ ":password-hash-v0_4_2" ]
  deps += [ ":pbkdf2-v0_11_0" ]
  deps += [ ":salsa20-v0_10_2" ]
  deps += [ ":sha2-v0_10_6" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=d329cdafd03dc331",
    "-Cextra-filename=-d329cdafd03dc331",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"password-hash\"",
    "--cfg=feature=\"simple\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":scrypt-v0_10_0.license" ]
}

license("sct-v0_6_0.license") {
  public_package_name = "sct"
  license_files = [
    "//third_party/rust_crates/vendor/sct-0.6.0/LICENSE",
    "//third_party/rust_crates/vendor/sct-0.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/sct-0.6.0/LICENSE-ISC",
    "//third_party/rust_crates/vendor/sct-0.6.0/LICENSE-MIT",
  ]
}

rust_library("sct-v0_6_0") {
  crate_name = "sct"
  crate_root = "//third_party/rust_crates/vendor/sct-0.6.0/src/lib.rs"
  output_name = "sct-879ad9017e22db73"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ring-v0_16_20" ]
  deps += [ ":untrusted-v0_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=879ad9017e22db73",
    "-Cextra-filename=-879ad9017e22db73",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":sct-v0_6_0.license" ]
}

license("sec1-v0_3_0.license") {
  public_package_name = "sec1"
  license_files = [
    "//third_party/rust_crates/vendor/sec1-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/sec1-0.3.0/LICENSE-MIT",
  ]
}

rust_library("sec1-v0_3_0") {
  crate_name = "sec1"
  crate_root = "//third_party/rust_crates/vendor/sec1-0.3.0/src/lib.rs"
  output_name = "sec1-fa3839dc479dda7d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zeroize-v1_6_0" ]
  deps += [ ":base16ct-v0_1_1" ]
  deps += [ ":der-v0_6_1" ]
  deps += [ ":generic-array-v0_14_5" ]
  deps += [ ":pkcs8-v0_9_0" ]
  deps += [ ":serdect-v0_1_0" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=fa3839dc479dda7d",
    "-Cextra-filename=-fa3839dc479dda7d",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"base16ct\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"der\"",
    "--cfg=feature=\"generic-array\"",
    "--cfg=feature=\"pem\"",
    "--cfg=feature=\"pkcs8\"",
    "--cfg=feature=\"point\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"serdect\"",
    "--cfg=feature=\"subtle\"",
    "--cfg=feature=\"zeroize\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":sec1-v0_3_0.license" ]
}

license("security-framework-v2_3_1.license") {
  public_package_name = "security_framework"
  license_files =
      [ "//third_party/rust_crates/forks/security-framework/LICENSE" ]
}

rust_library("security-framework-v2_3_1") {
  crate_name = "security_framework"
  crate_root = "//third_party/rust_crates/forks/security-framework/src/lib.rs"
  output_name = "security_framework-152315bbaadf7b20"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]
  deps += [ ":core-foundation-sys-v0_8_3" ]
  deps += [ ":core-foundation-v0_9_2" ]
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":security-framework-sys-v2_4_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=152315bbaadf7b20",
    "-Cextra-filename=-152315bbaadf7b20",
    "--cfg=feature=\"OSX_10_9\"",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":security-framework-v2_3_1.license" ]
}

license("security-framework-sys-v2_4_2.license") {
  public_package_name = "security_framework_sys"
  license_files = [
    "//third_party/rust_crates/vendor/security-framework-sys-2.4.2/LICENSE",
  ]
}

rust_library("security-framework-sys-v2_4_2") {
  crate_name = "security_framework_sys"
  crate_root =
      "//third_party/rust_crates/vendor/security-framework-sys-2.4.2/src/lib.rs"
  output_name = "security_framework_sys-74e76edd8396fffb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":core-foundation-sys-v0_8_3" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=74e76edd8396fffb",
    "-Cextra-filename=-74e76edd8396fffb",
    "--cfg=feature=\"OSX_10_9\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":security-framework-sys-v2_4_2.license" ]
}

license("semver-v1_0_4.license") {
  public_package_name = "semver"
  license_files = [
    "//third_party/rust_crates/vendor/semver-1.0.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/semver-1.0.4/LICENSE-MIT",
  ]
}

rust_library("semver-v1_0_4") {
  crate_name = "semver"
  crate_root = "//third_party/rust_crates/vendor/semver-1.0.4/src/lib.rs"
  output_name = "semver-952c2f5f714df893"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=952c2f5f714df893",
    "-Cextra-filename=-952c2f5f714df893",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":semver-v1_0_4.license" ]
}

license("serde-v1_0_203.license") {
  public_package_name = "serde"
  license_files = [
    "//third_party/rust_crates/vendor/serde-1.0.203/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde-1.0.203/LICENSE-MIT",
  ]
}

rust_library("serde-v1_0_203") {
  crate_name = "serde"
  crate_root = "//third_party/rust_crates/vendor/serde-1.0.203/src/lib.rs"
  output_name = "serde-4a1e907bea43863f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde_derive-v1_0_203($host_toolchain)" ]
  if (true) {
    deps += [ ":serde_derive-v1_0_203($host_toolchain)" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=4a1e907bea43863f",
    "-Cextra-filename=-4a1e907bea43863f",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"serde_derive\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde-v1_0_203.license" ]
}

license("serde_cbor-v0_11_1.license") {
  public_package_name = "serde_cbor"
  license_files = [
    "//third_party/rust_crates/vendor/serde_cbor-0.11.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_cbor-0.11.1/LICENSE-MIT",
  ]
}

rust_library("serde_cbor-v0_11_1") {
  crate_name = "serde_cbor"
  crate_root = "//third_party/rust_crates/vendor/serde_cbor-0.11.1/src/lib.rs"
  output_name = "serde_cbor-196735531d02fccc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":half-v1_6_0" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=196735531d02fccc",
    "-Cextra-filename=-196735531d02fccc",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_cbor-v0_11_1.license" ]
}

license("serde_derive-v1_0_203.license") {
  public_package_name = "serde_derive"
  license_files = [
    "//third_party/rust_crates/vendor/serde_derive-1.0.203/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_derive-1.0.203/LICENSE-MIT",
  ]
}

rust_proc_macro("serde_derive-v1_0_203") {
  crate_name = "serde_derive"
  crate_root =
      "//third_party/rust_crates/vendor/serde_derive-1.0.203/src/lib.rs"
  output_name = "serde_derive-e2f442404ceba9b9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=e2f442404ceba9b9",
    "-Cextra-filename=-e2f442404ceba9b9",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_derive-v1_0_203.license" ]
}

license("serde_derive_internals-v0_26_0.license") {
  public_package_name = "serde_derive_internals"
  license_files = [
    "//third_party/rust_crates/vendor/serde_derive_internals-0.26.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_derive_internals-0.26.0/LICENSE-MIT",
  ]
}

rust_library("serde_derive_internals-v0_26_0") {
  crate_name = "serde_derive_internals"
  crate_root =
      "//third_party/rust_crates/vendor/serde_derive_internals-0.26.0/lib.rs"
  output_name = "serde_derive_internals-2c76cdeea6fc3318"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2c76cdeea6fc3318",
    "-Cextra-filename=-2c76cdeea6fc3318",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_derive_internals-v0_26_0.license" ]
}

license("serde_json-v1_0_87.license") {
  public_package_name = "serde_json"
  license_files = [
    "//third_party/rust_crates/vendor/serde_json-1.0.87/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_json-1.0.87/LICENSE-MIT",
  ]
}

rust_library("serde_json-v1_0_87") {
  crate_name = "serde_json"
  crate_root = "//third_party/rust_crates/vendor/serde_json-1.0.87/src/lib.rs"
  output_name = "serde_json-6427c97c7fa0efac"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":itoa-v1_0_5" ]
  deps += [ ":ryu-v1_0_3" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=6427c97c7fa0efac",
    "-Cextra-filename=-6427c97c7fa0efac",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"unbounded_depth\"",
    "--cfg=limb_width_64",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_json-v1_0_87.license" ]
}

license("serde_json5-v0_1_0.license") {
  public_package_name = "serde_json5"
  license_files = [
    "//third_party/rust_crates/mirrors/serde_json5/LICENSE",
    "//third_party/rust_crates/mirrors/serde_json5/third_party/LICENSE",
  ]
}

rust_library("serde_json5-v0_1_0") {
  crate_name = "serde_json5"
  crate_root =
      "//third_party/rust_crates/mirrors/serde_json5/third_party/src/lib.rs"
  output_name = "serde_json5-c6c8351d886fc9d3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":pest-v2_7_8" ]
  deps += [ ":pest_derive-v2_7_8($host_toolchain)" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c6c8351d886fc9d3",
    "-Cextra-filename=-c6c8351d886fc9d3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_json5-v0_1_0.license" ]
}

license("serde_repr-v0_1_7.license") {
  public_package_name = "serde_repr"
  license_files = [
    "//third_party/rust_crates/vendor/serde_repr-0.1.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_repr-0.1.7/LICENSE-MIT",
  ]
}

rust_proc_macro("serde_repr-v0_1_7") {
  crate_name = "serde_repr"
  crate_root = "//third_party/rust_crates/vendor/serde_repr-0.1.7/src/lib.rs"
  output_name = "serde_repr-2607863d914a7535"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2607863d914a7535",
    "-Cextra-filename=-2607863d914a7535",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_repr-v0_1_7.license" ]
}

license("serde_yaml-v0_9_14.license") {
  public_package_name = "serde_yaml"
  license_files = [
    "//third_party/rust_crates/vendor/serde_yaml-0.9.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serde_yaml-0.9.14/LICENSE-MIT",
  ]
}

rust_library("serde_yaml-v0_9_14") {
  crate_name = "serde_yaml"
  crate_root = "//third_party/rust_crates/vendor/serde_yaml-0.9.14/src/lib.rs"
  output_name = "serde_yaml-ffc5fc40615e989"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":indexmap-v1_9_2" ]
  deps += [ ":itoa-v1_0_5" ]
  deps += [ ":ryu-v1_0_3" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":unsafe-libyaml-v0_2_4" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=ffc5fc40615e989",
    "-Cextra-filename=-ffc5fc40615e989",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serde_yaml-v0_9_14.license" ]
}

license("serdect-v0_1_0.license") {
  public_package_name = "serdect"
  license_files = [
    "//third_party/rust_crates/vendor/serdect-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/serdect-0.1.0/LICENSE-MIT",
  ]
}

rust_library("serdect-v0_1_0") {
  crate_name = "serdect"
  crate_root = "//third_party/rust_crates/vendor/serdect-0.1.0/src/lib.rs"
  output_name = "serdect-e746bb279e319dbe"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base16ct-v0_1_1" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=e746bb279e319dbe",
    "-Cextra-filename=-e746bb279e319dbe",
    "--cfg=feature=\"alloc\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serdect-v0_1_0.license" ]
}

license("serial_test-v0_5_1.license") {
  public_package_name = "serial_test"
  license_files =
      [ "//third_party/rust_crates/vendor/serial_test-0.5.1/LICENSE" ]
}

rust_library("serial_test-v0_5_1") {
  crate_name = "serial_test"
  crate_root = "//third_party/rust_crates/vendor/serial_test-0.5.1/src/lib.rs"
  output_name = "serial_test-cf7a4047894f2a7b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":parking_lot-v0_11_1" ]
  deps += [ ":serial_test_derive-v0_5_1($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cf7a4047894f2a7b",
    "-Cextra-filename=-cf7a4047894f2a7b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serial_test-v0_5_1.license" ]
}

license("serial_test_derive-v0_5_1.license") {
  public_package_name = "serial_test_derive"
  license_files =
      [ "//third_party/rust_crates/vendor/serial_test_derive-0.5.1/LICENSE" ]
}

rust_proc_macro("serial_test_derive-v0_5_1") {
  crate_name = "serial_test_derive"
  crate_root =
      "//third_party/rust_crates/vendor/serial_test_derive-0.5.1/src/lib.rs"
  output_name = "serial_test_derive-349c76aef8defaba"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=349c76aef8defaba",
    "-Cextra-filename=-349c76aef8defaba",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":serial_test_derive-v0_5_1.license" ]
}

license("sha1-v0_10_5.license") {
  public_package_name = "sha1"
  license_files = [
    "//third_party/rust_crates/vendor/sha1-0.10.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/sha1-0.10.5/LICENSE-MIT",
  ]
}

rust_library("sha1-v0_10_5") {
  crate_name = "sha1"
  crate_root = "//third_party/rust_crates/vendor/sha1-0.10.5/src/lib.rs"
  output_name = "sha1-22caac506c487eb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":digest-v0_10_7" ]
  if (current_cpu == "arm64" || false || current_cpu == "x64") {
    deps += [ ":cpufeatures-v0_2_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=22caac506c487eb",
    "-Cextra-filename=-22caac506c487eb",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":sha1-v0_10_5.license" ]
}

license("sha2-v0_10_6.license") {
  public_package_name = "sha2"
  license_files = [
    "//third_party/rust_crates/vendor/sha2-0.10.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/sha2-0.10.6/LICENSE-MIT",
  ]
}

rust_library("sha2-v0_10_6") {
  crate_name = "sha2"
  crate_root = "//third_party/rust_crates/vendor/sha2-0.10.6/src/lib.rs"
  output_name = "sha2-b9671518cdc203e8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":digest-v0_10_7" ]
  if (current_cpu == "arm64" || current_cpu == "x64" || false) {
    deps += [ ":cpufeatures-v0_2_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b9671518cdc203e8",
    "-Cextra-filename=-b9671518cdc203e8",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":sha2-v0_10_6.license" ]
}

license("sharded-slab-v0_1_4.license") {
  public_package_name = "sharded_slab"
  license_files =
      [ "//third_party/rust_crates/vendor/sharded-slab-0.1.4/LICENSE" ]
}

rust_library("sharded-slab-v0_1_4") {
  crate_name = "sharded_slab"
  crate_root = "//third_party/rust_crates/vendor/sharded-slab-0.1.4/src/lib.rs"
  output_name = "sharded_slab-feb472376bcc1d39"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lazy_static-v1_4_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=feb472376bcc1d39",
    "-Cextra-filename=-feb472376bcc1d39",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":sharded-slab-v0_1_4.license" ]
}

license("shared_child-v1_0_0.license") {
  public_package_name = "shared_child"
  license_files =
      [ "//third_party/rust_crates/vendor/shared_child-1.0.0/LICENSE" ]
}

rust_library("shared_child-v1_0_0") {
  crate_name = "shared_child"
  crate_root = "//third_party/rust_crates/vendor/shared_child-1.0.0/src/lib.rs"
  output_name = "shared_child-343c2e19f8d8c087"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (!false) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=343c2e19f8d8c087",
    "-Cextra-filename=-343c2e19f8d8c087",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":shared_child-v1_0_0.license" ]
}

license("signal-hook-v0_1_17.license") {
  public_package_name = "signal_hook"
  license_files = [
    "//third_party/rust_crates/vendor/signal-hook-0.1.17/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/signal-hook-0.1.17/LICENSE-MIT",
  ]
}

rust_library("signal-hook-v0_1_17") {
  crate_name = "signal_hook"
  crate_root = "//third_party/rust_crates/vendor/signal-hook-0.1.17/src/lib.rs"
  output_name = "signal_hook-deea52217afd7830"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":mio-v0_7_14" ]
  deps += [ ":signal-hook-registry-v1_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=deea52217afd7830",
    "-Cextra-filename=-deea52217afd7830",
    "--cfg=feature=\"mio-0_7-support\"",
    "--cfg=feature=\"mio_0_7\"",
  ]

  aliased_deps = {
    mio_0_7 = ":mio-v0_7_14"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":signal-hook-v0_1_17.license" ]
}

license("signal-hook-v0_3_17.license") {
  public_package_name = "signal_hook"
  license_files = [
    "//third_party/rust_crates/vendor/signal-hook-0.3.17/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/signal-hook-0.3.17/LICENSE-MIT",
  ]
}

rust_library("signal-hook-v0_3_17") {
  crate_name = "signal_hook"
  crate_root = "//third_party/rust_crates/vendor/signal-hook-0.3.17/src/lib.rs"
  output_name = "signal_hook-fb829f1515f3d548"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":signal-hook-registry-v1_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fb829f1515f3d548",
    "-Cextra-filename=-fb829f1515f3d548",
    "--cfg=feature=\"channel\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"iterator\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":signal-hook-v0_3_17.license" ]
}

license("signal-hook-registry-v1_4_1.license") {
  public_package_name = "signal_hook_registry"
  license_files = [
    "//third_party/rust_crates/vendor/signal-hook-registry-1.4.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/signal-hook-registry-1.4.1/LICENSE-MIT",
  ]
}

rust_library("signal-hook-registry-v1_4_1") {
  crate_name = "signal_hook_registry"
  crate_root =
      "//third_party/rust_crates/vendor/signal-hook-registry-1.4.1/src/lib.rs"
  output_name = "signal_hook_registry-337ec7a41227ca2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=337ec7a41227ca2",
    "-Cextra-filename=-337ec7a41227ca2",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":signal-hook-registry-v1_4_1.license" ]
}

license("signature-v1_6_4.license") {
  public_package_name = "signature"
  license_files = [
    "//third_party/rust_crates/vendor/signature-1.6.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/signature-1.6.4/LICENSE-MIT",
  ]
}

rust_library("signature-v1_6_4") {
  crate_name = "signature"
  crate_root = "//third_party/rust_crates/vendor/signature-1.6.4/src/lib.rs"
  output_name = "signature-a4728585a7334981"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":digest-v0_10_7" ]
  deps += [ ":rand_core-v0_6_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=a4728585a7334981",
    "-Cextra-filename=-a4728585a7334981",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"digest\"",
    "--cfg=feature=\"digest-preview\"",
    "--cfg=feature=\"hazmat-preview\"",
    "--cfg=feature=\"rand-preview\"",
    "--cfg=feature=\"rand_core\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":signature-v1_6_4.license" ]
}

license("simplelog-v0_10_2.license") {
  public_package_name = "simplelog"
  license_files = [
    "//third_party/rust_crates/vendor/simplelog-0.10.2/LICENSE.APACHE2",
    "//third_party/rust_crates/vendor/simplelog-0.10.2/LICENSE.MIT",
  ]
}

rust_library("simplelog-v0_10_2") {
  crate_name = "simplelog"
  crate_root = "//third_party/rust_crates/vendor/simplelog-0.10.2/src/lib.rs"
  output_name = "simplelog-21aad7a3c5a1179d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":termcolor-v1_1_2" ]
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":log-v0_4_20" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=21aad7a3c5a1179d",
    "-Cextra-filename=-21aad7a3c5a1179d",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"termcolor\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":simplelog-v0_10_2.license" ]
}

license("siphasher-v0_2_3.license") {
  public_package_name = "siphasher"
  license_files = [ "//third_party/rust_crates/vendor/siphasher-0.2.3/LICENSE" ]
}

rust_library("siphasher-v0_2_3") {
  crate_name = "siphasher"
  crate_root = "//third_party/rust_crates/vendor/siphasher-0.2.3/src/lib.rs"
  output_name = "siphasher-c0f71ec8ce76c479"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c0f71ec8ce76c479",
    "-Cextra-filename=-c0f71ec8ce76c479",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":siphasher-v0_2_3.license" ]
}

license("siphasher-v0_3_10.license") {
  public_package_name = "siphasher"
  license_files =
      [ "//third_party/rust_crates/vendor/siphasher-0.3.10/LICENSE" ]
}

rust_library("siphasher-v0_3_10") {
  crate_name = "siphasher"
  crate_root = "//third_party/rust_crates/vendor/siphasher-0.3.10/src/lib.rs"
  output_name = "siphasher-e2ef53c2b88c1cff"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e2ef53c2b88c1cff",
    "-Cextra-filename=-e2ef53c2b88c1cff",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":siphasher-v0_3_10.license" ]
}

license("slab-v0_4_7.license") {
  public_package_name = "slab"
  license_files = [ "//third_party/rust_crates/vendor/slab-0.4.7/LICENSE" ]
}

rust_library("slab-v0_4_7") {
  crate_name = "slab"
  crate_root = "//third_party/rust_crates/vendor/slab-0.4.7/src/lib.rs"
  output_name = "slab-bf82e5c05d7edc0d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=bf82e5c05d7edc0d",
    "-Cextra-filename=-bf82e5c05d7edc0d",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":slab-v0_4_7.license" ]
}

license("smallvec-v0_6_14.license") {
  public_package_name = "smallvec"
  license_files = [
    "//third_party/rust_crates/vendor/smallvec-0.6.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/smallvec-0.6.14/LICENSE-MIT",
  ]
}

rust_library("smallvec-v0_6_14") {
  crate_name = "smallvec"
  crate_root = "//third_party/rust_crates/vendor/smallvec-0.6.14/lib.rs"
  output_name = "smallvec-17cff5ddbac2d3b4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":maybe-uninit-v2_0_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=17cff5ddbac2d3b4",
    "-Cextra-filename=-17cff5ddbac2d3b4",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":smallvec-v0_6_14.license" ]
}

license("smallvec-v1_13_1.license") {
  public_package_name = "smallvec"
  license_files = [
    "//third_party/rust_crates/vendor/smallvec-1.13.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/smallvec-1.13.1/LICENSE-MIT",
  ]
}

rust_library("smallvec-v1_13_1") {
  crate_name = "smallvec"
  crate_root = "//third_party/rust_crates/vendor/smallvec-1.13.1/src/lib.rs"
  output_name = "smallvec-2f4657a8c7175b85"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2f4657a8c7175b85",
    "-Cextra-filename=-2f4657a8c7175b85",
    "--cfg=feature=\"const_generics\"",
    "--cfg=feature=\"const_new\"",
    "--cfg=feature=\"union\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":smallvec-v1_13_1.license" ]
}

license("socket2-v0_4_4.license") {
  public_package_name = "socket2"
  license_files = [
    "//third_party/rust_crates/vendor/socket2-0.4.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/socket2-0.4.4/LICENSE-MIT",
  ]
}

rust_library("socket2-v0_4_4") {
  crate_name = "socket2"
  crate_root = "//third_party/rust_crates/vendor/socket2-0.4.4/src/lib.rs"
  output_name = "socket2-eb52e051ac66cd02"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=eb52e051ac66cd02",
    "-Cextra-filename=-eb52e051ac66cd02",
    "--cfg=feature=\"all\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":socket2-v0_4_4.license" ]
}

license("socket2-v0_5_5.license") {
  public_package_name = "socket2"
  license_files = [
    "//third_party/rust_crates/vendor/socket2-0.5.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/socket2-0.5.5/LICENSE-MIT",
  ]
}

rust_library("socket2-v0_5_5") {
  crate_name = "socket2"
  crate_root = "//third_party/rust_crates/vendor/socket2-0.5.5/src/lib.rs"
  output_name = "socket2-3e06690d869fbc1e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":windows-sys-v0_48_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=3e06690d869fbc1e",
    "-Cextra-filename=-3e06690d869fbc1e",
    "--cfg=feature=\"all\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":socket2-v0_5_5.license" ]
}

license("spin-v0_5_2.license") {
  public_package_name = "spin"
  license_files = [ "//third_party/rust_crates/vendor/spin-0.5.2/LICENSE" ]
}

rust_library("spin-v0_5_2") {
  crate_name = "spin"
  crate_root = "//third_party/rust_crates/vendor/spin-0.5.2/src/lib.rs"
  output_name = "spin-50733eeb0bba4c8d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=50733eeb0bba4c8d",
    "-Cextra-filename=-50733eeb0bba4c8d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":spin-v0_5_2.license" ]
}

license("spki-v0_6_0.license") {
  public_package_name = "spki"
  license_files = [
    "//third_party/rust_crates/vendor/spki-0.6.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/spki-0.6.0/LICENSE-MIT",
  ]
}

rust_library("spki-v0_6_0") {
  crate_name = "spki"
  crate_root = "//third_party/rust_crates/vendor/spki-0.6.0/src/lib.rs"
  output_name = "spki-1e8727799e5db2b9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":base64ct-v1_6_0" ]
  deps += [ ":der-v0_6_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=1e8727799e5db2b9",
    "-Cextra-filename=-1e8727799e5db2b9",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"base64ct\"",
    "--cfg=feature=\"pem\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":spki-v0_6_0.license" ]
}

license("splines-v2_2_0.license") {
  public_package_name = "splines"
  license_files = [ "//third_party/rust_crates/vendor/splines-2.2.0/LICENSE" ]
}

rust_library("splines-v2_2_0") {
  crate_name = "splines"
  crate_root = "//third_party/rust_crates/vendor/splines-2.2.0/src/lib.rs"
  output_name = "splines-d1b51f4ec5d923f7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d1b51f4ec5d923f7",
    "-Cextra-filename=-d1b51f4ec5d923f7",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":splines-v2_2_0.license" ]
}

license("static_assertions-v1_1_0.license") {
  public_package_name = "static_assertions"
  license_files = [
    "//third_party/rust_crates/vendor/static_assertions-1.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/static_assertions-1.1.0/LICENSE-MIT",
  ]
}

rust_library("static_assertions-v1_1_0") {
  crate_name = "static_assertions"
  crate_root =
      "//third_party/rust_crates/vendor/static_assertions-1.1.0/src/lib.rs"
  output_name = "static_assertions-5fff9c36214c34b7"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5fff9c36214c34b7",
    "-Cextra-filename=-5fff9c36214c34b7",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":static_assertions-v1_1_0.license" ]
}

license("strsim-v0_10_0.license") {
  public_package_name = "strsim"
  license_files = [ "//third_party/rust_crates/vendor/strsim-0.10.0/LICENSE" ]
}

rust_library("strsim-v0_10_0") {
  crate_name = "strsim"
  crate_root = "//third_party/rust_crates/vendor/strsim-0.10.0/src/lib.rs"
  output_name = "strsim-aa21785775b7b33b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=aa21785775b7b33b",
    "-Cextra-filename=-aa21785775b7b33b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":strsim-v0_10_0.license" ]
}

license("strsim-v0_8_0.license") {
  public_package_name = "strsim"
  license_files = [ "//third_party/rust_crates/vendor/strsim-0.8.0/LICENSE" ]
}

rust_library("strsim-v0_8_0") {
  crate_name = "strsim"
  crate_root = "//third_party/rust_crates/vendor/strsim-0.8.0/src/lib.rs"
  output_name = "strsim-a6895684b05e64cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a6895684b05e64cd",
    "-Cextra-filename=-a6895684b05e64cd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":strsim-v0_8_0.license" ]
}

license("structopt-v0_2_14.license") {
  public_package_name = "structopt"
  license_files = [
    "//third_party/rust_crates/vendor/structopt-0.2.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/structopt-0.2.14/LICENSE-MIT",
  ]
}

rust_library("structopt-v0_2_14") {
  crate_name = "structopt"
  crate_root = "//third_party/rust_crates/vendor/structopt-0.2.14/src/lib.rs"
  output_name = "structopt-282f1735ac1cc133"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":clap-v2_34_0" ]
  deps += [ ":structopt-derive-v0_2_14($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=282f1735ac1cc133",
    "-Cextra-filename=-282f1735ac1cc133",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":structopt-v0_2_14.license" ]
}

license("structopt-derive-v0_2_14.license") {
  public_package_name = "structopt_derive"
  license_files = [
    "//third_party/rust_crates/vendor/structopt-derive-0.2.14/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/structopt-derive-0.2.14/LICENSE-MIT",
  ]
}

rust_proc_macro("structopt-derive-v0_2_14") {
  crate_name = "structopt_derive"
  crate_root =
      "//third_party/rust_crates/vendor/structopt-derive-0.2.14/src/lib.rs"
  output_name = "structopt_derive-809c043d87d920da"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":heck-v0_3_1" ]
  deps += [ ":proc-macro2-v0_4_27" ]
  deps += [ ":quote-v0_6_11" ]
  deps += [ ":syn-v0_15_26" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=809c043d87d920da",
    "-Cextra-filename=-809c043d87d920da",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":structopt-derive-v0_2_14.license" ]
}

license("strum-v0_25_0.license") {
  public_package_name = "strum"
  license_files = [ "//third_party/rust_crates/vendor/strum-0.25.0/LICENSE" ]
}

rust_library("strum-v0_25_0") {
  crate_name = "strum"
  crate_root = "//third_party/rust_crates/vendor/strum-0.25.0/src/lib.rs"
  output_name = "strum-fd23c935a83f9253"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=fd23c935a83f9253",
    "-Cextra-filename=-fd23c935a83f9253",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":strum-v0_25_0.license" ]
}

license("strum_macros-v0_25_3.license") {
  public_package_name = "strum_macros"
  license_files =
      [ "//third_party/rust_crates/vendor/strum_macros-0.25.3/LICENSE" ]
}

rust_proc_macro("strum_macros-v0_25_3") {
  crate_name = "strum_macros"
  crate_root = "//third_party/rust_crates/vendor/strum_macros-0.25.3/src/lib.rs"
  output_name = "strum_macros-428e76e7ff188938"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rustversion-v1_0_12($host_toolchain)" ]
  deps += [ ":heck-v0_4_1" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=428e76e7ff188938",
    "-Cextra-filename=-428e76e7ff188938",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":strum_macros-v0_25_3.license" ]
}

license("subtle-v2_4_1.license") {
  public_package_name = "subtle"
  license_files = [ "//third_party/rust_crates/vendor/subtle-2.4.1/LICENSE" ]
}

rust_library("subtle-v2_4_1") {
  crate_name = "subtle"
  crate_root = "//third_party/rust_crates/vendor/subtle-2.4.1/src/lib.rs"
  output_name = "subtle-6f67d79a9c7c75a8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=6f67d79a9c7c75a8",
    "-Cextra-filename=-6f67d79a9c7c75a8",
    "--cfg=feature=\"i128\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":subtle-v2_4_1.license" ]
}

license("syn-v0_15_26.license") {
  public_package_name = "syn"
  license_files = [
    "//third_party/rust_crates/vendor/syn-0.15.26/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/syn-0.15.26/LICENSE-MIT",
  ]
}

rust_library("syn-v0_15_26") {
  crate_name = "syn"
  crate_root = "//third_party/rust_crates/vendor/syn-0.15.26/src/lib.rs"
  output_name = "syn-45b33f047f6103c6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v0_4_27" ]
  deps += [ ":quote-v0_6_11" ]
  deps += [ ":unicode-xid-v0_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=45b33f047f6103c6",
    "-Cextra-filename=-45b33f047f6103c6",
    "--cfg=feature=\"clone-impls\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"extra-traits\"",
    "--cfg=feature=\"full\"",
    "--cfg=feature=\"parsing\"",
    "--cfg=feature=\"printing\"",
    "--cfg=feature=\"proc-macro\"",
    "--cfg=feature=\"quote\"",
    "--cfg=feature=\"visit\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":syn-v0_15_26.license" ]
}

license("syn-v1_0_98.license") {
  public_package_name = "syn"
  license_files = [
    "//third_party/rust_crates/vendor/syn-1.0.98/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/syn-1.0.98/LICENSE-MIT",
  ]
}

rust_library("syn-v1_0_98") {
  crate_name = "syn"
  crate_root = "//third_party/rust_crates/vendor/syn-1.0.98/src/lib.rs"
  output_name = "syn-84bcb8bd88e897cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":unicode-ident-v1_0_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=84bcb8bd88e897cd",
    "-Cextra-filename=-84bcb8bd88e897cd",
    "--cfg=feature=\"clone-impls\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"extra-traits\"",
    "--cfg=feature=\"full\"",
    "--cfg=feature=\"parsing\"",
    "--cfg=feature=\"printing\"",
    "--cfg=feature=\"proc-macro\"",
    "--cfg=feature=\"quote\"",
    "--cfg=feature=\"visit\"",
    "--cfg=feature=\"visit-mut\"",
  ]

  visibility = []
  visibility += [ ":*" ]
  visibility += [ "//src/connectivity/bluetooth/testing/test-harness-macro:*" ]
  visibility += [ "//src/connectivity/lib/ip-test-macro:*" ]
  visibility += [ "//src/connectivity/lib/ip-test-macro/test:*" ]
  visibility += [ "//src/connectivity/lib/net-declare:*" ]
  visibility += [ "//src/connectivity/lib/net-types:*" ]
  visibility +=
      [ "//src/connectivity/lowpan/lib/spinel_pack/spinel_pack_macros:*" ]
  visibility += [ "//src/connectivity/network/lib/todo_unused:*" ]
  visibility += [ "//src/connectivity/network/netstack3/core/macros:*" ]
  visibility += [ "//src/connectivity/network/tests/integration/macros:*" ]
  visibility += [ "//src/connectivity/network/tests/integration/multicast-forwarding/macros:*" ]
  visibility += [ "//src/connectivity/wlan/lib/bitfield:*" ]
  visibility += [ "//src/connectivity/wlan/lib/frame_writer/macro:*" ]
  visibility += [ "//src/connectivity/wlan/lib/statemachine/macro:*" ]
  visibility += [ "//src/developer/ffx/config/macro/proc_macro:*" ]
  visibility += [ "//src/developer/ffx/core/macro:*" ]
  visibility += [ "//src/developer/ffx/lib/fho/macro:*" ]
  visibility += [ "//src/developer/ffx/lib/protocols/macros:*" ]
  visibility += [ "//src/developer/ffx/lib/validation/proc_macro:*" ]
  visibility += [ "//src/developer/ffx/plugins/fuzz/shell_args:*" ]
  visibility += [ "//src/lib/assembly/file_relative_path:*" ]
  visibility += [ "//src/lib/diagnostics/inspect/derive/macro:*" ]
  visibility +=
      [ "//src/lib/fidl_table_validation/fidl_table_validation_derive:*" ]
  visibility += [ "//src/lib/from-enum:*" ]
  visibility += [ "//src/lib/fuchsia-async-macro:*" ]
  visibility += [ "//src/lib/fuchsia/macro:*" ]
  visibility += [ "//src/lib/fuzzing/rust:*" ]
  visibility += [ "//src/lib/include_bytes_from_working_dir:*" ]
  visibility += [ "//src/lib/include_str_from_working_dir:*" ]
  visibility += [ "//src/lib/testing/fixture:*" ]
  visibility += [ "//src/starnix/lib/filter_methods_macro:*" ]
  visibility += [ "//src/storage/fxfs:*" ]
  visibility += [ "//src/storage/fxfs/trace/macros:*" ]
  visibility += [ "//src/storage/lib/vfs/rust/macros:*" ]
  visibility += [ "//src/storage/type-fprint:*" ]
  visibility += [ "//src/sys/lib/cm_rust:*" ]
  visibility += [ "//src/sys/time/lib/inspect-writable/macro:*" ]
  visibility += [ "//tools/lib/config_client:*" ]
  visibility += [ "//tools/lib/reference_doc/macro:*" ]

  applicable_licenses = [ ":syn-v1_0_98.license" ]
}

license("syn-v2_0_55.license") {
  public_package_name = "syn"
  license_files = [
    "//third_party/rust_crates/vendor/syn-2.0.55/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/syn-2.0.55/LICENSE-MIT",
  ]
}

rust_library("syn-v2_0_55") {
  crate_name = "syn"
  crate_root = "//third_party/rust_crates/vendor/syn-2.0.55/src/lib.rs"
  output_name = "syn-84094996fbbeddfc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":unicode-ident-v1_0_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=84094996fbbeddfc",
    "-Cextra-filename=-84094996fbbeddfc",
    "--cfg=feature=\"clone-impls\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"extra-traits\"",
    "--cfg=feature=\"full\"",
    "--cfg=feature=\"parsing\"",
    "--cfg=feature=\"printing\"",
    "--cfg=feature=\"proc-macro\"",
    "--cfg=feature=\"quote\"",
    "--cfg=feature=\"visit\"",
    "--cfg=feature=\"visit-mut\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":syn-v2_0_55.license" ]
}

license("synstructure-v0_12_1.license") {
  public_package_name = "synstructure"
  license_files =
      [ "//third_party/rust_crates/vendor/synstructure-0.12.1/LICENSE" ]
}

rust_library("synstructure-v0_12_1") {
  crate_name = "synstructure"
  crate_root = "//third_party/rust_crates/vendor/synstructure-0.12.1/src/lib.rs"
  output_name = "synstructure-379147eabfeddd75"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]
  deps += [ ":unicode-xid-v0_2_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=379147eabfeddd75",
    "-Cextra-filename=-379147eabfeddd75",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":synstructure-v0_12_1.license" ]
}

license("redox_syscall-v0_1_51.license") {
  public_package_name = "syscall"
  license_files =
      [ "//third_party/rust_crates/vendor/redox_syscall-0.1.51/LICENSE" ]
}

rust_library("redox_syscall-v0_1_51") {
  crate_name = "syscall"
  crate_root =
      "//third_party/rust_crates/vendor/redox_syscall-0.1.51/src/lib.rs"
  output_name = "syscall-744b5901ce7227f5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=744b5901ce7227f5",
    "-Cextra-filename=-744b5901ce7227f5",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":redox_syscall-v0_1_51.license" ]
}

license("redox_syscall-v0_2_13.license") {
  public_package_name = "syscall"
  license_files =
      [ "//third_party/rust_crates/vendor/redox_syscall-0.2.13/LICENSE" ]
}

rust_library("redox_syscall-v0_2_13") {
  crate_name = "syscall"
  crate_root =
      "//third_party/rust_crates/vendor/redox_syscall-0.2.13/src/lib.rs"
  output_name = "syscall-cd7322001801996f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":bitflags-v1_3_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cd7322001801996f",
    "-Cextra-filename=-cd7322001801996f",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":redox_syscall-v0_2_13.license" ]
}

license("tar-v0_4_25.license") {
  public_package_name = "tar"
  license_files = [
    "//third_party/rust_crates/vendor/tar-0.4.25/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/tar-0.4.25/LICENSE-MIT",
  ]
}

rust_library("tar-v0_4_25") {
  crate_name = "tar"
  crate_root = "//third_party/rust_crates/vendor/tar-0.4.25/src/lib.rs"
  output_name = "tar-f84162c57b5f3fa8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":filetime-v0_2_14" ]
  if (false) {
    deps += [ ":redox_syscall-v0_1_51" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
    deps += [ ":xattr-v0_2_2" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f84162c57b5f3fa8",
    "-Cextra-filename=-f84162c57b5f3fa8",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"xattr\"",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_1_51"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":tar-v0_4_25.license" ]
}

license("tempfile-v3_2_0.license") {
  public_package_name = "tempfile"
  license_files = [
    "//third_party/rust_crates/vendor/tempfile-3.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/tempfile-3.2.0/LICENSE-MIT",
  ]
}

rust_library("tempfile-v3_2_0") {
  crate_name = "tempfile"
  crate_root = "//third_party/rust_crates/vendor/tempfile-3.2.0/src/lib.rs"
  output_name = "tempfile-713baaf360fa1fa9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":rand-v0_8_4" ]
  deps += [ ":remove_dir_all-v0_5_1" ]
  if (false) {
    deps += [ ":redox_syscall-v0_2_13" ]
  }
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=713baaf360fa1fa9",
    "-Cextra-filename=-713baaf360fa1fa9",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_2_13"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":tempfile-v3_2_0.license" ]
}

license("term-v0_5_1.license") {
  public_package_name = "term"
  license_files = [
    "//third_party/rust_crates/vendor/term-0.5.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/term-0.5.1/LICENSE-MIT",
  ]
}

rust_library("term-v0_5_1") {
  crate_name = "term"
  crate_root = "//third_party/rust_crates/vendor/term-0.5.1/src/lib.rs"
  output_name = "term-2cb16ccbdf283d91"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2cb16ccbdf283d91",
    "-Cextra-filename=-2cb16ccbdf283d91",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":term-v0_5_1.license" ]
}

license("term_grid-v0_2_0.license") {
  public_package_name = "term_grid"
  license_files = [ "//third_party/rust_crates/vendor/term_grid-0.2.0/LICENSE" ]
}

rust_library("term_grid-v0_2_0") {
  crate_name = "term_grid"
  crate_root = "//third_party/rust_crates/vendor/term_grid-0.2.0/src/lib.rs"
  output_name = "term_grid-98fc599b4f457444"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-width-v0_1_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=98fc599b4f457444",
    "-Cextra-filename=-98fc599b4f457444",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":term_grid-v0_2_0.license" ]
}

license("termcolor-v1_1_2.license") {
  public_package_name = "termcolor"
  license_files =
      [ "//third_party/rust_crates/ask2patch/termcolor/LICENSE-MIT" ]
}

rust_library("termcolor-v1_1_2") {
  crate_name = "termcolor"
  crate_root = "//third_party/rust_crates/ask2patch/termcolor/src/lib.rs"
  output_name = "termcolor-8a22f3c4f465f166"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (false) {
    deps += [ ":winapi-util-v0_1_5" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=8a22f3c4f465f166",
    "-Cextra-filename=-8a22f3c4f465f166",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":termcolor-v1_1_2.license" ]
}

license("termion-v1_5_3.license") {
  public_package_name = "termion"
  license_files = [ "//third_party/rust_crates/vendor/termion-1.5.3/LICENSE" ]
}

rust_library("termion-v1_5_3") {
  crate_name = "termion"
  crate_root = "//third_party/rust_crates/vendor/termion-1.5.3/src/lib.rs"
  output_name = "termion-bd203e66cab9a985"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":numtoa-v0_1_0" ]
  if (!false) {
    deps += [ ":libc-v0_2_149" ]
  }
  if (false) {
    deps += [ ":redox_syscall-v0_1_51" ]
    deps += [ ":redox_termios-v0_1_1" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=bd203e66cab9a985",
    "-Cextra-filename=-bd203e66cab9a985",
  ]

  aliased_deps = {
    syscall = ":redox_syscall-v0_1_51"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":termion-v1_5_3.license" ]
}

license("termios-v0_3_2.license") {
  public_package_name = "termios"
  license_files = [ "//third_party/rust_crates/vendor/termios-0.3.2/LICENSE" ]
}

rust_library("termios-v0_3_2") {
  crate_name = "termios"
  crate_root = "//third_party/rust_crates/vendor/termios-0.3.2/src/lib.rs"
  output_name = "termios-ef75c1b73286d58d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ef75c1b73286d58d",
    "-Cextra-filename=-ef75c1b73286d58d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":termios-v0_3_2.license" ]
}

license("termtree-v0_4_1.license") {
  public_package_name = "termtree"
  license_files = [ "//third_party/rust_crates/vendor/termtree-0.4.1/LICENSE" ]
}

rust_library("termtree-v0_4_1") {
  crate_name = "termtree"
  crate_root = "//third_party/rust_crates/vendor/termtree-0.4.1/src/lib.rs"
  output_name = "termtree-5cf80b786490087d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5cf80b786490087d",
    "-Cextra-filename=-5cf80b786490087d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":termtree-v0_4_1.license" ]
}

license("test-case-v3_2_1.license") {
  public_package_name = "test_case"
  license_files = [ "//third_party/rust_crates/vendor/test-case-3.2.1/LICENSE" ]
}

rust_library("test-case-v3_2_1") {
  crate_name = "test_case"
  crate_root = "//third_party/rust_crates/vendor/test-case-3.2.1/src/lib.rs"
  output_name = "test_case-be136360dfea9f8e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":test-case-macros-v3_2_1($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=be136360dfea9f8e",
    "-Cextra-filename=-be136360dfea9f8e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":test-case-v3_2_1.license" ]
}

license("test-case-core-v3_2_1.license") {
  public_package_name = "test_case_core"
  license_files =
      [ "//third_party/rust_crates/vendor/test-case-core-3.2.1/LICENSE" ]
}

rust_library("test-case-core-v3_2_1") {
  crate_name = "test_case_core"
  crate_root =
      "//third_party/rust_crates/vendor/test-case-core-3.2.1/src/lib.rs"
  output_name = "test_case_core-9ab37c64893682ce"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":proc-macro-error-v1_0_4" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=9ab37c64893682ce",
    "-Cextra-filename=-9ab37c64893682ce",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":test-case-core-v3_2_1.license" ]
}

license("test-case-macros-v3_2_1.license") {
  public_package_name = "test_case_macros"
  license_files =
      [ "//third_party/rust_crates/vendor/test-case-macros-3.2.1/LICENSE" ]
}

rust_proc_macro("test-case-macros-v3_2_1") {
  crate_name = "test_case_macros"
  crate_root =
      "//third_party/rust_crates/vendor/test-case-macros-3.2.1/src/lib.rs"
  output_name = "test_case_macros-941f368c4dcd5cb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro-error-v1_0_4" ]
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]
  deps += [ ":test-case-core-v3_2_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=941f368c4dcd5cb",
    "-Cextra-filename=-941f368c4dcd5cb",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":test-case-macros-v3_2_1.license" ]
}

license("textwrap-v0_11_0.license") {
  public_package_name = "textwrap"
  license_files = [ "//third_party/rust_crates/vendor/textwrap-0.11.0/LICENSE" ]
}

rust_library("textwrap-v0_11_0") {
  crate_name = "textwrap"
  crate_root = "//third_party/rust_crates/vendor/textwrap-0.11.0/src/lib.rs"
  output_name = "textwrap-942fc263da8a1e95"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unicode-width-v0_1_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=942fc263da8a1e95",
    "-Cextra-filename=-942fc263da8a1e95",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":textwrap-v0_11_0.license" ]
}

license("thiserror-v1_0_57.license") {
  public_package_name = "thiserror"
  license_files = [
    "//third_party/rust_crates/vendor/thiserror-1.0.57/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/thiserror-1.0.57/LICENSE-MIT",
  ]
}

rust_library("thiserror-v1_0_57") {
  crate_name = "thiserror"
  crate_root = "//third_party/rust_crates/vendor/thiserror-1.0.57/src/lib.rs"
  output_name = "thiserror-8a07473555bc0167"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":thiserror-impl-v1_0_57($host_toolchain)" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=8a07473555bc0167",
    "-Cextra-filename=-8a07473555bc0167",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":thiserror-v1_0_57.license" ]
}

license("thiserror-impl-v1_0_57.license") {
  public_package_name = "thiserror_impl"
  license_files = [
    "//third_party/rust_crates/vendor/thiserror-impl-1.0.57/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/thiserror-impl-1.0.57/LICENSE-MIT",
  ]
}

rust_proc_macro("thiserror-impl-v1_0_57") {
  crate_name = "thiserror_impl"
  crate_root =
      "//third_party/rust_crates/vendor/thiserror-impl-1.0.57/src/lib.rs"
  output_name = "thiserror_impl-db3e7c689a4b65da"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=db3e7c689a4b65da",
    "-Cextra-filename=-db3e7c689a4b65da",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":thiserror-impl-v1_0_57.license" ]
}

license("thread_local-v1_1_7.license") {
  public_package_name = "thread_local"
  license_files = [
    "//third_party/rust_crates/vendor/thread_local-1.1.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/thread_local-1.1.7/LICENSE-MIT",
  ]
}

rust_library("thread_local-v1_1_7") {
  crate_name = "thread_local"
  crate_root = "//third_party/rust_crates/vendor/thread_local-1.1.7/src/lib.rs"
  output_name = "thread_local-77810a8d2fa10bcb"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":once_cell-v1_17_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=77810a8d2fa10bcb",
    "-Cextra-filename=-77810a8d2fa10bcb",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":thread_local-v1_1_7.license" ]
}

license("tinyjson-v2_5_0.license") {
  public_package_name = "tinyjson"
  license_files =
      [ "//third_party/rust_crates/vendor/tinyjson-2.5.0/LICENSE.txt" ]
}

rust_library("tinyjson-v2_5_0") {
  crate_name = "tinyjson"
  crate_root = "//third_party/rust_crates/vendor/tinyjson-2.5.0/src/lib.rs"
  output_name = "tinyjson-a756eab61975480c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=a756eab61975480c",
    "-Cextra-filename=-a756eab61975480c",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tinyjson-v2_5_0.license" ]
}

license("tinyvec-v1_3_1.license") {
  public_package_name = "tinyvec"
  license_files = [
    "//third_party/rust_crates/vendor/tinyvec-1.3.1/LICENSE-APACHE.md",
    "//third_party/rust_crates/vendor/tinyvec-1.3.1/LICENSE-MIT.md",
    "//third_party/rust_crates/vendor/tinyvec-1.3.1/LICENSE-ZLIB.md",
  ]
}

rust_library("tinyvec-v1_3_1") {
  crate_name = "tinyvec"
  crate_root = "//third_party/rust_crates/vendor/tinyvec-1.3.1/src/lib.rs"
  output_name = "tinyvec-b0b0bc470b46e7b2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":tinyvec_macros-v0_1_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b0b0bc470b46e7b2",
    "-Cextra-filename=-b0b0bc470b46e7b2",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"tinyvec_macros\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tinyvec-v1_3_1.license" ]
}

license("tinyvec_macros-v0_1_0.license") {
  public_package_name = "tinyvec_macros"
  license_files =
      [ "//third_party/rust_crates/vendor/tinyvec_macros-0.1.0/LICENSE" ]
}

rust_library("tinyvec_macros-v0_1_0") {
  crate_name = "tinyvec_macros"
  crate_root =
      "//third_party/rust_crates/vendor/tinyvec_macros-0.1.0/src/lib.rs"
  output_name = "tinyvec_macros-de657c64f98fc831"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=de657c64f98fc831",
    "-Cextra-filename=-de657c64f98fc831",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tinyvec_macros-v0_1_0.license" ]
}

license("tokio-v1_32_1.license") {
  public_package_name = "tokio"
  license_files = [ "//third_party/rust_crates/vendor/tokio-1.32.1/LICENSE" ]
}

rust_library("tokio-v1_32_1") {
  crate_name = "tokio"
  crate_root = "//third_party/rust_crates/vendor/tokio-1.32.1/src/lib.rs"
  output_name = "tokio-e632fd320a52613b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":pin-project-lite-v0_2_13" ]
  if (false) {
    deps += [ ":backtrace-v0_3_61" ]
  }
  if (!(current_os == "fuchsia")) {
    deps += [ ":bytes-v1_0_1" ]
    deps += [ ":libc-v0_2_149" ]
    deps += [ ":memchr-v2_7_1" ]
    deps += [ ":mio-v0_8_9" ]
    deps += [ ":num_cpus-v1_13_0" ]
    deps += [ ":signal-hook-registry-v1_4_1" ]
    deps += [ ":socket2-v0_5_5" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=e632fd320a52613b",
    "-Cextra-filename=-e632fd320a52613b",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"sync\"",
    "--cfg=feature=\"time\"",
  ]
  if (!(current_os == "fuchsia")) {
    rustflags += [
      "--cfg=feature=\"bytes\"",
      "--cfg=feature=\"fs\"",
      "--cfg=feature=\"io-util\"",
      "--cfg=feature=\"libc\"",
      "--cfg=feature=\"mio\"",
      "--cfg=feature=\"net\"",
      "--cfg=feature=\"num_cpus\"",
      "--cfg=feature=\"process\"",
      "--cfg=feature=\"rt-multi-thread\"",
      "--cfg=feature=\"rt\"",
      "--cfg=feature=\"signal-hook-registry\"",
      "--cfg=feature=\"socket2\"",
      "--cfg=feature=\"sync\"",
      "--cfg=feature=\"time\"",
    ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":tokio-v1_32_1.license" ]
}

license("tokio-rustls-v0_22_0.license") {
  public_package_name = "tokio_rustls"
  license_files = [
    "//third_party/rust_crates/vendor/tokio-rustls-0.22.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/tokio-rustls-0.22.0/LICENSE-MIT",
  ]
}

rust_library("tokio-rustls-v0_22_0") {
  crate_name = "tokio_rustls"
  crate_root = "//third_party/rust_crates/vendor/tokio-rustls-0.22.0/src/lib.rs"
  output_name = "tokio_rustls-16584d9dad632eb3"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rustls-v0_19_1" ]
  deps += [ ":tokio-v1_32_1" ]
  deps += [ ":webpki-v0_21_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=16584d9dad632eb3",
    "-Cextra-filename=-16584d9dad632eb3",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tokio-rustls-v0_22_0.license" ]
}

license("tokio-stream-v0_1_14.license") {
  public_package_name = "tokio_stream"
  license_files =
      [ "//third_party/rust_crates/vendor/tokio-stream-0.1.14/LICENSE" ]
}

rust_library("tokio-stream-v0_1_14") {
  crate_name = "tokio_stream"
  crate_root = "//third_party/rust_crates/vendor/tokio-stream-0.1.14/src/lib.rs"
  output_name = "tokio_stream-fc77bc8a6af1f782"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":futures-core-v0_3_19" ]
  deps += [ ":pin-project-lite-v0_2_13" ]
  deps += [ ":tokio-v1_32_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=fc77bc8a6af1f782",
    "-Cextra-filename=-fc77bc8a6af1f782",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"time\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tokio-stream-v0_1_14.license" ]
}

license("toml-v0_5_6.license") {
  public_package_name = "toml"
  license_files = [
    "//third_party/rust_crates/vendor/toml-0.5.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/toml-0.5.6/LICENSE-MIT",
  ]
}

rust_library("toml-v0_5_6") {
  crate_name = "toml"
  crate_root = "//third_party/rust_crates/vendor/toml-0.5.6/src/lib.rs"
  output_name = "toml-2563c91c8a85577d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2563c91c8a85577d",
    "-Cextra-filename=-2563c91c8a85577d",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":toml-v0_5_6.license" ]
}

license("toml_edit-v0_2_1.license") {
  public_package_name = "toml_edit"
  license_files = [
    "//third_party/rust_crates/vendor/toml_edit-0.2.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/toml_edit-0.2.1/LICENSE-MIT",
  ]
}

rust_library("toml_edit-v0_2_1") {
  crate_name = "toml_edit"
  crate_root = "//third_party/rust_crates/vendor/toml_edit-0.2.1/src/lib.rs"
  output_name = "toml_edit-21fcacc5489f3304"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":combine-v4_6_2" ]
  deps += [ ":linked-hash-map-v0_5_3" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=21fcacc5489f3304",
    "-Cextra-filename=-21fcacc5489f3304",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":toml_edit-v0_2_1.license" ]
}

license("tower-service-v0_3_0.license") {
  public_package_name = "tower_service"
  license_files =
      [ "//third_party/rust_crates/vendor/tower-service-0.3.0/LICENSE" ]
}

rust_library("tower-service-v0_3_0") {
  crate_name = "tower_service"
  crate_root = "//third_party/rust_crates/vendor/tower-service-0.3.0/src/lib.rs"
  output_name = "tower_service-2289a8e10b994b8a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=2289a8e10b994b8a",
    "-Cextra-filename=-2289a8e10b994b8a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tower-service-v0_3_0.license" ]
}

license("tracing-v0_1_40.license") {
  public_package_name = "tracing"
  license_files = [ "//third_party/rust_crates/vendor/tracing-0.1.40/LICENSE" ]
}

rust_library("tracing-v0_1_40") {
  crate_name = "tracing"
  crate_root = "//third_party/rust_crates/vendor/tracing-0.1.40/src/lib.rs"
  output_name = "tracing-f1b3fa5716d3f483"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":tracing-core-v0_1_32" ]
  deps += [ ":pin-project-lite-v0_2_13" ]
  deps += [ ":tracing-attributes-v0_1_27($host_toolchain)" ]
  if (!(current_os == "fuchsia")) {
    deps += [ ":log-v0_4_20" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f1b3fa5716d3f483",
    "-Cextra-filename=-f1b3fa5716d3f483",
    "--cfg=feature=\"attributes\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"tracing-attributes\"",
  ]
  if (!(current_os == "fuchsia")) {
    rustflags += [ "--cfg=feature=\"log\"" ]
  }

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-v0_1_40.license" ]
}

license("tracing-attributes-v0_1_27.license") {
  public_package_name = "tracing_attributes"
  license_files =
      [ "//third_party/rust_crates/vendor/tracing-attributes-0.1.27/LICENSE" ]
}

rust_proc_macro("tracing-attributes-v0_1_27") {
  crate_name = "tracing_attributes"
  crate_root =
      "//third_party/rust_crates/vendor/tracing-attributes-0.1.27/src/lib.rs"
  output_name = "tracing_attributes-235581cb05da4911"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=235581cb05da4911",
    "-Cextra-filename=-235581cb05da4911",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-attributes-v0_1_27.license" ]
}

license("tracing-core-v0_1_32.license") {
  public_package_name = "tracing_core"
  license_files = [ "//third_party/rust_crates/forks/tracing-core/LICENSE" ]
}

rust_library("tracing-core-v0_1_32") {
  crate_name = "tracing_core"
  crate_root = "//third_party/rust_crates/forks/tracing-core/src/lib.rs"
  output_name = "tracing_core-3351bb4119645a8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":once_cell-v1_17_1" ]
  if (false) {
    deps += [ ":valuable-v0_1_0" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3351bb4119645a8",
    "-Cextra-filename=-3351bb4119645a8",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"once_cell\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"valuable\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-core-v0_1_32.license" ]
}

license("tracing-log-v0_2_0.license") {
  public_package_name = "tracing_log"
  license_files =
      [ "//third_party/rust_crates/vendor/tracing-log-0.2.0/LICENSE" ]
}

rust_library("tracing-log-v0_2_0") {
  crate_name = "tracing_log"
  crate_root = "//third_party/rust_crates/vendor/tracing-log-0.2.0/src/lib.rs"
  output_name = "tracing_log-575e9bcc83b55bcc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":tracing-core-v0_1_32" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":once_cell-v1_17_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=575e9bcc83b55bcc",
    "-Cextra-filename=-575e9bcc83b55bcc",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"log-tracer\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-log-v0_2_0.license" ]
}

license("tracing-mutex-v0_3_0.license") {
  public_package_name = "tracing_mutex"
  license_files = [
    "//third_party/rust_crates/vendor/tracing-mutex-0.3.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/tracing-mutex-0.3.0/LICENSE-MIT",
  ]
}

rust_library("tracing-mutex-v0_3_0") {
  crate_name = "tracing_mutex"
  crate_root = "//third_party/rust_crates/vendor/tracing-mutex-0.3.0/src/lib.rs"
  output_name = "tracing_mutex-8efa01ae111d5f99"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":lock_api-v0_4_11" ]
  deps += [ ":parking_lot-v0_12_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=8efa01ae111d5f99",
    "-Cextra-filename=-8efa01ae111d5f99",
    "--cfg=feature=\"backtraces\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"lock_api\"",
    "--cfg=feature=\"lockapi\"",
    "--cfg=feature=\"parking_lot\"",
    "--cfg=feature=\"parkinglot\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-mutex-v0_3_0.license" ]
}

license("tracing-subscriber-v0_3_18.license") {
  public_package_name = "tracing_subscriber"
  license_files =
      [ "//third_party/rust_crates/vendor/tracing-subscriber-0.3.18/LICENSE" ]
}

rust_library("tracing-subscriber-v0_3_18") {
  crate_name = "tracing_subscriber"
  crate_root =
      "//third_party/rust_crates/vendor/tracing-subscriber-0.3.18/src/lib.rs"
  output_name = "tracing_subscriber-e05c1c596b7237cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":tracing-core-v0_1_32" ]
  deps += [ ":matchers-v0_1_0" ]
  deps += [ ":nu-ansi-term-v0_46_0" ]
  deps += [ ":once_cell-v1_17_1" ]
  deps += [ ":regex-v1_7_3" ]
  deps += [ ":sharded-slab-v0_1_4" ]
  deps += [ ":smallvec-v1_13_1" ]
  deps += [ ":thread_local-v1_1_7" ]
  deps += [ ":tracing-log-v0_2_0" ]
  deps += [ ":tracing-v0_1_40" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e05c1c596b7237cd",
    "-Cextra-filename=-e05c1c596b7237cd",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"ansi\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"env-filter\"",
    "--cfg=feature=\"fmt\"",
    "--cfg=feature=\"matchers\"",
    "--cfg=feature=\"nu-ansi-term\"",
    "--cfg=feature=\"once_cell\"",
    "--cfg=feature=\"regex\"",
    "--cfg=feature=\"registry\"",
    "--cfg=feature=\"sharded-slab\"",
    "--cfg=feature=\"smallvec\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"thread_local\"",
    "--cfg=feature=\"tracing\"",
    "--cfg=feature=\"tracing-log\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tracing-subscriber-v0_3_18.license" ]
}

license("treeline-v0_1_0.license") {
  public_package_name = "treeline"
  license_files = [ "//third_party/rust_crates/vendor/treeline-0.1.0/LICENSE" ]
}

rust_library("treeline-v0_1_0") {
  crate_name = "treeline"
  crate_root = "//third_party/rust_crates/vendor/treeline-0.1.0/src/lib.rs"
  output_name = "treeline-73b2c02cee81d97b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=73b2c02cee81d97b",
    "-Cextra-filename=-73b2c02cee81d97b",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":treeline-v0_1_0.license" ]
}

license("trust-dns-proto-v0_22_0.license") {
  public_package_name = "trust_dns_proto"
  license_files = [
    "//third_party/rust_crates/vendor/trust-dns-proto-0.22.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/trust-dns-proto-0.22.0/LICENSE-MIT",
  ]
}

rust_library("trust-dns-proto-v0_22_0") {
  crate_name = "trust_dns_proto"
  crate_root =
      "//third_party/rust_crates/vendor/trust-dns-proto-0.22.0/src/lib.rs"
  output_name = "trust_dns_proto-b7c1414f1b98a98d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":async-trait-v0_1_71($host_toolchain)" ]
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":data-encoding-v2_3_2" ]
  deps += [ ":enum-as-inner-v0_5_1($host_toolchain)" ]
  deps += [ ":futures-channel-v0_3_19" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":idna-v0_2_3" ]
  deps += [ ":ipnet-v2_3_1" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":rand-v0_8_4" ]
  deps += [ ":smallvec-v1_13_1" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":tinyvec-v1_3_1" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ ":url-v2_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b7c1414f1b98a98d",
    "-Cextra-filename=-b7c1414f1b98a98d",
    "--cfg=feature=\"testing\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":trust-dns-proto-v0_22_0.license" ]
}

license("trust-dns-resolver-v0_22_0.license") {
  public_package_name = "trust_dns_resolver"
  license_files = [
    "//third_party/rust_crates/vendor/trust-dns-resolver-0.22.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/trust-dns-resolver-0.22.0/LICENSE-MIT",
  ]
}

rust_library("trust-dns-resolver-v0_22_0") {
  crate_name = "trust_dns_resolver"
  crate_root =
      "//third_party/rust_crates/vendor/trust-dns-resolver-0.22.0/src/lib.rs"
  output_name = "trust_dns_resolver-22c9d5f1801e7ebf"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":cfg-if-v1_0_0" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":lazy_static-v1_4_0" ]
  deps += [ ":lru-cache-v0_1_2" ]
  deps += [ ":parking_lot-v0_12_0" ]
  deps += [ ":smallvec-v1_13_1" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":tracing-v0_1_40" ]
  deps += [ ":trust-dns-proto-v0_22_0" ]

  rustenv = [ "CARGO_PKG_VERSION=\"0.22.0\"" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=22c9d5f1801e7ebf",
    "-Cextra-filename=-22c9d5f1801e7ebf",
    "--cfg=feature=\"testing\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":trust-dns-resolver-v0_22_0.license" ]
}

license("try-lock-v0_2_2.license") {
  public_package_name = "try_lock"
  license_files = [ "//third_party/rust_crates/vendor/try-lock-0.2.2/LICENSE" ]
}

rust_library("try-lock-v0_2_2") {
  crate_name = "try_lock"
  crate_root = "//third_party/rust_crates/vendor/try-lock-0.2.2/src/lib.rs"
  output_name = "try_lock-d2aa576612eef943"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d2aa576612eef943",
    "-Cextra-filename=-d2aa576612eef943",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":try-lock-v0_2_2.license" ]
}

license("ttf-parser-v0_10_1.license") {
  public_package_name = "ttf_parser"
  license_files = [
    "//third_party/rust_crates/vendor/ttf-parser-0.10.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ttf-parser-0.10.1/LICENSE-MIT",
  ]
}

rust_library("ttf-parser-v0_10_1") {
  crate_name = "ttf_parser"
  crate_root = "//third_party/rust_crates/vendor/ttf-parser-0.10.1/src/lib.rs"
  output_name = "ttf_parser-17d6faa32a9b2844"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=17d6faa32a9b2844",
    "-Cextra-filename=-17d6faa32a9b2844",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"variable-fonts\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ttf-parser-v0_10_1.license" ]
}

license("tuf-v0_3_0-beta12.license") {
  public_package_name = "tuf"
  license_files = [
    "//third_party/rust_crates/vendor/tuf-0.3.0-beta12/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/tuf-0.3.0-beta12/LICENSE-MIT",
  ]
}

rust_library("tuf-v0_3_0-beta12") {
  crate_name = "tuf"
  crate_root = "//third_party/rust_crates/vendor/tuf-0.3.0-beta12/src/lib.rs"
  output_name = "tuf-90ecc9b52560181b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":data-encoding-v2_3_2" ]
  deps += [ ":futures-io-v0_3_19" ]
  deps += [ ":futures-util-v0_3_19" ]
  deps += [ ":http-v0_2_4" ]
  deps += [ ":hyper-v0_14_19" ]
  deps += [ ":itoa-v1_0_5" ]
  deps += [ ":log-v0_4_20" ]
  deps += [ ":percent-encoding-v2_2_0" ]
  deps += [ ":ring-v0_16_20" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_derive-v1_0_203($host_toolchain)" ]
  deps += [ ":serde_json-v1_0_87" ]
  deps += [ ":tempfile-v3_2_0" ]
  deps += [ ":thiserror-v1_0_57" ]
  deps += [ ":untrusted-v0_7_1" ]
  deps += [ ":url-v2_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=90ecc9b52560181b",
    "-Cextra-filename=-90ecc9b52560181b",
    "--cfg=feature=\"hyper\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":tuf-v0_3_0-beta12.license" ]
}

license("typed-arena-v1_4_1.license") {
  public_package_name = "typed_arena"
  license_files =
      [ "//third_party/rust_crates/vendor/typed-arena-1.4.1/LICENSE" ]
}

rust_library("typed-arena-v1_4_1") {
  crate_name = "typed_arena"
  crate_root = "//third_party/rust_crates/vendor/typed-arena-1.4.1/src/lib.rs"
  output_name = "typed_arena-18c1bf68df33fe8c"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=18c1bf68df33fe8c",
    "-Cextra-filename=-18c1bf68df33fe8c",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":typed-arena-v1_4_1.license" ]
}

license("typed-builder-v0_10_0.license") {
  public_package_name = "typed_builder"
  license_files = [
    "//third_party/rust_crates/vendor/typed-builder-0.10.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/typed-builder-0.10.0/LICENSE-MIT",
  ]
}

rust_proc_macro("typed-builder-v0_10_0") {
  crate_name = "typed_builder"
  crate_root =
      "//third_party/rust_crates/vendor/typed-builder-0.10.0/src/lib.rs"
  output_name = "typed_builder-f76e7f80de675bf9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v1_0_98" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f76e7f80de675bf9",
    "-Cextra-filename=-f76e7f80de675bf9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":typed-builder-v0_10_0.license" ]
}

license("typenum-v1_15_0.license") {
  public_package_name = "typenum"
  license_files = [
    "//third_party/rust_crates/vendor/typenum-1.15.0/LICENSE",
    "//third_party/rust_crates/vendor/typenum-1.15.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/typenum-1.15.0/LICENSE-MIT",
  ]
}

rust_library("typenum-v1_15_0") {
  crate_name = "typenum"
  crate_root = "//third_party/rust_crates/vendor/typenum-1.15.0/src/lib.rs"
  output_name = "typenum-c61aa3b105deff60"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [
    "TYPENUM_BUILD_CONSTS=../../../compat/typenum/consts.rs",
    "TYPENUM_BUILD_OP=../../../compat/typenum/op.rs",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=c61aa3b105deff60",
    "-Cextra-filename=-c61aa3b105deff60",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":typenum-v1_15_0.license" ]
}

license("ucd-trie-v0_1_6.license") {
  public_package_name = "ucd_trie"
  license_files = [
    "//third_party/rust_crates/vendor/ucd-trie-0.1.6/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/ucd-trie-0.1.6/LICENSE-MIT",
  ]
}

rust_library("ucd-trie-v0_1_6") {
  crate_name = "ucd_trie"
  crate_root = "//third_party/rust_crates/vendor/ucd-trie-0.1.6/src/lib.rs"
  output_name = "ucd_trie-53958726f307bc9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=53958726f307bc9",
    "-Cextra-filename=-53958726f307bc9",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":ucd-trie-v0_1_6.license" ]
}

license("unarray-v0_1_4.license") {
  public_package_name = "unarray"
  license_files = [
    "//third_party/rust_crates/vendor/unarray-0.1.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unarray-0.1.4/LICENSE-MIT",
  ]
}

rust_library("unarray-v0_1_4") {
  crate_name = "unarray"
  crate_root = "//third_party/rust_crates/vendor/unarray-0.1.4/src/lib.rs"
  output_name = "unarray-7c47013ab5fe76e9"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7c47013ab5fe76e9",
    "-Cextra-filename=-7c47013ab5fe76e9",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unarray-v0_1_4.license" ]
}

license("unic-char-property-v0_9_0.license") {
  public_package_name = "unic_char_property"
  license_files =
      [ "//third_party/rust_crates/vendor/unic-char-property-0.9.0/LICENSE" ]
}

rust_library("unic-char-property-v0_9_0") {
  crate_name = "unic_char_property"
  crate_root =
      "//third_party/rust_crates/vendor/unic-char-property-0.9.0/src/lib.rs"
  output_name = "unic_char_property-445d81b4a0ae40c1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unic-char-range-v0_9_0" ]

  rustenv = [
    "CARGO_PKG_VERSION=\"0.9.0\"",
    "CARGO_PKG_NAME=\"unic-char-property\"",
    "CARGO_PKG_DESCRIPTION=\"\"",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=445d81b4a0ae40c1",
    "-Cextra-filename=-445d81b4a0ae40c1",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unic-char-property-v0_9_0.license" ]
}

license("unic-char-range-v0_9_0.license") {
  public_package_name = "unic_char_range"
  license_files =
      [ "//third_party/rust_crates/vendor/unic-char-range-0.9.0/LICENSE" ]
}

rust_library("unic-char-range-v0_9_0") {
  crate_name = "unic_char_range"
  crate_root =
      "//third_party/rust_crates/vendor/unic-char-range-0.9.0/src/lib.rs"
  output_name = "unic_char_range-9b60d6d5dd1543b8"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [
    "CARGO_PKG_VERSION=\"0.9.0\"",
    "CARGO_PKG_NAME=\"unic-char-range\"",
    "CARGO_PKG_DESCRIPTION=\"\"",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9b60d6d5dd1543b8",
    "-Cextra-filename=-9b60d6d5dd1543b8",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unic-char-range-v0_9_0.license" ]
}

license("unic-common-v0_9_0.license") {
  public_package_name = "unic_common"
  license_files =
      [ "//third_party/rust_crates/vendor/unic-common-0.9.0/LICENSE" ]
}

rust_library("unic-common-v0_9_0") {
  crate_name = "unic_common"
  crate_root = "//third_party/rust_crates/vendor/unic-common-0.9.0/src/lib.rs"
  output_name = "unic_common-48117e25b313876"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = [
    "CARGO_PKG_VERSION=\"0.9.0\"",
    "CARGO_PKG_NAME=\"unic-common\"",
    "CARGO_PKG_DESCRIPTION=\"\"",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=48117e25b313876",
    "-Cextra-filename=-48117e25b313876",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unic-common-v0_9_0.license" ]
}

license("unic-ucd-block-v0_9_0.license") {
  public_package_name = "unic_ucd_block"
  license_files =
      [ "//third_party/rust_crates/vendor/unic-ucd-block-0.9.0/LICENSE" ]
}

rust_library("unic-ucd-block-v0_9_0") {
  crate_name = "unic_ucd_block"
  crate_root =
      "//third_party/rust_crates/vendor/unic-ucd-block-0.9.0/src/lib.rs"
  output_name = "unic_ucd_block-5587140b130c5f84"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unic-char-property-v0_9_0" ]
  deps += [ ":unic-char-range-v0_9_0" ]
  deps += [ ":unic-ucd-version-v0_9_0" ]

  rustenv = [
    "CARGO_PKG_VERSION=\"0.9.0\"",
    "CARGO_PKG_NAME=\"unic-ucd-block\"",
    "CARGO_PKG_DESCRIPTION=\"\"",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5587140b130c5f84",
    "-Cextra-filename=-5587140b130c5f84",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unic-ucd-block-v0_9_0.license" ]
}

license("unic-ucd-version-v0_9_0.license") {
  public_package_name = "unic_ucd_version"
  license_files =
      [ "//third_party/rust_crates/vendor/unic-ucd-version-0.9.0/LICENSE" ]
}

rust_library("unic-ucd-version-v0_9_0") {
  crate_name = "unic_ucd_version"
  crate_root =
      "//third_party/rust_crates/vendor/unic-ucd-version-0.9.0/src/lib.rs"
  output_name = "unic_ucd_version-cfee15212f1e7220"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":unic-common-v0_9_0" ]

  rustenv = [
    "CARGO_PKG_VERSION=\"0.9.0\"",
    "CARGO_PKG_NAME=\"unic-ucd-version\"",
    "CARGO_PKG_DESCRIPTION=\"\"",
  ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cfee15212f1e7220",
    "-Cextra-filename=-cfee15212f1e7220",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unic-ucd-version-v0_9_0.license" ]
}

license("unicase-v2_7_0.license") {
  public_package_name = "unicase"
  license_files = [
    "//third_party/rust_crates/vendor/unicase-2.7.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicase-2.7.0/LICENSE-MIT",
  ]
}

rust_library("unicase-v2_7_0") {
  crate_name = "unicase"
  crate_root = "//third_party/rust_crates/vendor/unicase-2.7.0/src/lib.rs"
  output_name = "unicase-f34d8ad6d458e4d2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=f34d8ad6d458e4d2",
    "-Cextra-filename=-f34d8ad6d458e4d2",
    "--cfg=__unicase__iter_cmp",
    "--cfg=__unicase__default_hasher",
    "--cfg=__unicase__const_fns",
    "--cfg=__unicase__core_and_alloc",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicase-v2_7_0.license" ]
}

license("unicode-bidi-v0_3_4.license") {
  public_package_name = "unicode_bidi"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-bidi-0.3.4/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-bidi-0.3.4/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-bidi-0.3.4/LICENSE-MIT",
  ]
}

rust_library("unicode-bidi-v0_3_4") {
  crate_name = "unicode_bidi"
  crate_root = "//third_party/rust_crates/vendor/unicode-bidi-0.3.4/src/lib.rs"
  output_name = "unicode_bidi-6196d3d9fc63e289"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":matches-v0_1_9" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=6196d3d9fc63e289",
    "-Cextra-filename=-6196d3d9fc63e289",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-bidi-v0_3_4.license" ]
}

license("unicode-ident-v1_0_1.license") {
  public_package_name = "unicode_ident"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-ident-1.0.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-ident-1.0.1/LICENSE-MIT",
  ]
}

rust_library("unicode-ident-v1_0_1") {
  crate_name = "unicode_ident"
  crate_root = "//third_party/rust_crates/vendor/unicode-ident-1.0.1/src/lib.rs"
  output_name = "unicode_ident-9ac3362049fe5c71"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=9ac3362049fe5c71",
    "-Cextra-filename=-9ac3362049fe5c71",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-ident-v1_0_1.license" ]
}

license("unicode-normalization-v0_1_19.license") {
  public_package_name = "unicode_normalization"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-normalization-0.1.19/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-normalization-0.1.19/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-normalization-0.1.19/LICENSE-MIT",
  ]
}

rust_library("unicode-normalization-v0_1_19") {
  crate_name = "unicode_normalization"
  crate_root =
      "//third_party/rust_crates/vendor/unicode-normalization-0.1.19/src/lib.rs"
  output_name = "unicode_normalization-f0419f1689e12c5b"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":tinyvec-v1_3_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=f0419f1689e12c5b",
    "-Cextra-filename=-f0419f1689e12c5b",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-normalization-v0_1_19.license" ]
}

license("unicode-segmentation-v1_10_1.license") {
  public_package_name = "unicode_segmentation"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-segmentation-1.10.1/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-segmentation-1.10.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-segmentation-1.10.1/LICENSE-MIT",
  ]
}

rust_library("unicode-segmentation-v1_10_1") {
  crate_name = "unicode_segmentation"
  crate_root =
      "//third_party/rust_crates/vendor/unicode-segmentation-1.10.1/src/lib.rs"
  output_name = "unicode_segmentation-ea66ef824508562"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ea66ef824508562",
    "-Cextra-filename=-ea66ef824508562",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-segmentation-v1_10_1.license" ]
}

license("unicode-width-v0_1_10.license") {
  public_package_name = "unicode_width"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-width-0.1.10/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-width-0.1.10/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-width-0.1.10/LICENSE-MIT",
  ]
}

rust_library("unicode-width-v0_1_10") {
  crate_name = "unicode_width"
  crate_root =
      "//third_party/rust_crates/vendor/unicode-width-0.1.10/src/lib.rs"
  output_name = "unicode_width-c9257868b6b793d2"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c9257868b6b793d2",
    "-Cextra-filename=-c9257868b6b793d2",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-width-v0_1_10.license" ]
}

license("unicode-xid-v0_1_0.license") {
  public_package_name = "unicode_xid"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-xid-0.1.0/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-xid-0.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-xid-0.1.0/LICENSE-MIT",
  ]
}

rust_library("unicode-xid-v0_1_0") {
  crate_name = "unicode_xid"
  crate_root = "//third_party/rust_crates/vendor/unicode-xid-0.1.0/src/lib.rs"
  output_name = "unicode_xid-8c0b837e1e0cd2cd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=8c0b837e1e0cd2cd",
    "-Cextra-filename=-8c0b837e1e0cd2cd",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-xid-v0_1_0.license" ]
}

license("unicode-xid-v0_2_0.license") {
  public_package_name = "unicode_xid"
  license_files = [
    "//third_party/rust_crates/vendor/unicode-xid-0.2.0/COPYRIGHT",
    "//third_party/rust_crates/vendor/unicode-xid-0.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unicode-xid-0.2.0/LICENSE-MIT",
  ]
}

rust_library("unicode-xid-v0_2_0") {
  crate_name = "unicode_xid"
  crate_root = "//third_party/rust_crates/vendor/unicode-xid-0.2.0/src/lib.rs"
  output_name = "unicode_xid-8b9ce29b16dc5a7f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=8b9ce29b16dc5a7f",
    "-Cextra-filename=-8b9ce29b16dc5a7f",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unicode-xid-v0_2_0.license" ]
}

license("unindent-v0_1_7.license") {
  public_package_name = "unindent"
  license_files = [
    "//third_party/rust_crates/vendor/unindent-0.1.7/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/unindent-0.1.7/LICENSE-MIT",
  ]
}

rust_library("unindent-v0_1_7") {
  crate_name = "unindent"
  crate_root = "//third_party/rust_crates/vendor/unindent-0.1.7/src/lib.rs"
  output_name = "unindent-d666df4068b09289"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d666df4068b09289",
    "-Cextra-filename=-d666df4068b09289",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unindent-v0_1_7.license" ]
}

license("universal-hash-v0_5_1.license") {
  public_package_name = "universal_hash"
  license_files = [
    "//third_party/rust_crates/vendor/universal-hash-0.5.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/universal-hash-0.5.1/LICENSE-MIT",
  ]
}

rust_library("universal-hash-v0_5_1") {
  crate_name = "universal_hash"
  crate_root =
      "//third_party/rust_crates/vendor/universal-hash-0.5.1/src/lib.rs"
  output_name = "universal_hash-8d8132e9308ce13d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crypto-common-v0_1_6" ]
  deps += [ ":subtle-v2_4_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=8d8132e9308ce13d",
    "-Cextra-filename=-8d8132e9308ce13d",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":universal-hash-v0_5_1.license" ]
}

license("unsafe-libyaml-v0_2_4.license") {
  public_package_name = "unsafe_libyaml"
  license_files =
      [ "//third_party/rust_crates/vendor/unsafe-libyaml-0.2.4/LICENSE-MIT" ]
}

rust_library("unsafe-libyaml-v0_2_4") {
  crate_name = "unsafe_libyaml"
  crate_root =
      "//third_party/rust_crates/vendor/unsafe-libyaml-0.2.4/src/lib.rs"
  output_name = "unsafe_libyaml-6ca95d2df768fdf1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=6ca95d2df768fdf1",
    "-Cextra-filename=-6ca95d2df768fdf1",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":unsafe-libyaml-v0_2_4.license" ]
}

license("untrusted-v0_7_1.license") {
  public_package_name = "untrusted"
  license_files =
      [ "//third_party/rust_crates/vendor/untrusted-0.7.1/LICENSE.txt" ]
}

rust_library("untrusted-v0_7_1") {
  crate_name = "untrusted"
  crate_root =
      "//third_party/rust_crates/vendor/untrusted-0.7.1/src/untrusted.rs"
  output_name = "untrusted-645a69efdf6d68fc"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=645a69efdf6d68fc",
    "-Cextra-filename=-645a69efdf6d68fc",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":untrusted-v0_7_1.license" ]
}

license("url-v1_7_2.license") {
  public_package_name = "url"
  license_files = [
    "//third_party/rust_crates/vendor/url-1.7.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/url-1.7.2/LICENSE-MIT",
  ]
}

rust_library("url-v1_7_2") {
  crate_name = "url"
  crate_root = "//third_party/rust_crates/vendor/url-1.7.2/src/lib.rs"
  output_name = "url-a33a870434d6f716"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":idna-v0_1_5" ]
  deps += [ ":matches-v0_1_9" ]
  deps += [ ":percent-encoding-v1_0_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=a33a870434d6f716",
    "-Cextra-filename=-a33a870434d6f716",
  ]

  visibility = []
  visibility += [ ":*" ]
  visibility += [ "//build/sdk/meta:*" ]

  applicable_licenses = [ ":url-v1_7_2.license" ]
}

license("url-v2_3_1.license") {
  public_package_name = "url"
  license_files = [
    "//third_party/rust_crates/vendor/url-2.3.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/url-2.3.1/LICENSE-MIT",
  ]
}

rust_library("url-v2_3_1") {
  crate_name = "url"
  crate_root = "//third_party/rust_crates/vendor/url-2.3.1/src/lib.rs"
  output_name = "url-e3e32e41f41a4ac0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":form_urlencoded-v1_1_0" ]
  deps += [ ":idna-v0_3_0" ]
  deps += [ ":percent-encoding-v2_2_0" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=e3e32e41f41a4ac0",
    "-Cextra-filename=-e3e32e41f41a4ac0",
    "--cfg=feature=\"default\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":url-v2_3_1.license" ]
}

license("utf8parse-v0_1_1.license") {
  public_package_name = "utf8parse"
  license_files = [
    "//third_party/rust_crates/vendor/utf8parse-0.1.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/utf8parse-0.1.1/LICENSE-MIT",
  ]
}

rust_library("utf8parse-v0_1_1") {
  crate_name = "utf8parse"
  crate_root = "//third_party/rust_crates/vendor/utf8parse-0.1.1/src/lib.rs"
  output_name = "utf8parse-ef54bf3166380f1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=ef54bf3166380f1",
    "-Cextra-filename=-ef54bf3166380f1",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":utf8parse-v0_1_1.license" ]
}

license("uuid-v0_7_2.license") {
  public_package_name = "uuid"
  license_files = [
    "//third_party/rust_crates/vendor/uuid-0.7.2/COPYRIGHT",
    "//third_party/rust_crates/vendor/uuid-0.7.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/uuid-0.7.2/LICENSE-MIT",
  ]
}

rust_library("uuid-v0_7_2") {
  crate_name = "uuid"
  crate_root = "//third_party/rust_crates/vendor/uuid-0.7.2/src/lib.rs"
  output_name = "uuid-9a6c95af1cabc2e6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":rand-v0_6_5" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9a6c95af1cabc2e6",
    "-Cextra-filename=-9a6c95af1cabc2e6",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"rand\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"v4\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":uuid-v0_7_2.license" ]
}

license("uuid-v0_8_2.license") {
  public_package_name = "uuid"
  license_files = [
    "//third_party/rust_crates/vendor/uuid-0.8.2/COPYRIGHT",
    "//third_party/rust_crates/vendor/uuid-0.8.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/uuid-0.8.2/LICENSE-MIT",
  ]
}

rust_library("uuid-v0_8_2") {
  crate_name = "uuid"
  crate_root = "//third_party/rust_crates/vendor/uuid-0.8.2/src/lib.rs"
  output_name = "uuid-919b1371cee9e3ba"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":getrandom-v0_2_10" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=919b1371cee9e3ba",
    "-Cextra-filename=-919b1371cee9e3ba",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"getrandom\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"v4\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":uuid-v0_8_2.license" ]
}

license("uuid-v1_1_2.license") {
  public_package_name = "uuid"
  license_files = [
    "//third_party/rust_crates/vendor/uuid-1.1.2/COPYRIGHT",
    "//third_party/rust_crates/vendor/uuid-1.1.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/uuid-1.1.2/LICENSE-MIT",
  ]
}

rust_library("uuid-v1_1_2") {
  crate_name = "uuid"
  crate_root = "//third_party/rust_crates/vendor/uuid-1.1.2/src/lib.rs"
  output_name = "uuid-10961005f47a1748"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":getrandom-v0_2_10" ]
  deps += [ ":serde-v1_0_203" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=10961005f47a1748",
    "-Cextra-filename=-10961005f47a1748",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"private_getrandom\"",
    "--cfg=feature=\"rng\"",
    "--cfg=feature=\"serde\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"v4\"",
  ]

  aliased_deps = {
    private_getrandom = ":getrandom-v0_2_10"
  }
  visibility = [ ":*" ]

  applicable_licenses = [ ":uuid-v1_1_2.license" ]
}

license("valico-v2_4_2.license") {
  public_package_name = "valico"
  license_files = [
    "//third_party/rust_crates/vendor/valico-2.4.2/LICENSE",
    "//third_party/rust_crates/vendor/valico-2.4.2/tests/schema/JSON-Schema-Test-Suite/LICENSE",
  ]
}

rust_library("valico-v2_4_2") {
  crate_name = "valico"
  crate_root = "//third_party/rust_crates/vendor/valico-2.4.2/src/lib.rs"
  output_name = "valico-179ee54e44a59467"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":chrono-v0_4_34" ]
  deps += [ ":jsonway-v2_0_0" ]
  deps += [ ":phf-v0_7_24" ]
  deps += [ ":publicsuffix-v1_5_4" ]
  deps += [ ":regex-v1_7_3" ]
  deps += [ ":serde-v1_0_203" ]
  deps += [ ":serde_json-v1_0_87" ]
  deps += [ ":url-v1_7_2" ]
  deps += [ ":uuid-v0_7_2" ]

  rustenv = [ "OUT_DIR=../../../../compat/valico" ]

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=179ee54e44a59467",
    "-Cextra-filename=-179ee54e44a59467",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":valico-v2_4_2.license" ]
}

license("valuable-v0_1_0.license") {
  public_package_name = "valuable"
  license_files = [ "//third_party/rust_crates/vendor/valuable-0.1.0/LICENSE" ]
}

rust_library("valuable-v0_1_0") {
  crate_name = "valuable"
  crate_root = "//third_party/rust_crates/vendor/valuable-0.1.0/src/lib.rs"
  output_name = "valuable-dc86eb7b228f5af1"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=dc86eb7b228f5af1",
    "-Cextra-filename=-dc86eb7b228f5af1",
    "--cfg=feature=\"alloc\"",
    "--cfg=feature=\"std\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":valuable-v0_1_0.license" ]
}

license("vec_map-v0_8_1.license") {
  public_package_name = "vec_map"
  license_files = [
    "//third_party/rust_crates/vendor/vec_map-0.8.1/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/vec_map-0.8.1/LICENSE-MIT",
  ]
}

rust_library("vec_map-v0_8_1") {
  crate_name = "vec_map"
  crate_root = "//third_party/rust_crates/vendor/vec_map-0.8.1/src/lib.rs"
  output_name = "vec_map-d78a1471c87b7920"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d78a1471c87b7920",
    "-Cextra-filename=-d78a1471c87b7920",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":vec_map-v0_8_1.license" ]
}

license("vk-sys-v0_7_0.license") {
  public_package_name = "vk_sys"
  license_files = [
    "//third_party/rust_crates/vendor/vk-sys-0.7.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/vk-sys-0.7.0/LICENSE-MIT",
  ]
}

rust_library("vk-sys-v0_7_0") {
  crate_name = "vk_sys"
  crate_root = "//third_party/rust_crates/vendor/vk-sys-0.7.0/src/lib.rs"
  output_name = "vk_sys-51e1ef19b2b5f263"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=51e1ef19b2b5f263",
    "-Cextra-filename=-51e1ef19b2b5f263",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":vk-sys-v0_7_0.license" ]
}

license("vm-device-v0_1_0.license") {
  public_package_name = "vm_device"
  license_files = [ "//third_party/rust_crates/vendor/vm-device-0.1.0/LICENSE" ]
}

rust_library("vm-device-v0_1_0") {
  crate_name = "vm_device"
  crate_root = "//third_party/rust_crates/vendor/vm-device-0.1.0/src/lib.rs"
  output_name = "vm_device-63a24e49faaabd29"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=63a24e49faaabd29",
    "-Cextra-filename=-63a24e49faaabd29",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":vm-device-v0_1_0.license" ]
}

license("vte-v0_3_3.license") {
  public_package_name = "vte"
  license_files = [
    "//third_party/rust_crates/vendor/vte-0.3.3/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/vte-0.3.3/LICENSE-MIT",
  ]
}

rust_library("vte-v0_3_3") {
  crate_name = "vte"
  crate_root = "//third_party/rust_crates/vendor/vte-0.3.3/src/lib.rs"
  output_name = "vte-8f5a30c97a835161"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":utf8parse-v0_1_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=8f5a30c97a835161",
    "-Cextra-filename=-8f5a30c97a835161",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":vte-v0_3_3.license" ]
}

license("wait-timeout-v0_2_0.license") {
  public_package_name = "wait_timeout"
  license_files = [
    "//third_party/rust_crates/vendor/wait-timeout-0.2.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/wait-timeout-0.2.0/LICENSE-MIT",
  ]
}

rust_library("wait-timeout-v0_2_0") {
  crate_name = "wait_timeout"
  crate_root = "//third_party/rust_crates/vendor/wait-timeout-0.2.0/src/lib.rs"
  output_name = "wait_timeout-369c6a5702285b53"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  if (true) {
    deps += [ ":libc-v0_2_149" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=369c6a5702285b53",
    "-Cextra-filename=-369c6a5702285b53",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":wait-timeout-v0_2_0.license" ]
}

license("waker-fn-v1_1_0.license") {
  public_package_name = "waker_fn"
  license_files = [
    "//third_party/rust_crates/vendor/waker-fn-1.1.0/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/waker-fn-1.1.0/LICENSE-MIT",
  ]
}

rust_library("waker-fn-v1_1_0") {
  crate_name = "waker_fn"
  crate_root = "//third_party/rust_crates/vendor/waker-fn-1.1.0/src/lib.rs"
  output_name = "waker_fn-5c6a90a186ee2ada"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=5c6a90a186ee2ada",
    "-Cextra-filename=-5c6a90a186ee2ada",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":waker-fn-v1_1_0.license" ]
}

license("walkdir-v2_3_1.license") {
  public_package_name = "walkdir"
  license_files = [ "//third_party/rust_crates/ask2patch/walkdir/LICENSE-MIT" ]
}

rust_library("walkdir-v2_3_1") {
  crate_name = "walkdir"
  crate_root = "//third_party/rust_crates/ask2patch/walkdir/src/lib.rs"
  output_name = "walkdir-3afd3201e5295e86"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":same-file-v1_0_4" ]
  if (false) {
    deps += [ ":winapi-v0_3_9" ]
    deps += [ ":winapi-util-v0_1_5" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3afd3201e5295e86",
    "-Cextra-filename=-3afd3201e5295e86",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":walkdir-v2_3_1.license" ]
}

license("want-v0_3_0.license") {
  public_package_name = "want"
  license_files = [ "//third_party/rust_crates/vendor/want-0.3.0/LICENSE" ]
}

rust_library("want-v0_3_0") {
  crate_name = "want"
  crate_root = "//third_party/rust_crates/vendor/want-0.3.0/src/lib.rs"
  output_name = "want-7ea5f0f15ff169c0"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":log-v0_4_20" ]
  deps += [ ":try-lock-v0_2_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=7ea5f0f15ff169c0",
    "-Cextra-filename=-7ea5f0f15ff169c0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":want-v0_3_0.license" ]
}

rust_library("wasi-v0_11_0+wasi-snapshot-preview1") {
  crate_name = "wasi"
  crate_root = "//third_party/rust_crates/empty/wasi-0.11.0+wasi-snapshot-preview1/src/lib.rs"
  output_name = "wasi-b8a75a95bc9b1a8a"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b8a75a95bc9b1a8a",
    "-Cextra-filename=-b8a75a95bc9b1a8a",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("wasm-bindgen-v0_2_91") {
  crate_name = "wasm_bindgen"
  crate_root = "//third_party/rust_crates/empty/wasm-bindgen/src/lib.rs"
  output_name = "wasm_bindgen-1791c19da3a2573e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=1791c19da3a2573e",
    "-Cextra-filename=-1791c19da3a2573e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("web-sys-v0_3_40") {
  crate_name = "web_sys"
  crate_root = "//third_party/rust_crates/empty/web-sys/src/lib.rs"
  output_name = "web_sys-587629034c2c5b90"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=587629034c2c5b90",
    "-Cextra-filename=-587629034c2c5b90",
    "--cfg=feature=\"Crypto\"",
    "--cfg=feature=\"Window\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("webpki-v0_21_0.license") {
  public_package_name = "webpki"
  license_files = [
    "//third_party/rust_crates/vendor/webpki-0.21.0/LICENSE",
    "//third_party/rust_crates/vendor/webpki-0.21.0/third-party/chromium/LICENSE",
  ]
}

rust_library("webpki-v0_21_0") {
  crate_name = "webpki"
  crate_root = "//third_party/rust_crates/vendor/webpki-0.21.0/src/webpki.rs"
  output_name = "webpki-cf5d3581502ba661"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":ring-v0_16_20" ]
  deps += [ ":untrusted-v0_7_1" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cf5d3581502ba661",
    "-Cextra-filename=-cf5d3581502ba661",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"trust_anchor_util\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":webpki-v0_21_0.license" ]
}

rust_library("wepoll-ffi-v0_1_2") {
  crate_name = "wepoll_ffi"
  crate_root = "//third_party/rust_crates/empty/wepoll-ffi/src/lib.rs"
  output_name = "wepoll_ffi-3e7f08283fc3bd91"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=3e7f08283fc3bd91",
    "-Cextra-filename=-3e7f08283fc3bd91",
    "--cfg=feature=\"null-overlapped-wakeups-patch\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("which-v4_0_2.license") {
  public_package_name = "which"
  license_files = [ "//third_party/rust_crates/vendor/which-4.0.2/LICENSE.txt" ]
}

rust_library("which-v4_0_2") {
  crate_name = "which"
  crate_root = "//third_party/rust_crates/vendor/which-4.0.2/src/lib.rs"
  output_name = "which-98b8eaa3e5138b44"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]
  deps += [ ":thiserror-v1_0_57" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=98b8eaa3e5138b44",
    "-Cextra-filename=-98b8eaa3e5138b44",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":which-v4_0_2.license" ]
}

rust_library("winapi-v0_3_9") {
  crate_name = "winapi"
  crate_root = "//third_party/rust_crates/empty/winapi/src/lib.rs"
  output_name = "winapi-36dcf2c9d4b87e51"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=36dcf2c9d4b87e51",
    "-Cextra-filename=-36dcf2c9d4b87e51",
    "--cfg=feature=\"cfg\"",
    "--cfg=feature=\"consoleapi\"",
    "--cfg=feature=\"errhandlingapi\"",
    "--cfg=feature=\"evntrace\"",
    "--cfg=feature=\"fileapi\"",
    "--cfg=feature=\"handleapi\"",
    "--cfg=feature=\"in6addr\"",
    "--cfg=feature=\"inaddr\"",
    "--cfg=feature=\"ioapiset\"",
    "--cfg=feature=\"lmcons\"",
    "--cfg=feature=\"minschannel\"",
    "--cfg=feature=\"minwinbase\"",
    "--cfg=feature=\"minwindef\"",
    "--cfg=feature=\"mstcpip\"",
    "--cfg=feature=\"mswsock\"",
    "--cfg=feature=\"ntsecapi\"",
    "--cfg=feature=\"ntstatus\"",
    "--cfg=feature=\"processenv\"",
    "--cfg=feature=\"processthreadsapi\"",
    "--cfg=feature=\"profileapi\"",
    "--cfg=feature=\"schannel\"",
    "--cfg=feature=\"securitybaseapi\"",
    "--cfg=feature=\"sspi\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"synchapi\"",
    "--cfg=feature=\"sysinfoapi\"",
    "--cfg=feature=\"timezoneapi\"",
    "--cfg=feature=\"winbase\"",
    "--cfg=feature=\"wincon\"",
    "--cfg=feature=\"wincrypt\"",
    "--cfg=feature=\"windef\"",
    "--cfg=feature=\"winerror\"",
    "--cfg=feature=\"winioctl\"",
    "--cfg=feature=\"winnt\"",
    "--cfg=feature=\"winsock2\"",
    "--cfg=feature=\"winuser\"",
    "--cfg=feature=\"ws2ipdef\"",
    "--cfg=feature=\"ws2tcpip\"",
    "--cfg=feature=\"wtypesbase\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("winapi-util-v0_1_5") {
  crate_name = "winapi_util"
  crate_root = "//third_party/rust_crates/empty/winapi-util/src/lib.rs"
  output_name = "winapi_util-d22658bf7990adbd"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=d22658bf7990adbd",
    "-Cextra-filename=-d22658bf7990adbd",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-v0_48_0") {
  crate_name = "windows"
  crate_root = "//third_party/rust_crates/empty/windows/src/lib.rs"
  output_name = "windows-541fc3d7afee256"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=541fc3d7afee256",
    "-Cextra-filename=-541fc3d7afee256",
    "--cfg=feature=\"Win32_Foundation\"",
    "--cfg=feature=\"Win32_System_Diagnostics_Debug\"",
    "--cfg=feature=\"Win32_System_Memory\"",
    "--cfg=feature=\"Win32_System_SystemInformation\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-core-v0_52_0") {
  crate_name = "windows_core"
  crate_root = "//third_party/rust_crates/empty/windows-core/src/lib.rs"
  output_name = "windows_core-fe71282da1ff9567"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=fe71282da1ff9567",
    "-Cextra-filename=-fe71282da1ff9567",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-sys-v0_42_0") {
  crate_name = "windows_sys"
  crate_root = "//third_party/rust_crates/empty/windows-sys-0.42.0/src/lib.rs"
  output_name = "windows_sys-c774e6555c42216d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=c774e6555c42216d",
    "-Cextra-filename=-c774e6555c42216d",
    "--cfg=feature=\"Win32_Networking_WinSock\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-sys-v0_45_0") {
  crate_name = "windows_sys"
  crate_root = "//third_party/rust_crates/empty/windows-sys-0.45.0/src/lib.rs"
  output_name = "windows_sys-30ea8465d1683669"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=30ea8465d1683669",
    "-Cextra-filename=-30ea8465d1683669",
    "--cfg=feature=\"Win32_Foundation\"",
    "--cfg=feature=\"Win32_Security\"",
    "--cfg=feature=\"Win32_Storage_FileSystem\"",
    "--cfg=feature=\"Win32_System_IO\"",
    "--cfg=feature=\"Win32_System_Threading\"",
    "--cfg=feature=\"Win32_System_WindowsProgramming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-sys-v0_48_0") {
  crate_name = "windows_sys"
  crate_root = "//third_party/rust_crates/empty/windows-sys-0.48.0/src/lib.rs"
  output_name = "windows_sys-4f3c5392f0473e4"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=4f3c5392f0473e4",
    "-Cextra-filename=-4f3c5392f0473e4",
    "--cfg=feature=\"Win32_Foundation\"",
    "--cfg=feature=\"Win32_Networking_WinSock\"",
    "--cfg=feature=\"Win32_Security\"",
    "--cfg=feature=\"Win32_Storage_FileSystem\"",
    "--cfg=feature=\"Win32_System_IO\"",
    "--cfg=feature=\"Win32_System_Pipes\"",
    "--cfg=feature=\"Win32_System_Threading\"",
    "--cfg=feature=\"Win32_System_WindowsProgramming\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-sys-v0_52_0") {
  crate_name = "windows_sys"
  crate_root = "//third_party/rust_crates/empty/windows-sys-0.52.0/src/lib.rs"
  output_name = "windows_sys-774d2e10fba62fe6"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=774d2e10fba62fe6",
    "-Cextra-filename=-774d2e10fba62fe6",
    "--cfg=feature=\"Win32_Foundation\"",
    "--cfg=feature=\"Win32_System_Com\"",
    "--cfg=feature=\"Win32_UI_Shell\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-targets-v0_48_5") {
  crate_name = "windows_targets"
  crate_root =
      "//third_party/rust_crates/empty/windows-targets-0.48.5/src/lib.rs"
  output_name = "windows_targets-b310ace0c4c0e58e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b310ace0c4c0e58e",
    "-Cextra-filename=-b310ace0c4c0e58e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

rust_library("windows-targets-v0_52_0") {
  crate_name = "windows_targets"
  crate_root =
      "//third_party/rust_crates/empty/windows-targets-0.52.0/src/lib.rs"
  output_name = "windows_targets-2ab0b8a168fc804"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=2ab0b8a168fc804",
    "-Cextra-filename=-2ab0b8a168fc804",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}

license("xattr-v0_2_2.license") {
  public_package_name = "xattr"
  license_files = [
    "//third_party/rust_crates/vendor/xattr-0.2.2/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/xattr-0.2.2/LICENSE-MIT",
  ]
}

rust_library("xattr-v0_2_2") {
  crate_name = "xattr"
  crate_root = "//third_party/rust_crates/vendor/xattr-0.2.2/src/lib.rs"
  output_name = "xattr-b313ffbe9c2b6197"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=b313ffbe9c2b6197",
    "-Cextra-filename=-b313ffbe9c2b6197",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"unsupported\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":xattr-v0_2_2.license" ]
}

license("xml-rs-v0_8_0.license") {
  public_package_name = "xml"
  license_files = [ "//third_party/rust_crates/vendor/xml-rs-0.8.0/LICENSE" ]
}

rust_library("xml-rs-v0_8_0") {
  crate_name = "xml"
  crate_root = "//third_party/rust_crates/vendor/xml-rs-0.8.0/src/lib.rs"
  output_name = "xml-9187c9c232fb3a0e"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=9187c9c232fb3a0e",
    "-Cextra-filename=-9187c9c232fb3a0e",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":xml-rs-v0_8_0.license" ]
}

license("zerocopy-v0_7_15.license") {
  public_package_name = "zerocopy"
  license_files = [
    "//third_party/rust_crates/vendor/zerocopy-0.7.15/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/zerocopy-0.7.15/LICENSE-BSD",
    "//third_party/rust_crates/vendor/zerocopy-0.7.15/LICENSE-MIT",
    "//third_party/rust_crates/vendor/zerocopy-0.7.15/src/third_party/rust/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/zerocopy-0.7.15/src/third_party/rust/LICENSE-MIT",
  ]
}

rust_library("zerocopy-v0_7_15") {
  crate_name = "zerocopy"
  crate_root = "//third_party/rust_crates/vendor/zerocopy-0.7.15/src/lib.rs"
  output_name = "zerocopy-774bd0e59e4cce60"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":byteorder-v1_4_3" ]
  deps += [ ":zerocopy-derive-v0_7_15($host_toolchain)" ]
  if (true) {
    deps += [ ":zerocopy-derive-v0_7_15($host_toolchain)" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=774bd0e59e4cce60",
    "-Cextra-filename=-774bd0e59e4cce60",
    "--cfg=feature=\"byteorder\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"simd\"",
    "--cfg=feature=\"zerocopy-derive\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zerocopy-v0_7_15.license" ]
}

license("zerocopy-v0_8_0-alpha_5.license") {
  public_package_name = "zerocopy"
  license_files = [
    "//third_party/rust_crates/vendor/zerocopy-0.8.0-alpha.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/zerocopy-0.8.0-alpha.5/LICENSE-BSD",
    "//third_party/rust_crates/vendor/zerocopy-0.8.0-alpha.5/LICENSE-MIT",
  ]
}

rust_library("zerocopy-v0_8_0-alpha_5") {
  crate_name = "zerocopy"
  crate_root =
      "//third_party/rust_crates/vendor/zerocopy-0.8.0-alpha.5/src/lib.rs"
  output_name = "zerocopy-cec1bca295f324d"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zerocopy-derive-v0_8_0-alpha_5($host_toolchain)" ]
  if (true) {
    deps += [ ":zerocopy-derive-v0_8_0-alpha_5($host_toolchain)" ]
  }

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=cec1bca295f324d",
    "-Cextra-filename=-cec1bca295f324d",
    "--cfg=feature=\"derive\"",
    "--cfg=feature=\"simd\"",
    "--cfg=feature=\"zerocopy-derive\"",
    "--cfg=zerocopy_generic_bounds_in_const_fn",
    "--cfg=zerocopy_aarch64_simd",
    "--cfg=zerocopy_panic_in_const",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zerocopy-v0_8_0-alpha_5.license" ]
}

license("zerocopy-derive-v0_7_15.license") {
  public_package_name = "zerocopy_derive"
  license_files = [
    "//third_party/rust_crates/vendor/zerocopy-derive-0.7.15/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/zerocopy-derive-0.7.15/LICENSE-BSD",
    "//third_party/rust_crates/vendor/zerocopy-derive-0.7.15/LICENSE-MIT",
  ]
}

rust_proc_macro("zerocopy-derive-v0_7_15") {
  crate_name = "zerocopy_derive"
  crate_root =
      "//third_party/rust_crates/vendor/zerocopy-derive-0.7.15/src/lib.rs"
  output_name = "zerocopy_derive-194231c64252d635"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=194231c64252d635",
    "-Cextra-filename=-194231c64252d635",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zerocopy-derive-v0_7_15.license" ]
}

license("zerocopy-derive-v0_8_0-alpha_5.license") {
  public_package_name = "zerocopy_derive"
  license_files = [
    "//third_party/rust_crates/vendor/zerocopy-derive-0.8.0-alpha.5/LICENSE-APACHE",
    "//third_party/rust_crates/vendor/zerocopy-derive-0.8.0-alpha.5/LICENSE-BSD",
    "//third_party/rust_crates/vendor/zerocopy-derive-0.8.0-alpha.5/LICENSE-MIT",
  ]
}

rust_proc_macro("zerocopy-derive-v0_8_0-alpha_5") {
  crate_name = "zerocopy_derive"
  crate_root = "//third_party/rust_crates/vendor/zerocopy-derive-0.8.0-alpha.5/src/lib.rs"
  output_name = "zerocopy_derive-84cf45385b959c31"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":proc-macro2-v1_0_79" ]
  deps += [ ":quote-v1_0_35" ]
  deps += [ ":syn-v2_0_55" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=84cf45385b959c31",
    "-Cextra-filename=-84cf45385b959c31",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zerocopy-derive-v0_8_0-alpha_5.license" ]
}

license("zeroize-v1_6_0.license") {
  public_package_name = "zeroize"
  license_files = [
    "//third_party/rust_crates/forks/zeroize/LICENSE-APACHE",
    "//third_party/rust_crates/forks/zeroize/LICENSE-MIT",
  ]
}

rust_library("zeroize-v1_6_0") {
  crate_name = "zeroize"
  crate_root = "//third_party/rust_crates/forks/zeroize/src/lib.rs"
  output_name = "zeroize-e56b2a09aaae4a1f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=e56b2a09aaae4a1f",
    "-Cextra-filename=-e56b2a09aaae4a1f",
    "--cfg=feature=\"alloc\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zeroize-v1_6_0.license" ]
}

license("zip-v0_5_5.license") {
  public_package_name = "zip"
  license_files = [ "//third_party/rust_crates/vendor/zip-0.5.5/LICENSE" ]
}

rust_library("zip-v0_5_5") {
  crate_name = "zip"
  crate_root = "//third_party/rust_crates/vendor/zip-0.5.5/src/lib.rs"
  output_name = "zip-ac1fb914318fbe66"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":crc32fast-v1_2_0" ]
  deps += [ ":flate2-v1_0_14" ]
  deps += [ ":podio-v0_1_6" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=ac1fb914318fbe66",
    "-Cextra-filename=-ac1fb914318fbe66",
    "--cfg=feature=\"deflate\"",
    "--cfg=feature=\"flate2\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zip-v0_5_5.license" ]
}

license("zstd-v0_11_2+zstd_1_5_2.license") {
  public_package_name = "zstd"
  license_files =
      [ "//third_party/rust_crates/vendor/zstd-0.11.2+zstd.1.5.2/LICENSE" ]
}

rust_library("zstd-v0_11_2+zstd_1_5_2") {
  crate_name = "zstd"
  crate_root =
      "//third_party/rust_crates/vendor/zstd-0.11.2+zstd.1.5.2/src/lib.rs"
  output_name = "zstd-bcf2d1c121863bf5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zstd-safe-v5_0_2+zstd_1_5_2" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=bcf2d1c121863bf5",
    "-Cextra-filename=-bcf2d1c121863bf5",
    "--cfg=feature=\"arrays\"",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"legacy\"",
    "--cfg=feature=\"zdict_builder\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zstd-v0_11_2+zstd_1_5_2.license" ]
}

license("zstd-safe-v5_0_2+zstd_1_5_2.license") {
  public_package_name = "zstd_safe"
  license_files = [
    "//third_party/rust_crates/vendor/zstd-safe-5.0.2+zstd.1.5.2/LICENSE",
    "//third_party/rust_crates/vendor/zstd-safe-5.0.2+zstd.1.5.2/LICENSE.Apache-2.0",
    "//third_party/rust_crates/vendor/zstd-safe-5.0.2+zstd.1.5.2/LICENSE.Mit",
  ]
}

rust_library("zstd-safe-v5_0_2+zstd_1_5_2") {
  crate_name = "zstd_safe"
  crate_root =
      "//third_party/rust_crates/vendor/zstd-safe-5.0.2+zstd.1.5.2/src/lib.rs"
  output_name = "zstd_safe-b1d2ef593bc9f55f"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":zstd-sys-v2_0_1+zstd_1_5_2" ]
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=b1d2ef593bc9f55f",
    "-Cextra-filename=-b1d2ef593bc9f55f",
    "--cfg=feature=\"arrays\"",
    "--cfg=feature=\"legacy\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"zdict_builder\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ ":zstd-safe-v5_0_2+zstd_1_5_2.license" ]
}

rust_library("zstd-sys-v2_0_1+zstd_1_5_2") {
  crate_name = "zstd_sys"
  crate_root = "//third_party/rust_crates/forks/zstd-sys/src/lib.rs"
  output_name = "zstd_sys-5bd6a773923f5de5"
  configs -= [ "//build/config/rust:2018_idioms" ]

  deps = []
  deps += [ ":libc-v0_2_149" ]

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2015",
    "-Cmetadata=5bd6a773923f5de5",
    "-Cextra-filename=-5bd6a773923f5de5",
    "--cfg=feature=\"legacy\"",
    "--cfg=feature=\"std\"",
    "--cfg=feature=\"zdict_builder\"",
  ]

  visibility = [ ":*" ]

  applicable_licenses = [ "//build/licenses:fuchsia_license" ]
}
