Updated proto rules to fetch dependencies using crate_universe (#1491)

* Updated proto rules to fetch dependencies using crate_universe

* Regenerated dependencies

* Regenerate documentation
diff --git a/docs/flatten.md b/docs/flatten.md
index 150e768..725a9fc 100644
--- a/docs/flatten.md
+++ b/docs/flatten.md
@@ -830,9 +830,9 @@
 | :------------- | :------------- | :------------- | :------------- | :------------- |
 | <a id="rust_proto_toolchain-name"></a>name |  A unique name for this target.   | <a href="https://bazel.build/docs/build-ref.html#name">Name</a> | required |  |
 | <a id="rust_proto_toolchain-edition"></a>edition |  The edition used by the generated rust source.   | String | optional | "" |
-| <a id="rust_proto_toolchain-grpc_compile_deps"></a>grpc_compile_deps |  The crates the generated grpc libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/raze:protobuf"), Label("//proto/raze:grpc"), Label("//proto/raze:tls_api"), Label("//proto/raze:tls_api_stub")] |
+| <a id="rust_proto_toolchain-grpc_compile_deps"></a>grpc_compile_deps |  The crates the generated grpc libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/3rdparty/crates:protobuf"), Label("//proto/3rdparty/crates:grpc"), Label("//proto/3rdparty/crates:tls-api"), Label("//proto/3rdparty/crates:tls-api-stub")] |
 | <a id="rust_proto_toolchain-grpc_plugin"></a>grpc_plugin |  The location of the Rust protobuf compiler plugin to generate rust gRPC stubs.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | //proto:protoc_gen_rust_grpc |
-| <a id="rust_proto_toolchain-proto_compile_deps"></a>proto_compile_deps |  The crates the generated protobuf libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/raze:protobuf")] |
+| <a id="rust_proto_toolchain-proto_compile_deps"></a>proto_compile_deps |  The crates the generated protobuf libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/3rdparty/crates:protobuf")] |
 | <a id="rust_proto_toolchain-proto_plugin"></a>proto_plugin |  The location of the Rust protobuf compiler plugin used to generate rust sources.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | //proto:protoc_gen_rust |
 | <a id="rust_proto_toolchain-protoc"></a>protoc |  The location of the <code>protoc</code> binary. It should be an executable target.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | @com_google_protobuf//:protoc |
 
diff --git a/docs/rust_proto.md b/docs/rust_proto.md
index 2f7b40c..479cdb5 100644
--- a/docs/rust_proto.md
+++ b/docs/rust_proto.md
@@ -253,9 +253,9 @@
 | :------------- | :------------- | :------------- | :------------- | :------------- |
 | <a id="rust_proto_toolchain-name"></a>name |  A unique name for this target.   | <a href="https://bazel.build/docs/build-ref.html#name">Name</a> | required |  |
 | <a id="rust_proto_toolchain-edition"></a>edition |  The edition used by the generated rust source.   | String | optional | "" |
-| <a id="rust_proto_toolchain-grpc_compile_deps"></a>grpc_compile_deps |  The crates the generated grpc libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/raze:protobuf"), Label("//proto/raze:grpc"), Label("//proto/raze:tls_api"), Label("//proto/raze:tls_api_stub")] |
+| <a id="rust_proto_toolchain-grpc_compile_deps"></a>grpc_compile_deps |  The crates the generated grpc libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/3rdparty/crates:protobuf"), Label("//proto/3rdparty/crates:grpc"), Label("//proto/3rdparty/crates:tls-api"), Label("//proto/3rdparty/crates:tls-api-stub")] |
 | <a id="rust_proto_toolchain-grpc_plugin"></a>grpc_plugin |  The location of the Rust protobuf compiler plugin to generate rust gRPC stubs.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | //proto:protoc_gen_rust_grpc |
-| <a id="rust_proto_toolchain-proto_compile_deps"></a>proto_compile_deps |  The crates the generated protobuf libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/raze:protobuf")] |
+| <a id="rust_proto_toolchain-proto_compile_deps"></a>proto_compile_deps |  The crates the generated protobuf libraries depends on.   | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [Label("//proto/3rdparty/crates:protobuf")] |
 | <a id="rust_proto_toolchain-proto_plugin"></a>proto_plugin |  The location of the Rust protobuf compiler plugin used to generate rust sources.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | //proto:protoc_gen_rust |
 | <a id="rust_proto_toolchain-protoc"></a>protoc |  The location of the <code>protoc</code> binary. It should be an executable target.   | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | @com_google_protobuf//:protoc |
 
diff --git a/proto/3rdparty/BUILD.bazel b/proto/3rdparty/BUILD.bazel
new file mode 100644
index 0000000..4bbcd71
--- /dev/null
+++ b/proto/3rdparty/BUILD.bazel
@@ -0,0 +1,80 @@
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+load("//crate_universe:defs.bzl", "crate", "crates_vendor")
+
+crates_vendor(
+    name = "crates_vendor",
+    annotations = {
+        "lazy_static": [crate.annotation(
+            rustc_flags = [
+                "--cfg=lazy_static_heap_impl",
+            ],
+        )],
+        "protobuf": [crate.annotation(
+            patch_args = ["-p1"],
+            patches = ["@rules_rust//proto/3rdparty/patches:protobuf-2.8.2.patch"],
+        )],
+    },
+    cargo_lockfile = "Cargo.Bazel.lock",
+    mode = "remote",
+    packages = {
+        "grpc": crate.spec(
+            version = "0.6.2",
+        ),
+        "grpc-compiler": crate.spec(
+            version = "0.6.2",
+        ),
+        "log": crate.spec(
+            version = "0.4, 0.4.7",
+        ),
+        "protobuf": crate.spec(
+            features = ["with-bytes"],
+            version = "2.8.2",
+        ),
+        "protobuf-codegen": crate.spec(
+            version = "2.8.2",
+        ),
+        "tls-api": crate.spec(
+            version = "0.1.22",
+        ),
+        "tls-api-stub": crate.spec(
+            version = "0.1.22",
+        ),
+    },
+    repository_name = "rules_rust_proto",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wasm_bindgen_cli",
+    actual = "@rules_rust_wasm_bindgen_cli",
+    tags = ["manual"],
+    visibility = ["//visibility:public"],
+)
+
+alias(
+    name = "wasm_bindgen",
+    actual = "//wasm_bindgen/3rdparty/crates:wasm-bindgen",
+    visibility = ["//visibility:public"],
+)
+
+bzl_library(
+    name = "bzl_lib",
+    srcs = glob(["**/*.bzl"]) + [
+        "//proto/3rdparty/crates:defs.bzl",
+        "//proto/3rdparty/crates:crates.bzl",
+    ],
+    visibility = ["//proto:__pkg__"],
+)
+
+filegroup(
+    name = "distro",
+    srcs = glob([
+        "*.bzl",
+        "*.bazel",
+    ]) + [
+        "//proto/3rdparty/patches:distro",
+        "//proto/3rdparty/crates:srcs",
+        "Cargo.Bazel.lock",
+    ],
+    visibility = ["//proto:__pkg__"],
+)
diff --git a/proto/3rdparty/Cargo.Bazel.lock b/proto/3rdparty/Cargo.Bazel.lock
new file mode 100644
index 0000000..e2eaa42
--- /dev/null
+++ b/proto/3rdparty/Cargo.Bazel.lock
@@ -0,0 +1,792 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+dependencies = [
+ "byteorder",
+ "safemem",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+dependencies = [
+ "byteorder",
+ "iovec",
+]
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cloudabi"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "maybe-uninit",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
+dependencies = [
+ "autocfg",
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils",
+ "lazy_static",
+ "maybe-uninit",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
+dependencies = [
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils",
+ "maybe-uninit",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+dependencies = [
+ "autocfg",
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static",
+]
+
+[[package]]
+name = "direct-cargo-bazel-deps"
+version = "0.0.1"
+dependencies = [
+ "grpc",
+ "grpc-compiler",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protobuf",
+ "protobuf-codegen",
+ "tls-api",
+ "tls-api-stub",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
+
+[[package]]
+name = "futures-cpupool"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+dependencies = [
+ "futures",
+ "num_cpus",
+]
+
+[[package]]
+name = "grpc"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aaf1d741fe6f3413f1f9f71b99f5e4e26776d563475a8a53ce53a73a8534c1d"
+dependencies = [
+ "base64",
+ "bytes",
+ "futures",
+ "futures-cpupool",
+ "httpbis",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protobuf",
+ "tls-api",
+ "tls-api-stub",
+ "tokio-core",
+ "tokio-io",
+ "tokio-tls-api",
+]
+
+[[package]]
+name = "grpc-compiler"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "907274ce8ee7b40a0d0b0db09022ea22846a47cfb1fc8ad2c983c70001b4ffb1"
+dependencies = [
+ "protobuf",
+ "protobuf-codegen",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "httpbis"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614"
+dependencies = [
+ "bytes",
+ "futures",
+ "futures-cpupool",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "net2",
+ "tls-api",
+ "tls-api-stub",
+ "tokio-core",
+ "tokio-io",
+ "tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-tls-api",
+ "tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unix_socket",
+ "void",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-build",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+
+[[package]]
+name = "lock_api"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
+dependencies = [
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
+dependencies = [
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "maybe-uninit"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+
+[[package]]
+name = "memoffset"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "miow",
+ "net2",
+ "slab 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "mio-uds"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
+dependencies = [
+ "iovec",
+ "libc",
+ "mio",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ws2_32-sys",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+dependencies = [
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+ "rustc_version",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+dependencies = [
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cloudabi",
+ "libc",
+ "redox_syscall",
+ "rustc_version",
+ "smallvec",
+ "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "protobuf"
+version = "2.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70731852eec72c56d11226c8a5f96ad5058a3dab73647ca5f7ee351e464f2571"
+dependencies = [
+ "bytes",
+]
+
+[[package]]
+name = "protobuf-codegen"
+version = "2.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d74b9cbbf2ac9a7169c85a3714ec16c51ee9ec7cfd511549527e9a7df720795"
+dependencies = [
+ "protobuf",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.1.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+
+[[package]]
+name = "scoped-tls"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "slab"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+dependencies = [
+ "maybe-uninit",
+]
+
+[[package]]
+name = "tls-api"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "049c03787a0595182357fbd487577947f4351b78ce20c3668f6d49f17feb13d1"
+dependencies = [
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tls-api-stub"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9a0cc8c149724db9de7d73a0e1bc80b1a74f5394f08c6f301e11f9c35fa061e"
+dependencies = [
+ "tls-api",
+ "void",
+]
+
+[[package]]
+name = "tokio"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+dependencies = [
+ "bytes",
+ "futures",
+ "mio",
+ "num_cpus",
+ "tokio-codec",
+ "tokio-current-thread",
+ "tokio-executor",
+ "tokio-fs",
+ "tokio-io",
+ "tokio-reactor",
+ "tokio-sync",
+ "tokio-tcp",
+ "tokio-threadpool",
+ "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-udp",
+ "tokio-uds 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tokio-codec"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
+dependencies = [
+ "bytes",
+ "futures",
+ "tokio-io",
+]
+
+[[package]]
+name = "tokio-core"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87b1395334443abca552f63d4f61d0486f12377c2ba8b368e523f89e828cffd4"
+dependencies = [
+ "bytes",
+ "futures",
+ "iovec",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio",
+ "scoped-tls",
+ "tokio",
+ "tokio-executor",
+ "tokio-io",
+ "tokio-reactor",
+ "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tokio-current-thread"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
+dependencies = [
+ "futures",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-executor"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
+dependencies = [
+ "crossbeam-utils",
+ "futures",
+]
+
+[[package]]
+name = "tokio-fs"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
+dependencies = [
+ "futures",
+ "tokio-io",
+ "tokio-threadpool",
+]
+
+[[package]]
+name = "tokio-io"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
+dependencies = [
+ "bytes",
+ "futures",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tokio-reactor"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
+dependencies = [
+ "crossbeam-utils",
+ "futures",
+ "lazy_static",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio",
+ "num_cpus",
+ "parking_lot",
+ "slab 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-executor",
+ "tokio-io",
+ "tokio-sync",
+]
+
+[[package]]
+name = "tokio-sync"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
+dependencies = [
+ "fnv",
+ "futures",
+]
+
+[[package]]
+name = "tokio-tcp"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
+dependencies = [
+ "bytes",
+ "futures",
+ "iovec",
+ "mio",
+ "tokio-io",
+ "tokio-reactor",
+]
+
+[[package]]
+name = "tokio-threadpool"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-queue",
+ "crossbeam-utils",
+ "futures",
+ "lazy_static",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num_cpus",
+ "slab 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-timer"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc"
+dependencies = [
+ "futures",
+ "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tokio-timer"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
+dependencies = [
+ "crossbeam-utils",
+ "futures",
+ "slab 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tokio-executor",
+]
+
+[[package]]
+name = "tokio-tls-api"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68d0e040d5b1f4cfca70ec4f371229886a5de5bb554d272a4a8da73004a7b2c9"
+dependencies = [
+ "futures",
+ "tls-api",
+ "tokio-io",
+]
+
+[[package]]
+name = "tokio-udp"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
+dependencies = [
+ "bytes",
+ "futures",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio",
+ "tokio-codec",
+ "tokio-io",
+ "tokio-reactor",
+]
+
+[[package]]
+name = "tokio-uds"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9"
+dependencies = [
+ "bytes",
+ "futures",
+ "iovec",
+ "libc",
+ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio",
+ "mio-uds",
+ "tokio-core",
+ "tokio-io",
+]
+
+[[package]]
+name = "tokio-uds"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0"
+dependencies = [
+ "bytes",
+ "futures",
+ "iovec",
+ "libc",
+ "log 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio",
+ "mio-uds",
+ "tokio-codec",
+ "tokio-io",
+ "tokio-reactor",
+]
+
+[[package]]
+name = "unix_socket"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6aa2700417c405c38f5e6902d699345241c28c0b7ade4abaad71e35a87eb1564"
+dependencies = [
+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+]
+
+[[package]]
+name = "void"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-build",
+]
diff --git a/proto/3rdparty/crates/BUILD.autocfg-1.1.0.bazel b/proto/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
new file mode 100644
index 0000000..de041c0
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "autocfg",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.base64-0.9.3.bazel b/proto/3rdparty/crates/BUILD.base64-0.9.3.bazel
new file mode 100644
index 0000000..5a21a94
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.base64-0.9.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "base64",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__byteorder-1.4.3//:byteorder",
+            "@rules_rust_proto__safemem-0.3.3//:safemem",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.bazel b/proto/3rdparty/crates/BUILD.bazel
new file mode 100644
index 0000000..075d512
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.bazel
@@ -0,0 +1,89 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/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 = "grpc",
+    actual = "@rules_rust_proto__grpc-0.6.2//:grpc",
+    tags = ["manual"],
+)
+
+alias(
+    name = "grpc-compiler",
+    actual = "@rules_rust_proto__grpc-compiler-0.6.2//:grpc_compiler",
+    tags = ["manual"],
+)
+
+alias(
+    name = "log",
+    actual = "@rules_rust_proto__log-0.4.17//:log",
+    tags = ["manual"],
+)
+
+alias(
+    name = "protobuf",
+    actual = "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+    tags = ["manual"],
+)
+
+alias(
+    name = "protobuf-codegen",
+    actual = "@rules_rust_proto__protobuf-codegen-2.8.2//:protobuf_codegen",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tls-api",
+    actual = "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tls-api-stub",
+    actual = "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
+    tags = ["manual"],
+)
+
+# Binaries
+alias(
+    name = "grpc-compiler__protoc-gen-rust-grpc",
+    actual = "@rules_rust_proto__grpc-compiler-0.6.2//:protoc-gen-rust-grpc__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "protobuf-codegen__protoc-gen-rust",
+    actual = "@rules_rust_proto__protobuf-codegen-2.8.2//:protoc-gen-rust__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "protobuf-codegen__protobuf-bin-gen-rust-do-not-use",
+    actual = "@rules_rust_proto__protobuf-codegen-2.8.2//:protobuf-bin-gen-rust-do-not-use__bin",
+    tags = ["manual"],
+)
diff --git a/proto/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/proto/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
new file mode 100644
index 0000000..376a421
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.3.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.byteorder-1.4.3.bazel b/proto/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
new file mode 100644
index 0000000..fac5324
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense OR MIT
+# ])
+
+rust_library(
+    name = "byteorder",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.bytes-0.4.12.bazel b/proto/3rdparty/crates/BUILD.bytes-0.4.12.bazel
new file mode 100644
index 0000000..67d4a2d
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.bytes-0.4.12.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "bytes",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.12",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__byteorder-1.4.3//:byteorder",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.cfg-if-0.1.10.bazel b/proto/3rdparty/crates/BUILD.cfg-if-0.1.10.bazel
new file mode 100644
index 0000000..74edf2a
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.cfg-if-0.1.10.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.10",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/proto/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..ac048f6
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.cloudabi-0.0.3.bazel b/proto/3rdparty/crates/BUILD.cloudabi-0.0.3.bazel
new file mode 100644
index 0000000..5fc5e2c
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.cloudabi-0.0.3.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-2-Clause
+# ])
+
+rust_library(
+    name = "cloudabi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "bitflags",
+        "default",
+    ],
+    crate_root = "cloudabi.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.0.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bitflags-1.3.2//:bitflags",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.crossbeam-deque-0.7.4.bazel b/proto/3rdparty/crates/BUILD.crossbeam-deque-0.7.4.bazel
new file mode 100644
index 0000000..6e074d5
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.crossbeam-deque-0.7.4.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_deque",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__crossbeam-epoch-0.8.2//:crossbeam_epoch",
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__maybe-uninit-2.0.0//:maybe_uninit",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.crossbeam-epoch-0.8.2.bazel b/proto/3rdparty/crates/BUILD.crossbeam-epoch-0.8.2.bazel
new file mode 100644
index 0000000..fade294
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.crossbeam-epoch-0.8.2.bazel
@@ -0,0 +1,187 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_epoch",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "lazy_static",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__crossbeam-epoch-0.8.2//:build_script_build",
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_proto__maybe-uninit-2.0.0//:maybe_uninit",
+            "@rules_rust_proto__memoffset-0.5.6//:memoffset",
+            "@rules_rust_proto__scopeguard-1.1.0//:scopeguard",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "crossbeam-epoch_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "lazy_static",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.8.2",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "crossbeam-epoch_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.crossbeam-queue-0.2.3.bazel b/proto/3rdparty/crates/BUILD.crossbeam-queue-0.2.3.bazel
new file mode 100644
index 0000000..54b721f
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.crossbeam-queue-0.2.3.bazel
@@ -0,0 +1,95 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0 AND BSD-2-Clause
+# ])
+
+rust_library(
+    name = "crossbeam_queue",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__maybe-uninit-2.0.0//:maybe_uninit",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.crossbeam-utils-0.7.2.bazel b/proto/3rdparty/crates/BUILD.crossbeam-utils-0.7.2.bazel
new file mode 100644
index 0000000..c43a991
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.crossbeam-utils-0.7.2.bazel
@@ -0,0 +1,183 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_utils",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "lazy_static",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:build_script_build",
+            "@rules_rust_proto__lazy_static-1.4.0//:lazy_static",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "crossbeam-utils_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "lazy_static",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.7.2",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "crossbeam-utils_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.fnv-1.0.7.bazel b/proto/3rdparty/crates/BUILD.fnv-1.0.7.bazel
new file mode 100644
index 0000000..e6e2d1e
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.fnv-1.0.7.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 / MIT
+# ])
+
+rust_library(
+    name = "fnv",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.fuchsia-zircon-0.3.3.bazel b/proto/3rdparty/crates/BUILD.fuchsia-zircon-0.3.3.bazel
new file mode 100644
index 0000000..2081666
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.fuchsia-zircon-0.3.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "fuchsia_zircon",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bitflags-1.3.2//:bitflags",
+            "@rules_rust_proto__fuchsia-zircon-sys-0.3.3//:fuchsia_zircon_sys",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.fuchsia-zircon-sys-0.3.3.bazel b/proto/3rdparty/crates/BUILD.fuchsia-zircon-sys-0.3.3.bazel
new file mode 100644
index 0000000..94be648
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.fuchsia-zircon-sys-0.3.3.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "fuchsia_zircon_sys",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.futures-0.1.31.bazel b/proto/3rdparty/crates/BUILD.futures-0.1.31.bazel
new file mode 100644
index 0000000..baf3817
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.futures-0.1.31.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "futures",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "use_std",
+        "with-deprecated",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.31",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.futures-cpupool-0.1.8.bazel b/proto/3rdparty/crates/BUILD.futures-cpupool-0.1.8.bazel
new file mode 100644
index 0000000..74399d4
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.futures-cpupool-0.1.8.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "futures_cpupool",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "with-deprecated",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__num_cpus-1.13.1//:num_cpus",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.grpc-0.6.2.bazel b/proto/3rdparty/crates/BUILD.grpc-0.6.2.bazel
new file mode 100644
index 0000000..fe04e70
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.grpc-0.6.2.bazel
@@ -0,0 +1,102 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "grpc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__base64-0.9.3//:base64",
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__futures-cpupool-0.1.8//:futures_cpupool",
+            "@rules_rust_proto__httpbis-0.7.0//:httpbis",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+            "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
+            "@rules_rust_proto__tokio-core-0.1.18//:tokio_core",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-tls-api-0.1.22//:tokio_tls_api",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.grpc-compiler-0.6.2.bazel b/proto/3rdparty/crates/BUILD.grpc-compiler-0.6.2.bazel
new file mode 100644
index 0000000..33e256e
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.grpc-compiler-0.6.2.bazel
@@ -0,0 +1,161 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "grpc_compiler",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+            "@rules_rust_proto__protobuf-codegen-2.8.2//:protobuf_codegen",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "protoc-gen-rust-grpc__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/protoc-gen-rust-grpc.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.2",
+    deps = [
+        ":grpc_compiler",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+            "@rules_rust_proto__protobuf-codegen-2.8.2//:protobuf_codegen",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel b/proto/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
new file mode 100644
index 0000000..c0640ca
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.19",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__libc-0.2.126//:libc",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.httpbis-0.7.0.bazel b/proto/3rdparty/crates/BUILD.httpbis-0.7.0.bazel
new file mode 100644
index 0000000..53f14d4
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.httpbis-0.7.0.bazel
@@ -0,0 +1,227 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httpbis",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.0",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",
+            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",
+
+            # Common Deps
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__futures-cpupool-0.1.8//:futures_cpupool",
+            "@rules_rust_proto__httpbis-0.7.0//:build_script_build",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
+            "@rules_rust_proto__tokio-core-0.1.18//:tokio_core",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-timer-0.1.2//:tokio_timer",
+            "@rules_rust_proto__tokio-tls-api-0.1.22//:tokio_tls_api",
+            "@rules_rust_proto__void-1.0.2//:void",
+        ],
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__futures-cpupool-0.1.8//:futures_cpupool",
+            "@rules_rust_proto__httpbis-0.7.0//:build_script_build",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
+            "@rules_rust_proto__tokio-core-0.1.18//:tokio_core",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-timer-0.1.2//:tokio_timer",
+            "@rules_rust_proto__tokio-tls-api-0.1.22//:tokio_tls_api",
+            "@rules_rust_proto__void-1.0.2//:void",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "httpbis_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.7.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "httpbis_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.iovec-0.1.4.bazel b/proto/3rdparty/crates/BUILD.iovec-0.1.4.bazel
new file mode 100644
index 0000000..bdebbff
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.iovec-0.1.4.bazel
@@ -0,0 +1,117 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "iovec",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.4",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.kernel32-sys-0.2.2.bazel b/proto/3rdparty/crates/BUILD.kernel32-sys-0.2.2.bazel
new file mode 100644
index 0000000..5e79eb1
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.kernel32-sys-0.2.2.bazel
@@ -0,0 +1,176 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "kernel32",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__kernel32-sys-0.2.2//:build_script_build",
+            "@rules_rust_proto__winapi-0.2.8//:winapi",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "kernel32-sys_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.2",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-build-0.1.1//:build",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "kernel32-sys_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/proto/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..d05a5bd
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "lazy_static",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=lazy_static_heap_impl",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.libc-0.2.126.bazel b/proto/3rdparty/crates/BUILD.libc-0.2.126.bazel
new file mode 100644
index 0000000..e720b0c
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.libc-0.2.126.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.126",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__libc-0.2.126//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "libc_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.126",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.lock_api-0.3.4.bazel b/proto/3rdparty/crates/BUILD.lock_api-0.3.4.bazel
new file mode 100644
index 0000000..eeee52f
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.lock_api-0.3.4.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "lock_api",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__scopeguard-1.1.0//:scopeguard",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.log-0.3.9.bazel b/proto/3rdparty/crates/BUILD.log-0.3.9.bazel
new file mode 100644
index 0000000..600cf71
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.log-0.3.9.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "use_std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__log-0.4.17//:log",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.log-0.4.17.bazel b/proto/3rdparty/crates/BUILD.log-0.4.17.bazel
new file mode 100644
index 0000000..ca62ec0
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.log-0.4.17.bazel
@@ -0,0 +1,177 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_proto__log-0.4.17//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "log_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.17",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "log_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.maybe-uninit-2.0.0.bazel b/proto/3rdparty/crates/BUILD.maybe-uninit-2.0.0.bazel
new file mode 100644
index 0000000..239aa81
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.maybe-uninit-2.0.0.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "maybe_uninit",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__maybe-uninit-2.0.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "maybe-uninit_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "2.0.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "maybe-uninit_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.memoffset-0.5.6.bazel b/proto/3rdparty/crates/BUILD.memoffset-0.5.6.bazel
new file mode 100644
index 0000000..ecb0a43
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.memoffset-0.5.6.bazel
@@ -0,0 +1,177 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "memoffset",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.5.6",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__memoffset-0.5.6//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "memoffset_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.5.6",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "memoffset_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.mio-0.6.23.bazel b/proto/3rdparty/crates/BUILD.mio-0.6.23.bazel
new file mode 100644
index 0000000..c3ed309
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.mio-0.6.23.bazel
@@ -0,0 +1,151 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mio",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "with-deprecated",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.23",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_os = "fuchsia")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "fuchsia")'
+        # Skipped dependencies: [{"id":"fuchsia-zircon 0.3.3","target":"fuchsia_zircon"},{"id":"fuchsia-zircon-sys 0.3.3","target":"fuchsia_zircon_sys"}]
+        #
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__kernel32-sys-0.2.2//:kernel32",
+            "@rules_rust_proto__miow-0.2.2//:miow",
+            "@rules_rust_proto__winapi-0.2.8//:winapi",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+        ],
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.mio-uds-0.6.8.bazel b/proto/3rdparty/crates/BUILD.mio-uds-0.6.8.bazel
new file mode 100644
index 0000000..3593e95
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.mio-uds-0.6.8.bazel
@@ -0,0 +1,119 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "mio_uds",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.8",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__libc-0.2.126//:libc",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.miow-0.2.2.bazel b/proto/3rdparty/crates/BUILD.miow-0.2.2.bazel
new file mode 100644
index 0000000..3305a39
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.miow-0.2.2.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "miow",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__kernel32-sys-0.2.2//:kernel32",
+            "@rules_rust_proto__net2-0.2.37//:net2",
+            "@rules_rust_proto__winapi-0.2.8//:winapi",
+            "@rules_rust_proto__ws2_32-sys-0.2.1//:ws2_32",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.net2-0.2.37.bazel b/proto/3rdparty/crates/BUILD.net2-0.2.37.bazel
new file mode 100644
index 0000000..5062966
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.net2-0.2.37.bazel
@@ -0,0 +1,133 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "net2",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "duration",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.37",
+    deps = [
+    ] + select_with_or({
+        # cfg(any(target_os = "redox", unix, target_os = "wasi"))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:wasm32-wasi",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+        ],
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel b/proto/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
new file mode 100644
index 0000000..eb66e90
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.13.1",
+    deps = [
+    ] + select_with_or({
+        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
+        #
+        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
+        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
+        #
+        # cfg(not(windows))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:wasm32-unknown-unknown",
+            "@rules_rust//rust/platform:wasm32-wasi",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.parking_lot-0.9.0.bazel b/proto/3rdparty/crates/BUILD.parking_lot-0.9.0.bazel
new file mode 100644
index 0000000..2563828
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.parking_lot-0.9.0.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "parking_lot",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__lock_api-0.3.4//:lock_api",
+            "@rules_rust_proto__parking_lot-0.9.0//:build_script_build",
+            "@rules_rust_proto__parking_lot_core-0.6.2//:parking_lot_core",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "parking_lot_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.9.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__rustc_version-0.2.3//:rustc_version",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "parking_lot_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.parking_lot_core-0.6.2.bazel b/proto/3rdparty/crates/BUILD.parking_lot_core-0.6.2.bazel
new file mode 100644
index 0000000..32d0707
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.parking_lot_core-0.6.2.bazel
@@ -0,0 +1,230 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "parking_lot_core",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.2",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_os = "cloudabi")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "cloudabi")'
+        # Skipped dependencies: [{"id":"cloudabi 0.0.3","target":"cloudabi"}]
+        #
+        # cfg(target_os = "redox")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
+        # Skipped dependencies: [{"id":"redox_syscall 0.1.57","target":"syscall"}]
+        #
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__parking_lot_core-0.6.2//:build_script_build",
+            "@rules_rust_proto__smallvec-0.6.14//:smallvec",
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__parking_lot_core-0.6.2//:build_script_build",
+            "@rules_rust_proto__smallvec-0.6.14//:smallvec",
+        ],
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__parking_lot_core-0.6.2//:build_script_build",
+            "@rules_rust_proto__smallvec-0.6.14//:smallvec",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "parking_lot_core_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.6.2",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__rustc_version-0.2.3//:rustc_version",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "parking_lot_core_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.protobuf-2.8.2.bazel b/proto/3rdparty/crates/BUILD.protobuf-2.8.2.bazel
new file mode 100644
index 0000000..aa85d0b
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.protobuf-2.8.2.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "protobuf",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "bytes",
+        "with-bytes",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.8.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__protobuf-2.8.2//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "protobuf_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "bytes",
+        "with-bytes",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "2.8.2",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "protobuf_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.protobuf-codegen-2.8.2.bazel b/proto/3rdparty/crates/BUILD.protobuf-codegen-2.8.2.bazel
new file mode 100644
index 0000000..5a63331
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.protobuf-codegen-2.8.2.bazel
@@ -0,0 +1,226 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "protobuf_codegen",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.8.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "protoc-gen-rust__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/protoc-gen-rust.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.8.2",
+    deps = [
+        ":protobuf_codegen",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "protobuf-bin-gen-rust-do-not-use__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/protobuf-bin-gen-rust-do-not-use.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.8.2",
+    deps = [
+        ":protobuf_codegen",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.redox_syscall-0.1.57.bazel b/proto/3rdparty/crates/BUILD.redox_syscall-0.1.57.bazel
new file mode 100644
index 0000000..7a078cb
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.redox_syscall-0.1.57.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.57",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.rustc_version-0.2.3.bazel b/proto/3rdparty/crates/BUILD.rustc_version-0.2.3.bazel
new file mode 100644
index 0000000..9780f59
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.rustc_version-0.2.3.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "rustc_version",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__semver-0.9.0//:semver",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.safemem-0.3.3.bazel b/proto/3rdparty/crates/BUILD.safemem-0.3.3.bazel
new file mode 100644
index 0000000..02ef8a6
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.safemem-0.3.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "safemem",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.scoped-tls-0.1.2.bazel b/proto/3rdparty/crates/BUILD.scoped-tls-0.1.2.bazel
new file mode 100644
index 0000000..e764fae
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.scoped-tls-0.1.2.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "scoped_tls",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel b/proto/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel
new file mode 100644
index 0000000..53c44b7
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "scopeguard",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.semver-0.9.0.bazel b/proto/3rdparty/crates/BUILD.semver-0.9.0.bazel
new file mode 100644
index 0000000..ae3d4a0
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.semver-0.9.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "semver",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__semver-parser-0.7.0//:semver_parser",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.semver-parser-0.7.0.bazel b/proto/3rdparty/crates/BUILD.semver-parser-0.7.0.bazel
new file mode 100644
index 0000000..de4e9d4
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.semver-parser-0.7.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "semver_parser",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.slab-0.3.0.bazel b/proto/3rdparty/crates/BUILD.slab-0.3.0.bazel
new file mode 100644
index 0000000..d4998ed
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.slab-0.3.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "slab",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.slab-0.4.7.bazel b/proto/3rdparty/crates/BUILD.slab-0.4.7.bazel
new file mode 100644
index 0000000..feb5d93
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.slab-0.4.7.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "slab",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__slab-0.4.7//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "slab_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.7",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "slab_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.smallvec-0.6.14.bazel b/proto/3rdparty/crates/BUILD.smallvec-0.6.14.bazel
new file mode 100644
index 0000000..a350125
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.smallvec-0.6.14.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "smallvec",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.14",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__maybe-uninit-2.0.0//:maybe_uninit",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tls-api-0.1.22.bazel b/proto/3rdparty/crates/BUILD.tls-api-0.1.22.bazel
new file mode 100644
index 0000000..0dd4b51
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tls-api-0.1.22.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tls_api",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.22",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__log-0.4.17//:log",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tls-api-stub-0.1.22.bazel b/proto/3rdparty/crates/BUILD.tls-api-stub-0.1.22.bazel
new file mode 100644
index 0000000..3189886
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tls-api-stub-0.1.22.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tls_api_stub",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.22",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "@rules_rust_proto__void-1.0.2//:void",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-0.1.22.bazel b/proto/3rdparty/crates/BUILD.tokio-0.1.22.bazel
new file mode 100644
index 0000000..c33ef7b
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-0.1.22.bazel
@@ -0,0 +1,173 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "bytes",
+        "codec",
+        "default",
+        "fs",
+        "io",
+        "mio",
+        "num_cpus",
+        "reactor",
+        "rt-full",
+        "sync",
+        "tcp",
+        "timer",
+        "tokio-codec",
+        "tokio-current-thread",
+        "tokio-executor",
+        "tokio-fs",
+        "tokio-io",
+        "tokio-reactor",
+        "tokio-sync",
+        "tokio-tcp",
+        "tokio-threadpool",
+        "tokio-timer",
+        "tokio-udp",
+        "tokio-uds",
+        "udp",
+        "uds",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.22",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_proto__tokio-uds-0.2.7//:tokio_uds",
+
+            # Common Deps
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_proto__tokio-codec-0.1.2//:tokio_codec",
+            "@rules_rust_proto__tokio-current-thread-0.1.7//:tokio_current_thread",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+            "@rules_rust_proto__tokio-fs-0.1.7//:tokio_fs",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+            "@rules_rust_proto__tokio-sync-0.1.8//:tokio_sync",
+            "@rules_rust_proto__tokio-tcp-0.1.4//:tokio_tcp",
+            "@rules_rust_proto__tokio-threadpool-0.1.18//:tokio_threadpool",
+            "@rules_rust_proto__tokio-timer-0.2.13//:tokio_timer",
+            "@rules_rust_proto__tokio-udp-0.1.6//:tokio_udp",
+        ],
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_proto__tokio-codec-0.1.2//:tokio_codec",
+            "@rules_rust_proto__tokio-current-thread-0.1.7//:tokio_current_thread",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+            "@rules_rust_proto__tokio-fs-0.1.7//:tokio_fs",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+            "@rules_rust_proto__tokio-sync-0.1.8//:tokio_sync",
+            "@rules_rust_proto__tokio-tcp-0.1.4//:tokio_tcp",
+            "@rules_rust_proto__tokio-threadpool-0.1.18//:tokio_threadpool",
+            "@rules_rust_proto__tokio-timer-0.2.13//:tokio_timer",
+            "@rules_rust_proto__tokio-udp-0.1.6//:tokio_udp",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-codec-0.1.2.bazel b/proto/3rdparty/crates/BUILD.tokio-codec-0.1.2.bazel
new file mode 100644
index 0000000..26a586c
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-codec-0.1.2.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_codec",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-core-0.1.18.bazel b/proto/3rdparty/crates/BUILD.tokio-core-0.1.18.bazel
new file mode 100644
index 0000000..a7532c8
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-core-0.1.18.bazel
@@ -0,0 +1,101 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tokio_core",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.18",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__scoped-tls-0.1.2//:scoped_tls",
+            "@rules_rust_proto__tokio-0.1.22//:tokio",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+            "@rules_rust_proto__tokio-timer-0.2.13//:tokio_timer",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-current-thread-0.1.7.bazel b/proto/3rdparty/crates/BUILD.tokio-current-thread-0.1.7.bazel
new file mode 100644
index 0000000..91dc929
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-current-thread-0.1.7.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_current_thread",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-executor-0.1.10.bazel b/proto/3rdparty/crates/BUILD.tokio-executor-0.1.10.bazel
new file mode 100644
index 0000000..7a0f588
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-executor-0.1.10.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_executor",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.10",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-fs-0.1.7.bazel b/proto/3rdparty/crates/BUILD.tokio-fs-0.1.7.bazel
new file mode 100644
index 0000000..42b51dc
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-fs-0.1.7.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_fs",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-threadpool-0.1.18//:tokio_threadpool",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-io-0.1.13.bazel b/proto/3rdparty/crates/BUILD.tokio-io-0.1.13.bazel
new file mode 100644
index 0000000..36fb632
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-io-0.1.13.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_io",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.13",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__log-0.4.17//:log",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-reactor-0.1.12.bazel b/proto/3rdparty/crates/BUILD.tokio-reactor-0.1.12.bazel
new file mode 100644
index 0000000..f2eec69
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-reactor-0.1.12.bazel
@@ -0,0 +1,101 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_reactor",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.12",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_proto__parking_lot-0.9.0//:parking_lot",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-sync-0.1.8//:tokio_sync",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-sync-0.1.8.bazel b/proto/3rdparty/crates/BUILD.tokio-sync-0.1.8.bazel
new file mode 100644
index 0000000..34566c0
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-sync-0.1.8.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_sync",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__fnv-1.0.7//:fnv",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-tcp-0.1.4.bazel b/proto/3rdparty/crates/BUILD.tokio-tcp-0.1.4.bazel
new file mode 100644
index 0000000..743f8b0
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-tcp-0.1.4.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_tcp",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-threadpool-0.1.18.bazel b/proto/3rdparty/crates/BUILD.tokio-threadpool-0.1.18.bazel
new file mode 100644
index 0000000..cafb9cb
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-threadpool-0.1.18.bazel
@@ -0,0 +1,99 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_threadpool",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.18",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__crossbeam-deque-0.7.4//:crossbeam_deque",
+            "@rules_rust_proto__crossbeam-queue-0.2.3//:crossbeam_queue",
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-timer-0.1.2.bazel b/proto/3rdparty/crates/BUILD.tokio-timer-0.1.2.bazel
new file mode 100644
index 0000000..79c91e9
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-timer-0.1.2.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tokio_timer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__slab-0.3.0//:slab",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-timer-0.2.13.bazel b/proto/3rdparty/crates/BUILD.tokio-timer-0.2.13.bazel
new file mode 100644
index 0000000..6c2f050
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-timer-0.2.13.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_timer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.13",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__crossbeam-utils-0.7.2//:crossbeam_utils",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__slab-0.4.7//:slab",
+            "@rules_rust_proto__tokio-executor-0.1.10//:tokio_executor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-tls-api-0.1.22.bazel b/proto/3rdparty/crates/BUILD.tokio-tls-api-0.1.22.bazel
new file mode 100644
index 0000000..b4a36f2
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-tls-api-0.1.22.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tokio_tls_api",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.22",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-udp-0.1.6.bazel b/proto/3rdparty/crates/BUILD.tokio-udp-0.1.6.bazel
new file mode 100644
index 0000000..ae02c80
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-udp-0.1.6.bazel
@@ -0,0 +1,97 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_udp",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.6",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__tokio-codec-0.1.2//:tokio_codec",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-uds-0.1.7.bazel b/proto/3rdparty/crates/BUILD.tokio-uds-0.1.7.bazel
new file mode 100644
index 0000000..c27f778
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-uds-0.1.7.bazel
@@ -0,0 +1,99 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "tokio_uds",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__libc-0.2.126//:libc",
+            "@rules_rust_proto__log-0.3.9//:log",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__mio-uds-0.6.8//:mio_uds",
+            "@rules_rust_proto__tokio-core-0.1.18//:tokio_core",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.tokio-uds-0.2.7.bazel b/proto/3rdparty/crates/BUILD.tokio-uds-0.2.7.bazel
new file mode 100644
index 0000000..8d0235f
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.tokio-uds-0.2.7.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "tokio_uds",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.7",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__bytes-0.4.12//:bytes",
+            "@rules_rust_proto__futures-0.1.31//:futures",
+            "@rules_rust_proto__iovec-0.1.4//:iovec",
+            "@rules_rust_proto__libc-0.2.126//:libc",
+            "@rules_rust_proto__log-0.4.17//:log",
+            "@rules_rust_proto__mio-0.6.23//:mio",
+            "@rules_rust_proto__mio-uds-0.6.8//:mio_uds",
+            "@rules_rust_proto__tokio-codec-0.1.2//:tokio_codec",
+            "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
+            "@rules_rust_proto__tokio-reactor-0.1.12//:tokio_reactor",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.unix_socket-0.5.0.bazel b/proto/3rdparty/crates/BUILD.unix_socket-0.5.0.bazel
new file mode 100644
index 0000000..f78fb1f
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.unix_socket-0.5.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unix_socket",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.5.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__cfg-if-0.1.10//:cfg_if",
+            "@rules_rust_proto__libc-0.2.126//:libc",
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.void-1.0.2.bazel b/proto/3rdparty/crates/BUILD.void-1.0.2.bazel
new file mode 100644
index 0000000..cd0e4bc
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.void-1.0.2.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "void",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.winapi-0.2.8.bazel b/proto/3rdparty/crates/BUILD.winapi-0.2.8.bazel
new file mode 100644
index 0000000..ff2af66
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.winapi-0.2.8.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "winapi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.winapi-0.3.9.bazel b/proto/3rdparty/crates/BUILD.winapi-0.3.9.bazel
new file mode 100644
index 0000000..70452ae
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.winapi-0.3.9.bazel
@@ -0,0 +1,206 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "errhandlingapi",
+        "handleapi",
+        "minwindef",
+        "ntstatus",
+        "winbase",
+        "winerror",
+        "winnt",
+        "winsock2",
+        "ws2def",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    deps = [
+    ] + select_with_or({
+        # i686-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
+        #
+        # x86_64-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
+        #
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-0.3.9//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "errhandlingapi",
+        "handleapi",
+        "minwindef",
+        "ntstatus",
+        "winbase",
+        "winerror",
+        "winnt",
+        "winsock2",
+        "ws2def",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.3.9",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.winapi-build-0.1.1.bazel b/proto/3rdparty/crates/BUILD.winapi-build-0.1.1.bazel
new file mode 100644
index 0000000..90d09f2
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.winapi-build-0.1.1.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "build",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/proto/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/proto/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..0ff44fd
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_i686_pc_windows_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi-i686-pc-windows-gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi-i686-pc-windows-gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/proto/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..a4fb59f
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_x86_64_pc_windows_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi-x86_64-pc-windows-gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi-x86_64-pc-windows-gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/BUILD.ws2_32-sys-0.2.1.bazel b/proto/3rdparty/crates/BUILD.ws2_32-sys-0.2.1.bazel
new file mode 100644
index 0000000..591c218
--- /dev/null
+++ b/proto/3rdparty/crates/BUILD.ws2_32-sys-0.2.1.bazel
@@ -0,0 +1,176 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "ws2_32",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-0.2.8//:winapi",
+            "@rules_rust_proto__ws2_32-sys-0.2.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "ws2_32-sys_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_proto__winapi-build-0.1.1//:build",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "ws2_32-sys_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/proto/3rdparty/crates/crates.bzl b/proto/3rdparty/crates/crates.bzl
new file mode 100644
index 0000000..5a694ea
--- /dev/null
+++ b/proto/3rdparty/crates/crates.bzl
@@ -0,0 +1,25 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//proto/3rdparty/crates:defs.bzl", _crate_repositories = "crate_repositories")
+
+def crate_repositories():
+    maybe(
+        crates_vendor_remote_repository,
+        name = "rules_rust_proto",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.bazel"),
+        defs_module = Label("@rules_rust//proto/3rdparty/crates:defs.bzl"),
+    )
+
+    _crate_repositories()
diff --git a/proto/3rdparty/crates/defs.bzl b/proto/3rdparty/crates/defs.bzl
new file mode 100644
index 0000000..b19e46e
--- /dev/null
+++ b/proto/3rdparty/crates/defs.bzl
@@ -0,0 +1,1143 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //proto/3rdparty:crates_vendor
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+    """Flatten a list of dependency maps into one dictionary.
+
+    Dependency maps have the following structure:
+
+    ```python
+    DEPENDENCIES_MAP = {
+        # The first key in the map is a Bazel package
+        # name of the workspace this file is defined in.
+        "workspace_member_package": {
+
+            # Not all dependnecies are supported for all platforms.
+            # the condition key is the condition required to be true
+            # on the host platform.
+            "condition": {
+
+                # An alias to a crate target.     # The label of the crate target the
+                # Aliases are only crate names.   # package name refers to.
+                "package_name":                   "@full//:label",
+            }
+        }
+    }
+    ```
+
+    Args:
+        all_dependency_maps (list): A list of dicts as described above
+
+    Returns:
+        dict: A dictionary as described above
+    """
+    dependencies = {}
+
+    for workspace_deps_map in all_dependency_maps:
+        for pkg_name, conditional_deps_map in workspace_deps_map.items():
+            if pkg_name not in dependencies:
+                non_frozen_map = dict()
+                for key, values in conditional_deps_map.items():
+                    non_frozen_map.update({key: dict(values.items())})
+                dependencies.setdefault(pkg_name, non_frozen_map)
+                continue
+
+            for condition, deps_map in conditional_deps_map.items():
+                # If the condition has not been recorded, do so and continue
+                if condition not in dependencies[pkg_name]:
+                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+                    continue
+
+                # Alert on any miss-matched dependencies
+                inconsistent_entries = []
+                for crate_name, crate_label in deps_map.items():
+                    existing = dependencies[pkg_name][condition].get(crate_name)
+                    if existing and existing != crate_label:
+                        inconsistent_entries.append((crate_name, existing, crate_label))
+                    dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+    return dependencies
+
+def crate_deps(deps, package_name = None):
+    """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+    Args:
+        deps (list): The desired list of crate targets.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()`.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if not deps:
+        return []
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Join both sets of dependencies
+    dependencies = _flatten_dependency_maps([
+        _NORMAL_DEPENDENCIES,
+        _NORMAL_DEV_DEPENDENCIES,
+        _PROC_MACRO_DEPENDENCIES,
+        _PROC_MACRO_DEV_DEPENDENCIES,
+        _BUILD_DEPENDENCIES,
+        _BUILD_PROC_MACRO_DEPENDENCIES,
+    ]).pop(package_name, {})
+
+    # Combine all conditional packages so we can easily index over a flat list
+    # TODO: Perhaps this should actually return select statements and maintain
+    # the conditionals of the dependencies
+    flat_deps = {}
+    for deps_set in dependencies.values():
+        for crate_name, crate_label in deps_set.items():
+            flat_deps.update({crate_name: crate_label})
+
+    missing_crates = []
+    crate_targets = []
+    for crate_target in deps:
+        if crate_target not in flat_deps:
+            missing_crates.append(crate_target)
+        else:
+            crate_targets.append(flat_deps[crate_target])
+
+    if missing_crates:
+        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+            missing_crates,
+            package_name,
+            dependencies,
+        ))
+
+    return crate_targets
+
+def all_crate_deps(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Finds the fully qualified label of all requested direct crate dependencies \
+    for the package where this macro is called.
+
+    If no parameters are set, all normal dependencies are returned. Setting any one flag will
+    otherwise impact the contents of the returned list.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normla dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_dependency_maps = []
+    if normal:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+    if normal_dev:
+        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+    if proc_macro:
+        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+    if proc_macro_dev:
+        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+    if build:
+        all_dependency_maps.append(_BUILD_DEPENDENCIES)
+    if build_proc_macro:
+        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+    # Default to always using normal dependencies
+    if not all_dependency_maps:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+    if not dependencies:
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
+
+    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+    for condition, deps in dependencies.items():
+        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+    return crate_deps
+
+def aliases(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Produces a map of Crate alias names to their original label
+
+    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+    Setting any one flag will otherwise determine the contents of the returned dict.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normla dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        dict: The aliases of all associated packages
+    """
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_aliases_maps = []
+    if normal:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+    if normal_dev:
+        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+    if proc_macro:
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+    if proc_macro_dev:
+        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+    if build:
+        all_aliases_maps.append(_BUILD_ALIASES)
+    if build_proc_macro:
+        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+    # Default to always using normal aliases
+    if not all_aliases_maps:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+    if not aliases:
+        return dict()
+
+    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+    # If there are only common items in the dictionary, immediately return them
+    if not len(aliases.keys()) == 1:
+        return dict(common_items)
+
+    # Build a single select statement where each conditional has accounted for the
+    # common set of aliases.
+    crate_aliases = {"//conditions:default": common_items}
+    for condition, deps in aliases.items():
+        condition_triples = _CONDITIONS[condition]
+        if condition_triples in crate_aliases:
+            crate_aliases[condition_triples].update(deps)
+        else:
+            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+    return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "grpc": "@rules_rust_proto__grpc-0.6.2//:grpc",
+            "grpc-compiler": "@rules_rust_proto__grpc-compiler-0.6.2//:grpc_compiler",
+            "log": "@rules_rust_proto__log-0.4.17//:log",
+            "protobuf": "@rules_rust_proto__protobuf-2.8.2//:protobuf",
+            "protobuf-codegen": "@rules_rust_proto__protobuf-codegen-2.8.2//:protobuf_codegen",
+            "tls-api": "@rules_rust_proto__tls-api-0.1.22//:tls_api",
+            "tls-api-stub": "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
+        },
+    },
+}
+
+_NORMAL_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_NORMAL_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_CONDITIONS = {
+    "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
+    "cfg(any(target_os = \"redox\", unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(target_os = \"cloudabi\")": [],
+    "cfg(target_os = \"fuchsia\")": [],
+    "cfg(target_os = \"redox\")": [],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "i686-pc-windows-gnu": [],
+    "x86_64-pc-windows-gnu": [],
+}
+
+###############################################################################
+
+def crate_repositories():
+    """A macro for defining repositories for all generated crates"""
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__autocfg-1.1.0",
+        sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
+        strip_prefix = "autocfg-1.1.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.autocfg-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__base64-0.9.3",
+        sha256 = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/base64/0.9.3/download"],
+        strip_prefix = "base64-0.9.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.base64-0.9.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__bitflags-1.3.2",
+        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
+        strip_prefix = "bitflags-1.3.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__byteorder-1.4.3",
+        sha256 = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/byteorder/1.4.3/download"],
+        strip_prefix = "byteorder-1.4.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.byteorder-1.4.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__bytes-0.4.12",
+        sha256 = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bytes/0.4.12/download"],
+        strip_prefix = "bytes-0.4.12",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.bytes-0.4.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__cfg-if-0.1.10",
+        sha256 = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cfg-if/0.1.10/download"],
+        strip_prefix = "cfg-if-0.1.10",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.cfg-if-0.1.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__cfg-if-1.0.0",
+        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
+        strip_prefix = "cfg-if-1.0.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__cloudabi-0.0.3",
+        sha256 = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cloudabi/0.0.3/download"],
+        strip_prefix = "cloudabi-0.0.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.cloudabi-0.0.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__crossbeam-deque-0.7.4",
+        sha256 = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-deque/0.7.4/download"],
+        strip_prefix = "crossbeam-deque-0.7.4",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.crossbeam-deque-0.7.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__crossbeam-epoch-0.8.2",
+        sha256 = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-epoch/0.8.2/download"],
+        strip_prefix = "crossbeam-epoch-0.8.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.crossbeam-epoch-0.8.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__crossbeam-queue-0.2.3",
+        sha256 = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-queue/0.2.3/download"],
+        strip_prefix = "crossbeam-queue-0.2.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.crossbeam-queue-0.2.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__crossbeam-utils-0.7.2",
+        sha256 = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-utils/0.7.2/download"],
+        strip_prefix = "crossbeam-utils-0.7.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.crossbeam-utils-0.7.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__fnv-1.0.7",
+        sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fnv/1.0.7/download"],
+        strip_prefix = "fnv-1.0.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.fnv-1.0.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__fuchsia-zircon-0.3.3",
+        sha256 = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fuchsia-zircon/0.3.3/download"],
+        strip_prefix = "fuchsia-zircon-0.3.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.fuchsia-zircon-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__fuchsia-zircon-sys-0.3.3",
+        sha256 = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fuchsia-zircon-sys/0.3.3/download"],
+        strip_prefix = "fuchsia-zircon-sys-0.3.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.fuchsia-zircon-sys-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__futures-0.1.31",
+        sha256 = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures/0.1.31/download"],
+        strip_prefix = "futures-0.1.31",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.futures-0.1.31.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__futures-cpupool-0.1.8",
+        sha256 = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/futures-cpupool/0.1.8/download"],
+        strip_prefix = "futures-cpupool-0.1.8",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.futures-cpupool-0.1.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__grpc-0.6.2",
+        sha256 = "2aaf1d741fe6f3413f1f9f71b99f5e4e26776d563475a8a53ce53a73a8534c1d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/grpc/0.6.2/download"],
+        strip_prefix = "grpc-0.6.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.grpc-0.6.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__grpc-compiler-0.6.2",
+        sha256 = "907274ce8ee7b40a0d0b0db09022ea22846a47cfb1fc8ad2c983c70001b4ffb1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/grpc-compiler/0.6.2/download"],
+        strip_prefix = "grpc-compiler-0.6.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.grpc-compiler-0.6.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__hermit-abi-0.1.19",
+        sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
+        strip_prefix = "hermit-abi-0.1.19",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.hermit-abi-0.1.19.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__httpbis-0.7.0",
+        sha256 = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/httpbis/0.7.0/download"],
+        strip_prefix = "httpbis-0.7.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.httpbis-0.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__iovec-0.1.4",
+        sha256 = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/iovec/0.1.4/download"],
+        strip_prefix = "iovec-0.1.4",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.iovec-0.1.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__kernel32-sys-0.2.2",
+        sha256 = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/kernel32-sys/0.2.2/download"],
+        strip_prefix = "kernel32-sys-0.2.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.kernel32-sys-0.2.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__lazy_static-1.4.0",
+        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
+        strip_prefix = "lazy_static-1.4.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__libc-0.2.126",
+        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
+        strip_prefix = "libc-0.2.126",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__lock_api-0.3.4",
+        sha256 = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lock_api/0.3.4/download"],
+        strip_prefix = "lock_api-0.3.4",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.lock_api-0.3.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__log-0.3.9",
+        sha256 = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/log/0.3.9/download"],
+        strip_prefix = "log-0.3.9",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.log-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__log-0.4.17",
+        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+        strip_prefix = "log-0.4.17",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.log-0.4.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__maybe-uninit-2.0.0",
+        sha256 = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/maybe-uninit/2.0.0/download"],
+        strip_prefix = "maybe-uninit-2.0.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.maybe-uninit-2.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__memoffset-0.5.6",
+        sha256 = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memoffset/0.5.6/download"],
+        strip_prefix = "memoffset-0.5.6",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.memoffset-0.5.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__mio-0.6.23",
+        sha256 = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mio/0.6.23/download"],
+        strip_prefix = "mio-0.6.23",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.mio-0.6.23.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__mio-uds-0.6.8",
+        sha256 = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mio-uds/0.6.8/download"],
+        strip_prefix = "mio-uds-0.6.8",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.mio-uds-0.6.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__miow-0.2.2",
+        sha256 = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/miow/0.2.2/download"],
+        strip_prefix = "miow-0.2.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.miow-0.2.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__net2-0.2.37",
+        sha256 = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/net2/0.2.37/download"],
+        strip_prefix = "net2-0.2.37",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.net2-0.2.37.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__num_cpus-1.13.1",
+        sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.13.1/download"],
+        strip_prefix = "num_cpus-1.13.1",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.num_cpus-1.13.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__parking_lot-0.9.0",
+        sha256 = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot/0.9.0/download"],
+        strip_prefix = "parking_lot-0.9.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.parking_lot-0.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__parking_lot_core-0.6.2",
+        sha256 = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.6.2/download"],
+        strip_prefix = "parking_lot_core-0.6.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.parking_lot_core-0.6.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__protobuf-2.8.2",
+        patch_args = [
+            "-p1",
+        ],
+        patches = [
+            "@rules_rust//proto/3rdparty/patches:protobuf-2.8.2.patch",
+        ],
+        sha256 = "70731852eec72c56d11226c8a5f96ad5058a3dab73647ca5f7ee351e464f2571",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/protobuf/2.8.2/download"],
+        strip_prefix = "protobuf-2.8.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.protobuf-2.8.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__protobuf-codegen-2.8.2",
+        sha256 = "3d74b9cbbf2ac9a7169c85a3714ec16c51ee9ec7cfd511549527e9a7df720795",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/protobuf-codegen/2.8.2/download"],
+        strip_prefix = "protobuf-codegen-2.8.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.protobuf-codegen-2.8.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__redox_syscall-0.1.57",
+        sha256 = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.1.57/download"],
+        strip_prefix = "redox_syscall-0.1.57",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.redox_syscall-0.1.57.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__rustc_version-0.2.3",
+        sha256 = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rustc_version/0.2.3/download"],
+        strip_prefix = "rustc_version-0.2.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.rustc_version-0.2.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__safemem-0.3.3",
+        sha256 = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/safemem/0.3.3/download"],
+        strip_prefix = "safemem-0.3.3",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.safemem-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__scoped-tls-0.1.2",
+        sha256 = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/scoped-tls/0.1.2/download"],
+        strip_prefix = "scoped-tls-0.1.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.scoped-tls-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__scopeguard-1.1.0",
+        sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/scopeguard/1.1.0/download"],
+        strip_prefix = "scopeguard-1.1.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.scopeguard-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__semver-0.9.0",
+        sha256 = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/semver/0.9.0/download"],
+        strip_prefix = "semver-0.9.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.semver-0.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__semver-parser-0.7.0",
+        sha256 = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/semver-parser/0.7.0/download"],
+        strip_prefix = "semver-parser-0.7.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.semver-parser-0.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__slab-0.3.0",
+        sha256 = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/slab/0.3.0/download"],
+        strip_prefix = "slab-0.3.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.slab-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__slab-0.4.7",
+        sha256 = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/slab/0.4.7/download"],
+        strip_prefix = "slab-0.4.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.slab-0.4.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__smallvec-0.6.14",
+        sha256 = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/smallvec/0.6.14/download"],
+        strip_prefix = "smallvec-0.6.14",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.smallvec-0.6.14.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tls-api-0.1.22",
+        sha256 = "049c03787a0595182357fbd487577947f4351b78ce20c3668f6d49f17feb13d1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tls-api/0.1.22/download"],
+        strip_prefix = "tls-api-0.1.22",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tls-api-0.1.22.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tls-api-stub-0.1.22",
+        sha256 = "c9a0cc8c149724db9de7d73a0e1bc80b1a74f5394f08c6f301e11f9c35fa061e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tls-api-stub/0.1.22/download"],
+        strip_prefix = "tls-api-stub-0.1.22",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tls-api-stub-0.1.22.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-0.1.22",
+        sha256 = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio/0.1.22/download"],
+        strip_prefix = "tokio-0.1.22",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-0.1.22.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-codec-0.1.2",
+        sha256 = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-codec/0.1.2/download"],
+        strip_prefix = "tokio-codec-0.1.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-codec-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-core-0.1.18",
+        sha256 = "87b1395334443abca552f63d4f61d0486f12377c2ba8b368e523f89e828cffd4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-core/0.1.18/download"],
+        strip_prefix = "tokio-core-0.1.18",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-core-0.1.18.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-current-thread-0.1.7",
+        sha256 = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-current-thread/0.1.7/download"],
+        strip_prefix = "tokio-current-thread-0.1.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-current-thread-0.1.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-executor-0.1.10",
+        sha256 = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-executor/0.1.10/download"],
+        strip_prefix = "tokio-executor-0.1.10",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-executor-0.1.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-fs-0.1.7",
+        sha256 = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-fs/0.1.7/download"],
+        strip_prefix = "tokio-fs-0.1.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-fs-0.1.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-io-0.1.13",
+        sha256 = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-io/0.1.13/download"],
+        strip_prefix = "tokio-io-0.1.13",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-io-0.1.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-reactor-0.1.12",
+        sha256 = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-reactor/0.1.12/download"],
+        strip_prefix = "tokio-reactor-0.1.12",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-reactor-0.1.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-sync-0.1.8",
+        sha256 = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-sync/0.1.8/download"],
+        strip_prefix = "tokio-sync-0.1.8",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-sync-0.1.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-tcp-0.1.4",
+        sha256 = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-tcp/0.1.4/download"],
+        strip_prefix = "tokio-tcp-0.1.4",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-tcp-0.1.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-threadpool-0.1.18",
+        sha256 = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-threadpool/0.1.18/download"],
+        strip_prefix = "tokio-threadpool-0.1.18",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-threadpool-0.1.18.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-timer-0.1.2",
+        sha256 = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-timer/0.1.2/download"],
+        strip_prefix = "tokio-timer-0.1.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-timer-0.1.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-timer-0.2.13",
+        sha256 = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-timer/0.2.13/download"],
+        strip_prefix = "tokio-timer-0.2.13",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-timer-0.2.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-tls-api-0.1.22",
+        sha256 = "68d0e040d5b1f4cfca70ec4f371229886a5de5bb554d272a4a8da73004a7b2c9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-tls-api/0.1.22/download"],
+        strip_prefix = "tokio-tls-api-0.1.22",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-tls-api-0.1.22.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-udp-0.1.6",
+        sha256 = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-udp/0.1.6/download"],
+        strip_prefix = "tokio-udp-0.1.6",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-udp-0.1.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-uds-0.1.7",
+        sha256 = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-uds/0.1.7/download"],
+        strip_prefix = "tokio-uds-0.1.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-uds-0.1.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__tokio-uds-0.2.7",
+        sha256 = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tokio-uds/0.2.7/download"],
+        strip_prefix = "tokio-uds-0.2.7",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.tokio-uds-0.2.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__unix_socket-0.5.0",
+        sha256 = "6aa2700417c405c38f5e6902d699345241c28c0b7ade4abaad71e35a87eb1564",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unix_socket/0.5.0/download"],
+        strip_prefix = "unix_socket-0.5.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.unix_socket-0.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__void-1.0.2",
+        sha256 = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/void/1.0.2/download"],
+        strip_prefix = "void-1.0.2",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.void-1.0.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__winapi-0.2.8",
+        sha256 = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi/0.2.8/download"],
+        strip_prefix = "winapi-0.2.8",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.winapi-0.2.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__winapi-0.3.9",
+        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
+        strip_prefix = "winapi-0.3.9",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__winapi-build-0.1.1",
+        sha256 = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-build/0.1.1/download"],
+        strip_prefix = "winapi-build-0.1.1",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.winapi-build-0.1.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__winapi-i686-pc-windows-gnu-0.4.0",
+        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__winapi-x86_64-pc-windows-gnu-0.4.0",
+        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_proto__ws2_32-sys-0.2.1",
+        sha256 = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/ws2_32-sys/0.2.1/download"],
+        strip_prefix = "ws2_32-sys-0.2.1",
+        build_file = Label("@rules_rust//proto/3rdparty/crates:BUILD.ws2_32-sys-0.2.1.bazel"),
+    )
diff --git a/proto/patches/BUILD.bazel b/proto/3rdparty/patches/BUILD.bazel
similarity index 78%
rename from proto/patches/BUILD.bazel
rename to proto/3rdparty/patches/BUILD.bazel
index cfabc97..d1eb637 100644
--- a/proto/patches/BUILD.bazel
+++ b/proto/3rdparty/patches/BUILD.bazel
@@ -8,7 +8,9 @@
     name = "distro",
     srcs = [
         "BUILD.bazel",
-        "com_google_protobuf-v3.10.0-bzl_visibility.patch",
-    ],
+        "README.md",
+    ] + glob([
+        "*.patch",
+    ]),
     visibility = ["//:__subpackages__"],
 )
diff --git a/proto/raze/patch/README.md b/proto/3rdparty/patches/README.md
similarity index 66%
rename from proto/raze/patch/README.md
rename to proto/3rdparty/patches/README.md
index 2cd05d7..56e910b 100644
--- a/proto/raze/patch/README.md
+++ b/proto/3rdparty/patches/README.md
@@ -1,15 +1,6 @@
 # Patches
 
-Cargo raze, in its remote mode allows for patches to be applied to a repository
-before building it with rustc. It is advisable to use this functionality
-sparingly, if at all. Also note that the patch is applied after all of the
-dependency resolution has been completed by cargo raze, and that patching the
-version of a dependency will not cause cargo raze to update that dependency in
-the BUILD file.
-
-The patch itself can be generated using git or another tool. The output of git
-diff requires the `-p1` option to remove the leading `/` from the git diff patch
-format.
+Details related to patches required for the rules_rust protobuf rules.
 
 ## protobuf-2.8.2
 
@@ -29,3 +20,8 @@
 what would be generated by the build.rs file. This lets us avoid running the
 build file altogether, at the expense of having to update the patch for every
 version.
+
+
+## com_google_protobuf-v3.10.0-bzl_visibility
+
+The patches here provide the required visibility to `*.bzl` files used by the rules defined in `com_google_protobuf`.
diff --git a/proto/patches/com_google_protobuf-v3.10.0-bzl_visibility.patch b/proto/3rdparty/patches/com_google_protobuf-v3.10.0-bzl_visibility.patch
similarity index 100%
rename from proto/patches/com_google_protobuf-v3.10.0-bzl_visibility.patch
rename to proto/3rdparty/patches/com_google_protobuf-v3.10.0-bzl_visibility.patch
diff --git a/proto/raze/patch/protobuf-2.8.2.patch b/proto/3rdparty/patches/protobuf-2.8.2.patch
similarity index 100%
rename from proto/raze/patch/protobuf-2.8.2.patch
rename to proto/3rdparty/patches/protobuf-2.8.2.patch
diff --git a/proto/BUILD.bazel b/proto/BUILD.bazel
index 92e3142..3a33024 100644
--- a/proto/BUILD.bazel
+++ b/proto/BUILD.bazel
@@ -6,12 +6,12 @@
 
 alias(
     name = "protoc_gen_rust",
-    actual = "//proto/raze:cargo_bin_protoc_gen_rust",
+    actual = "//proto/3rdparty/crates:protobuf-codegen__protoc-gen-rust",
 )
 
 alias(
     name = "protoc_gen_rust_grpc",
-    actual = "//proto/raze:cargo_bin_protoc_gen_rust_grpc",
+    actual = "//proto/3rdparty/crates:grpc-compiler__protoc-gen-rust-grpc",
 )
 
 filegroup(
@@ -20,10 +20,8 @@
         "*.bzl",
         "*.rs",
     ]) + [
-        "//proto/patches:distro",
-        "//proto/raze:srcs",
-        "//proto/raze/patch:distro",
-        "//proto/raze/remote:srcs",
+        "//proto/raze:distro",
+        "//proto/3rdparty:distro",
         "BUILD.bazel",
     ],
     visibility = ["//:__subpackages__"],
@@ -60,5 +58,8 @@
 
 bzl_library(
     name = "bzl_lib",
-    srcs = glob(["**/*.bzl"]) + ["//proto/raze:crates.bzl"],
+    srcs = glob(["**/*.bzl"]),
+    deps = [
+        "//proto/3rdparty:bzl_lib",
+    ],
 )
diff --git a/proto/patches/README.md b/proto/patches/README.md
deleted file mode 100644
index 7d4ca11..0000000
--- a/proto/patches/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# @rules_rust//proto patches
-
-The patches here provide the required visibility to `*.bzl` files used by the rules defined in `com_google_protobuf`.
diff --git a/proto/raze/BUILD.bazel b/proto/raze/BUILD.bazel
index 632e220..65ae167 100644
--- a/proto/raze/BUILD.bazel
+++ b/proto/raze/BUILD.bazel
@@ -1,76 +1,56 @@
-"""
-@generated
-cargo-raze generated Bazel file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
 package(default_visibility = ["//visibility:public"])
 
-licenses([
-    "notice",  # See individual crates for specific licenses
-])
-
 # Aliased targets
 alias(
     name = "grpc",
-    actual = "@rules_rust_proto__grpc__0_6_2//:grpc",
+    actual = "//proto/3rdparty/crates:grpc",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:grpc",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
 alias(
     name = "cargo_bin_protoc_gen_rust_grpc",
-    actual = "@rules_rust_proto__grpc_compiler__0_6_2//:cargo_bin_protoc_gen_rust_grpc",
+    actual = "//proto/3rdparty/crates:grpc-compiler__protoc-gen-rust-grpc",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:grpc-compiler__protoc-gen-rust-grpc",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
 alias(
     name = "grpc_compiler",
-    actual = "@rules_rust_proto__grpc_compiler__0_6_2//:grpc_compiler",
+    actual = "//proto/3rdparty/crates:grpc_compiler",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:grpc_compiler",
     tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-alias(
-    name = "log",
-    actual = "@rules_rust_proto__log__0_4_6//:log",
-    tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
 alias(
     name = "protobuf",
-    actual = "@rules_rust_proto__protobuf__2_8_2//:protobuf",
+    actual = "//proto/3rdparty/crates:protobuf",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:protobuf",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
 alias(
     name = "cargo_bin_protoc_gen_rust",
-    actual = "@rules_rust_proto__protobuf_codegen__2_8_2//:cargo_bin_protoc_gen_rust",
+    actual = "//proto/3rdparty/crates:protobuf-codegen__protoc-gen-rust",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:protobuf-codegen__protoc-gen-rust",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
 alias(
     name = "protobuf_codegen",
-    actual = "@rules_rust_proto__protobuf_codegen__2_8_2//:protobuf_codegen",
+    actual = "//proto/3rdparty/crates:protobuf-codegen",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:protobuf-codegen",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
@@ -78,35 +58,14 @@
 alias(
     name = "tls_api",
     actual = "@rules_rust_proto__tls_api__0_1_22//:tls_api",
+    deprecation = "Instead, use @rules_rust//proto/3rdparty/crates:tls_api",
     tags = [
-        "cargo-raze",
         "manual",
     ],
 )
 
-alias(
-    name = "tls_api_stub",
-    actual = "@rules_rust_proto__tls_api_stub__0_1_22//:tls_api_stub",
-    tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-# Export file for Stardoc support
-exports_files(
-    glob([
-        "**/*.bazel",
-        "**/*.bzl",
-    ]),
-    visibility = ["//visibility:public"],
-)
-
 filegroup(
-    name = "srcs",
-    srcs = glob([
-        "**/*.bazel",
-        "**/*.bzl",
-    ]),
-    visibility = ["//visibility:public"],
+    name = "distro",
+    srcs = ["BUILD.bazel"],
+    visibility = ["//proto:__pkg__"],
 )
diff --git a/proto/raze/Cargo.lock b/proto/raze/Cargo.lock
deleted file mode 100644
index 2c6b3d0..0000000
--- a/proto/raze/Cargo.lock
+++ /dev/null
@@ -1,782 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-[[package]]
-name = "autocfg"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "base64"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "byteorder"
-version = "1.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memoffset 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "crossbeam-queue"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "fake_lib"
-version = "0.0.1"
-dependencies = [
- "grpc 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "grpc-compiler 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "protobuf 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "protobuf-codegen 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api-stub 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "futures"
-version = "0.1.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "futures-cpupool"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "grpc"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "httpbis 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "protobuf 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api-stub 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "grpc-compiler"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "protobuf 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "protobuf-codegen 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "httpbis"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api-stub 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "unix_socket 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "libc"
-version = "0.2.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "lock_api"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "log"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "memoffset"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "hermit-abi 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "lock_api 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "protobuf"
-version = "2.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "protobuf-codegen"
-version = "2.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "protobuf 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.1.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "scoped-tls"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "slab"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "slab"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "smallvec"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tls-api"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tls-api-stub"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-current-thread 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-fs 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-tcp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-udp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-uds 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-codec"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-core"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-current-thread"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-executor"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-fs"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-io"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-reactor"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-sync"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-tcp"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-threadpool"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-timer"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-timer"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-tls-api"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-udp"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-uds"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "tokio-uds"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "unix_socket"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "void"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "winapi"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[metadata]
-"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-"checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
-"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
-"checksum crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
-"checksum crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
-"checksum crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
-"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
-"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
-"checksum grpc 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2aaf1d741fe6f3413f1f9f71b99f5e4e26776d563475a8a53ce53a73a8534c1d"
-"checksum grpc-compiler 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "907274ce8ee7b40a0d0b0db09022ea22846a47cfb1fc8ad2c983c70001b4ffb1"
-"checksum hermit-abi 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8a0d737e0f947a1864e93d33fdef4af8445a00d1ed8dc0c8ddb73139ea6abf15"
-"checksum httpbis 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614"
-"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-"checksum libc 0.2.69 (registry+https://github.com/rust-lang/crates.io-index)" = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005"
-"checksum lock_api 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
-"checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-"checksum memoffset 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8"
-"checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
-"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
-"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
-"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
-"checksum num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
-"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
-"checksum protobuf 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "70731852eec72c56d11226c8a5f96ad5058a3dab73647ca5f7ee351e464f2571"
-"checksum protobuf-codegen 2.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3d74b9cbbf2ac9a7169c85a3714ec16c51ee9ec7cfd511549527e9a7df720795"
-"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-"checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
-"checksum scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-"checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
-"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
-"checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
-"checksum tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "049c03787a0595182357fbd487577947f4351b78ce20c3668f6d49f17feb13d1"
-"checksum tls-api-stub 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c9a0cc8c149724db9de7d73a0e1bc80b1a74f5394f08c6f301e11f9c35fa061e"
-"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
-"checksum tokio-codec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b"
-"checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71"
-"checksum tokio-current-thread 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
-"checksum tokio-executor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
-"checksum tokio-fs 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4"
-"checksum tokio-io 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
-"checksum tokio-reactor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
-"checksum tokio-sync 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
-"checksum tokio-tcp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
-"checksum tokio-threadpool 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
-"checksum tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc"
-"checksum tokio-timer 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
-"checksum tokio-tls-api 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "68d0e040d5b1f4cfca70ec4f371229886a5de5bb554d272a4a8da73004a7b2c9"
-"checksum tokio-udp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82"
-"checksum tokio-uds 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9"
-"checksum tokio-uds 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798"
-"checksum unix_socket 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6aa2700417c405c38f5e6902d699345241c28c0b7ade4abaad71e35a87eb1564"
-"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
diff --git a/proto/raze/Cargo.toml b/proto/raze/Cargo.toml
deleted file mode 100644
index 773554d..0000000
--- a/proto/raze/Cargo.toml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-[package]
-name = "fake_rules_rust_proto"
-version = "0.0.1"
-
-[lib]
-path = "fake_rules_rust_proto.rs"
-
-[dependencies]
-# Newer version of protobuf have been released, but the 0.6.2 release of
-# grpc-rust doesn't work with 2.10 or above, and the 2.9 release pulled.
-protobuf = { version = "2.8.2", features = ["with-bytes"] }
-protobuf-codegen = "2.8.2"
-grpc = "0.6.2"
-grpc-compiler = "0.6.2"
-# Newer version of tls-api have been released, but the 0.1 release is still
-# required by grpc 0.6.2, so continue to use 0.1 of tls-api here.
-tls-api = "0.1.22"
-tls-api-stub = "0.1.22"
-# This needs to be specified, as log 0.3 depends on log 0.4, and log 0.4.7 and
-# up break log 0.3, which is needed by tokio-uds-0.1.7 (which is required by
-# httpbis 0.7.0, which hasn't had a version released in a while).  grpc
-# requires httpbis.
-log = "0.4, <0.4.7"
-
-[package.metadata.raze]
-genmode = "Remote"
-workspace_path = "//proto/raze"
-gen_workspace_prefix = "rules_rust_proto"
-rust_rules_workspace_name = "rules_rust"
-package_aliases_dir = "."
-default_gen_buildrs = false
-
-[package.metadata.raze.crates.lazy_static.'1.4.0']
-additional_flags = [
-  "--cfg=lazy_static_heap_impl",
-]
-
-[package.metadata.raze.crates.protobuf.'2.8.2']
-patches = ["@rules_rust//proto/raze/patch:protobuf-2.8.2.patch"]
-patch_args = ["-p1"]
-
-[package.metadata.raze.crates.protobuf-codegen.'2.8.2']
-extra_aliased_targets = ["cargo_bin_protoc_gen_rust"]
-
-[package.metadata.raze.crates.grpc-compiler.'0.6.2']
-extra_aliased_targets = ["cargo_bin_protoc_gen_rust_grpc"]
diff --git a/proto/raze/crates.bzl b/proto/raze/crates.bzl
deleted file mode 100644
index 3ec2de1..0000000
--- a/proto/raze/crates.bzl
+++ /dev/null
@@ -1,768 +0,0 @@
-"""
-@generated
-cargo-raze generated Bazel file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")  # buildifier: disable=load
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")  # buildifier: disable=load
-load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")  # buildifier: disable=load
-
-def rules_rust_proto_fetch_remote_crates():
-    """This function defines a collection of repos and should be called in a WORKSPACE file"""
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__autocfg__1_0_0",
-        url = "https://crates.io/api/v1/crates/autocfg/1.0.0/download",
-        type = "tar.gz",
-        sha256 = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d",
-        strip_prefix = "autocfg-1.0.0",
-        build_file = Label("//proto/raze/remote:BUILD.autocfg-1.0.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__base64__0_9_3",
-        url = "https://crates.io/api/v1/crates/base64/0.9.3/download",
-        type = "tar.gz",
-        sha256 = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643",
-        strip_prefix = "base64-0.9.3",
-        build_file = Label("//proto/raze/remote:BUILD.base64-0.9.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__bitflags__1_2_1",
-        url = "https://crates.io/api/v1/crates/bitflags/1.2.1/download",
-        type = "tar.gz",
-        sha256 = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693",
-        strip_prefix = "bitflags-1.2.1",
-        build_file = Label("//proto/raze/remote:BUILD.bitflags-1.2.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__byteorder__1_3_4",
-        url = "https://crates.io/api/v1/crates/byteorder/1.3.4/download",
-        type = "tar.gz",
-        sha256 = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de",
-        strip_prefix = "byteorder-1.3.4",
-        build_file = Label("//proto/raze/remote:BUILD.byteorder-1.3.4.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__bytes__0_4_12",
-        url = "https://crates.io/api/v1/crates/bytes/0.4.12/download",
-        type = "tar.gz",
-        sha256 = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c",
-        strip_prefix = "bytes-0.4.12",
-        build_file = Label("//proto/raze/remote:BUILD.bytes-0.4.12.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__cfg_if__0_1_10",
-        url = "https://crates.io/api/v1/crates/cfg-if/0.1.10/download",
-        type = "tar.gz",
-        sha256 = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822",
-        strip_prefix = "cfg-if-0.1.10",
-        build_file = Label("//proto/raze/remote:BUILD.cfg-if-0.1.10.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__cloudabi__0_0_3",
-        url = "https://crates.io/api/v1/crates/cloudabi/0.0.3/download",
-        type = "tar.gz",
-        sha256 = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f",
-        strip_prefix = "cloudabi-0.0.3",
-        build_file = Label("//proto/raze/remote:BUILD.cloudabi-0.0.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__crossbeam_deque__0_7_3",
-        url = "https://crates.io/api/v1/crates/crossbeam-deque/0.7.3/download",
-        type = "tar.gz",
-        sha256 = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285",
-        strip_prefix = "crossbeam-deque-0.7.3",
-        build_file = Label("//proto/raze/remote:BUILD.crossbeam-deque-0.7.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__crossbeam_epoch__0_8_2",
-        url = "https://crates.io/api/v1/crates/crossbeam-epoch/0.8.2/download",
-        type = "tar.gz",
-        sha256 = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace",
-        strip_prefix = "crossbeam-epoch-0.8.2",
-        build_file = Label("//proto/raze/remote:BUILD.crossbeam-epoch-0.8.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__crossbeam_queue__0_2_1",
-        url = "https://crates.io/api/v1/crates/crossbeam-queue/0.2.1/download",
-        type = "tar.gz",
-        sha256 = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db",
-        strip_prefix = "crossbeam-queue-0.2.1",
-        build_file = Label("//proto/raze/remote:BUILD.crossbeam-queue-0.2.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__crossbeam_utils__0_7_2",
-        url = "https://crates.io/api/v1/crates/crossbeam-utils/0.7.2/download",
-        type = "tar.gz",
-        sha256 = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8",
-        strip_prefix = "crossbeam-utils-0.7.2",
-        build_file = Label("//proto/raze/remote:BUILD.crossbeam-utils-0.7.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__fnv__1_0_6",
-        url = "https://crates.io/api/v1/crates/fnv/1.0.6/download",
-        type = "tar.gz",
-        sha256 = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3",
-        strip_prefix = "fnv-1.0.6",
-        build_file = Label("//proto/raze/remote:BUILD.fnv-1.0.6.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__fuchsia_zircon__0_3_3",
-        url = "https://crates.io/api/v1/crates/fuchsia-zircon/0.3.3/download",
-        type = "tar.gz",
-        sha256 = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82",
-        strip_prefix = "fuchsia-zircon-0.3.3",
-        build_file = Label("//proto/raze/remote:BUILD.fuchsia-zircon-0.3.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__fuchsia_zircon_sys__0_3_3",
-        url = "https://crates.io/api/v1/crates/fuchsia-zircon-sys/0.3.3/download",
-        type = "tar.gz",
-        sha256 = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7",
-        strip_prefix = "fuchsia-zircon-sys-0.3.3",
-        build_file = Label("//proto/raze/remote:BUILD.fuchsia-zircon-sys-0.3.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__futures__0_1_29",
-        url = "https://crates.io/api/v1/crates/futures/0.1.29/download",
-        type = "tar.gz",
-        sha256 = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef",
-        strip_prefix = "futures-0.1.29",
-        build_file = Label("//proto/raze/remote:BUILD.futures-0.1.29.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__futures_cpupool__0_1_8",
-        url = "https://crates.io/api/v1/crates/futures-cpupool/0.1.8/download",
-        type = "tar.gz",
-        sha256 = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4",
-        strip_prefix = "futures-cpupool-0.1.8",
-        build_file = Label("//proto/raze/remote:BUILD.futures-cpupool-0.1.8.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__grpc__0_6_2",
-        url = "https://crates.io/api/v1/crates/grpc/0.6.2/download",
-        type = "tar.gz",
-        sha256 = "2aaf1d741fe6f3413f1f9f71b99f5e4e26776d563475a8a53ce53a73a8534c1d",
-        strip_prefix = "grpc-0.6.2",
-        build_file = Label("//proto/raze/remote:BUILD.grpc-0.6.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__grpc_compiler__0_6_2",
-        url = "https://crates.io/api/v1/crates/grpc-compiler/0.6.2/download",
-        type = "tar.gz",
-        sha256 = "907274ce8ee7b40a0d0b0db09022ea22846a47cfb1fc8ad2c983c70001b4ffb1",
-        strip_prefix = "grpc-compiler-0.6.2",
-        build_file = Label("//proto/raze/remote:BUILD.grpc-compiler-0.6.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__hermit_abi__0_1_11",
-        url = "https://crates.io/api/v1/crates/hermit-abi/0.1.11/download",
-        type = "tar.gz",
-        sha256 = "8a0d737e0f947a1864e93d33fdef4af8445a00d1ed8dc0c8ddb73139ea6abf15",
-        strip_prefix = "hermit-abi-0.1.11",
-        build_file = Label("//proto/raze/remote:BUILD.hermit-abi-0.1.11.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__httpbis__0_7_0",
-        url = "https://crates.io/api/v1/crates/httpbis/0.7.0/download",
-        type = "tar.gz",
-        sha256 = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614",
-        strip_prefix = "httpbis-0.7.0",
-        build_file = Label("//proto/raze/remote:BUILD.httpbis-0.7.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__iovec__0_1_4",
-        url = "https://crates.io/api/v1/crates/iovec/0.1.4/download",
-        type = "tar.gz",
-        sha256 = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e",
-        strip_prefix = "iovec-0.1.4",
-        build_file = Label("//proto/raze/remote:BUILD.iovec-0.1.4.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__kernel32_sys__0_2_2",
-        url = "https://crates.io/api/v1/crates/kernel32-sys/0.2.2/download",
-        type = "tar.gz",
-        sha256 = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d",
-        strip_prefix = "kernel32-sys-0.2.2",
-        build_file = Label("//proto/raze/remote:BUILD.kernel32-sys-0.2.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__lazy_static__1_4_0",
-        url = "https://crates.io/api/v1/crates/lazy_static/1.4.0/download",
-        type = "tar.gz",
-        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
-        strip_prefix = "lazy_static-1.4.0",
-        build_file = Label("//proto/raze/remote:BUILD.lazy_static-1.4.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__libc__0_2_69",
-        url = "https://crates.io/api/v1/crates/libc/0.2.69/download",
-        type = "tar.gz",
-        sha256 = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005",
-        strip_prefix = "libc-0.2.69",
-        build_file = Label("//proto/raze/remote:BUILD.libc-0.2.69.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__lock_api__0_3_4",
-        url = "https://crates.io/api/v1/crates/lock_api/0.3.4/download",
-        type = "tar.gz",
-        sha256 = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75",
-        strip_prefix = "lock_api-0.3.4",
-        build_file = Label("//proto/raze/remote:BUILD.lock_api-0.3.4.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__log__0_3_9",
-        url = "https://crates.io/api/v1/crates/log/0.3.9/download",
-        type = "tar.gz",
-        sha256 = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b",
-        strip_prefix = "log-0.3.9",
-        build_file = Label("//proto/raze/remote:BUILD.log-0.3.9.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__log__0_4_6",
-        url = "https://crates.io/api/v1/crates/log/0.4.6/download",
-        type = "tar.gz",
-        sha256 = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6",
-        strip_prefix = "log-0.4.6",
-        build_file = Label("//proto/raze/remote:BUILD.log-0.4.6.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__maybe_uninit__2_0_0",
-        url = "https://crates.io/api/v1/crates/maybe-uninit/2.0.0/download",
-        type = "tar.gz",
-        sha256 = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00",
-        strip_prefix = "maybe-uninit-2.0.0",
-        build_file = Label("//proto/raze/remote:BUILD.maybe-uninit-2.0.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__memoffset__0_5_4",
-        url = "https://crates.io/api/v1/crates/memoffset/0.5.4/download",
-        type = "tar.gz",
-        sha256 = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8",
-        strip_prefix = "memoffset-0.5.4",
-        build_file = Label("//proto/raze/remote:BUILD.memoffset-0.5.4.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__mio__0_6_21",
-        url = "https://crates.io/api/v1/crates/mio/0.6.21/download",
-        type = "tar.gz",
-        sha256 = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f",
-        strip_prefix = "mio-0.6.21",
-        build_file = Label("//proto/raze/remote:BUILD.mio-0.6.21.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__mio_uds__0_6_7",
-        url = "https://crates.io/api/v1/crates/mio-uds/0.6.7/download",
-        type = "tar.gz",
-        sha256 = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125",
-        strip_prefix = "mio-uds-0.6.7",
-        build_file = Label("//proto/raze/remote:BUILD.mio-uds-0.6.7.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__miow__0_2_1",
-        url = "https://crates.io/api/v1/crates/miow/0.2.1/download",
-        type = "tar.gz",
-        sha256 = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919",
-        strip_prefix = "miow-0.2.1",
-        build_file = Label("//proto/raze/remote:BUILD.miow-0.2.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__net2__0_2_33",
-        url = "https://crates.io/api/v1/crates/net2/0.2.33/download",
-        type = "tar.gz",
-        sha256 = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88",
-        strip_prefix = "net2-0.2.33",
-        build_file = Label("//proto/raze/remote:BUILD.net2-0.2.33.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__num_cpus__1_13_0",
-        url = "https://crates.io/api/v1/crates/num_cpus/1.13.0/download",
-        type = "tar.gz",
-        sha256 = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3",
-        strip_prefix = "num_cpus-1.13.0",
-        build_file = Label("//proto/raze/remote:BUILD.num_cpus-1.13.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__parking_lot__0_9_0",
-        url = "https://crates.io/api/v1/crates/parking_lot/0.9.0/download",
-        type = "tar.gz",
-        sha256 = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252",
-        strip_prefix = "parking_lot-0.9.0",
-        build_file = Label("//proto/raze/remote:BUILD.parking_lot-0.9.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__parking_lot_core__0_6_2",
-        url = "https://crates.io/api/v1/crates/parking_lot_core/0.6.2/download",
-        type = "tar.gz",
-        sha256 = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b",
-        strip_prefix = "parking_lot_core-0.6.2",
-        build_file = Label("//proto/raze/remote:BUILD.parking_lot_core-0.6.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__protobuf__2_8_2",
-        url = "https://crates.io/api/v1/crates/protobuf/2.8.2/download",
-        type = "tar.gz",
-        sha256 = "70731852eec72c56d11226c8a5f96ad5058a3dab73647ca5f7ee351e464f2571",
-        strip_prefix = "protobuf-2.8.2",
-        patches = [
-            "@rules_rust//proto/raze/patch:protobuf-2.8.2.patch",
-        ],
-        patch_args = [
-            "-p1",
-        ],
-        build_file = Label("//proto/raze/remote:BUILD.protobuf-2.8.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__protobuf_codegen__2_8_2",
-        url = "https://crates.io/api/v1/crates/protobuf-codegen/2.8.2/download",
-        type = "tar.gz",
-        sha256 = "3d74b9cbbf2ac9a7169c85a3714ec16c51ee9ec7cfd511549527e9a7df720795",
-        strip_prefix = "protobuf-codegen-2.8.2",
-        build_file = Label("//proto/raze/remote:BUILD.protobuf-codegen-2.8.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__redox_syscall__0_1_56",
-        url = "https://crates.io/api/v1/crates/redox_syscall/0.1.56/download",
-        type = "tar.gz",
-        sha256 = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84",
-        strip_prefix = "redox_syscall-0.1.56",
-        build_file = Label("//proto/raze/remote:BUILD.redox_syscall-0.1.56.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__rustc_version__0_2_3",
-        url = "https://crates.io/api/v1/crates/rustc_version/0.2.3/download",
-        type = "tar.gz",
-        sha256 = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a",
-        strip_prefix = "rustc_version-0.2.3",
-        build_file = Label("//proto/raze/remote:BUILD.rustc_version-0.2.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__safemem__0_3_3",
-        url = "https://crates.io/api/v1/crates/safemem/0.3.3/download",
-        type = "tar.gz",
-        sha256 = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072",
-        strip_prefix = "safemem-0.3.3",
-        build_file = Label("//proto/raze/remote:BUILD.safemem-0.3.3.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__scoped_tls__0_1_2",
-        url = "https://crates.io/api/v1/crates/scoped-tls/0.1.2/download",
-        type = "tar.gz",
-        sha256 = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28",
-        strip_prefix = "scoped-tls-0.1.2",
-        build_file = Label("//proto/raze/remote:BUILD.scoped-tls-0.1.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__scopeguard__1_1_0",
-        url = "https://crates.io/api/v1/crates/scopeguard/1.1.0/download",
-        type = "tar.gz",
-        sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
-        strip_prefix = "scopeguard-1.1.0",
-        build_file = Label("//proto/raze/remote:BUILD.scopeguard-1.1.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__semver__0_9_0",
-        url = "https://crates.io/api/v1/crates/semver/0.9.0/download",
-        type = "tar.gz",
-        sha256 = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403",
-        strip_prefix = "semver-0.9.0",
-        build_file = Label("//proto/raze/remote:BUILD.semver-0.9.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__semver_parser__0_7_0",
-        url = "https://crates.io/api/v1/crates/semver-parser/0.7.0/download",
-        type = "tar.gz",
-        sha256 = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3",
-        strip_prefix = "semver-parser-0.7.0",
-        build_file = Label("//proto/raze/remote:BUILD.semver-parser-0.7.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__slab__0_3_0",
-        url = "https://crates.io/api/v1/crates/slab/0.3.0/download",
-        type = "tar.gz",
-        sha256 = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23",
-        strip_prefix = "slab-0.3.0",
-        build_file = Label("//proto/raze/remote:BUILD.slab-0.3.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__slab__0_4_2",
-        url = "https://crates.io/api/v1/crates/slab/0.4.2/download",
-        type = "tar.gz",
-        sha256 = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8",
-        strip_prefix = "slab-0.4.2",
-        build_file = Label("//proto/raze/remote:BUILD.slab-0.4.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__smallvec__0_6_13",
-        url = "https://crates.io/api/v1/crates/smallvec/0.6.13/download",
-        type = "tar.gz",
-        sha256 = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6",
-        strip_prefix = "smallvec-0.6.13",
-        build_file = Label("//proto/raze/remote:BUILD.smallvec-0.6.13.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tls_api__0_1_22",
-        url = "https://crates.io/api/v1/crates/tls-api/0.1.22/download",
-        type = "tar.gz",
-        sha256 = "049c03787a0595182357fbd487577947f4351b78ce20c3668f6d49f17feb13d1",
-        strip_prefix = "tls-api-0.1.22",
-        build_file = Label("//proto/raze/remote:BUILD.tls-api-0.1.22.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tls_api_stub__0_1_22",
-        url = "https://crates.io/api/v1/crates/tls-api-stub/0.1.22/download",
-        type = "tar.gz",
-        sha256 = "c9a0cc8c149724db9de7d73a0e1bc80b1a74f5394f08c6f301e11f9c35fa061e",
-        strip_prefix = "tls-api-stub-0.1.22",
-        build_file = Label("//proto/raze/remote:BUILD.tls-api-stub-0.1.22.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio__0_1_22",
-        url = "https://crates.io/api/v1/crates/tokio/0.1.22/download",
-        type = "tar.gz",
-        sha256 = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6",
-        strip_prefix = "tokio-0.1.22",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-0.1.22.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_codec__0_1_2",
-        url = "https://crates.io/api/v1/crates/tokio-codec/0.1.2/download",
-        type = "tar.gz",
-        sha256 = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b",
-        strip_prefix = "tokio-codec-0.1.2",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-codec-0.1.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_core__0_1_17",
-        url = "https://crates.io/api/v1/crates/tokio-core/0.1.17/download",
-        type = "tar.gz",
-        sha256 = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71",
-        strip_prefix = "tokio-core-0.1.17",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-core-0.1.17.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_current_thread__0_1_7",
-        url = "https://crates.io/api/v1/crates/tokio-current-thread/0.1.7/download",
-        type = "tar.gz",
-        sha256 = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e",
-        strip_prefix = "tokio-current-thread-0.1.7",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-current-thread-0.1.7.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_executor__0_1_10",
-        url = "https://crates.io/api/v1/crates/tokio-executor/0.1.10/download",
-        type = "tar.gz",
-        sha256 = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671",
-        strip_prefix = "tokio-executor-0.1.10",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-executor-0.1.10.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_fs__0_1_7",
-        url = "https://crates.io/api/v1/crates/tokio-fs/0.1.7/download",
-        type = "tar.gz",
-        sha256 = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4",
-        strip_prefix = "tokio-fs-0.1.7",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-fs-0.1.7.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_io__0_1_13",
-        url = "https://crates.io/api/v1/crates/tokio-io/0.1.13/download",
-        type = "tar.gz",
-        sha256 = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674",
-        strip_prefix = "tokio-io-0.1.13",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-io-0.1.13.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_reactor__0_1_12",
-        url = "https://crates.io/api/v1/crates/tokio-reactor/0.1.12/download",
-        type = "tar.gz",
-        sha256 = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351",
-        strip_prefix = "tokio-reactor-0.1.12",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-reactor-0.1.12.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_sync__0_1_8",
-        url = "https://crates.io/api/v1/crates/tokio-sync/0.1.8/download",
-        type = "tar.gz",
-        sha256 = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee",
-        strip_prefix = "tokio-sync-0.1.8",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-sync-0.1.8.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_tcp__0_1_4",
-        url = "https://crates.io/api/v1/crates/tokio-tcp/0.1.4/download",
-        type = "tar.gz",
-        sha256 = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72",
-        strip_prefix = "tokio-tcp-0.1.4",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-tcp-0.1.4.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_threadpool__0_1_18",
-        url = "https://crates.io/api/v1/crates/tokio-threadpool/0.1.18/download",
-        type = "tar.gz",
-        sha256 = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89",
-        strip_prefix = "tokio-threadpool-0.1.18",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-threadpool-0.1.18.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_timer__0_1_2",
-        url = "https://crates.io/api/v1/crates/tokio-timer/0.1.2/download",
-        type = "tar.gz",
-        sha256 = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc",
-        strip_prefix = "tokio-timer-0.1.2",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-timer-0.1.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_timer__0_2_13",
-        url = "https://crates.io/api/v1/crates/tokio-timer/0.2.13/download",
-        type = "tar.gz",
-        sha256 = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296",
-        strip_prefix = "tokio-timer-0.2.13",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-timer-0.2.13.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_tls_api__0_1_22",
-        url = "https://crates.io/api/v1/crates/tokio-tls-api/0.1.22/download",
-        type = "tar.gz",
-        sha256 = "68d0e040d5b1f4cfca70ec4f371229886a5de5bb554d272a4a8da73004a7b2c9",
-        strip_prefix = "tokio-tls-api-0.1.22",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-tls-api-0.1.22.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_udp__0_1_6",
-        url = "https://crates.io/api/v1/crates/tokio-udp/0.1.6/download",
-        type = "tar.gz",
-        sha256 = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82",
-        strip_prefix = "tokio-udp-0.1.6",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-udp-0.1.6.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_uds__0_1_7",
-        url = "https://crates.io/api/v1/crates/tokio-uds/0.1.7/download",
-        type = "tar.gz",
-        sha256 = "65ae5d255ce739e8537221ed2942e0445f4b3b813daebac1c0050ddaaa3587f9",
-        strip_prefix = "tokio-uds-0.1.7",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-uds-0.1.7.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__tokio_uds__0_2_6",
-        url = "https://crates.io/api/v1/crates/tokio-uds/0.2.6/download",
-        type = "tar.gz",
-        sha256 = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798",
-        strip_prefix = "tokio-uds-0.2.6",
-        build_file = Label("//proto/raze/remote:BUILD.tokio-uds-0.2.6.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__unix_socket__0_5_0",
-        url = "https://crates.io/api/v1/crates/unix_socket/0.5.0/download",
-        type = "tar.gz",
-        sha256 = "6aa2700417c405c38f5e6902d699345241c28c0b7ade4abaad71e35a87eb1564",
-        strip_prefix = "unix_socket-0.5.0",
-        build_file = Label("//proto/raze/remote:BUILD.unix_socket-0.5.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__void__1_0_2",
-        url = "https://crates.io/api/v1/crates/void/1.0.2/download",
-        type = "tar.gz",
-        sha256 = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d",
-        strip_prefix = "void-1.0.2",
-        build_file = Label("//proto/raze/remote:BUILD.void-1.0.2.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__winapi__0_2_8",
-        url = "https://crates.io/api/v1/crates/winapi/0.2.8/download",
-        type = "tar.gz",
-        sha256 = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a",
-        strip_prefix = "winapi-0.2.8",
-        build_file = Label("//proto/raze/remote:BUILD.winapi-0.2.8.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__winapi__0_3_8",
-        url = "https://crates.io/api/v1/crates/winapi/0.3.8/download",
-        type = "tar.gz",
-        sha256 = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6",
-        strip_prefix = "winapi-0.3.8",
-        build_file = Label("//proto/raze/remote:BUILD.winapi-0.3.8.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__winapi_build__0_1_1",
-        url = "https://crates.io/api/v1/crates/winapi-build/0.1.1/download",
-        type = "tar.gz",
-        sha256 = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc",
-        strip_prefix = "winapi-build-0.1.1",
-        build_file = Label("//proto/raze/remote:BUILD.winapi-build-0.1.1.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__winapi_i686_pc_windows_gnu__0_4_0",
-        url = "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download",
-        type = "tar.gz",
-        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
-        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
-        build_file = Label("//proto/raze/remote:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__winapi_x86_64_pc_windows_gnu__0_4_0",
-        url = "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download",
-        type = "tar.gz",
-        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
-        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
-        build_file = Label("//proto/raze/remote:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
-    )
-
-    maybe(
-        http_archive,
-        name = "rules_rust_proto__ws2_32_sys__0_2_1",
-        url = "https://crates.io/api/v1/crates/ws2_32-sys/0.2.1/download",
-        type = "tar.gz",
-        sha256 = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e",
-        strip_prefix = "ws2_32-sys-0.2.1",
-        build_file = Label("//proto/raze/remote:BUILD.ws2_32-sys-0.2.1.bazel"),
-    )
diff --git a/proto/raze/patch/BUILD.bazel b/proto/raze/patch/BUILD.bazel
deleted file mode 100644
index 547d104..0000000
--- a/proto/raze/patch/BUILD.bazel
+++ /dev/null
@@ -1,19 +0,0 @@
-package(default_visibility = ["//proto/raze:__subpackages__"])
-
-filegroup(
-    name = "patches",
-    srcs = [
-        "protobuf-2.8.2.patch",
-    ],
-)
-
-filegroup(
-    name = "distro",
-    srcs = [
-        "BUILD.bazel",
-        "README.md",
-    ] + glob([
-        "*.patch",
-    ]),
-    visibility = ["//proto:__subpackages__"],
-)
diff --git a/proto/raze/remote/BUILD.autocfg-1.0.0.bazel b/proto/raze/remote/BUILD.autocfg-1.0.0.bazel
deleted file mode 100644
index 81f5a99..0000000
--- a/proto/raze/remote/BUILD.autocfg-1.0.0.bazel
+++ /dev/null
@@ -1,64 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "integers" with type "example" omitted
-
-# Unsupported target "paths" with type "example" omitted
-
-# Unsupported target "traits" with type "example" omitted
-
-# Unsupported target "versions" with type "example" omitted
-
-rust_library(
-    name = "autocfg",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=autocfg",
-        "manual",
-    ],
-    version = "1.0.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "rustflags" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.base64-0.9.3.bazel b/proto/raze/remote/BUILD.base64-0.9.3.bazel
deleted file mode 100644
index 153754c..0000000
--- a/proto/raze/remote/BUILD.base64-0.9.3.bazel
+++ /dev/null
@@ -1,68 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "benchmarks" with type "bench" omitted
-
-# Unsupported target "make_tables" with type "example" omitted
-
-rust_library(
-    name = "base64",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=base64",
-        "manual",
-    ],
-    version = "0.9.3",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__byteorder__1_3_4//:byteorder",
-        "@rules_rust_proto__safemem__0_3_3//:safemem",
-    ],
-)
-
-# Unsupported target "decode" with type "test" omitted
-
-# Unsupported target "encode" with type "test" omitted
-
-# Unsupported target "helpers" with type "test" omitted
-
-# Unsupported target "tests" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.bazel b/proto/raze/remote/BUILD.bazel
deleted file mode 100644
index b49fb68..0000000
--- a/proto/raze/remote/BUILD.bazel
+++ /dev/null
@@ -1,17 +0,0 @@
-# Export file for Stardoc support
-exports_files(
-    glob([
-        "**/*.bazel",
-        "**/*.bzl",
-    ]),
-    visibility = ["//visibility:public"],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = glob([
-        "**/*.bazel",
-        "**/*.bzl",
-    ]),
-    visibility = ["//visibility:public"],
-)
diff --git a/proto/raze/remote/BUILD.bitflags-1.2.1.bazel b/proto/raze/remote/BUILD.bitflags-1.2.1.bazel
deleted file mode 100644
index d66eec6..0000000
--- a/proto/raze/remote/BUILD.bitflags-1.2.1.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "bitflags",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=bitflags",
-        "manual",
-    ],
-    version = "1.2.1",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.byteorder-1.3.4.bazel b/proto/raze/remote/BUILD.byteorder-1.3.4.bazel
deleted file mode 100644
index 6355af9..0000000
--- a/proto/raze/remote/BUILD.byteorder-1.3.4.bazel
+++ /dev/null
@@ -1,60 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "unencumbered",  # Unlicense from expression "Unlicense OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "bench" with type "bench" omitted
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "byteorder",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=byteorder",
-        "manual",
-    ],
-    version = "1.3.4",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.bytes-0.4.12.bazel b/proto/raze/remote/BUILD.bytes-0.4.12.bazel
deleted file mode 100644
index b396872..0000000
--- a/proto/raze/remote/BUILD.bytes-0.4.12.bazel
+++ /dev/null
@@ -1,78 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "bytes" with type "bench" omitted
-
-rust_library(
-    name = "bytes",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=bytes",
-        "manual",
-    ],
-    version = "0.4.12",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__byteorder__1_3_4//:byteorder",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-    ],
-)
-
-# Unsupported target "test_buf" with type "test" omitted
-
-# Unsupported target "test_buf_mut" with type "test" omitted
-
-# Unsupported target "test_bytes" with type "test" omitted
-
-# Unsupported target "test_chain" with type "test" omitted
-
-# Unsupported target "test_debug" with type "test" omitted
-
-# Unsupported target "test_from_buf" with type "test" omitted
-
-# Unsupported target "test_iter" with type "test" omitted
-
-# Unsupported target "test_reader" with type "test" omitted
-
-# Unsupported target "test_serde" with type "test" omitted
-
-# Unsupported target "test_take" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.cfg-if-0.1.10.bazel b/proto/raze/remote/BUILD.cfg-if-0.1.10.bazel
deleted file mode 100644
index d715292..0000000
--- a/proto/raze/remote/BUILD.cfg-if-0.1.10.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "cfg_if",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=cfg-if",
-        "manual",
-    ],
-    version = "0.1.10",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "xcrate" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.cloudabi-0.0.3.bazel b/proto/raze/remote/BUILD.cloudabi-0.0.3.bazel
deleted file mode 100644
index 72f3ad7..0000000
--- a/proto/raze/remote/BUILD.cloudabi-0.0.3.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "restricted",  # BSD-2-Clause from expression "BSD-2-Clause"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "cloudabi",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "bitflags",
-        "default",
-    ],
-    crate_root = "cloudabi.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=cloudabi",
-        "manual",
-    ],
-    version = "0.0.3",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bitflags__1_2_1//:bitflags",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.crossbeam-deque-0.7.3.bazel b/proto/raze/remote/BUILD.crossbeam-deque-0.7.3.bazel
deleted file mode 100644
index e04c7d6..0000000
--- a/proto/raze/remote/BUILD.crossbeam-deque-0.7.3.bazel
+++ /dev/null
@@ -1,65 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "crossbeam_deque",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=crossbeam-deque",
-        "manual",
-    ],
-    version = "0.7.3",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__crossbeam_epoch__0_8_2//:crossbeam_epoch",
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__maybe_uninit__2_0_0//:maybe_uninit",
-    ],
-)
-
-# Unsupported target "fifo" with type "test" omitted
-
-# Unsupported target "injector" with type "test" omitted
-
-# Unsupported target "lifo" with type "test" omitted
-
-# Unsupported target "steal" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.crossbeam-epoch-0.8.2.bazel b/proto/raze/remote/BUILD.crossbeam-epoch-0.8.2.bazel
deleted file mode 100644
index 4d3dd1e..0000000
--- a/proto/raze/remote/BUILD.crossbeam-epoch-0.8.2.bazel
+++ /dev/null
@@ -1,75 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "defer" with type "bench" omitted
-
-# Unsupported target "flush" with type "bench" omitted
-
-# Unsupported target "pin" with type "bench" omitted
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-# Unsupported target "sanitize" with type "example" omitted
-
-# Unsupported target "treiber_stack" with type "example" omitted
-
-rust_library(
-    name = "crossbeam_epoch",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "lazy_static",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=crossbeam-epoch",
-        "manual",
-    ],
-    version = "0.8.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__lazy_static__1_4_0//:lazy_static",
-        "@rules_rust_proto__maybe_uninit__2_0_0//:maybe_uninit",
-        "@rules_rust_proto__memoffset__0_5_4//:memoffset",
-        "@rules_rust_proto__scopeguard__1_1_0//:scopeguard",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.crossbeam-queue-0.2.1.bazel b/proto/raze/remote/BUILD.crossbeam-queue-0.2.1.bazel
deleted file mode 100644
index ba6e779..0000000
--- a/proto/raze/remote/BUILD.crossbeam-queue-0.2.1.bazel
+++ /dev/null
@@ -1,62 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR (Apache-2.0 AND BSD-2-Clause)"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "crossbeam_queue",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=crossbeam-queue",
-        "manual",
-    ],
-    version = "0.2.1",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-    ],
-)
-
-# Unsupported target "array_queue" with type "test" omitted
-
-# Unsupported target "seg_queue" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.crossbeam-utils-0.7.2.bazel b/proto/raze/remote/BUILD.crossbeam-utils-0.7.2.bazel
deleted file mode 100644
index bbde1b8..0000000
--- a/proto/raze/remote/BUILD.crossbeam-utils-0.7.2.bazel
+++ /dev/null
@@ -1,75 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "atomic_cell" with type "bench" omitted
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "crossbeam_utils",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "lazy_static",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=crossbeam-utils",
-        "manual",
-    ],
-    version = "0.7.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__lazy_static__1_4_0//:lazy_static",
-    ],
-)
-
-# Unsupported target "atomic_cell" with type "test" omitted
-
-# Unsupported target "cache_padded" with type "test" omitted
-
-# Unsupported target "parker" with type "test" omitted
-
-# Unsupported target "sharded_lock" with type "test" omitted
-
-# Unsupported target "thread" with type "test" omitted
-
-# Unsupported target "wait_group" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.fnv-1.0.6.bazel b/proto/raze/remote/BUILD.fnv-1.0.6.bazel
deleted file mode 100644
index c3651dc..0000000
--- a/proto/raze/remote/BUILD.fnv-1.0.6.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "fnv",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=fnv",
-        "manual",
-    ],
-    version = "1.0.6",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.fuchsia-zircon-0.3.3.bazel b/proto/raze/remote/BUILD.fuchsia-zircon-0.3.3.bazel
deleted file mode 100644
index 6107ce1..0000000
--- a/proto/raze/remote/BUILD.fuchsia-zircon-0.3.3.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # BSD-3-Clause from expression "BSD-3-Clause"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "fuchsia_zircon",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=fuchsia-zircon",
-        "manual",
-    ],
-    version = "0.3.3",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bitflags__1_2_1//:bitflags",
-        "@rules_rust_proto__fuchsia_zircon_sys__0_3_3//:fuchsia_zircon_sys",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.fuchsia-zircon-sys-0.3.3.bazel b/proto/raze/remote/BUILD.fuchsia-zircon-sys-0.3.3.bazel
deleted file mode 100644
index 834ea8b..0000000
--- a/proto/raze/remote/BUILD.fuchsia-zircon-sys-0.3.3.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # BSD-3-Clause from expression "BSD-3-Clause"
-])
-
-# Generated Targets
-
-# Unsupported target "hello" with type "example" omitted
-
-rust_library(
-    name = "fuchsia_zircon_sys",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=fuchsia-zircon-sys",
-        "manual",
-    ],
-    version = "0.3.3",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.futures-0.1.29.bazel b/proto/raze/remote/BUILD.futures-0.1.29.bazel
deleted file mode 100644
index 9f38be3..0000000
--- a/proto/raze/remote/BUILD.futures-0.1.29.bazel
+++ /dev/null
@@ -1,119 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "bilock" with type "bench" omitted
-
-# Unsupported target "futures_unordered" with type "bench" omitted
-
-# Unsupported target "poll" with type "bench" omitted
-
-# Unsupported target "sync_mpsc" with type "bench" omitted
-
-# Unsupported target "thread_notify" with type "bench" omitted
-
-rust_library(
-    name = "futures",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "use_std",
-        "with-deprecated",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=futures",
-        "manual",
-    ],
-    version = "0.1.29",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "all" with type "test" omitted
-
-# Unsupported target "bilock" with type "test" omitted
-
-# Unsupported target "buffer_unordered" with type "test" omitted
-
-# Unsupported target "channel" with type "test" omitted
-
-# Unsupported target "eager_drop" with type "test" omitted
-
-# Unsupported target "eventual" with type "test" omitted
-
-# Unsupported target "fuse" with type "test" omitted
-
-# Unsupported target "future_flatten_stream" with type "test" omitted
-
-# Unsupported target "futures_ordered" with type "test" omitted
-
-# Unsupported target "futures_unordered" with type "test" omitted
-
-# Unsupported target "inspect" with type "test" omitted
-
-# Unsupported target "mpsc" with type "test" omitted
-
-# Unsupported target "mpsc-close" with type "test" omitted
-
-# Unsupported target "oneshot" with type "test" omitted
-
-# Unsupported target "ready_queue" with type "test" omitted
-
-# Unsupported target "recurse" with type "test" omitted
-
-# Unsupported target "select_all" with type "test" omitted
-
-# Unsupported target "select_ok" with type "test" omitted
-
-# Unsupported target "shared" with type "test" omitted
-
-# Unsupported target "sink" with type "test" omitted
-
-# Unsupported target "split" with type "test" omitted
-
-# Unsupported target "stream" with type "test" omitted
-
-# Unsupported target "stream_catch_unwind" with type "test" omitted
-
-# Unsupported target "unfold" with type "test" omitted
-
-# Unsupported target "unsync" with type "test" omitted
-
-# Unsupported target "unsync-oneshot" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.futures-cpupool-0.1.8.bazel b/proto/raze/remote/BUILD.futures-cpupool-0.1.8.bazel
deleted file mode 100644
index adffc2f..0000000
--- a/proto/raze/remote/BUILD.futures-cpupool-0.1.8.bazel
+++ /dev/null
@@ -1,60 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "futures_cpupool",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "with-deprecated",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=futures-cpupool",
-        "manual",
-    ],
-    version = "0.1.8",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__num_cpus__1_13_0//:num_cpus",
-    ],
-)
-
-# Unsupported target "smoke" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.grpc-0.6.2.bazel b/proto/raze/remote/BUILD.grpc-0.6.2.bazel
deleted file mode 100644
index f440d66..0000000
--- a/proto/raze/remote/BUILD.grpc-0.6.2.bazel
+++ /dev/null
@@ -1,72 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "grpc",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=grpc",
-        "manual",
-    ],
-    version = "0.6.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__base64__0_9_3//:base64",
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__futures_cpupool__0_1_8//:futures_cpupool",
-        "@rules_rust_proto__httpbis__0_7_0//:httpbis",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-        "@rules_rust_proto__tls_api__0_1_22//:tls_api",
-        "@rules_rust_proto__tls_api_stub__0_1_22//:tls_api_stub",
-        "@rules_rust_proto__tokio_core__0_1_17//:tokio_core",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_tls_api__0_1_22//:tokio_tls_api",
-    ],
-)
-
-# Unsupported target "client" with type "test" omitted
-
-# Unsupported target "server" with type "test" omitted
-
-# Unsupported target "simple" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.grpc-compiler-0.6.2.bazel b/proto/raze/remote/BUILD.grpc-compiler-0.6.2.bazel
deleted file mode 100644
index 81d7e7f..0000000
--- a/proto/raze/remote/BUILD.grpc-compiler-0.6.2.bazel
+++ /dev/null
@@ -1,83 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_binary(
-    # Prefix bin name to disambiguate from (probable) collision with lib name
-    # N.B.: The exact form of this is subject to change.
-    name = "cargo_bin_protoc_gen_rust_grpc",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/bin/protoc-gen-rust-grpc.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=protoc-gen-rust-grpc",
-        "manual",
-    ],
-    version = "0.6.2",
-    # buildifier: leave-alone
-    deps = [
-        ":grpc_compiler",
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-        "@rules_rust_proto__protobuf_codegen__2_8_2//:protobuf_codegen",
-    ],
-)
-
-rust_library(
-    name = "grpc_compiler",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=grpc-compiler",
-        "manual",
-    ],
-    version = "0.6.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-        "@rules_rust_proto__protobuf_codegen__2_8_2//:protobuf_codegen",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.hermit-abi-0.1.11.bazel b/proto/raze/remote/BUILD.hermit-abi-0.1.11.bazel
deleted file mode 100644
index 8585a8f..0000000
--- a/proto/raze/remote/BUILD.hermit-abi-0.1.11.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "hermit_abi",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=hermit-abi",
-        "manual",
-    ],
-    version = "0.1.11",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__libc__0_2_69//:libc",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.httpbis-0.7.0.bazel b/proto/raze/remote/BUILD.httpbis-0.7.0.bazel
deleted file mode 100644
index 39b0052..0000000
--- a/proto/raze/remote/BUILD.httpbis-0.7.0.bazel
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "client_server" with type "bench" omitted
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-# Unsupported target "client" with type "example" omitted
-
-# Unsupported target "server" with type "example" omitted
-
-rust_library(
-    name = "httpbis",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=httpbis",
-        "manual",
-    ],
-    version = "0.7.0",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__futures_cpupool__0_1_8//:futures_cpupool",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__net2__0_2_33//:net2",
-        "@rules_rust_proto__tls_api__0_1_22//:tls_api",
-        "@rules_rust_proto__tls_api_stub__0_1_22//:tls_api_stub",
-        "@rules_rust_proto__tokio_core__0_1_17//:tokio_core",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_timer__0_1_2//:tokio_timer",
-        "@rules_rust_proto__tokio_tls_api__0_1_22//:tokio_tls_api",
-        "@rules_rust_proto__void__1_0_2//:void",
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__tokio_uds__0_1_7//:tokio_uds",
-            "@rules_rust_proto__unix_socket__0_5_0//:unix_socket",
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/proto/raze/remote/BUILD.iovec-0.1.4.bazel b/proto/raze/remote/BUILD.iovec-0.1.4.bazel
deleted file mode 100644
index 3f47ec0..0000000
--- a/proto/raze/remote/BUILD.iovec-0.1.4.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "iovec",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=iovec",
-        "manual",
-    ],
-    version = "0.1.4",
-    # buildifier: leave-alone
-    deps = [
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__libc__0_2_69//:libc",
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/proto/raze/remote/BUILD.kernel32-sys-0.2.2.bazel b/proto/raze/remote/BUILD.kernel32-sys-0.2.2.bazel
deleted file mode 100644
index 9c97df9..0000000
--- a/proto/raze/remote/BUILD.kernel32-sys-0.2.2.bazel
+++ /dev/null
@@ -1,66 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-alias(
-    name = "kernel32_sys",
-    actual = ":kernel32",
-    tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-rust_library(
-    name = "kernel32",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=kernel32",
-        "manual",
-    ],
-    version = "0.2.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__winapi__0_2_8//:winapi",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.lazy_static-1.4.0.bazel b/proto/raze/remote/BUILD.lazy_static-1.4.0.bazel
deleted file mode 100644
index 8ca830a..0000000
--- a/proto/raze/remote/BUILD.lazy_static-1.4.0.bazel
+++ /dev/null
@@ -1,59 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "lazy_static",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-        "--cfg=lazy_static_heap_impl",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=lazy_static",
-        "manual",
-    ],
-    version = "1.4.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "no_std" with type "test" omitted
-
-# Unsupported target "test" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.libc-0.2.69.bazel b/proto/raze/remote/BUILD.libc-0.2.69.bazel
deleted file mode 100644
index be5843a..0000000
--- a/proto/raze/remote/BUILD.libc-0.2.69.bazel
+++ /dev/null
@@ -1,60 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "libc",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=libc",
-        "manual",
-    ],
-    version = "0.2.69",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "const_fn" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.lock_api-0.3.4.bazel b/proto/raze/remote/BUILD.lock_api-0.3.4.bazel
deleted file mode 100644
index 92c3521..0000000
--- a/proto/raze/remote/BUILD.lock_api-0.3.4.bazel
+++ /dev/null
@@ -1,55 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "lock_api",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=lock_api",
-        "manual",
-    ],
-    version = "0.3.4",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__scopeguard__1_1_0//:scopeguard",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.log-0.3.9.bazel b/proto/raze/remote/BUILD.log-0.3.9.bazel
deleted file mode 100644
index c50efa7..0000000
--- a/proto/raze/remote/BUILD.log-0.3.9.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "log",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "use_std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=log",
-        "manual",
-    ],
-    version = "0.3.9",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__log__0_4_6//:log",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.log-0.4.6.bazel b/proto/raze/remote/BUILD.log-0.4.6.bazel
deleted file mode 100644
index 0105df1..0000000
--- a/proto/raze/remote/BUILD.log-0.4.6.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "log",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=log",
-        "manual",
-    ],
-    version = "0.4.6",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-    ],
-)
-
-# Unsupported target "filters" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.maybe-uninit-2.0.0.bazel b/proto/raze/remote/BUILD.maybe-uninit-2.0.0.bazel
deleted file mode 100644
index d10bb6a..0000000
--- a/proto/raze/remote/BUILD.maybe-uninit-2.0.0.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "maybe_uninit",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=maybe-uninit",
-        "manual",
-    ],
-    version = "2.0.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "doesnt_drop" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.memoffset-0.5.4.bazel b/proto/raze/remote/BUILD.memoffset-0.5.4.bazel
deleted file mode 100644
index 82f4a1e..0000000
--- a/proto/raze/remote/BUILD.memoffset-0.5.4.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "memoffset",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=memoffset",
-        "manual",
-    ],
-    version = "0.5.4",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.mio-0.6.21.bazel b/proto/raze/remote/BUILD.mio-0.6.21.bazel
deleted file mode 100644
index 1279eb2..0000000
--- a/proto/raze/remote/BUILD.mio-0.6.21.bazel
+++ /dev/null
@@ -1,101 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "bench_poll" with type "bench" omitted
-
-rust_library(
-    name = "mio",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-        "default",
-        "with-deprecated",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=mio",
-        "manual",
-    ],
-    version = "0.6.21",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__net2__0_2_33//:net2",
-        "@rules_rust_proto__slab__0_4_2//:slab",
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__libc__0_2_69//:libc",
-        ],
-        "//conditions:default": [],
-    }) + selects.with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            "@rules_rust_proto__kernel32_sys__0_2_2//:kernel32_sys",
-            "@rules_rust_proto__miow__0_2_1//:miow",
-            "@rules_rust_proto__winapi__0_2_8//:winapi",
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-# Unsupported target "test" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.mio-uds-0.6.7.bazel b/proto/raze/remote/BUILD.mio-uds-0.6.7.bazel
deleted file mode 100644
index 42b9b0b..0000000
--- a/proto/raze/remote/BUILD.mio-uds-0.6.7.bazel
+++ /dev/null
@@ -1,85 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "mio_uds",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=mio-uds",
-        "manual",
-    ],
-    version = "0.6.7",
-    # buildifier: leave-alone
-    deps = [
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__iovec__0_1_4//:iovec",
-            "@rules_rust_proto__libc__0_2_69//:libc",
-            "@rules_rust_proto__mio__0_6_21//:mio",
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-# Unsupported target "echo" with type "test" omitted
-
-# Unsupported target "smoke" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.miow-0.2.1.bazel b/proto/raze/remote/BUILD.miow-0.2.1.bazel
deleted file mode 100644
index e29645e..0000000
--- a/proto/raze/remote/BUILD.miow-0.2.1.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "miow",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=miow",
-        "manual",
-    ],
-    version = "0.2.1",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__kernel32_sys__0_2_2//:kernel32_sys",
-        "@rules_rust_proto__net2__0_2_33//:net2",
-        "@rules_rust_proto__winapi__0_2_8//:winapi",
-        "@rules_rust_proto__ws2_32_sys__0_2_1//:ws2_32_sys",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.net2-0.2.33.bazel b/proto/raze/remote/BUILD.net2-0.2.33.bazel
deleted file mode 100644
index fda0b63..0000000
--- a/proto/raze/remote/BUILD.net2-0.2.33.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "net2",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-        "default",
-        "duration",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=net2",
-        "manual",
-    ],
-    version = "0.2.33",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-    ] + selects.with_or({
-        # cfg(any(target_os = "redox", unix))
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__libc__0_2_69//:libc",
-        ],
-        "//conditions:default": [],
-    }) + selects.with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            "@rules_rust_proto__winapi__0_3_8//:winapi",
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-# Unsupported target "all" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.num_cpus-1.13.0.bazel b/proto/raze/remote/BUILD.num_cpus-1.13.0.bazel
deleted file mode 100644
index 87f9029..0000000
--- a/proto/raze/remote/BUILD.num_cpus-1.13.0.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "values" with type "example" omitted
-
-rust_library(
-    name = "num_cpus",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=num_cpus",
-        "manual",
-    ],
-    version = "1.13.0",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__libc__0_2_69//:libc",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.parking_lot-0.9.0.bazel b/proto/raze/remote/BUILD.parking_lot-0.9.0.bazel
deleted file mode 100644
index de0873a..0000000
--- a/proto/raze/remote/BUILD.parking_lot-0.9.0.bazel
+++ /dev/null
@@ -1,59 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "parking_lot",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=parking_lot",
-        "manual",
-    ],
-    version = "0.9.0",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__lock_api__0_3_4//:lock_api",
-        "@rules_rust_proto__parking_lot_core__0_6_2//:parking_lot_core",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.parking_lot_core-0.6.2.bazel b/proto/raze/remote/BUILD.parking_lot_core-0.6.2.bazel
deleted file mode 100644
index 71c073e..0000000
--- a/proto/raze/remote/BUILD.parking_lot_core-0.6.2.bazel
+++ /dev/null
@@ -1,92 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "parking_lot_core",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2018",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=parking_lot_core",
-        "manual",
-    ],
-    version = "0.6.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__smallvec__0_6_13//:smallvec",
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__libc__0_2_69//:libc",
-        ],
-        "//conditions:default": [],
-    }) + selects.with_or({
-        # cfg(windows)
-        (
-            "@rules_rust//rust/platform:i686-pc-windows-msvc",
-            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
-        ): [
-            "@rules_rust_proto__winapi__0_3_8//:winapi",
-        ],
-        "//conditions:default": [],
-    }),
-)
diff --git a/proto/raze/remote/BUILD.protobuf-2.8.2.bazel b/proto/raze/remote/BUILD.protobuf-2.8.2.bazel
deleted file mode 100644
index a986e91..0000000
--- a/proto/raze/remote/BUILD.protobuf-2.8.2.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "coded_input_stream" with type "bench" omitted
-
-# Unsupported target "coded_output_stream" with type "bench" omitted
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "protobuf",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "bytes",
-        "with-bytes",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=protobuf",
-        "manual",
-    ],
-    version = "2.8.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.protobuf-codegen-2.8.2.bazel b/proto/raze/remote/BUILD.protobuf-codegen-2.8.2.bazel
deleted file mode 100644
index a087c02..0000000
--- a/proto/raze/remote/BUILD.protobuf-codegen-2.8.2.bazel
+++ /dev/null
@@ -1,107 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_binary(
-    # Prefix bin name to disambiguate from (probable) collision with lib name
-    # N.B.: The exact form of this is subject to change.
-    name = "cargo_bin_protobuf_bin_gen_rust_do_not_use",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/bin/protobuf-bin-gen-rust-do-not-use.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=protobuf-bin-gen-rust-do-not-use",
-        "manual",
-    ],
-    version = "2.8.2",
-    # buildifier: leave-alone
-    deps = [
-        ":protobuf_codegen",
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-    ],
-)
-
-rust_binary(
-    # Prefix bin name to disambiguate from (probable) collision with lib name
-    # N.B.: The exact form of this is subject to change.
-    name = "cargo_bin_protoc_gen_rust",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/bin/protoc-gen-rust.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=protoc-gen-rust",
-        "manual",
-    ],
-    version = "2.8.2",
-    # buildifier: leave-alone
-    deps = [
-        ":protobuf_codegen",
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-    ],
-)
-
-rust_library(
-    name = "protobuf_codegen",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=protobuf-codegen",
-        "manual",
-    ],
-    version = "2.8.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__protobuf__2_8_2//:protobuf",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.redox_syscall-0.1.56.bazel b/proto/raze/remote/BUILD.redox_syscall-0.1.56.bazel
deleted file mode 100644
index 4e8046d..0000000
--- a/proto/raze/remote/BUILD.redox_syscall-0.1.56.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-alias(
-    name = "redox_syscall",
-    actual = ":syscall",
-    tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-rust_library(
-    name = "syscall",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=syscall",
-        "manual",
-    ],
-    version = "0.1.56",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.rustc_version-0.2.3.bazel b/proto/raze/remote/BUILD.rustc_version-0.2.3.bazel
deleted file mode 100644
index 3ccc829..0000000
--- a/proto/raze/remote/BUILD.rustc_version-0.2.3.bazel
+++ /dev/null
@@ -1,55 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "rustc_version",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=rustc_version",
-        "manual",
-    ],
-    version = "0.2.3",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__semver__0_9_0//:semver",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.safemem-0.3.3.bazel b/proto/raze/remote/BUILD.safemem-0.3.3.bazel
deleted file mode 100644
index c83b554..0000000
--- a/proto/raze/remote/BUILD.safemem-0.3.3.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "safemem",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=safemem",
-        "manual",
-    ],
-    version = "0.3.3",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.scoped-tls-0.1.2.bazel b/proto/raze/remote/BUILD.scoped-tls-0.1.2.bazel
deleted file mode 100644
index a209ba2..0000000
--- a/proto/raze/remote/BUILD.scoped-tls-0.1.2.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "scoped_tls",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=scoped-tls",
-        "manual",
-    ],
-    version = "0.1.2",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.scopeguard-1.1.0.bazel b/proto/raze/remote/BUILD.scopeguard-1.1.0.bazel
deleted file mode 100644
index eda9312..0000000
--- a/proto/raze/remote/BUILD.scopeguard-1.1.0.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "readme" with type "example" omitted
-
-rust_library(
-    name = "scopeguard",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=scopeguard",
-        "manual",
-    ],
-    version = "1.1.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.semver-0.9.0.bazel b/proto/raze/remote/BUILD.semver-0.9.0.bazel
deleted file mode 100644
index c4223cf..0000000
--- a/proto/raze/remote/BUILD.semver-0.9.0.bazel
+++ /dev/null
@@ -1,62 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "semver",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=semver",
-        "manual",
-    ],
-    version = "0.9.0",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__semver_parser__0_7_0//:semver_parser",
-    ],
-)
-
-# Unsupported target "deprecation" with type "test" omitted
-
-# Unsupported target "regression" with type "test" omitted
-
-# Unsupported target "serde" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.semver-parser-0.7.0.bazel b/proto/raze/remote/BUILD.semver-parser-0.7.0.bazel
deleted file mode 100644
index d6c4833..0000000
--- a/proto/raze/remote/BUILD.semver-parser-0.7.0.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "semver_parser",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=semver-parser",
-        "manual",
-    ],
-    version = "0.7.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.slab-0.3.0.bazel b/proto/raze/remote/BUILD.slab-0.3.0.bazel
deleted file mode 100644
index 5cab0ab..0000000
--- a/proto/raze/remote/BUILD.slab-0.3.0.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "slab",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=slab",
-        "manual",
-    ],
-    version = "0.3.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.slab-0.4.2.bazel b/proto/raze/remote/BUILD.slab-0.4.2.bazel
deleted file mode 100644
index 1cfaa93..0000000
--- a/proto/raze/remote/BUILD.slab-0.4.2.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "slab",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=slab",
-        "manual",
-    ],
-    version = "0.4.2",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
-
-# Unsupported target "slab" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.smallvec-0.6.13.bazel b/proto/raze/remote/BUILD.smallvec-0.6.13.bazel
deleted file mode 100644
index 0118109..0000000
--- a/proto/raze/remote/BUILD.smallvec-0.6.13.bazel
+++ /dev/null
@@ -1,59 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "bench" with type "bench" omitted
-
-rust_library(
-    name = "smallvec",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=smallvec",
-        "manual",
-    ],
-    version = "0.6.13",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__maybe_uninit__2_0_0//:maybe_uninit",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.tls-api-0.1.22.bazel b/proto/raze/remote/BUILD.tls-api-0.1.22.bazel
deleted file mode 100644
index 51f3d98..0000000
--- a/proto/raze/remote/BUILD.tls-api-0.1.22.bazel
+++ /dev/null
@@ -1,55 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tls_api",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tls-api",
-        "manual",
-    ],
-    version = "0.1.22",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__log__0_4_6//:log",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.tls-api-stub-0.1.22.bazel b/proto/raze/remote/BUILD.tls-api-stub-0.1.22.bazel
deleted file mode 100644
index 74bc1cf..0000000
--- a/proto/raze/remote/BUILD.tls-api-stub-0.1.22.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tls_api_stub",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tls-api-stub",
-        "manual",
-    ],
-    version = "0.1.22",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__tls_api__0_1_22//:tls_api",
-        "@rules_rust_proto__void__1_0_2//:void",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.tokio-0.1.22.bazel b/proto/raze/remote/BUILD.tokio-0.1.22.bazel
deleted file mode 100644
index e73a299..0000000
--- a/proto/raze/remote/BUILD.tokio-0.1.22.bazel
+++ /dev/null
@@ -1,172 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "blocking" with type "example" omitted
-
-# Unsupported target "chat" with type "example" omitted
-
-# Unsupported target "chat-combinator" with type "example" omitted
-
-# Unsupported target "chat-combinator-current-thread" with type "example" omitted
-
-# Unsupported target "connect" with type "example" omitted
-
-# Unsupported target "echo" with type "example" omitted
-
-# Unsupported target "echo-udp" with type "example" omitted
-
-# Unsupported target "hello_world" with type "example" omitted
-
-# Unsupported target "manual-runtime" with type "example" omitted
-
-# Unsupported target "print_each_packet" with type "example" omitted
-
-# Unsupported target "proxy" with type "example" omitted
-
-# Unsupported target "tinydb" with type "example" omitted
-
-# Unsupported target "tinyhttp" with type "example" omitted
-
-# Unsupported target "udp-client" with type "example" omitted
-
-# Unsupported target "udp-codec" with type "example" omitted
-
-rust_library(
-    name = "tokio",
-    srcs = glob(["**/*.rs"]),
-    aliases = {
-    },
-    crate_features = [
-        "bytes",
-        "codec",
-        "default",
-        "fs",
-        "io",
-        "mio",
-        "num_cpus",
-        "reactor",
-        "rt-full",
-        "sync",
-        "tcp",
-        "timer",
-        "tokio-codec",
-        "tokio-current-thread",
-        "tokio-executor",
-        "tokio-fs",
-        "tokio-io",
-        "tokio-reactor",
-        "tokio-sync",
-        "tokio-tcp",
-        "tokio-threadpool",
-        "tokio-timer",
-        "tokio-udp",
-        "tokio-uds",
-        "udp",
-        "uds",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio",
-        "manual",
-    ],
-    version = "0.1.22",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__num_cpus__1_13_0//:num_cpus",
-        "@rules_rust_proto__tokio_codec__0_1_2//:tokio_codec",
-        "@rules_rust_proto__tokio_current_thread__0_1_7//:tokio_current_thread",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-        "@rules_rust_proto__tokio_fs__0_1_7//:tokio_fs",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_reactor__0_1_12//:tokio_reactor",
-        "@rules_rust_proto__tokio_sync__0_1_8//:tokio_sync",
-        "@rules_rust_proto__tokio_tcp__0_1_4//:tokio_tcp",
-        "@rules_rust_proto__tokio_threadpool__0_1_18//:tokio_threadpool",
-        "@rules_rust_proto__tokio_timer__0_2_13//:tokio_timer",
-        "@rules_rust_proto__tokio_udp__0_1_6//:tokio_udp",
-    ] + selects.with_or({
-        # cfg(unix)
-        (
-            "@rules_rust//rust/platform:i686-apple-darwin",
-            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-darwin",
-            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:aarch64-apple-darwin",
-            "@rules_rust//rust/platform:aarch64-apple-ios",
-            "@rules_rust//rust/platform:aarch64-linux-android",
-            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
-            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
-            "@rules_rust//rust/platform:i686-linux-android",
-            "@rules_rust//rust/platform:i686-unknown-freebsd",
-            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
-            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
-            "@rules_rust//rust/platform:x86_64-apple-ios",
-            "@rules_rust//rust/platform:x86_64-linux-android",
-            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
-        ): [
-            "@rules_rust_proto__tokio_uds__0_2_6//:tokio_uds",
-        ],
-        "//conditions:default": [],
-    }),
-)
-
-# Unsupported target "buffered" with type "test" omitted
-
-# Unsupported target "clock" with type "test" omitted
-
-# Unsupported target "drop-core" with type "test" omitted
-
-# Unsupported target "enumerate" with type "test" omitted
-
-# Unsupported target "global" with type "test" omitted
-
-# Unsupported target "length_delimited" with type "test" omitted
-
-# Unsupported target "line-frames" with type "test" omitted
-
-# Unsupported target "pipe-hup" with type "test" omitted
-
-# Unsupported target "reactor" with type "test" omitted
-
-# Unsupported target "runtime" with type "test" omitted
-
-# Unsupported target "timer" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-codec-0.1.2.bazel b/proto/raze/remote/BUILD.tokio-codec-0.1.2.bazel
deleted file mode 100644
index 9e14f6e..0000000
--- a/proto/raze/remote/BUILD.tokio-codec-0.1.2.bazel
+++ /dev/null
@@ -1,65 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_codec",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-codec",
-        "manual",
-    ],
-    version = "0.1.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-    ],
-)
-
-# Unsupported target "codecs" with type "test" omitted
-
-# Unsupported target "framed" with type "test" omitted
-
-# Unsupported target "framed_read" with type "test" omitted
-
-# Unsupported target "framed_write" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-core-0.1.17.bazel b/proto/raze/remote/BUILD.tokio-core-0.1.17.bazel
deleted file mode 100644
index 5ba8d66..0000000
--- a/proto/raze/remote/BUILD.tokio-core-0.1.17.bazel
+++ /dev/null
@@ -1,119 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "latency" with type "bench" omitted
-
-# Unsupported target "mio-ops" with type "bench" omitted
-
-# Unsupported target "tcp" with type "bench" omitted
-
-# Unsupported target "chat" with type "example" omitted
-
-# Unsupported target "compress" with type "example" omitted
-
-# Unsupported target "connect" with type "example" omitted
-
-# Unsupported target "echo" with type "example" omitted
-
-# Unsupported target "echo-threads" with type "example" omitted
-
-# Unsupported target "echo-udp" with type "example" omitted
-
-# Unsupported target "hello" with type "example" omitted
-
-# Unsupported target "proxy" with type "example" omitted
-
-# Unsupported target "sink" with type "example" omitted
-
-# Unsupported target "tinydb" with type "example" omitted
-
-# Unsupported target "tinyhttp" with type "example" omitted
-
-# Unsupported target "udp-codec" with type "example" omitted
-
-rust_library(
-    name = "tokio_core",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-core",
-        "manual",
-    ],
-    version = "0.1.17",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__scoped_tls__0_1_2//:scoped_tls",
-        "@rules_rust_proto__tokio__0_1_22//:tokio",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_reactor__0_1_12//:tokio_reactor",
-        "@rules_rust_proto__tokio_timer__0_2_13//:tokio_timer",
-    ],
-)
-
-# Unsupported target "buffered" with type "test" omitted
-
-# Unsupported target "chain" with type "test" omitted
-
-# Unsupported target "echo" with type "test" omitted
-
-# Unsupported target "interval" with type "test" omitted
-
-# Unsupported target "limit" with type "test" omitted
-
-# Unsupported target "line-frames" with type "test" omitted
-
-# Unsupported target "pipe-hup" with type "test" omitted
-
-# Unsupported target "spawn" with type "test" omitted
-
-# Unsupported target "stream-buffered" with type "test" omitted
-
-# Unsupported target "tcp" with type "test" omitted
-
-# Unsupported target "timeout" with type "test" omitted
-
-# Unsupported target "udp" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-current-thread-0.1.7.bazel b/proto/raze/remote/BUILD.tokio-current-thread-0.1.7.bazel
deleted file mode 100644
index 9e92a85..0000000
--- a/proto/raze/remote/BUILD.tokio-current-thread-0.1.7.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_current_thread",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-current-thread",
-        "manual",
-    ],
-    version = "0.1.7",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-    ],
-)
-
-# Unsupported target "current_thread" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-executor-0.1.10.bazel b/proto/raze/remote/BUILD.tokio-executor-0.1.10.bazel
deleted file mode 100644
index 1cd5a4d..0000000
--- a/proto/raze/remote/BUILD.tokio-executor-0.1.10.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_executor",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-executor",
-        "manual",
-    ],
-    version = "0.1.10",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-    ],
-)
-
-# Unsupported target "executor" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-fs-0.1.7.bazel b/proto/raze/remote/BUILD.tokio-fs-0.1.7.bazel
deleted file mode 100644
index 7b6c45b..0000000
--- a/proto/raze/remote/BUILD.tokio-fs-0.1.7.bazel
+++ /dev/null
@@ -1,65 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "std-echo" with type "example" omitted
-
-rust_library(
-    name = "tokio_fs",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-fs",
-        "manual",
-    ],
-    version = "0.1.7",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_threadpool__0_1_18//:tokio_threadpool",
-    ],
-)
-
-# Unsupported target "dir" with type "test" omitted
-
-# Unsupported target "file" with type "test" omitted
-
-# Unsupported target "link" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-io-0.1.13.bazel b/proto/raze/remote/BUILD.tokio-io-0.1.13.bazel
deleted file mode 100644
index f407dc1..0000000
--- a/proto/raze/remote/BUILD.tokio-io-0.1.13.bazel
+++ /dev/null
@@ -1,61 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_io",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-io",
-        "manual",
-    ],
-    version = "0.1.13",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__log__0_4_6//:log",
-    ],
-)
-
-# Unsupported target "async_read" with type "test" omitted
-
-# Unsupported target "length_delimited" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-reactor-0.1.12.bazel b/proto/raze/remote/BUILD.tokio-reactor-0.1.12.bazel
deleted file mode 100644
index 9a371f2..0000000
--- a/proto/raze/remote/BUILD.tokio-reactor-0.1.12.bazel
+++ /dev/null
@@ -1,67 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "basic" with type "bench" omitted
-
-rust_library(
-    name = "tokio_reactor",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-reactor",
-        "manual",
-    ],
-    version = "0.1.12",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__lazy_static__1_4_0//:lazy_static",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__num_cpus__1_13_0//:num_cpus",
-        "@rules_rust_proto__parking_lot__0_9_0//:parking_lot",
-        "@rules_rust_proto__slab__0_4_2//:slab",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_sync__0_1_8//:tokio_sync",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.tokio-sync-0.1.8.bazel b/proto/raze/remote/BUILD.tokio-sync-0.1.8.bazel
deleted file mode 100644
index d5a752d..0000000
--- a/proto/raze/remote/BUILD.tokio-sync-0.1.8.bazel
+++ /dev/null
@@ -1,84 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "mpsc" with type "bench" omitted
-
-# Unsupported target "oneshot" with type "bench" omitted
-
-rust_library(
-    name = "tokio_sync",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-sync",
-        "manual",
-    ],
-    version = "0.1.8",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__fnv__1_0_6//:fnv",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-    ],
-)
-
-# Unsupported target "atomic_task" with type "test" omitted
-
-# Unsupported target "errors" with type "test" omitted
-
-# Unsupported target "fuzz_atomic_task" with type "test" omitted
-
-# Unsupported target "fuzz_list" with type "test" omitted
-
-# Unsupported target "fuzz_mpsc" with type "test" omitted
-
-# Unsupported target "fuzz_oneshot" with type "test" omitted
-
-# Unsupported target "fuzz_semaphore" with type "test" omitted
-
-# Unsupported target "lock" with type "test" omitted
-
-# Unsupported target "mpsc" with type "test" omitted
-
-# Unsupported target "oneshot" with type "test" omitted
-
-# Unsupported target "semaphore" with type "test" omitted
-
-# Unsupported target "watch" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-tcp-0.1.4.bazel b/proto/raze/remote/BUILD.tokio-tcp-0.1.4.bazel
deleted file mode 100644
index 6475b06..0000000
--- a/proto/raze/remote/BUILD.tokio-tcp-0.1.4.bazel
+++ /dev/null
@@ -1,70 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_tcp",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-tcp",
-        "manual",
-    ],
-    version = "0.1.4",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_reactor__0_1_12//:tokio_reactor",
-    ],
-)
-
-# Unsupported target "chain" with type "test" omitted
-
-# Unsupported target "echo" with type "test" omitted
-
-# Unsupported target "limit" with type "test" omitted
-
-# Unsupported target "stream-buffered" with type "test" omitted
-
-# Unsupported target "tcp" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-threadpool-0.1.18.bazel b/proto/raze/remote/BUILD.tokio-threadpool-0.1.18.bazel
deleted file mode 100644
index b0abdee..0000000
--- a/proto/raze/remote/BUILD.tokio-threadpool-0.1.18.bazel
+++ /dev/null
@@ -1,79 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "basic" with type "bench" omitted
-
-# Unsupported target "blocking" with type "bench" omitted
-
-# Unsupported target "depth" with type "bench" omitted
-
-# Unsupported target "depth" with type "example" omitted
-
-# Unsupported target "hello" with type "example" omitted
-
-rust_library(
-    name = "tokio_threadpool",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-threadpool",
-        "manual",
-    ],
-    version = "0.1.18",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__crossbeam_deque__0_7_3//:crossbeam_deque",
-        "@rules_rust_proto__crossbeam_queue__0_2_1//:crossbeam_queue",
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__lazy_static__1_4_0//:lazy_static",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__num_cpus__1_13_0//:num_cpus",
-        "@rules_rust_proto__slab__0_4_2//:slab",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-    ],
-)
-
-# Unsupported target "blocking" with type "test" omitted
-
-# Unsupported target "hammer" with type "test" omitted
-
-# Unsupported target "threadpool" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-timer-0.1.2.bazel b/proto/raze/remote/BUILD.tokio-timer-0.1.2.bazel
deleted file mode 100644
index e287faf..0000000
--- a/proto/raze/remote/BUILD.tokio-timer-0.1.2.bazel
+++ /dev/null
@@ -1,60 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_timer",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-timer",
-        "manual",
-    ],
-    version = "0.1.2",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__slab__0_3_0//:slab",
-    ],
-)
-
-# Unsupported target "support" with type "test" omitted
-
-# Unsupported target "test_timer" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-timer-0.2.13.bazel b/proto/raze/remote/BUILD.tokio-timer-0.2.13.bazel
deleted file mode 100644
index 3a0b46e..0000000
--- a/proto/raze/remote/BUILD.tokio-timer-0.2.13.bazel
+++ /dev/null
@@ -1,74 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_timer",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-timer",
-        "manual",
-    ],
-    version = "0.2.13",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__crossbeam_utils__0_7_2//:crossbeam_utils",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__slab__0_4_2//:slab",
-        "@rules_rust_proto__tokio_executor__0_1_10//:tokio_executor",
-    ],
-)
-
-# Unsupported target "clock" with type "test" omitted
-
-# Unsupported target "deadline" with type "test" omitted
-
-# Unsupported target "delay" with type "test" omitted
-
-# Unsupported target "hammer" with type "test" omitted
-
-# Unsupported target "interval" with type "test" omitted
-
-# Unsupported target "queue" with type "test" omitted
-
-# Unsupported target "throttle" with type "test" omitted
-
-# Unsupported target "timeout" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-tls-api-0.1.22.bazel b/proto/raze/remote/BUILD.tokio-tls-api-0.1.22.bazel
deleted file mode 100644
index ad4429a..0000000
--- a/proto/raze/remote/BUILD.tokio-tls-api-0.1.22.bazel
+++ /dev/null
@@ -1,61 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_tls_api",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-tls-api",
-        "manual",
-    ],
-    version = "0.1.22",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__tls_api__0_1_22//:tls_api",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-    ],
-)
-
-# Unsupported target "bad" with type "test" omitted
-
-# Unsupported target "smoke" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-udp-0.1.6.bazel b/proto/raze/remote/BUILD.tokio-udp-0.1.6.bazel
deleted file mode 100644
index 469f564..0000000
--- a/proto/raze/remote/BUILD.tokio-udp-0.1.6.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_udp",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-udp",
-        "manual",
-    ],
-    version = "0.1.6",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__tokio_codec__0_1_2//:tokio_codec",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_reactor__0_1_12//:tokio_reactor",
-    ],
-)
-
-# Unsupported target "udp" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.tokio-uds-0.1.7.bazel b/proto/raze/remote/BUILD.tokio-uds-0.1.7.bazel
deleted file mode 100644
index 3428469..0000000
--- a/proto/raze/remote/BUILD.tokio-uds-0.1.7.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_uds",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-uds",
-        "manual",
-    ],
-    version = "0.1.7",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-        "@rules_rust_proto__libc__0_2_69//:libc",
-        "@rules_rust_proto__log__0_3_9//:log",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__mio_uds__0_6_7//:mio_uds",
-        "@rules_rust_proto__tokio_core__0_1_17//:tokio_core",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.tokio-uds-0.2.6.bazel b/proto/raze/remote/BUILD.tokio-uds-0.2.6.bazel
deleted file mode 100644
index 80e4f84..0000000
--- a/proto/raze/remote/BUILD.tokio-uds-0.2.6.bazel
+++ /dev/null
@@ -1,68 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "tokio_uds",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=tokio-uds",
-        "manual",
-    ],
-    version = "0.2.6",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__bytes__0_4_12//:bytes",
-        "@rules_rust_proto__futures__0_1_29//:futures",
-        "@rules_rust_proto__iovec__0_1_4//:iovec",
-        "@rules_rust_proto__libc__0_2_69//:libc",
-        "@rules_rust_proto__log__0_4_6//:log",
-        "@rules_rust_proto__mio__0_6_21//:mio",
-        "@rules_rust_proto__mio_uds__0_6_7//:mio_uds",
-        "@rules_rust_proto__tokio_codec__0_1_2//:tokio_codec",
-        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
-        "@rules_rust_proto__tokio_reactor__0_1_12//:tokio_reactor",
-    ],
-)
-
-# Unsupported target "datagram" with type "test" omitted
-
-# Unsupported target "stream" with type "test" omitted
diff --git a/proto/raze/remote/BUILD.unix_socket-0.5.0.bazel b/proto/raze/remote/BUILD.unix_socket-0.5.0.bazel
deleted file mode 100644
index c50e21e..0000000
--- a/proto/raze/remote/BUILD.unix_socket-0.5.0.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "unix_socket",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=unix_socket",
-        "manual",
-    ],
-    version = "0.5.0",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__cfg_if__0_1_10//:cfg_if",
-        "@rules_rust_proto__libc__0_2_69//:libc",
-    ],
-)
diff --git a/proto/raze/remote/BUILD.void-1.0.2.bazel b/proto/raze/remote/BUILD.void-1.0.2.bazel
deleted file mode 100644
index 1ac45cd..0000000
--- a/proto/raze/remote/BUILD.void-1.0.2.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "void",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "default",
-        "std",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=void",
-        "manual",
-    ],
-    version = "1.0.2",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.winapi-0.2.8.bazel b/proto/raze/remote/BUILD.winapi-0.2.8.bazel
deleted file mode 100644
index c71906f..0000000
--- a/proto/raze/remote/BUILD.winapi-0.2.8.bazel
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-rust_library(
-    name = "winapi",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=winapi",
-        "manual",
-    ],
-    version = "0.2.8",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.winapi-0.3.8.bazel b/proto/raze/remote/BUILD.winapi-0.3.8.bazel
deleted file mode 100644
index 6901ac3..0000000
--- a/proto/raze/remote/BUILD.winapi-0.3.8.bazel
+++ /dev/null
@@ -1,67 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "winapi",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-        "errhandlingapi",
-        "handleapi",
-        "minwindef",
-        "ntstatus",
-        "winbase",
-        "winerror",
-        "winnt",
-        "winsock2",
-        "ws2def",
-        "ws2ipdef",
-        "ws2tcpip",
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=winapi",
-        "manual",
-    ],
-    version = "0.3.8",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.winapi-build-0.1.1.bazel b/proto/raze/remote/BUILD.winapi-build-0.1.1.bazel
deleted file mode 100644
index 605b461..0000000
--- a/proto/raze/remote/BUILD.winapi-build-0.1.1.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-alias(
-    name = "winapi_build",
-    actual = ":build",
-    tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-rust_library(
-    name = "build",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=build",
-        "manual",
-    ],
-    version = "0.1.1",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/proto/raze/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
deleted file mode 100644
index fd675d5..0000000
--- a/proto/raze/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "winapi_i686_pc_windows_gnu",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=winapi-i686-pc-windows-gnu",
-        "manual",
-    ],
-    version = "0.4.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/proto/raze/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
deleted file mode 100644
index 7adb7a7..0000000
--- a/proto/raze/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-rust_library(
-    name = "winapi_x86_64_pc_windows_gnu",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=winapi-x86_64-pc-windows-gnu",
-        "manual",
-    ],
-    version = "0.4.0",
-    # buildifier: leave-alone
-    deps = [
-    ],
-)
diff --git a/proto/raze/remote/BUILD.ws2_32-sys-0.2.1.bazel b/proto/raze/remote/BUILD.ws2_32-sys-0.2.1.bazel
deleted file mode 100644
index c569cae..0000000
--- a/proto/raze/remote/BUILD.ws2_32-sys-0.2.1.bazel
+++ /dev/null
@@ -1,66 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
-    "@rules_rust//rust:defs.bzl",
-    "rust_binary",
-    "rust_library",
-    "rust_proc_macro",
-    "rust_test",
-)
-
-package(default_visibility = [
-    # Public for visibility by "@raze__crate__version//" targets.
-    #
-    # Prefer access through "//proto/raze", which limits external
-    # visibility to explicit Cargo.toml dependencies.
-    "//visibility:public",
-])
-
-licenses([
-    "notice",  # MIT from expression "MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "build-script-build" with type "custom-build" omitted
-
-alias(
-    name = "ws2_32_sys",
-    actual = ":ws2_32",
-    tags = [
-        "cargo-raze",
-        "manual",
-    ],
-)
-
-rust_library(
-    name = "ws2_32",
-    srcs = glob(["**/*.rs"]),
-    crate_features = [
-    ],
-    crate_root = "src/lib.rs",
-    data = [],
-    edition = "2015",
-    rustc_flags = [
-        "--cap-lints=allow",
-    ],
-    tags = [
-        "cargo-raze",
-        "crate-name=ws2_32",
-        "manual",
-    ],
-    version = "0.2.1",
-    # buildifier: leave-alone
-    deps = [
-        "@rules_rust_proto__winapi__0_2_8//:winapi",
-    ],
-)
diff --git a/proto/repositories.bzl b/proto/repositories.bzl
index af23033..1591613 100644
--- a/proto/repositories.bzl
+++ b/proto/repositories.bzl
@@ -15,7 +15,7 @@
 # buildifier: disable=module-docstring
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
-load("//proto/raze:crates.bzl", "rules_rust_proto_fetch_remote_crates")
+load("//proto/3rdparty/crates:defs.bzl", "crate_repositories")
 
 # buildifier: disable=unnamed-macro
 def rust_proto_repositories(register_default_toolchain = True):
@@ -48,11 +48,11 @@
         ],
         patch_args = ["-p1"],
         patches = [
-            Label("//proto/patches:com_google_protobuf-v3.10.0-bzl_visibility.patch"),
+            Label("//proto/3rdparty/patches:com_google_protobuf-v3.10.0-bzl_visibility.patch"),
         ],
     )
 
-    rules_rust_proto_fetch_remote_crates()
+    crate_repositories()
 
     # Register toolchains
     if register_default_toolchain:
diff --git a/proto/toolchain.bzl b/proto/toolchain.bzl
index 80c5ccc..7225d0d 100644
--- a/proto/toolchain.bzl
+++ b/proto/toolchain.bzl
@@ -129,14 +129,14 @@
 
 # Default dependencies needed to compile protobuf stubs.
 PROTO_COMPILE_DEPS = [
-    Label("//proto/raze:protobuf"),
+    Label("//proto/3rdparty/crates:protobuf"),
 ]
 
 # Default dependencies needed to compile gRPC stubs.
 GRPC_COMPILE_DEPS = PROTO_COMPILE_DEPS + [
-    Label("//proto/raze:grpc"),
-    Label("//proto/raze:tls_api"),
-    Label("//proto/raze:tls_api_stub"),
+    Label("//proto/3rdparty/crates:grpc"),
+    Label("//proto/3rdparty/crates:tls-api"),
+    Label("//proto/3rdparty/crates:tls-api-stub"),
 ]
 
 rust_proto_toolchain = rule(