Import buildifier

This patch sets up buildifier to run as part of CI. It can also be run
manually via `//tools/lint:buildifier`.

As a consequence, I needed to make the whole repo conform.

Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: Ic41c97b17255813b6c21aef40ab2f8a216683a2c
diff --git a/WORKSPACE b/WORKSPACE
index f4e3191..d532887 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,6 +1,6 @@
 workspace(name = "org_frc971")
 
-load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
+load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
 load(
     "//debian:python.bzl",
@@ -913,3 +913,12 @@
 go_dependencies()
 
 gazelle_dependencies()
+
+http_archive(
+    name = "com_github_bazelbuild_buildtools",
+    sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
+    strip_prefix = "buildtools-4.2.4",
+    urls = [
+        "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
+    ],
+)
diff --git a/aos/actions/BUILD b/aos/actions/BUILD
index 90588ca..1905e9c 100644
--- a/aos/actions/BUILD
+++ b/aos/actions/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 load("//aos:config.bzl", "aos_config")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_library(
     name = "action_lib",
     srcs = [
diff --git a/aos/network/www/BUILD b/aos/network/www/BUILD
index 5b951bd..64d7452 100644
--- a/aos/network/www/BUILD
+++ b/aos/network/www/BUILD
@@ -1,5 +1,5 @@
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
-load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary", "rollup_bundle")
+load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle")
 load("//aos:config.bzl", "aos_config")
 
 filegroup(
diff --git a/aos/vision/image/BUILD b/aos/vision/image/BUILD
index 054b262..63be82c 100644
--- a/aos/vision/image/BUILD
+++ b/aos/vision/image/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_library(
     name = "image_types",
     hdrs = ["image_types.h"],
diff --git a/aos/vision/tools/BUILD b/aos/vision/tools/BUILD
index 4be7fd7..baaf762 100644
--- a/aos/vision/tools/BUILD
+++ b/aos/vision/tools/BUILD
@@ -1,4 +1,4 @@
-load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary")
 
 gtk_dependent_cc_binary(
     name = "jpeg_vision_test",
diff --git a/debian/BUILD b/debian/BUILD
index 0ea9836..d308a08 100644
--- a/debian/BUILD
+++ b/debian/BUILD
@@ -1,5 +1,3 @@
-package(default_visibility = ["//visibility:public"])
-
 load(
     "//debian:python.bzl",
     python_debs = "files",
@@ -78,6 +76,8 @@
 )
 load(":packages.bzl", "download_packages", "generate_deb_tarball")
 
+package(default_visibility = ["//visibility:public"])
+
 filegroup(
     name = "matplotlib_patches",
     srcs = [
diff --git a/debian/clapack.BUILD b/debian/clapack.BUILD
index 31e127e..39a160e 100644
--- a/debian/clapack.BUILD
+++ b/debian/clapack.BUILD
@@ -1,8 +1,8 @@
-licenses(["notice"])
-
 load("@//tools/build_rules:fortran.bzl", "f2c_copts")
 load("@//tools/build_rules:select.bzl", "compiler_select")
 
+licenses(["notice"])
+
 genrule(
     name = "create_sysdep1",
     srcs = ["F2CLIBS/libf2c/sysdep1.h0"],
diff --git a/debian/opencv_python.BUILD b/debian/opencv_python.BUILD
index 5074bd3..281564b 100644
--- a/debian/opencv_python.BUILD
+++ b/debian/opencv_python.BUILD
@@ -5,9 +5,9 @@
         include = ["**/*"],
         exclude = ["**/*.py"],
     ),
+    imports = ["."],
+    visibility = ["//visibility:public"],
     deps = [
         "@python_repo//:numpy",
     ],
-    imports = ["."],
-    visibility = ["//visibility:public"],
 )
diff --git a/debian/python.BUILD b/debian/python.BUILD
index 009a7e2..4acea84 100644
--- a/debian/python.BUILD
+++ b/debian/python.BUILD
@@ -60,15 +60,14 @@
     srcs = glob([
         "usr/lib/python3/dist-packages/scipy/**/*.py",
     ]),
-    data = glob([
-        "usr/lib/python3/dist-packages/scipy/**/*",
-    ], exclude = [
-        "usr/lib/python3/dist-packages/scipy/**/*.py",
-    ]),
-    deps = [
-        ":numpy",
-    ],
-    visibility = ["//visibility:public"],
+    data = glob(
+        [
+            "usr/lib/python3/dist-packages/scipy/**/*",
+        ],
+        exclude = [
+            "usr/lib/python3/dist-packages/scipy/**/*.py",
+        ],
+    ),
     imports = [
         "usr/lib/python3/dist-packages",
     ],
@@ -76,6 +75,10 @@
         "@platforms//os:linux",
         "@platforms//cpu:x86_64",
     ],
+    visibility = ["//visibility:public"],
+    deps = [
+        ":numpy",
+    ],
 )
 
 py_library(
@@ -83,12 +86,14 @@
     srcs = glob([
         "usr/lib/python3/dist-packages/numpy/**/*.py",
     ]),
-    data = glob([
-        "usr/lib/python3/dist-packages/numpy/**/*",
-    ], exclude = [
-        "usr/lib/python3/dist-packages/numpy/**/*.py",
-    ]),
-    visibility = ["//visibility:public"],
+    data = glob(
+        [
+            "usr/lib/python3/dist-packages/numpy/**/*",
+        ],
+        exclude = [
+            "usr/lib/python3/dist-packages/numpy/**/*.py",
+        ],
+    ),
     imports = [
         "usr/lib/python3/dist-packages",
     ],
@@ -96,4 +101,5 @@
         "@platforms//os:linux",
         "@platforms//cpu:x86_64",
     ],
+    visibility = ["//visibility:public"],
 )
diff --git a/debian/slycot.BUILD b/debian/slycot.BUILD
index 82cc72c..0b9a09a 100644
--- a/debian/slycot.BUILD
+++ b/debian/slycot.BUILD
@@ -1,9 +1,9 @@
-# TODO(austin): I bet this is wrong.
-licenses(["restricted"])
-
 load("@//tools/build_rules:fortran.bzl", "f2c_library")
 load("@//tools/build_rules:select.bzl", "compiler_select")
 
+# TODO(austin): I bet this is wrong.
+licenses(["restricted"])
+
 f2c_library(
     name = "slicot",
     srcs = glob(["slycot/src/*.f"]),
diff --git a/debian/usr.BUILD b/debian/usr.BUILD
index be7cafc..f7d1eb3 100644
--- a/debian/usr.BUILD
+++ b/debian/usr.BUILD
@@ -1,4 +1,4 @@
-load("@//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+load("@//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_library")
 
 package(default_visibility = ["@//debian:__pkg__"])
 
diff --git a/frc971/analysis/BUILD b/frc971/analysis/BUILD
index 4850f97..0269d65 100644
--- a/frc971/analysis/BUILD
+++ b/frc971/analysis/BUILD
@@ -1,11 +1,10 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
-load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")
-load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary", "rollup_bundle")
+load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
 load("//aos:config.bzl", "aos_config")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_binary(
     name = "py_log_reader.so",
     srcs = ["py_log_reader.cc"],
diff --git a/frc971/autonomous/BUILD b/frc971/autonomous/BUILD
index c7f2d20..9698ed6 100644
--- a/frc971/autonomous/BUILD
+++ b/frc971/autonomous/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("//aos:config.bzl", "aos_config")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "auto_fbs",
     srcs = ["auto.fbs"],
diff --git a/frc971/codelab/BUILD b/frc971/codelab/BUILD
index d69bf53..673e0b2 100644
--- a/frc971/codelab/BUILD
+++ b/frc971/codelab/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 load("//aos:config.bzl", "aos_config")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_binary(
     name = "basic_test",
     testonly = 1,
diff --git a/frc971/control_loops/BUILD b/frc971/control_loops/BUILD
index c7a5dd7..e058e11 100644
--- a/frc971/control_loops/BUILD
+++ b/frc971/control_loops/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("//aos:config.bzl", "aos_config")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_library(
     name = "control_loop_test",
     testonly = True,
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index d50c1f9..eaf37db 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -1,11 +1,11 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
 load("//aos:config.bzl", "aos_config")
 load("//tools/build_rules:select.bzl", "cpu_select")
 load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "spline_goal_fbs",
     srcs = ["spline_goal.fbs"],
diff --git a/frc971/input/BUILD b/frc971/input/BUILD
index 5b5c5d1..90e5ce6 100644
--- a/frc971/input/BUILD
+++ b/frc971/input/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("//aos:config.bzl", "aos_config")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_library(
     name = "joystick_input",
     srcs = [
diff --git a/frc971/queues/BUILD b/frc971/queues/BUILD
index 44ee59e..17b610c 100644
--- a/frc971/queues/BUILD
+++ b/frc971/queues/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "gyro_fbs",
     srcs = [
diff --git a/frc971/wpilib/BUILD b/frc971/wpilib/BUILD
index 049efae..2c8ed29 100644
--- a/frc971/wpilib/BUILD
+++ b/frc971/wpilib/BUILD
@@ -1,9 +1,9 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
 load("//aos:config.bzl", "aos_config")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "logging_fbs",
     srcs = [
diff --git a/tools/cpp/toolchain_config.bzl b/tools/cpp/toolchain_config.bzl
index 12cbc76..7b0ffbf 100644
--- a/tools/cpp/toolchain_config.bzl
+++ b/tools/cpp/toolchain_config.bzl
@@ -1,17 +1,11 @@
 load(
     "@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
     "action_config",
-    "artifact_name_pattern",
-    "env_entry",
-    "env_set",
     "feature",
-    "feature_set",
     "flag_group",
     "flag_set",
-    "make_variable",
     "tool",
     "tool_path",
-    "variable_with_value",
     "with_feature_set",
 )
 load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
diff --git a/tools/go/BUILD b/tools/go/BUILD
index 1895ffe..25b3adb 100644
--- a/tools/go/BUILD
+++ b/tools/go/BUILD
@@ -1,3 +1,6 @@
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
+load("@io_bazel_rules_go//go:def.bzl", "go_sdk", "go_toolchain")
+
 py_library(
     name = "mirror_lib",
     srcs = [
@@ -22,10 +25,13 @@
         "mirror_go_repos.py",
     ],
     data = [
+        "@com_github_bazelbuild_buildtools//buildifier",
         "@go_sdk//:bin/go",
     ],
+    target_compatible_with = ["@platforms//cpu:x86_64"],
     deps = [
         ":mirror_lib",
+        "@bazel_tools//tools/python/runfiles",
     ],
 )
 
@@ -36,9 +42,6 @@
 # For platforms that do support Go, we use go_register_toolchain() in
 # WORKSPACE.
 
-load("@bazel_skylib//rules:write_file.bzl", "write_file")
-load("@io_bazel_rules_go//go:def.bzl", "go_sdk", "go_toolchain")
-
 write_file(
     name = "noop_error_exit",
     out = "noop_error_exit.sh",
diff --git a/tools/go/go_mirrors.bzl b/tools/go/go_mirrors.bzl
index bee4c5b..9addcef 100644
--- a/tools/go/go_mirrors.bzl
+++ b/tools/go/go_mirrors.bzl
@@ -1,318 +1,318 @@
 # This file is auto-generated. Do not edit.
 GO_MIRROR_INFO = {
-  "co_honnef_go_tools": {
-    "filename": "co_honnef_go_tools__v0.0.0-20190523083050-ea95bdfd59fc.zip",
-    "importpath": "honnef.co/go/tools",
-    "sha256": "eeaa82700e96ac5e803d7a9c32363332504beff8fbb1202492b4d43d5a5e7360",
-    "strip_prefix": "honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc",
-    "version": "v0.0.0-20190523083050-ea95bdfd59fc"
-  },
-  "com_github_antihax_optional": {
-    "filename": "com_github_antihax_optional__v1.0.0.zip",
-    "importpath": "github.com/antihax/optional",
-    "sha256": "15ab4d41bdbb72ee0ac63db616cdefc7671c79e13d0f73b58355a6a88219c97f",
-    "strip_prefix": "github.com/antihax/optional@v1.0.0",
-    "version": "v1.0.0"
-  },
-  "com_github_buildkite_go_buildkite": {
-    "filename": "com_github_buildkite_go_buildkite__v2.2.0+incompatible.zip",
-    "importpath": "github.com/buildkite/go-buildkite",
-    "sha256": "1871115c8c6db004e4b6e57cee927043bfc9ea0c56e7b8f8336021bd8bf588c4",
-    "strip_prefix": "github.com/buildkite/go-buildkite@v2.2.0+incompatible",
-    "version": "v2.2.0+incompatible"
-  },
-  "com_github_burntsushi_toml": {
-    "filename": "com_github_burntsushi_toml__v0.3.1.zip",
-    "importpath": "github.com/BurntSushi/toml",
-    "sha256": "815c6e594745f2d8842ff9a4b0569c6695e6cdfd5e07e5b3d98d06b72ca41e3c",
-    "strip_prefix": "github.com/BurntSushi/toml@v0.3.1",
-    "version": "v0.3.1"
-  },
-  "com_github_cenkalti_backoff": {
-    "filename": "com_github_cenkalti_backoff__v2.2.1+incompatible.zip",
-    "importpath": "github.com/cenkalti/backoff",
-    "sha256": "f8196815a1b4d25e5b8158029d5264801fc8aa5ff128ccf30752fd169693d43b",
-    "strip_prefix": "github.com/cenkalti/backoff@v2.2.1+incompatible",
-    "version": "v2.2.1+incompatible"
-  },
-  "com_github_census_instrumentation_opencensus_proto": {
-    "filename": "com_github_census_instrumentation_opencensus_proto__v0.2.1.zip",
-    "importpath": "github.com/census-instrumentation/opencensus-proto",
-    "sha256": "b3c09f3e635d47b4138695a547d1f2c7138f382cbe5a8b5865b66a8e08233461",
-    "strip_prefix": "github.com/census-instrumentation/opencensus-proto@v0.2.1",
-    "version": "v0.2.1"
-  },
-  "com_github_cespare_xxhash_v2": {
-    "filename": "com_github_cespare_xxhash_v2__v2.1.1.zip",
-    "importpath": "github.com/cespare/xxhash/v2",
-    "sha256": "5baa031c72e73e42617f0fd74e7d813344850bd6a6073381b6a4160a5e9cb59e",
-    "strip_prefix": "github.com/cespare/xxhash/v2@v2.1.1",
-    "version": "v2.1.1"
-  },
-  "com_github_client9_misspell": {
-    "filename": "com_github_client9_misspell__v0.3.4.zip",
-    "importpath": "github.com/client9/misspell",
-    "sha256": "a3af206372e131dd10a68ac470c66a1b18eaf51c6afacb55b2e2a06e39b90728",
-    "strip_prefix": "github.com/client9/misspell@v0.3.4",
-    "version": "v0.3.4"
-  },
-  "com_github_cncf_udpa_go": {
-    "filename": "com_github_cncf_udpa_go__v0.0.0-20210930031921-04548b0d99d4.zip",
-    "importpath": "github.com/cncf/udpa/go",
-    "sha256": "a449fa94e58117a79c17577e39f72f695c4876f74cbd9142d512278192ca90aa",
-    "strip_prefix": "github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4",
-    "version": "v0.0.0-20210930031921-04548b0d99d4"
-  },
-  "com_github_cncf_xds_go": {
-    "filename": "com_github_cncf_xds_go__v0.0.0-20211011173535-cb28da3451f1.zip",
-    "importpath": "github.com/cncf/xds/go",
-    "sha256": "eb86281e1e9cf6f83d25edbec0e3fd690570efa3414866d14c6a32b44931375d",
-    "strip_prefix": "github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1",
-    "version": "v0.0.0-20211011173535-cb28da3451f1"
-  },
-  "com_github_davecgh_go_spew": {
-    "filename": "com_github_davecgh_go_spew__v1.1.0.zip",
-    "importpath": "github.com/davecgh/go-spew",
-    "sha256": "0b5a691aeb8b6af31bd2bb640973ea7e8bf1ed9bc5889da220bf44dc06d9692c",
-    "strip_prefix": "github.com/davecgh/go-spew@v1.1.0",
-    "version": "v1.1.0"
-  },
-  "com_github_envoyproxy_go_control_plane": {
-    "filename": "com_github_envoyproxy_go_control_plane__v0.9.10-0.20210907150352-cf90f659a021.zip",
-    "importpath": "github.com/envoyproxy/go-control-plane",
-    "sha256": "41dc70a8e658cb8945fa0de289d25dd7a608e99929bae144776781401dec507a",
-    "strip_prefix": "github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021",
-    "version": "v0.9.10-0.20210907150352-cf90f659a021"
-  },
-  "com_github_envoyproxy_protoc_gen_validate": {
-    "filename": "com_github_envoyproxy_protoc_gen_validate__v0.1.0.zip",
-    "importpath": "github.com/envoyproxy/protoc-gen-validate",
-    "sha256": "ec5261f3bbc426d71e2be4c76063ba12460c5d27845d630763e9e911ec4768af",
-    "strip_prefix": "github.com/envoyproxy/protoc-gen-validate@v0.1.0",
-    "version": "v0.1.0"
-  },
-  "com_github_ghodss_yaml": {
-    "filename": "com_github_ghodss_yaml__v1.0.0.zip",
-    "importpath": "github.com/ghodss/yaml",
-    "sha256": "c3f295d23c02c0b35e4d3b29053586e737cf9642df9615da99c0bda9bbacc624",
-    "strip_prefix": "github.com/ghodss/yaml@v1.0.0",
-    "version": "v1.0.0"
-  },
-  "com_github_golang_glog": {
-    "filename": "com_github_golang_glog__v0.0.0-20160126235308-23def4e6c14b.zip",
-    "importpath": "github.com/golang/glog",
-    "sha256": "36b3c522c8102dfe74ca96e474c4c361750bf2bb85bc3cefe4f074c07d6825a9",
-    "strip_prefix": "github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b",
-    "version": "v0.0.0-20160126235308-23def4e6c14b"
-  },
-  "com_github_golang_mock": {
-    "filename": "com_github_golang_mock__v1.1.1.zip",
-    "importpath": "github.com/golang/mock",
-    "sha256": "636fd21575ebdfbebd53045802a40c780fdab33c6130cea9279346898286f1ca",
-    "strip_prefix": "github.com/golang/mock@v1.1.1",
-    "version": "v1.1.1"
-  },
-  "com_github_golang_protobuf": {
-    "filename": "com_github_golang_protobuf__v1.5.2.zip",
-    "importpath": "github.com/golang/protobuf",
-    "sha256": "5d1c817bebc1202ab3b42a418e584e0008e8027baf212ce69c2ae3e9e7b8c64b",
-    "strip_prefix": "github.com/golang/protobuf@v1.5.2",
-    "version": "v1.5.2"
-  },
-  "com_github_google_go_cmp": {
-    "filename": "com_github_google_go_cmp__v0.5.5.zip",
-    "importpath": "github.com/google/go-cmp",
-    "sha256": "0ee90a7194c025d849699f897d97641b8676ceca9215c96e00eaf1f0e6e953ad",
-    "strip_prefix": "github.com/google/go-cmp@v0.5.5",
-    "version": "v0.5.5"
-  },
-  "com_github_google_go_querystring": {
-    "filename": "com_github_google_go_querystring__v1.1.0.zip",
-    "importpath": "github.com/google/go-querystring",
-    "sha256": "a6aafc01f5602e6177928751074e325792a654e1d92f0e238b8e8739656dd72b",
-    "strip_prefix": "github.com/google/go-querystring@v1.1.0",
-    "version": "v1.1.0"
-  },
-  "com_github_google_uuid": {
-    "filename": "com_github_google_uuid__v1.1.2.zip",
-    "importpath": "github.com/google/uuid",
-    "sha256": "5d52fee1f44cf85dbba03f1bd6098a15a131e32c0e45839b352d69aceb7babfc",
-    "strip_prefix": "github.com/google/uuid@v1.1.2",
-    "version": "v1.1.2"
-  },
-  "com_github_grpc_ecosystem_grpc_gateway": {
-    "filename": "com_github_grpc_ecosystem_grpc_gateway__v1.16.0.zip",
-    "importpath": "github.com/grpc-ecosystem/grpc-gateway",
-    "sha256": "377b03aef288b34ed894449d3ddba40d525dd7fb55de6e79045cdf499e7fe565",
-    "strip_prefix": "github.com/grpc-ecosystem/grpc-gateway@v1.16.0",
-    "version": "v1.16.0"
-  },
-  "com_github_pmezard_go_difflib": {
-    "filename": "com_github_pmezard_go_difflib__v1.0.0.zip",
-    "importpath": "github.com/pmezard/go-difflib",
-    "sha256": "de04cecc1a4b8d53e4357051026794bcbc54f2e6a260cfac508ce69d5d6457a0",
-    "strip_prefix": "github.com/pmezard/go-difflib@v1.0.0",
-    "version": "v1.0.0"
-  },
-  "com_github_prometheus_client_model": {
-    "filename": "com_github_prometheus_client_model__v0.0.0-20190812154241-14fe0d1b01d4.zip",
-    "importpath": "github.com/prometheus/client_model",
-    "sha256": "5d4719be47f4f69ab5bf36a04c75eb078a0f69b43a335f400c2d688ac9e61795",
-    "strip_prefix": "github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4",
-    "version": "v0.0.0-20190812154241-14fe0d1b01d4"
-  },
-  "com_github_rogpeppe_fastuuid": {
-    "filename": "com_github_rogpeppe_fastuuid__v1.2.0.zip",
-    "importpath": "github.com/rogpeppe/fastuuid",
-    "sha256": "f9b8293f5e20270e26fb4214ca7afec864de92c73d03ff62b5ee29d1db4e72a1",
-    "strip_prefix": "github.com/rogpeppe/fastuuid@v1.2.0",
-    "version": "v1.2.0"
-  },
-  "com_github_stretchr_objx": {
-    "filename": "com_github_stretchr_objx__v0.1.0.zip",
-    "importpath": "github.com/stretchr/objx",
-    "sha256": "1fa10dab404ed7fc8ed2a033f8784187d5df3513ced3841ce39e46d37850eb1d",
-    "strip_prefix": "github.com/stretchr/objx@v0.1.0",
-    "version": "v0.1.0"
-  },
-  "com_github_stretchr_testify": {
-    "filename": "com_github_stretchr_testify__v1.7.0.zip",
-    "importpath": "github.com/stretchr/testify",
-    "sha256": "5a46ccebeff510df3e2f6d3842ee79d3f68d0e7b1554cd6ee93390d68b6c6b34",
-    "strip_prefix": "github.com/stretchr/testify@v1.7.0",
-    "version": "v1.7.0"
-  },
-  "com_google_cloud_go": {
-    "filename": "com_google_cloud_go__v0.34.0.zip",
-    "importpath": "cloud.google.com/go",
-    "sha256": "27c1190dcd33c594838487544d8c3d17df4f7916fb542f5c2c9ca729ef1d9fe6",
-    "strip_prefix": "cloud.google.com/go@v0.34.0",
-    "version": "v0.34.0"
-  },
-  "in_gopkg_check_v1": {
-    "filename": "in_gopkg_check_v1__v0.0.0-20161208181325-20d25e280405.zip",
-    "importpath": "gopkg.in/check.v1",
-    "sha256": "4e1817f964ca34e545b81afda0325a5e89cf58de2e413d8207c0afddd0fdc15c",
-    "strip_prefix": "gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405",
-    "version": "v0.0.0-20161208181325-20d25e280405"
-  },
-  "in_gopkg_yaml_v2": {
-    "filename": "in_gopkg_yaml_v2__v2.2.3.zip",
-    "importpath": "gopkg.in/yaml.v2",
-    "sha256": "213403de27ae981b118ba199a3a1ddc64a82d0c9cf7534b762dc9ee5d79c5316",
-    "strip_prefix": "gopkg.in/yaml.v2@v2.2.3",
-    "version": "v2.2.3"
-  },
-  "in_gopkg_yaml_v3": {
-    "filename": "in_gopkg_yaml_v3__v3.0.0-20200313102051-9f266ea9e77c.zip",
-    "importpath": "gopkg.in/yaml.v3",
-    "sha256": "acf19ccb4fca983b234a39ef032faf9ab70e759680673bb3dff077e77fee20fe",
-    "strip_prefix": "gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c",
-    "version": "v3.0.0-20200313102051-9f266ea9e77c"
-  },
-  "io_opentelemetry_go_proto_otlp": {
-    "filename": "io_opentelemetry_go_proto_otlp__v0.7.0.zip",
-    "importpath": "go.opentelemetry.io/proto/otlp",
-    "sha256": "a7db0590bc4c5f0b9b99cc958decf644f1e5cc11e0b995dc20b3583a2215259b",
-    "strip_prefix": "go.opentelemetry.io/proto/otlp@v0.7.0",
-    "version": "v0.7.0"
-  },
-  "org_golang_google_appengine": {
-    "filename": "org_golang_google_appengine__v1.4.0.zip",
-    "importpath": "google.golang.org/appengine",
-    "sha256": "d4dba839844a92bd9355812a53f086ff3301aa8f59b29a3e2f799d27be8db71f",
-    "strip_prefix": "google.golang.org/appengine@v1.4.0",
-    "version": "v1.4.0"
-  },
-  "org_golang_google_genproto": {
-    "filename": "org_golang_google_genproto__v0.0.0-20200526211855-cb27e3aa2013.zip",
-    "importpath": "google.golang.org/genproto",
-    "sha256": "50336913c7325576ed9c3587fdcacd39094013af95c8c11736f335969136527d",
-    "strip_prefix": "google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013",
-    "version": "v0.0.0-20200526211855-cb27e3aa2013"
-  },
-  "org_golang_google_grpc": {
-    "filename": "org_golang_google_grpc__v1.43.0.zip",
-    "importpath": "google.golang.org/grpc",
-    "sha256": "19fa6e227e62e3ae9791ab81b8a784e93cc68860b7fe0e85dd8d3cfbc1b24398",
-    "strip_prefix": "google.golang.org/grpc@v1.43.0",
-    "version": "v1.43.0"
-  },
-  "org_golang_google_protobuf": {
-    "filename": "org_golang_google_protobuf__v1.26.0.zip",
-    "importpath": "google.golang.org/protobuf",
-    "sha256": "d7bc5de329bd4e803f7a2acfcbe8f2eba4ef1579485056ef569a4b245bee1208",
-    "strip_prefix": "google.golang.org/protobuf@v1.26.0",
-    "version": "v1.26.0"
-  },
-  "org_golang_x_crypto": {
-    "filename": "org_golang_x_crypto__v0.0.0-20200622213623-75b288015ac9.zip",
-    "importpath": "golang.org/x/crypto",
-    "sha256": "aeaac2684d693207a90f491b0303e881e58c014e96d27b0ebb7fe6937dfc1e76",
-    "strip_prefix": "golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9",
-    "version": "v0.0.0-20200622213623-75b288015ac9"
-  },
-  "org_golang_x_exp": {
-    "filename": "org_golang_x_exp__v0.0.0-20190121172915-509febef88a4.zip",
-    "importpath": "golang.org/x/exp",
-    "sha256": "c3a7dcc2e8117e749c6badc91d492de3ee2f5b440b30481a0a75f9d63db6fe0b",
-    "strip_prefix": "golang.org/x/exp@v0.0.0-20190121172915-509febef88a4",
-    "version": "v0.0.0-20190121172915-509febef88a4"
-  },
-  "org_golang_x_lint": {
-    "filename": "org_golang_x_lint__v0.0.0-20190313153728-d0100b6bd8b3.zip",
-    "importpath": "golang.org/x/lint",
-    "sha256": "5c7bb9792bdc4ec4cf1af525cf9998f8a958daf6495852c9a7dbb71738f2f10a",
-    "strip_prefix": "golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3",
-    "version": "v0.0.0-20190313153728-d0100b6bd8b3"
-  },
-  "org_golang_x_net": {
-    "filename": "org_golang_x_net__v0.0.0-20200822124328-c89045814202.zip",
-    "importpath": "golang.org/x/net",
-    "sha256": "22ea306ad6c9100c636c165dc05a64265d0f985452a9f1edf32b561b620ae762",
-    "strip_prefix": "golang.org/x/net@v0.0.0-20200822124328-c89045814202",
-    "version": "v0.0.0-20200822124328-c89045814202"
-  },
-  "org_golang_x_oauth2": {
-    "filename": "org_golang_x_oauth2__v0.0.0-20200107190931-bf48bf16ab8d.zip",
-    "importpath": "golang.org/x/oauth2",
-    "sha256": "661e4c30b15e488b434b19085567e581eb7bde892f04a0a3ab7ef94c0028f133",
-    "strip_prefix": "golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d",
-    "version": "v0.0.0-20200107190931-bf48bf16ab8d"
-  },
-  "org_golang_x_sync": {
-    "filename": "org_golang_x_sync__v0.0.0-20190423024810-112230192c58.zip",
-    "importpath": "golang.org/x/sync",
-    "sha256": "dc105c2b4d6c7ab48e54946ce2f624e8d1f5d47270eff1e88fed06cc65f91fb4",
-    "strip_prefix": "golang.org/x/sync@v0.0.0-20190423024810-112230192c58",
-    "version": "v0.0.0-20190423024810-112230192c58"
-  },
-  "org_golang_x_sys": {
-    "filename": "org_golang_x_sys__v0.0.0-20200323222414-85ca7c5b95cd.zip",
-    "importpath": "golang.org/x/sys",
-    "sha256": "d00ccd67cf0f2dd8622ed2721b8824fcbaf4f5730f47387fd5e39adbd5f6972e",
-    "strip_prefix": "golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd",
-    "version": "v0.0.0-20200323222414-85ca7c5b95cd"
-  },
-  "org_golang_x_text": {
-    "filename": "org_golang_x_text__v0.3.0.zip",
-    "importpath": "golang.org/x/text",
-    "sha256": "ea3068395503d3c7ef8ce16a286f75c8c93882c25a66c2aa6c8e2ad4da7a9ae0",
-    "strip_prefix": "golang.org/x/text@v0.3.0",
-    "version": "v0.3.0"
-  },
-  "org_golang_x_tools": {
-    "filename": "org_golang_x_tools__v0.0.0-20190524140312-2c0ae7006135.zip",
-    "importpath": "golang.org/x/tools",
-    "sha256": "86687e8cd5adccf8809ba031e59146d0c89047b6267aacc785ffc20b0ce6b735",
-    "strip_prefix": "golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135",
-    "version": "v0.0.0-20190524140312-2c0ae7006135"
-  },
-  "org_golang_x_xerrors": {
-    "filename": "org_golang_x_xerrors__v0.0.0-20200804184101-5ec99f83aff1.zip",
-    "importpath": "golang.org/x/xerrors",
-    "sha256": "380aaa3368ae165628bb487cf4e695a55c1420072b8b7a6f59c122f6a23bb255",
-    "strip_prefix": "golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1",
-    "version": "v0.0.0-20200804184101-5ec99f83aff1"
-  }
+    "co_honnef_go_tools": {
+        "filename": "co_honnef_go_tools__v0.0.0-20190523083050-ea95bdfd59fc.zip",
+        "importpath": "honnef.co/go/tools",
+        "sha256": "eeaa82700e96ac5e803d7a9c32363332504beff8fbb1202492b4d43d5a5e7360",
+        "strip_prefix": "honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc",
+        "version": "v0.0.0-20190523083050-ea95bdfd59fc",
+    },
+    "com_github_antihax_optional": {
+        "filename": "com_github_antihax_optional__v1.0.0.zip",
+        "importpath": "github.com/antihax/optional",
+        "sha256": "15ab4d41bdbb72ee0ac63db616cdefc7671c79e13d0f73b58355a6a88219c97f",
+        "strip_prefix": "github.com/antihax/optional@v1.0.0",
+        "version": "v1.0.0",
+    },
+    "com_github_buildkite_go_buildkite": {
+        "filename": "com_github_buildkite_go_buildkite__v2.2.0+incompatible.zip",
+        "importpath": "github.com/buildkite/go-buildkite",
+        "sha256": "1871115c8c6db004e4b6e57cee927043bfc9ea0c56e7b8f8336021bd8bf588c4",
+        "strip_prefix": "github.com/buildkite/go-buildkite@v2.2.0+incompatible",
+        "version": "v2.2.0+incompatible",
+    },
+    "com_github_burntsushi_toml": {
+        "filename": "com_github_burntsushi_toml__v0.3.1.zip",
+        "importpath": "github.com/BurntSushi/toml",
+        "sha256": "815c6e594745f2d8842ff9a4b0569c6695e6cdfd5e07e5b3d98d06b72ca41e3c",
+        "strip_prefix": "github.com/BurntSushi/toml@v0.3.1",
+        "version": "v0.3.1",
+    },
+    "com_github_cenkalti_backoff": {
+        "filename": "com_github_cenkalti_backoff__v2.2.1+incompatible.zip",
+        "importpath": "github.com/cenkalti/backoff",
+        "sha256": "f8196815a1b4d25e5b8158029d5264801fc8aa5ff128ccf30752fd169693d43b",
+        "strip_prefix": "github.com/cenkalti/backoff@v2.2.1+incompatible",
+        "version": "v2.2.1+incompatible",
+    },
+    "com_github_census_instrumentation_opencensus_proto": {
+        "filename": "com_github_census_instrumentation_opencensus_proto__v0.2.1.zip",
+        "importpath": "github.com/census-instrumentation/opencensus-proto",
+        "sha256": "b3c09f3e635d47b4138695a547d1f2c7138f382cbe5a8b5865b66a8e08233461",
+        "strip_prefix": "github.com/census-instrumentation/opencensus-proto@v0.2.1",
+        "version": "v0.2.1",
+    },
+    "com_github_cespare_xxhash_v2": {
+        "filename": "com_github_cespare_xxhash_v2__v2.1.1.zip",
+        "importpath": "github.com/cespare/xxhash/v2",
+        "sha256": "5baa031c72e73e42617f0fd74e7d813344850bd6a6073381b6a4160a5e9cb59e",
+        "strip_prefix": "github.com/cespare/xxhash/v2@v2.1.1",
+        "version": "v2.1.1",
+    },
+    "com_github_client9_misspell": {
+        "filename": "com_github_client9_misspell__v0.3.4.zip",
+        "importpath": "github.com/client9/misspell",
+        "sha256": "a3af206372e131dd10a68ac470c66a1b18eaf51c6afacb55b2e2a06e39b90728",
+        "strip_prefix": "github.com/client9/misspell@v0.3.4",
+        "version": "v0.3.4",
+    },
+    "com_github_cncf_udpa_go": {
+        "filename": "com_github_cncf_udpa_go__v0.0.0-20210930031921-04548b0d99d4.zip",
+        "importpath": "github.com/cncf/udpa/go",
+        "sha256": "a449fa94e58117a79c17577e39f72f695c4876f74cbd9142d512278192ca90aa",
+        "strip_prefix": "github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4",
+        "version": "v0.0.0-20210930031921-04548b0d99d4",
+    },
+    "com_github_cncf_xds_go": {
+        "filename": "com_github_cncf_xds_go__v0.0.0-20211011173535-cb28da3451f1.zip",
+        "importpath": "github.com/cncf/xds/go",
+        "sha256": "eb86281e1e9cf6f83d25edbec0e3fd690570efa3414866d14c6a32b44931375d",
+        "strip_prefix": "github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1",
+        "version": "v0.0.0-20211011173535-cb28da3451f1",
+    },
+    "com_github_davecgh_go_spew": {
+        "filename": "com_github_davecgh_go_spew__v1.1.0.zip",
+        "importpath": "github.com/davecgh/go-spew",
+        "sha256": "0b5a691aeb8b6af31bd2bb640973ea7e8bf1ed9bc5889da220bf44dc06d9692c",
+        "strip_prefix": "github.com/davecgh/go-spew@v1.1.0",
+        "version": "v1.1.0",
+    },
+    "com_github_envoyproxy_go_control_plane": {
+        "filename": "com_github_envoyproxy_go_control_plane__v0.9.10-0.20210907150352-cf90f659a021.zip",
+        "importpath": "github.com/envoyproxy/go-control-plane",
+        "sha256": "41dc70a8e658cb8945fa0de289d25dd7a608e99929bae144776781401dec507a",
+        "strip_prefix": "github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021",
+        "version": "v0.9.10-0.20210907150352-cf90f659a021",
+    },
+    "com_github_envoyproxy_protoc_gen_validate": {
+        "filename": "com_github_envoyproxy_protoc_gen_validate__v0.1.0.zip",
+        "importpath": "github.com/envoyproxy/protoc-gen-validate",
+        "sha256": "ec5261f3bbc426d71e2be4c76063ba12460c5d27845d630763e9e911ec4768af",
+        "strip_prefix": "github.com/envoyproxy/protoc-gen-validate@v0.1.0",
+        "version": "v0.1.0",
+    },
+    "com_github_ghodss_yaml": {
+        "filename": "com_github_ghodss_yaml__v1.0.0.zip",
+        "importpath": "github.com/ghodss/yaml",
+        "sha256": "c3f295d23c02c0b35e4d3b29053586e737cf9642df9615da99c0bda9bbacc624",
+        "strip_prefix": "github.com/ghodss/yaml@v1.0.0",
+        "version": "v1.0.0",
+    },
+    "com_github_golang_glog": {
+        "filename": "com_github_golang_glog__v0.0.0-20160126235308-23def4e6c14b.zip",
+        "importpath": "github.com/golang/glog",
+        "sha256": "36b3c522c8102dfe74ca96e474c4c361750bf2bb85bc3cefe4f074c07d6825a9",
+        "strip_prefix": "github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b",
+        "version": "v0.0.0-20160126235308-23def4e6c14b",
+    },
+    "com_github_golang_mock": {
+        "filename": "com_github_golang_mock__v1.1.1.zip",
+        "importpath": "github.com/golang/mock",
+        "sha256": "636fd21575ebdfbebd53045802a40c780fdab33c6130cea9279346898286f1ca",
+        "strip_prefix": "github.com/golang/mock@v1.1.1",
+        "version": "v1.1.1",
+    },
+    "com_github_golang_protobuf": {
+        "filename": "com_github_golang_protobuf__v1.5.2.zip",
+        "importpath": "github.com/golang/protobuf",
+        "sha256": "5d1c817bebc1202ab3b42a418e584e0008e8027baf212ce69c2ae3e9e7b8c64b",
+        "strip_prefix": "github.com/golang/protobuf@v1.5.2",
+        "version": "v1.5.2",
+    },
+    "com_github_google_go_cmp": {
+        "filename": "com_github_google_go_cmp__v0.5.5.zip",
+        "importpath": "github.com/google/go-cmp",
+        "sha256": "0ee90a7194c025d849699f897d97641b8676ceca9215c96e00eaf1f0e6e953ad",
+        "strip_prefix": "github.com/google/go-cmp@v0.5.5",
+        "version": "v0.5.5",
+    },
+    "com_github_google_go_querystring": {
+        "filename": "com_github_google_go_querystring__v1.1.0.zip",
+        "importpath": "github.com/google/go-querystring",
+        "sha256": "a6aafc01f5602e6177928751074e325792a654e1d92f0e238b8e8739656dd72b",
+        "strip_prefix": "github.com/google/go-querystring@v1.1.0",
+        "version": "v1.1.0",
+    },
+    "com_github_google_uuid": {
+        "filename": "com_github_google_uuid__v1.1.2.zip",
+        "importpath": "github.com/google/uuid",
+        "sha256": "5d52fee1f44cf85dbba03f1bd6098a15a131e32c0e45839b352d69aceb7babfc",
+        "strip_prefix": "github.com/google/uuid@v1.1.2",
+        "version": "v1.1.2",
+    },
+    "com_github_grpc_ecosystem_grpc_gateway": {
+        "filename": "com_github_grpc_ecosystem_grpc_gateway__v1.16.0.zip",
+        "importpath": "github.com/grpc-ecosystem/grpc-gateway",
+        "sha256": "377b03aef288b34ed894449d3ddba40d525dd7fb55de6e79045cdf499e7fe565",
+        "strip_prefix": "github.com/grpc-ecosystem/grpc-gateway@v1.16.0",
+        "version": "v1.16.0",
+    },
+    "com_github_pmezard_go_difflib": {
+        "filename": "com_github_pmezard_go_difflib__v1.0.0.zip",
+        "importpath": "github.com/pmezard/go-difflib",
+        "sha256": "de04cecc1a4b8d53e4357051026794bcbc54f2e6a260cfac508ce69d5d6457a0",
+        "strip_prefix": "github.com/pmezard/go-difflib@v1.0.0",
+        "version": "v1.0.0",
+    },
+    "com_github_prometheus_client_model": {
+        "filename": "com_github_prometheus_client_model__v0.0.0-20190812154241-14fe0d1b01d4.zip",
+        "importpath": "github.com/prometheus/client_model",
+        "sha256": "5d4719be47f4f69ab5bf36a04c75eb078a0f69b43a335f400c2d688ac9e61795",
+        "strip_prefix": "github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4",
+        "version": "v0.0.0-20190812154241-14fe0d1b01d4",
+    },
+    "com_github_rogpeppe_fastuuid": {
+        "filename": "com_github_rogpeppe_fastuuid__v1.2.0.zip",
+        "importpath": "github.com/rogpeppe/fastuuid",
+        "sha256": "f9b8293f5e20270e26fb4214ca7afec864de92c73d03ff62b5ee29d1db4e72a1",
+        "strip_prefix": "github.com/rogpeppe/fastuuid@v1.2.0",
+        "version": "v1.2.0",
+    },
+    "com_github_stretchr_objx": {
+        "filename": "com_github_stretchr_objx__v0.1.0.zip",
+        "importpath": "github.com/stretchr/objx",
+        "sha256": "1fa10dab404ed7fc8ed2a033f8784187d5df3513ced3841ce39e46d37850eb1d",
+        "strip_prefix": "github.com/stretchr/objx@v0.1.0",
+        "version": "v0.1.0",
+    },
+    "com_github_stretchr_testify": {
+        "filename": "com_github_stretchr_testify__v1.7.0.zip",
+        "importpath": "github.com/stretchr/testify",
+        "sha256": "5a46ccebeff510df3e2f6d3842ee79d3f68d0e7b1554cd6ee93390d68b6c6b34",
+        "strip_prefix": "github.com/stretchr/testify@v1.7.0",
+        "version": "v1.7.0",
+    },
+    "com_google_cloud_go": {
+        "filename": "com_google_cloud_go__v0.34.0.zip",
+        "importpath": "cloud.google.com/go",
+        "sha256": "27c1190dcd33c594838487544d8c3d17df4f7916fb542f5c2c9ca729ef1d9fe6",
+        "strip_prefix": "cloud.google.com/go@v0.34.0",
+        "version": "v0.34.0",
+    },
+    "in_gopkg_check_v1": {
+        "filename": "in_gopkg_check_v1__v0.0.0-20161208181325-20d25e280405.zip",
+        "importpath": "gopkg.in/check.v1",
+        "sha256": "4e1817f964ca34e545b81afda0325a5e89cf58de2e413d8207c0afddd0fdc15c",
+        "strip_prefix": "gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405",
+        "version": "v0.0.0-20161208181325-20d25e280405",
+    },
+    "in_gopkg_yaml_v2": {
+        "filename": "in_gopkg_yaml_v2__v2.2.3.zip",
+        "importpath": "gopkg.in/yaml.v2",
+        "sha256": "213403de27ae981b118ba199a3a1ddc64a82d0c9cf7534b762dc9ee5d79c5316",
+        "strip_prefix": "gopkg.in/yaml.v2@v2.2.3",
+        "version": "v2.2.3",
+    },
+    "in_gopkg_yaml_v3": {
+        "filename": "in_gopkg_yaml_v3__v3.0.0-20200313102051-9f266ea9e77c.zip",
+        "importpath": "gopkg.in/yaml.v3",
+        "sha256": "acf19ccb4fca983b234a39ef032faf9ab70e759680673bb3dff077e77fee20fe",
+        "strip_prefix": "gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c",
+        "version": "v3.0.0-20200313102051-9f266ea9e77c",
+    },
+    "io_opentelemetry_go_proto_otlp": {
+        "filename": "io_opentelemetry_go_proto_otlp__v0.7.0.zip",
+        "importpath": "go.opentelemetry.io/proto/otlp",
+        "sha256": "a7db0590bc4c5f0b9b99cc958decf644f1e5cc11e0b995dc20b3583a2215259b",
+        "strip_prefix": "go.opentelemetry.io/proto/otlp@v0.7.0",
+        "version": "v0.7.0",
+    },
+    "org_golang_google_appengine": {
+        "filename": "org_golang_google_appengine__v1.4.0.zip",
+        "importpath": "google.golang.org/appengine",
+        "sha256": "d4dba839844a92bd9355812a53f086ff3301aa8f59b29a3e2f799d27be8db71f",
+        "strip_prefix": "google.golang.org/appengine@v1.4.0",
+        "version": "v1.4.0",
+    },
+    "org_golang_google_genproto": {
+        "filename": "org_golang_google_genproto__v0.0.0-20200526211855-cb27e3aa2013.zip",
+        "importpath": "google.golang.org/genproto",
+        "sha256": "50336913c7325576ed9c3587fdcacd39094013af95c8c11736f335969136527d",
+        "strip_prefix": "google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013",
+        "version": "v0.0.0-20200526211855-cb27e3aa2013",
+    },
+    "org_golang_google_grpc": {
+        "filename": "org_golang_google_grpc__v1.43.0.zip",
+        "importpath": "google.golang.org/grpc",
+        "sha256": "19fa6e227e62e3ae9791ab81b8a784e93cc68860b7fe0e85dd8d3cfbc1b24398",
+        "strip_prefix": "google.golang.org/grpc@v1.43.0",
+        "version": "v1.43.0",
+    },
+    "org_golang_google_protobuf": {
+        "filename": "org_golang_google_protobuf__v1.26.0.zip",
+        "importpath": "google.golang.org/protobuf",
+        "sha256": "d7bc5de329bd4e803f7a2acfcbe8f2eba4ef1579485056ef569a4b245bee1208",
+        "strip_prefix": "google.golang.org/protobuf@v1.26.0",
+        "version": "v1.26.0",
+    },
+    "org_golang_x_crypto": {
+        "filename": "org_golang_x_crypto__v0.0.0-20200622213623-75b288015ac9.zip",
+        "importpath": "golang.org/x/crypto",
+        "sha256": "aeaac2684d693207a90f491b0303e881e58c014e96d27b0ebb7fe6937dfc1e76",
+        "strip_prefix": "golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9",
+        "version": "v0.0.0-20200622213623-75b288015ac9",
+    },
+    "org_golang_x_exp": {
+        "filename": "org_golang_x_exp__v0.0.0-20190121172915-509febef88a4.zip",
+        "importpath": "golang.org/x/exp",
+        "sha256": "c3a7dcc2e8117e749c6badc91d492de3ee2f5b440b30481a0a75f9d63db6fe0b",
+        "strip_prefix": "golang.org/x/exp@v0.0.0-20190121172915-509febef88a4",
+        "version": "v0.0.0-20190121172915-509febef88a4",
+    },
+    "org_golang_x_lint": {
+        "filename": "org_golang_x_lint__v0.0.0-20190313153728-d0100b6bd8b3.zip",
+        "importpath": "golang.org/x/lint",
+        "sha256": "5c7bb9792bdc4ec4cf1af525cf9998f8a958daf6495852c9a7dbb71738f2f10a",
+        "strip_prefix": "golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3",
+        "version": "v0.0.0-20190313153728-d0100b6bd8b3",
+    },
+    "org_golang_x_net": {
+        "filename": "org_golang_x_net__v0.0.0-20200822124328-c89045814202.zip",
+        "importpath": "golang.org/x/net",
+        "sha256": "22ea306ad6c9100c636c165dc05a64265d0f985452a9f1edf32b561b620ae762",
+        "strip_prefix": "golang.org/x/net@v0.0.0-20200822124328-c89045814202",
+        "version": "v0.0.0-20200822124328-c89045814202",
+    },
+    "org_golang_x_oauth2": {
+        "filename": "org_golang_x_oauth2__v0.0.0-20200107190931-bf48bf16ab8d.zip",
+        "importpath": "golang.org/x/oauth2",
+        "sha256": "661e4c30b15e488b434b19085567e581eb7bde892f04a0a3ab7ef94c0028f133",
+        "strip_prefix": "golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d",
+        "version": "v0.0.0-20200107190931-bf48bf16ab8d",
+    },
+    "org_golang_x_sync": {
+        "filename": "org_golang_x_sync__v0.0.0-20190423024810-112230192c58.zip",
+        "importpath": "golang.org/x/sync",
+        "sha256": "dc105c2b4d6c7ab48e54946ce2f624e8d1f5d47270eff1e88fed06cc65f91fb4",
+        "strip_prefix": "golang.org/x/sync@v0.0.0-20190423024810-112230192c58",
+        "version": "v0.0.0-20190423024810-112230192c58",
+    },
+    "org_golang_x_sys": {
+        "filename": "org_golang_x_sys__v0.0.0-20200323222414-85ca7c5b95cd.zip",
+        "importpath": "golang.org/x/sys",
+        "sha256": "d00ccd67cf0f2dd8622ed2721b8824fcbaf4f5730f47387fd5e39adbd5f6972e",
+        "strip_prefix": "golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd",
+        "version": "v0.0.0-20200323222414-85ca7c5b95cd",
+    },
+    "org_golang_x_text": {
+        "filename": "org_golang_x_text__v0.3.0.zip",
+        "importpath": "golang.org/x/text",
+        "sha256": "ea3068395503d3c7ef8ce16a286f75c8c93882c25a66c2aa6c8e2ad4da7a9ae0",
+        "strip_prefix": "golang.org/x/text@v0.3.0",
+        "version": "v0.3.0",
+    },
+    "org_golang_x_tools": {
+        "filename": "org_golang_x_tools__v0.0.0-20190524140312-2c0ae7006135.zip",
+        "importpath": "golang.org/x/tools",
+        "sha256": "86687e8cd5adccf8809ba031e59146d0c89047b6267aacc785ffc20b0ce6b735",
+        "strip_prefix": "golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135",
+        "version": "v0.0.0-20190524140312-2c0ae7006135",
+    },
+    "org_golang_x_xerrors": {
+        "filename": "org_golang_x_xerrors__v0.0.0-20200804184101-5ec99f83aff1.zip",
+        "importpath": "golang.org/x/xerrors",
+        "sha256": "380aaa3368ae165628bb487cf4e695a55c1420072b8b7a6f59c122f6a23bb255",
+        "strip_prefix": "golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1",
+        "version": "v0.0.0-20200804184101-5ec99f83aff1",
+    },
 }
diff --git a/tools/go/mirror_go_repos.py b/tools/go/mirror_go_repos.py
index dc160fa..52e9e26 100644
--- a/tools/go/mirror_go_repos.py
+++ b/tools/go/mirror_go_repos.py
@@ -16,7 +16,10 @@
 from typing import List, Dict
 import urllib.request
 
-import tools.go.mirror_lib
+from bazel_tools.tools.python.runfiles import runfiles
+
+# Need a fully qualified import here because @bazel_tools interferes.
+import org_frc971.tools.go.mirror_lib
 
 GO_DEPS_WWWW_DIR = "/var/www/html/files/frc971/Build-Dependencies/go_deps"
 
@@ -111,7 +114,7 @@
 
     os.chdir(os.environ["BUILD_WORKSPACE_DIRECTORY"])
 
-    repos = tools.go.mirror_lib.parse_go_repositories(args.go_deps_bzl)
+    repos = org_frc971.tools.go.mirror_lib.parse_go_repositories(args.go_deps_bzl)
 
     if args.ssh_host:
         existing_mirrored_repos = get_existing_mirrored_repos(args.ssh_host)
@@ -136,9 +139,20 @@
     with open(args.go_mirrors_bzl, "w") as file:
         file.write("# This file is auto-generated. Do not edit.\n")
         file.write("GO_MIRROR_INFO = ")
-        json.dump(cached_info, file, indent=2, sort_keys=True)
+        # Format as JSON first. It's parsable as Starlark.
+        json.dump(cached_info, file, indent=4, sort_keys=True)
         file.write("\n")
 
 
+    # Properly format the file now so that the linter doesn't complain.
+    r = runfiles.Create()
+    subprocess.run(
+        [
+            r.Rlocation("com_github_bazelbuild_buildtools/buildifier/buildifier_/buildifier"),
+            args.go_mirrors_bzl,
+        ],
+        check=True)
+
+
 if __name__ == "__main__":
     sys.exit(main(sys.argv))
diff --git a/tools/go/mirrored_go_deps.bzl b/tools/go/mirrored_go_deps.bzl
index d77ce5c..7839f4d 100644
--- a/tools/go/mirrored_go_deps.bzl
+++ b/tools/go/mirrored_go_deps.bzl
@@ -30,7 +30,6 @@
             version = version,
         )
 
-
 def mirrored_go_dependencies():
     """Sets up the Go dependencies we've mirrored."""
     for name in GO_MIRROR_INFO:
diff --git a/tools/lint/BUILD b/tools/lint/BUILD
index 80b4aa1..d33d786 100644
--- a/tools/lint/BUILD
+++ b/tools/lint/BUILD
@@ -12,11 +12,24 @@
 )
 
 sh_binary(
+    name = "buildifier",
+    srcs = ["buildifier.sh"],
+    data = [
+        "@com_github_bazelbuild_buildtools//buildifier",
+    ],
+    target_compatible_with = ["@platforms//cpu:x86_64"],
+    deps = [
+        "@bazel_tools//tools/bash/runfiles",
+    ],
+)
+
+sh_binary(
     name = "run-ci",
     srcs = [
         "run-ci.sh",
     ],
     data = [
+        ":buildifier",
         ":gofmt",
         "//:gazelle-runner",
         "//tools/go:tweak_gazelle_go_deps",
@@ -28,6 +41,7 @@
         #   /var/lib/buildkite-agent/.cache/go-build: permission denied
         "RUNNING_IN_CI": "1" if RUNNING_IN_CI else "0",
     },
+    target_compatible_with = ["@platforms//cpu:x86_64"],
     deps = [
         "@bazel_tools//tools/bash/runfiles",
     ],
diff --git a/tools/lint/buildifier.sh b/tools/lint/buildifier.sh
new file mode 100755
index 0000000..c6bbd5d
--- /dev/null
+++ b/tools/lint/buildifier.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# --- begin runfiles.bash initialization v2 ---
+# Copy-pasted from the Bazel Bash runfiles library v2.
+set -uo pipefail; f=bazel_tools/tools/bash/runfiles/runfiles.bash
+source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \
+  source "$0.runfiles/$f" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
+  { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
+# --- end runfiles.bash initialization v2 ---
+
+readonly BUILDIFIER="$(rlocation com_github_bazelbuild_buildtools/buildifier/buildifier_/buildifier)"
+
+# Run everything from the root of the tree.
+cd "${BUILD_WORKSPACE_DIRECTORY}"
+
+# Find all the Starlark files in the repo.
+starlark_files=($(git ls-tree --name-only --full-tree -r @ \
+    | grep -v '^third_party/' \
+    | (grep \
+        -e '\.bzl$' \
+        -e '\.BUILD$' \
+        -e '^BUILD$' \
+        -e '/BUILD$' \
+        -e '/BUILD.bazel$' \
+        -e '^WORKSPACE$' \
+        || :)))
+
+# If we have any Starlark files, format them.
+if ((${#starlark_files[@]} > 0)); then
+    "${BUILDIFIER}" --lint=fix "${starlark_files[@]}"
+    "${BUILDIFIER}" --lint=warn \
+        --warnings=-module-docstring,-function-docstring,-function-docstring-args,-rule-impl-return,-no-effect,-provider-params,-unnamed-macro,-positional-args \
+        "${starlark_files[@]}"
+fi
diff --git a/tools/lint/run-ci.sh b/tools/lint/run-ci.sh
index 48c0960..6228552 100755
--- a/tools/lint/run-ci.sh
+++ b/tools/lint/run-ci.sh
@@ -50,6 +50,10 @@
     "${tweaker}" ./go_deps.bzl
 }
 
+buildifier() {
+    ./tools/lint/buildifier
+}
+
 git_status_is_clean() {
     cd "${BUILD_WORKSPACE_DIRECTORY}"
     if ! git diff --quiet; then
@@ -65,6 +69,7 @@
     update_repos
     gazelle
     tweak_gazelle_go_deps
+    buildifier
     git_status_is_clean  # This must the last linter.
 )
 
diff --git a/y2014/control_loops/claw/BUILD b/y2014/control_loops/claw/BUILD
index d947f6b..21be558 100644
--- a/y2014/control_loops/claw/BUILD
+++ b/y2014/control_loops/claw/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "claw_goal_fbs",
     srcs = [
diff --git a/y2014/control_loops/shooter/BUILD b/y2014/control_loops/shooter/BUILD
index d4051ab..f3093ea 100644
--- a/y2014/control_loops/shooter/BUILD
+++ b/y2014/control_loops/shooter/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "shooter_goal_fbs",
     srcs = [
diff --git a/y2014/queues/BUILD b/y2014/queues/BUILD
index 294e2be..87a0de4 100644
--- a/y2014/queues/BUILD
+++ b/y2014/queues/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "auto_mode_fbs",
     srcs = [
diff --git a/y2014_bot3/control_loops/rollers/BUILD b/y2014_bot3/control_loops/rollers/BUILD
index 4f1fcc7..ccbd94d 100644
--- a/y2014_bot3/control_loops/rollers/BUILD
+++ b/y2014_bot3/control_loops/rollers/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "rollers_goal_fbs",
     srcs = [
diff --git a/y2016/actors/BUILD b/y2016/actors/BUILD
index 375f6c6..403cfa8 100644
--- a/y2016/actors/BUILD
+++ b/y2016/actors/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 filegroup(
     name = "binaries",
     srcs = [
diff --git a/y2016/control_loops/shooter/BUILD b/y2016/control_loops/shooter/BUILD
index b00f2e8..5205adb 100644
--- a/y2016/control_loops/shooter/BUILD
+++ b/y2016/control_loops/shooter/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "shooter_goal_fbs",
     srcs = [
diff --git a/y2016/control_loops/superstructure/BUILD b/y2016/control_loops/superstructure/BUILD
index 8825850..5f18405 100644
--- a/y2016/control_loops/superstructure/BUILD
+++ b/y2016/control_loops/superstructure/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [
diff --git a/y2016/queues/BUILD b/y2016/queues/BUILD
index 337ea96..43694d6 100644
--- a/y2016/queues/BUILD
+++ b/y2016/queues/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "ball_detector_fbs",
     srcs = [
diff --git a/y2016/vision/BUILD b/y2016/vision/BUILD
index 2a8031d..04e7ac7 100644
--- a/y2016/vision/BUILD
+++ b/y2016/vision/BUILD
@@ -1,6 +1,6 @@
 load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
-load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary")
 load("//tools:platforms.bzl", "platforms")
 
 flatbuffer_cc_library(
diff --git a/y2016/vision/tools/BUILD b/y2016/vision/tools/BUILD
index 62ed6b4..48ed352 100644
--- a/y2016/vision/tools/BUILD
+++ b/y2016/vision/tools/BUILD
@@ -1,4 +1,4 @@
-load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary")
 load("//tools:platforms.bzl", "platforms")
 
 gtk_dependent_cc_binary(
diff --git a/y2017/control_loops/superstructure/BUILD b/y2017/control_loops/superstructure/BUILD
index 89fff7a..5481aa0 100644
--- a/y2017/control_loops/superstructure/BUILD
+++ b/y2017/control_loops/superstructure/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [
diff --git a/y2018/control_loops/superstructure/BUILD b/y2018/control_loops/superstructure/BUILD
index 347b427..5d64d6e 100644
--- a/y2018/control_loops/superstructure/BUILD
+++ b/y2018/control_loops/superstructure/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [
diff --git a/y2019/control_loops/drivetrain/BUILD b/y2019/control_loops/drivetrain/BUILD
index 2da69ce..a78eab9 100644
--- a/y2019/control_loops/drivetrain/BUILD
+++ b/y2019/control_loops/drivetrain/BUILD
@@ -1,6 +1,6 @@
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 load("//aos:config.bzl", "aos_config")
-load("//tools/build_rules:select.bzl", "compiler_select", "cpu_select")
+load("//tools/build_rules:select.bzl", "cpu_select")
 
 genrule(
     name = "genrule_drivetrain",
diff --git a/y2019/control_loops/superstructure/BUILD b/y2019/control_loops/superstructure/BUILD
index 765e342..6052545 100644
--- a/y2019/control_loops/superstructure/BUILD
+++ b/y2019/control_loops/superstructure/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [
diff --git a/y2019/vision/server/BUILD b/y2019/vision/server/BUILD
index c20357f..3952676 100644
--- a/y2019/vision/server/BUILD
+++ b/y2019/vision/server/BUILD
@@ -2,7 +2,6 @@
 load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
 load("//frc971/downloader:downloader.bzl", "aos_downloader_dir")
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
-load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle")
 
 ts_library(
     name = "demo",
diff --git a/y2020/BUILD b/y2020/BUILD
index db7069b..0a32370 100644
--- a/y2020/BUILD
+++ b/y2020/BUILD
@@ -1,6 +1,5 @@
 load("//frc971:downloader.bzl", "robot_downloader")
 load("//aos:config.bzl", "aos_config")
-load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 load("//tools/build_rules:template.bzl", "jinja2_template")
 
@@ -286,8 +285,6 @@
     target_compatible_with = ["@platforms//os:linux"],
 )
 
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
-
 flatbuffer_cc_library(
     name = "setpoint_fbs",
     srcs = [
diff --git a/y2020/control_loops/drivetrain/BUILD b/y2020/control_loops/drivetrain/BUILD
index d666bdc..570f0c1 100644
--- a/y2020/control_loops/drivetrain/BUILD
+++ b/y2020/control_loops/drivetrain/BUILD
@@ -1,6 +1,5 @@
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
 load("//aos:config.bzl", "aos_config")
-load("//tools/build_rules:select.bzl", "compiler_select", "cpu_select")
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
 
 genrule(
diff --git a/y2020/control_loops/superstructure/BUILD b/y2020/control_loops/superstructure/BUILD
index e5ff8dc..74ccece 100644
--- a/y2020/control_loops/superstructure/BUILD
+++ b/y2020/control_loops/superstructure/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [
diff --git a/y2020/control_loops/superstructure/shooter/BUILD b/y2020/control_loops/superstructure/shooter/BUILD
index d3b055c..4b0bf03 100644
--- a/y2020/control_loops/superstructure/shooter/BUILD
+++ b/y2020/control_loops/superstructure/shooter/BUILD
@@ -1,7 +1,7 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
+package(default_visibility = ["//visibility:public"])
+
 cc_library(
     name = "shooter_plants",
     target_compatible_with = ["@platforms//os:linux"],
diff --git a/y2020/vision/BUILD b/y2020/vision/BUILD
index bb85601..d94de5a 100644
--- a/y2020/vision/BUILD
+++ b/y2020/vision/BUILD
@@ -1,5 +1,4 @@
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
-load("//aos:config.bzl", "aos_config")
 
 flatbuffer_cc_library(
     name = "vision_fbs",
diff --git a/y2020/vision/tools/python_code/BUILD b/y2020/vision/tools/python_code/BUILD
index 7579a75..b495658 100644
--- a/y2020/vision/tools/python_code/BUILD
+++ b/y2020/vision/tools/python_code/BUILD
@@ -1,6 +1,3 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_py_library")
-load("//tools:platforms.bzl", "platforms")
-
 py_library(
     name = "train_and_match",
     srcs = ["train_and_match.py"],
diff --git a/y2021_bot3/BUILD b/y2021_bot3/BUILD
index f068dbe..07429e0 100644
--- a/y2021_bot3/BUILD
+++ b/y2021_bot3/BUILD
@@ -1,7 +1,5 @@
 load("//frc971:downloader.bzl", "robot_downloader")
 load("//aos:config.bzl", "aos_config")
-load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 
 robot_downloader(
     data = [
diff --git a/y2021_bot3/control_loops/drivetrain/BUILD b/y2021_bot3/control_loops/drivetrain/BUILD
index 2741fd2..3f9a3df 100644
--- a/y2021_bot3/control_loops/drivetrain/BUILD
+++ b/y2021_bot3/control_loops/drivetrain/BUILD
@@ -1,6 +1,3 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
-load("//tools/build_rules:select.bzl", "compiler_select", "cpu_select")
-
 genrule(
     name = "genrule_drivetrain",
     outs = [
diff --git a/y2021_bot3/control_loops/superstructure/BUILD b/y2021_bot3/control_loops/superstructure/BUILD
index d1d2684..c6b36a1 100644
--- a/y2021_bot3/control_loops/superstructure/BUILD
+++ b/y2021_bot3/control_loops/superstructure/BUILD
@@ -1,8 +1,8 @@
-package(default_visibility = ["//visibility:public"])
-
 load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
 load("@npm_bazel_typescript//:defs.bzl", "ts_library")
 
+package(default_visibility = ["//visibility:public"])
+
 flatbuffer_cc_library(
     name = "superstructure_goal_fbs",
     srcs = [