###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run //wasm_bindgen/3rdparty:crates_vendor
###############################################################################

package(default_visibility = ["//visibility:public"])

exports_files(
    [
        "cargo-bazel.json",
        "defs.bzl",
        "crates.bzl",
    ] + glob([
        "*.bazel",
    ]),
)

filegroup(
    name = "srcs",
    srcs = glob([
        "*.bazel",
        "*.bzl",
    ]),
)

# Workspace Member Dependencies
alias(
    name = "anyhow",
    actual = "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
    tags = ["manual"],
)

alias(
    name = "assert_cmd",
    actual = "@rules_rust_wasm_bindgen__assert_cmd-1.0.8//:assert_cmd",
    tags = ["manual"],
)

alias(
    name = "curl",
    actual = "@rules_rust_wasm_bindgen__curl-0.4.43//:curl",
    tags = ["manual"],
)

alias(
    name = "diff",
    actual = "@rules_rust_wasm_bindgen__diff-0.1.13//:diff",
    tags = ["manual"],
)

alias(
    name = "docopt",
    actual = "@rules_rust_wasm_bindgen__docopt-1.1.1//:docopt",
    tags = ["manual"],
)

alias(
    name = "env_logger",
    actual = "@rules_rust_wasm_bindgen__env_logger-0.8.4//:env_logger",
    tags = ["manual"],
)

alias(
    name = "log",
    actual = "@rules_rust_wasm_bindgen__log-0.4.17//:log",
    tags = ["manual"],
)

alias(
    name = "predicates",
    actual = "@rules_rust_wasm_bindgen__predicates-1.0.8//:predicates",
    tags = ["manual"],
)

alias(
    name = "rayon",
    actual = "@rules_rust_wasm_bindgen__rayon-1.5.3//:rayon",
    tags = ["manual"],
)

alias(
    name = "rouille",
    actual = "@rules_rust_wasm_bindgen__rouille-3.5.0//:rouille",
    tags = ["manual"],
)

alias(
    name = "serde",
    actual = "@rules_rust_wasm_bindgen__serde-1.0.137//:serde",
    tags = ["manual"],
)

alias(
    name = "serde_derive",
    actual = "@rules_rust_wasm_bindgen__serde_derive-1.0.137//:serde_derive",
    tags = ["manual"],
)

alias(
    name = "serde_json",
    actual = "@rules_rust_wasm_bindgen__serde_json-1.0.82//:serde_json",
    tags = ["manual"],
)

alias(
    name = "tempfile",
    actual = "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
    tags = ["manual"],
)

alias(
    name = "walrus",
    actual = "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
    tags = ["manual"],
)

alias(
    name = "wasm-bindgen",
    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-0.2.78//:wasm_bindgen",
    tags = ["manual"],
)

alias(
    name = "wasm-bindgen-cli-support",
    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.78//:wasm_bindgen_cli_support",
    tags = ["manual"],
)

alias(
    name = "wasm-bindgen-shared",
    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.78//:wasm_bindgen_shared",
    tags = ["manual"],
)

alias(
    name = "wit-printer",
    actual = "@rules_rust_wasm_bindgen__wit-printer-0.2.0//:wit_printer",
    tags = ["manual"],
)

alias(
    name = "wit-text",
    actual = "@rules_rust_wasm_bindgen__wit-text-0.8.0//:wit_text",
    tags = ["manual"],
)

alias(
    name = "wit-validator",
    actual = "@rules_rust_wasm_bindgen__wit-validator-0.2.1//:wit_validator",
    tags = ["manual"],
)

alias(
    name = "wit-walrus",
    actual = "@rules_rust_wasm_bindgen__wit-walrus-0.6.0//:wit_walrus",
    tags = ["manual"],
)

# Binaries
alias(
    name = "assert_cmd__bin_fixture",
    actual = "@rules_rust_wasm_bindgen__assert_cmd-1.0.8//:bin_fixture__bin",
    tags = ["manual"],
)

alias(
    name = "cc__gcc-shim",
    actual = "@rules_rust_wasm_bindgen__cc-1.0.73//:gcc-shim__bin",
    tags = ["manual"],
)

alias(
    name = "difference__difference",
    actual = "@rules_rust_wasm_bindgen__difference-2.0.0//:difference__bin",
    tags = ["manual"],
)

alias(
    name = "docopt__docopt-wordlist",
    actual = "@rules_rust_wasm_bindgen__docopt-1.1.1//:docopt-wordlist__bin",
    tags = ["manual"],
)

alias(
    name = "leb128__leb128-repl",
    actual = "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128-repl__bin",
    tags = ["manual"],
)

alias(
    name = "multipart__form_test",
    actual = "@rules_rust_wasm_bindgen__multipart-0.18.0//:form_test__bin",
    tags = ["manual"],
)

alias(
    name = "wait-timeout__exit",
    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:exit__bin",
    tags = ["manual"],
)

alias(
    name = "wait-timeout__sleep",
    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:sleep__bin",
    tags = ["manual"],
)

alias(
    name = "wait-timeout__reader",
    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:reader__bin",
    tags = ["manual"],
)

alias(
    name = "wit-schema-version__wit-schema-version",
    actual = "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit-schema-version__bin",
    tags = ["manual"],
)
