From ed82e370ed2c8ce43e5ada2fd7cd3d98654de35b Mon Sep 17 00:00:00 2001 From: Aaron Siddhartha Mondal Date: Mon, 6 May 2024 09:07:51 +0200 Subject: [PATCH] Introduce a reproducible build This is an initial take on introducing a fully hermetic, reproducible build for lucene-cuvs. Broadly speaking, it does the following: 1. Get all dependencies we need, including CUDA and a base C++ toolchain. 2. Take the base dependencies to build a Clang/LLVM toolchain that is used as host compiler for CUDA. 3. Build the C++ shared object. This also provides the infrastructure to target AMD GPUs (though the kernels need to be written first :D) Additionally this commit: - Changes raft to the new cuvs repo where applicable. - Bumps all dependencies to more or less the latest version. - Removes redundant files (pom.xml, CMakeLists.txt, obsolete headers). - Introduces pre-commit hooks for all files. --- .bazelrc | 54 + .bazelversion | 1 + .envrc | 1 + .gitignore | 26 +- BUILD.bazel | 1 + LICENSE.txt | 1 - MODULE.bazel | 134 + MODULE.bazel.lock | 4588 +++++++++++++++++ Pulumi.yaml | 11 + README.md | 120 +- cuda/BUILD.bazel | 78 + cuda/CMakeLists.txt | 48 - cuda/build.sh | 41 - cuda/cmake/thirdparty/fetch_rapids.cmake | 21 - cuda/cmake/thirdparty/get_raft.cmake | 63 - cuda/pom.xml | 101 - cuda/src/CudaIndexJni.cu | 110 +- ...ale_lucene_vectorsearch_jni_CuVSIndexJni.h | 29 - cuda/versionscript.txt | 131 + extensions.bzl | 137 + flake.lock | 410 ++ flake.nix | 170 + lucene/BUILD.bazel | 38 + lucene/demo.sh | 30 + lucene/pom.xml | 127 - lucene/query.txt | 2 +- .../vectorsearch/CuVSIndexSearcher.java | 18 +- .../LuceneVectorSearchExample.java | 30 +- .../lucene/vectorsearch/jni/CuVSIndexJni.java | 8 +- .../lucene/vectorsearch/jni/JavaUtils.java | 11 +- maven_install.json | 720 +++ patches/BUILD.bazel | 1 + patches/cccl_cub_new.diff | 22 + patches/cccl_cub_uninitialized_copy.diff | 17 + patches/cccl_thrust_allocator_new.diff | 52 + .../cutlass_disable_incompatible_unrolls.diff | 75 + patches/cutlass_fix_slice.diff | 40 + patches/cutlass_ops.diff | 47 + patches/cuvs_use_designated_initializers.diff | 110 + patches/nixpkgs_cuda_12_4_1.diff | 3240 ++++++++++++ patches/raft_fix_hostdevice_template.diff | 13 + patches/raft_fix_intrinsic_warning.diff | 13 + .../raft_ivf_pq_codepacking_bad_unroll.diff | 22 + patches/raft_l2_hostdevice.diff | 15 + patches/raft_merge_in.diff | 62 + patches/raft_topk_host_device.diff | 13 + patches/raft_variant.diff | 230 + patches/raft_variant_codepacking.diff | 55 + patches/rules_jni_public_headers.diff | 24 + pom.xml | 24 - pre-commit-hooks.nix | 69 + query.txt | 2 +- thirdparty/BUILD.bazel | 1 + thirdparty/cccl.BUILD.bazel | 27 + thirdparty/cutlass.BUILD.bazel | 17 + thirdparty/cuvs.BUILD.bazel | 106 + thirdparty/fmt.BUILD.bazel | 10 + thirdparty/global_defs.bzl | 38 + thirdparty/raft.BUILD.bazel | 330 ++ thirdparty/rmm.BUILD.bazel | 10 + thirdparty/spdlog.BUILD.bazel | 10 + 61 files changed, 11400 insertions(+), 555 deletions(-) create mode 100644 .bazelrc create mode 100644 .bazelversion create mode 100644 .envrc create mode 100644 BUILD.bazel create mode 100644 MODULE.bazel create mode 100644 MODULE.bazel.lock create mode 100644 Pulumi.yaml create mode 100644 cuda/BUILD.bazel delete mode 100644 cuda/CMakeLists.txt delete mode 100755 cuda/build.sh delete mode 100644 cuda/cmake/thirdparty/fetch_rapids.cmake delete mode 100644 cuda/cmake/thirdparty/get_raft.cmake delete mode 100644 cuda/pom.xml delete mode 100644 cuda/src/com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h create mode 100644 cuda/versionscript.txt create mode 100644 extensions.bzl create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 lucene/BUILD.bazel create mode 100755 lucene/demo.sh delete mode 100644 lucene/pom.xml create mode 100644 maven_install.json create mode 100644 patches/BUILD.bazel create mode 100644 patches/cccl_cub_new.diff create mode 100644 patches/cccl_cub_uninitialized_copy.diff create mode 100644 patches/cccl_thrust_allocator_new.diff create mode 100644 patches/cutlass_disable_incompatible_unrolls.diff create mode 100644 patches/cutlass_fix_slice.diff create mode 100644 patches/cutlass_ops.diff create mode 100644 patches/cuvs_use_designated_initializers.diff create mode 100644 patches/nixpkgs_cuda_12_4_1.diff create mode 100644 patches/raft_fix_hostdevice_template.diff create mode 100644 patches/raft_fix_intrinsic_warning.diff create mode 100644 patches/raft_ivf_pq_codepacking_bad_unroll.diff create mode 100644 patches/raft_l2_hostdevice.diff create mode 100644 patches/raft_merge_in.diff create mode 100644 patches/raft_topk_host_device.diff create mode 100644 patches/raft_variant.diff create mode 100644 patches/raft_variant_codepacking.diff create mode 100644 patches/rules_jni_public_headers.diff delete mode 100644 pom.xml create mode 100644 pre-commit-hooks.nix create mode 100644 thirdparty/BUILD.bazel create mode 100644 thirdparty/cccl.BUILD.bazel create mode 100644 thirdparty/cutlass.BUILD.bazel create mode 100644 thirdparty/cuvs.BUILD.bazel create mode 100644 thirdparty/fmt.BUILD.bazel create mode 100644 thirdparty/global_defs.bzl create mode 100644 thirdparty/raft.BUILD.bazel create mode 100644 thirdparty/rmm.BUILD.bazel create mode 100644 thirdparty/spdlog.BUILD.bazel diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 0000000..5c163e2 --- /dev/null +++ b/.bazelrc @@ -0,0 +1,54 @@ +# Don't inherit PATH and LD_LIBRARY_PATH. +build --incompatible_strict_action_env + +# Use a prebuilt JDK instead of relying on the host's java runtime. +common --java_runtime_version=remotejdk_21 +common --tool_java_runtime_version=remotejdk_21 + +# TODO(aaronmondal): Remove after https://github.com/bazelbuild/bazel/pull/22001 +build --noincompatible_sandbox_hermetic_tmp + +# Enforce C++20 as the default for rules_cc, regardless of toolchain config. +build --cxxopt=-std=c++20 --host_cxxopt=-std=c++20 + +# Since expect rules_cc targets to be mainly exec_tools, use O3. +build --cxxopt=-O3 --host_cxxopt=-O3 + +# Forbid network access unless explicitly enabled. +build --sandbox_default_allow_network=false + +# Use correct runfile locations. +build --nolegacy_external_runfiles + +# Enable sandboxing for exclusive tests like GPU performance tests. +test --incompatible_exclusive_test_sandboxed + +# Make sure rules_cc uses the correct transition mechanism. +build --incompatible_enable_cc_toolchain_resolution + +# Propagate tags such as no-remote for precompilations to downstream actions. +common --incompatible_allow_tags_propagation + +# Bzlmod configuration. +common --enable_bzlmod +common --registry=https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/ +common --registry=https://raw.githubusercontent.com/eomii/bazel-eomii-registry/main/ + +# Remote optimizations. +build --remote_build_event_upload=minimal +build --remote_download_minimal +build --nolegacy_important_outputs + +# Smaller profiling. Careful. Disabling this might explode remote cache usage. +build --slim_profile +build --experimental_profile_include_target_label +build --noexperimental_profile_include_primary_output + +# Nix-generated action env for rules_ll. +try-import %workspace%/.bazelrc.ll + +# Nix-generated flags for LRE. +try-import %workspace%/.bazelrc.lre + +# Allow user-side customization. +try-import %workspace%/.bazelrc.user diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 0000000..949d73f --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +8.0.0-pre.20240516.1 diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..2f8e1d3 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake --impure diff --git a/.gitignore b/.gitignore index b3fdf27..c60a4d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,26 @@ build -target \ No newline at end of file +target + +# Generated by Bazel +/bazel-* + +# Generated by rules_ll +/.bazelrc.ll + +# Generated by LRE +/.bazelrc.lre + +# Custom user-side configuration +/.bazelrc.user + +# Generated by direnv +/.direnv + +# Generated by the pre-commit nix flake module +/.pre-commit-config.yaml + +# Generated by `ll up` +/kustomize.yaml + +# NativeLink's local Pulumi stack. +/Pulumi.dev.yaml diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 0000000..43d649e --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1 @@ +# See `lucene` and `cuda` subdirectories. diff --git a/LICENSE.txt b/LICENSE.txt index 534e44e..24376a8 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -223,4 +223,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 0000000..bd2016d --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,134 @@ +module( + name = "lucene-cuvs", + version = "0.0.0", + compatibility_level = 0, +) + +# Platform support. A base requirement for everything else. +# +# See: https://github.com/bazelbuild/platforms +bazel_dep(name = "platforms", version = "0.0.10") + +# C++ rules. Don't use Bazel's legacy builtin rules. +# +# See: https://github.com/bazelbuild/rules_cc +bazel_dep(name = "rules_cc", version = "0.0.9") + +# Basic starlark extensions. Always good to have available. +# +# See: https://github.com/bazelbuild/bazel-skylib +bazel_dep(name = "bazel_skylib", version = "1.6.1") + +# Java rules. Don't use Bazel's legacy builtin rules. +# +# See: https://bazel.build/reference/be/java for the rules, +# https://github.com/bazelbuild/rules_java for the repository. +bazel_dep(name = "rules_java", version = "7.5.0") + +# Bug-fix to prevent an annoying debug message because of duplicate maven repos. +# +# TODO(aaronmondal): Remove this after: +# https://github.com/bazelbuild/rules_jvm_external/issues/916 +bazel_dep(name = "protobuf", version = "26.0.bcr.1") + +# Java dependencies. +# +# Run `bazel query "@maven//..."` to print available targets. +# +# See: https://github.com/bazelbuild/rules_jvm_external/blob/master/docs/bzlmod.md +bazel_dep(name = "rules_jvm_external", version = "6.1") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + artifacts = [ + "org.apache.lucene:lucene-core:9.9.0", + "org.apache.lucene:lucene-codecs:9.9.0", + "com.opencsv:opencsv:5.3", + "commons-io:commons-io:2.15.1", + "com.github.fommil:jniloader:1.1", + ], + lock_file = "//:maven_install.json", +) +use_repo(maven, "maven", "unpinned_maven") + +# JNI rules for C++/Java FFIs. +# +# We apply some visibility patching to directly access the jni headers. +# +# See: https://github.com/fmeum/rules_jni +bazel_dep(name = "rules_jni", version = "0.9.1") +git_override( + module_name = "rules_jni", + commit = "7cb9c69d4d1f9ca2fae93d21d9c3498a9d0657a0", + patch_strip = 1, + patches = ["//patches:rules_jni_public_headers.diff"], + remote = "https://github.com/fmeum/rules_jni", +) + +# The Clang/LLVM toolchain and rules for CUDA compilation. +# +# See: https://github.com/eomii/rules_ll +bazel_dep(name = "rules_ll", version = "0") +git_override( + module_name = "rules_ll", + # Note: Keep this commit in sync with the one in flake.nix. + commit = "3ee809512cfb605a00fe5eb938eab0e4f8705204", + remote = "https://github.com/eomii/rules_ll", +) + +# We need explicit access to the `@llvm-project` workspace for OpenMP. The +# `llvm_project_overlay` extension aggregates patches across all modules. This +# means that rules_ll's patches remain implicitly applied and caches are +# identical with any other project using rules_ll at the same commit. +# +# Don't mix this module up with the `llvm-project` module in the +# `bazel-central-registry`. The module we're using here is from the +# `bazel-eomii-registry`. Upstreaming the patch aggregation logic or finding +# a different solution is still a work in progress at +# https://github.com/llvm/llvm-project/pull/88927. +# +# See: https://github.com/eomii/bazel-eomii-registry/tree/main/modules/llvm-project-overlay +bazel_dep(name = "llvm-project-overlay", version = "17-init-bcr.3") + +llvm_project_overlay = use_extension( + "@llvm-project-overlay//utils/bazel:extensions.bzl", + "llvm_project_overlay", +) +use_repo( + llvm_project_overlay, + "llvm-project", +) + +# The demo dataset. Available via the `@dataset//file` Bazel target. +# +# See: https://bazel.build/rules/lib/repo/http#http_file +http_file = use_repo_rule( + "@bazel_tools//tools/build_defs/repo:http.bzl", + "http_file", +) + +http_file( + name = "dataset", + downloaded_file_path = "dataset.zip", # Must have a `.zip` extension. + integrity = "sha256-gHb64BruF4r2U+dxbdKoz1yJqHIOXzQxyrtb0va32L4=", + url = "https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip", +) + +# External dependencies. See the `thirdparty` directory for build files. +# +# See: https://bazel.build/external/extension +lucene_cuvs_deps = use_extension( + "@lucene-cuvs//:extensions.bzl", + "lucene_cuvs_dependencies", +) +use_repo( + lucene_cuvs_deps, + "cccl", # https://github.com/NVIDIA/cccl + "cutlass", # https://github.com/NVIDIA/cutlass + "cuvs", # https://github.com/rapidsai/cuvs + "fmt", # https://github.com/fmtlib/fmt + "local-remote-execution", # https://github.com/TraceMachina/nativelink/tree/main/local-remote-execution + "raft", # https://github.com/rapidsai/raft + "rmm", # https://github.com/rapidsai/rmm + "spdlog", # https://github.com/gabime/spdlog +) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock new file mode 100644 index 0000000..f3a7f98 --- /dev/null +++ b/MODULE.bazel.lock @@ -0,0 +1,4588 @@ +{ + "lockFileVersion": 10, + "registryFileHashes": { + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/abseil-cpp/20230802.0.bcr.1/source.json": "14892cc698e02ffedf4967546e6bedb7245015906888d3465fcf27c90a26da10", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/buildozer/7.1.1.1/MODULE.bazel": "21c6a7d08e3171d3e13b003407caefe7ebe007693e217a053cc1f49f008ce010", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/buildozer/7.1.1.1/source.json": "a9ced884dedcf1c45d11052d53d854e368b05aa8fbbf0f983037fbed4d3ea4c6", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/googletest/1.14.0/source.json": "2478949479000fdd7de9a3d0107ba2c85bb5f961c3ecb1aa448f52549ce310b5", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/llvm-project-overlay/17-init-bcr.3/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/protobuf/26.0.bcr.1/MODULE.bazel": "8f04d38c2da40a3715ff6bdce4d32c5981e6432557571482d43a62c31a24c2cf", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/protobuf/26.0.bcr.1/source.json": "3320fdcc24aee4fb46cb1f1ea2773c6a440dbd791211790588ed126ddf466806", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/6.3.0/MODULE.bazel": "a97c7678c19f236a956ad260d59c86e10a463badb7eb2eda787490f4c969b963", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/7.5.0/MODULE.bazel": "b329bf9aa07a58bd1ccb37bfdcd9528acf6f12712efb38c3a8553c2cc2494806", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/7.6.0/MODULE.bazel": "14cd36d05b60aa53c345b5b436c1c4a1f1dec58e82e480ffb9657038e323d330", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_java/7.6.0/source.json": "8b30f40830e97599bd949dabb9ad19c5b0eecdf51f25c73c8ae347a7a2981a08", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_jvm_external/6.1/source.json": "a09b21cd4478cdeec7153220fdc3b0c7118445beb6881ee8b17cb6aa9acd8947", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_kotlin/1.9.0/source.json": "e4e8566acbfc02cc701c169d756ee99bca1c395a0d1dc69293a21a5ef14cac43", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_python/0.23.1/source.json": "a6d9965700e3bd75df4e19140c0e651851bb720d8b9eb280ecd1ee44b92d7646", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/stardoc/0.6.2/MODULE.bazel": "7060193196395f5dd668eda046ccbeacebfd98efc77fed418dbe2b82ffaa39fd", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/stardoc/0.6.2/source.json": "d2ff8063b63b4a85e65fe595c4290f99717434fa9f95b4748a79a7d04dfed349", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/zlib/1.3/MODULE.bazel": "6a9c02f19a24dcedb05572b2381446e27c272cd383aed11d41d99da9e3167a72", + "https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c", + "https://raw.githubusercontent.com/eomii/bazel-eomii-registry/main/bazel_registry.json": "8772c589ab6e2ecd02ad08abd413dfdc9bd1a6bf52cba14fcc4a1058eed50860", + "https://raw.githubusercontent.com/eomii/bazel-eomii-registry/main/modules/llvm-project-overlay/17-init-bcr.3/MODULE.bazel": "8f0774d8ac03d8a20f4c2365b7c0263504e84e2079c4a1ca308846282147aeb1", + "https://raw.githubusercontent.com/eomii/bazel-eomii-registry/main/modules/llvm-project-overlay/17-init-bcr.3/source.json": "f09954d3aac6cdef144abab77e45ce3d344e76d176cd3fbb95838a465ccc7a6b" + }, + "selectedYankedVersions": {}, + "moduleExtensions": { + "//:extensions.bzl%lucene_cuvs_dependencies": { + "general": { + "bzlTransitiveDigest": "EEIodE/ZxKThj2j6RHMdaqo4VpHqU840YpYbvcKOd44=", + "usagesDigest": "BUgcf5mo3aiAU6fD3xdTnE7i6KdcJm/mq3b7dcsTA+M=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "cuvs": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:cuvs.BUILD.bazel", + "integrity": "sha256-tf2mzQ+kw8acVImSSdZFxdnABwJz5MbOiDfrXQo5JC4=", + "strip_prefix": "cuvs-d44aa39f9b75dee3d3f5fdc038188333c1d177ac", + "urls": [ + "https://github.com/rapidsai/cuvs/archive/d44aa39f9b75dee3d3f5fdc038188333c1d177ac.zip" + ], + "patches": [ + "@@//patches:cuvs_use_designated_initializers.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "cutlass": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:cutlass.BUILD.bazel", + "integrity": "sha256-zyDLhADi8hHx1eKtZ3oen+WF1aGUVk1Wud50GF7chTo=", + "strip_prefix": "cutlass-3.5.0", + "urls": [ + "https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.5.0.zip" + ], + "patches": [ + "@@//patches:cutlass_ops.diff", + "@@//patches:cutlass_fix_slice.diff", + "@@//patches:cutlass_disable_incompatible_unrolls.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "rmm": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:rmm.BUILD.bazel", + "integrity": "sha256-VdgRWpgHdbI/PjUiXmLiYYUaYB1k47nTv22JtU660Aw=", + "strip_prefix": "rmm-32cd537a55b81726940bb698013a0d684e338c86", + "urls": [ + "https://github.com/rapidsai/rmm/archive/32cd537a55b81726940bb698013a0d684e338c86.zip" + ], + "patch_args": [ + "-p1" + ] + } + }, + "cccl": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:cccl.BUILD.bazel", + "integrity": "sha256-M4X16I7csfMzkUNGvKRt6h2CjPqEI4xPU2PiEimaKO4=", + "strip_prefix": "cccl-6a721a0057b4d7759731532fd8248a03d0276ec9", + "urls": [ + "https://github.com/NVIDIA/cccl/archive/6a721a0057b4d7759731532fd8248a03d0276ec9.zip" + ], + "patches": [ + "@@//patches:cccl_cub_new.diff", + "@@//patches:cccl_thrust_allocator_new.diff", + "@@//patches:cccl_cub_uninitialized_copy.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "raft": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:raft.BUILD.bazel", + "integrity": "sha256-AEZINCR9AyYafw+5TSfiJb5/QGxwpengdn9NXGaE/jA=", + "strip_prefix": "raft-da3b9a9c442396a43a70efa725ca7f489605d632", + "urls": [ + "https://github.com/rapidsai/raft/archive/da3b9a9c442396a43a70efa725ca7f489605d632.zip" + ], + "patches": [ + "@@//patches:raft_fix_hostdevice_template.diff", + "@@//patches:raft_topk_host_device.diff", + "@@//patches:raft_fix_intrinsic_warning.diff", + "@@//patches:raft_merge_in.diff", + "@@//patches:raft_variant.diff", + "@@//patches:raft_variant_codepacking.diff", + "@@//patches:raft_l2_hostdevice.diff", + "@@//patches:raft_ivf_pq_codepacking_bad_unroll.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "local-remote-execution": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://github.com/TraceMachina/nativelink/archive/8a632953b86395088e4ab8c1e160a650739549b7.zip" + ], + "integrity": "sha256-L+I3608IU4mDSqLWJ6zJV5zA17zGVay8c8TvmLkoneY=", + "strip_prefix": "nativelink-8a632953b86395088e4ab8c1e160a650739549b7/local-remote-execution" + } + }, + "spdlog": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:spdlog.BUILD.bazel", + "integrity": "sha256-Qp3986/BmE/rWeQUNTwhwRC8eWCfbXiZ1S9qo4hkb20=", + "strip_prefix": "spdlog-1.14.1", + "urls": [ + "https://github.com/gabime/spdlog/archive/refs/tags/v1.14.1.zip" + ] + } + }, + "fmt": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@//thirdparty:fmt.BUILD.bazel", + "integrity": "sha256-MSFRotE8gyf1ycWGrGz3zdwWWOj1Ptrg7FZQnI+lFsk=", + "strip_prefix": "fmt-10.2.1", + "urls": [ + "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "AAfU9BtDiq1mZcnu0VfKlzUtuPgONZ1st9DHgA8N/6Y=", + "usagesDigest": "aLmqbvowmHkkBPve05yyDNGN7oh7QE9kBADr3QIZTZs=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_apple_cc": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf", + "attributes": {} + }, + "local_config_apple_cc_toolchains": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf_toolchains", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [ + [ + "apple_support~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@llvm-project-overlay~//utils/bazel:extensions.bzl%llvm_project_overlay": { + "general": { + "bzlTransitiveDigest": "uWWSg7WNQRA1HrIaTidCtSKOeuadBefdSZecSldIZuI=", + "usagesDigest": "Bfuhn5YJLcnspk3qXuwhVo+REIAiv7NXdMTiR7G2JSM=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "llvm_zstd": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@llvm-project-overlay~~llvm_project_overlay~llvm-raw//utils/bazel/third_party_build:zstd.BUILD", + "sha256": "9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4", + "strip_prefix": "zstd-1.5.5", + "urls": [ + "https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz" + ] + } + }, + "llvm_zlib": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@llvm-project-overlay~~llvm_project_overlay~llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD", + "sha256": "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731", + "strip_prefix": "zlib-ng-2.0.7", + "urls": [ + "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip" + ] + } + }, + "llvm-raw": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "# Empty.", + "sha256": "1627942a74a7397968cf251dde9485080ccf3d8a0de6a40340033fe6d00e3103", + "strip_prefix": "llvm-project-5bde8017a1109128d011510dcf4ba79140a224fe", + "urls": [ + "https://github.com/llvm/llvm-project/archive/5bde8017a1109128d011510dcf4ba79140a224fe.tar.gz" + ], + "patches": [ + "@@rules_ll~//patches:mallinfo2_patch.diff", + "@@rules_ll~//patches:rules_ll_overlay_patch.diff", + "@@rules_ll~//patches:llvm-project-fix-zlib-includes.diff", + "@@rules_ll~//patches:llvm-add-missing-cuda-cmath-header.diff", + "@@rules_ll~//patches:llvm-project-bundle-with-bash.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "llvm_terminfo": { + "bzlFile": "@@llvm-project-overlay~//utils/bazel:terminfo.bzl", + "ruleClassName": "llvm_terminfo_disable", + "attributes": {} + }, + "vulkan_headers": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@llvm-project-overlay~~llvm_project_overlay~llvm-raw//utils/bazel/third_party_build:vulkan_headers.BUILD", + "sha256": "19f491784ef0bc73caff877d11c96a48b946b5a1c805079d9006e3fbaa5c1895", + "strip_prefix": "Vulkan-Headers-9bd3f561bcee3f01d22912de10bb07ce4e23d378", + "urls": [ + "https://github.com/KhronosGroup/Vulkan-Headers/archive/9bd3f561bcee3f01d22912de10bb07ce4e23d378.tar.gz" + ] + } + }, + "llvm-project": { + "bzlFile": "@@llvm-project-overlay~//utils/bazel:configure.bzl", + "ruleClassName": "llvm_configure", + "attributes": { + "targets": [ + "AMDGPU", + "NVPTX", + "WebAssembly", + "X86", + "AArch64", + "ARM", + "AVR", + "BPF", + "Hexagon", + "Lanai", + "Mips", + "MSP430", + "PowerPC", + "RISCV", + "Sparc", + "SystemZ", + "VE", + "XCore" + ] + } + }, + "vulkan_sdk": { + "bzlFile": "@@llvm-project-overlay~//utils/bazel:vulkan_sdk.bzl", + "ruleClassName": "vulkan_sdk_setup", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [ + [ + "llvm-project-overlay~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@platforms//host:extension.bzl%host_platform": { + "general": { + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "V1R2Y2oMxKNfx2WCWpSCaUV1WefW1o8HZGm3v1vHgY4=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "host_platform": { + "bzlFile": "@@platforms//host:extension.bzl", + "ruleClassName": "host_platform_repo", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [] + } + }, + "@@rules_jvm_external~//:extensions.bzl%maven": { + "general": { + "bzlTransitiveDigest": "hZxBVNTnBqNAWx+4onSsCJN+4BsfJRabynPZIaDu50o=", + "usagesDigest": "cvfGnHsuJ9L3TgJxmGmdkowVWQiBNYhTFB76RBhZES0=", + "recordedFileInputs": { + "@@stardoc~//maven_install.json": "de0bfa778b4ed6aebb77509362dd87ab8d20fc7c7c18d2a7429cdfee03949a21", + "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "0bfbc915d9155df44d7a3b216e8f3c1fbcd110e358dd07637dc393583a5227e8", + "@@//maven_install.json": "0dd87e9c154970b23edccd0d81a318c558275ee19ad77854667acd17b4192bbd" + }, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "commons_codec_commons_codec_jar_sources_1_16_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1b9d7336bef950cd45dbefd5351222ee88e4efde09a9454e851a458c34f813be", + "urls": [ + "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.16.1/commons-codec-1.16.1-sources.jar" + ], + "downloaded_file_path": "v1/commons-codec/commons-codec/1.16.1/commons-codec-1.16.1-sources.jar" + } + }, + "io_opentelemetry_opentelemetry_context_1_36_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a31b52203341dafae2d9b5502e3a11eb28a3297d3540be8262d6d9ed2a8d70ab", + "urls": [ + "https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-context/1.36.0/opentelemetry-context-1.36.0.jar" + ], + "downloaded_file_path": "v1/io/opentelemetry/opentelemetry-context/1.36.0/opentelemetry-context-1.36.0.jar" + } + }, + "commons_logging_commons_logging_jar_sources_1_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "44347acfe5860461728e9cb33251e97345be36f8a0dfd5c5130c172559455f41", + "urls": [ + "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2-sources.jar" + ], + "downloaded_file_path": "v1/commons-logging/commons-logging/1.2/commons-logging-1.2-sources.jar" + } + }, + "org_apache_maven_maven_model_builder_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5f96dafbc411ee4b1e8426368d0d31d05ab5a4dace69808143142a0017598721", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-model-builder/3.9.6/maven-model-builder-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-model-builder/3.9.6/maven-model-builder-3.9.6.jar" + } + }, + "io_grpc_grpc_core_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "18439902c473a2c1511e517d13b8ae796378850a8eda43787c6ba778fa90fcc5", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.62.2/grpc-core-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-core/1.62.2/grpc-core-1.62.2.jar" + } + }, + "io_grpc_grpc_util_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3c7103e6f3738571e3aeda420fe2a6ac68e354534d8b66f41897b6755b48b735", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-util/1.62.2/grpc-util-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-util/1.62.2/grpc-util-1.62.2.jar" + } + }, + "com_google_api_grpc_proto_google_iam_v1_1_32_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a3003e417eedab199cd7f5a5ebb818033c446ba8455822623eb781184a1d5811", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.32.1/proto-google-iam-v1-1.32.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-iam-v1/1.32.1/proto-google-iam-v1-1.32.1.jar" + } + }, + "com_google_googlejavaformat_google_java_format_jar_sources_1_22_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8ca9810fbf8a542b812e3e3111bae2b534f415bbec8219f6b69764af8ba19d11", + "urls": [ + "https://repo1.maven.org/maven2/com/google/googlejavaformat/google-java-format/1.22.0/google-java-format-1.22.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/googlejavaformat/google-java-format/1.22.0/google-java-format-1.22.0-sources.jar" + } + }, + "io_grpc_grpc_rls_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b298e51cbf6f71f66e8dae848c16a7764becb02b010feedd5810dfe0812017fd", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-rls/1.62.2/grpc-rls-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-rls/1.62.2/grpc-rls-1.62.2-sources.jar" + } + }, + "org_checkerframework_checker_qual_jar_sources_3_42_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "efb65eb479f61f53c6dcafbd42ed59dad09b0a0d5a7f44b7bc68df25c2dcf8fd", + "urls": [ + "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0-sources.jar" + ], + "downloaded_file_path": "v1/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0-sources.jar" + } + }, + "org_codehaus_plexus_plexus_component_annotations_jar_sources_2_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3896689e1df0a4e2707ecdce4946e37c3037fbebbb3d730873c4d9dfb6d25174", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0-sources.jar" + } + }, + "org_slf4j_log4j_over_slf4j_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "77ff3d616f87fa07545753e3ed767f0d338a8bd4398598e43d8ce09314edcb15", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/log4j-over-slf4j/2.0.12/log4j-over-slf4j-2.0.12-sources.jar" + ], + "downloaded_file_path": "v1/org/slf4j/log4j-over-slf4j/2.0.12/log4j-over-slf4j-2.0.12-sources.jar" + } + }, + "software_amazon_awssdk_netty_nio_client_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9f13494aa56f8b1dad4bbcf92912ac671b909981a3bc83b8f2378fcf2312921d", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.25.23/netty-nio-client-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/netty-nio-client/2.25.23/netty-nio-client-2.25.23.jar" + } + }, + "org_slf4j_log4j_over_slf4j_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6271f07eeab8f14321dcdfed8d1de9458198eaa3320174923d1ef3ace9048efa", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/log4j-over-slf4j/2.0.12/log4j-over-slf4j-2.0.12.jar" + ], + "downloaded_file_path": "v1/org/slf4j/log4j-over-slf4j/2.0.12/log4j-over-slf4j-2.0.12.jar" + } + }, + "software_amazon_awssdk_checksums_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7b5046deeac9c67de543211362c9bb9896c98780e264c8d428d0cfb6ba1992c8", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/checksums/2.25.23/checksums-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/checksums/2.25.23/checksums-2.25.23.jar" + } + }, + "org_apache_maven_maven_repository_metadata_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e047a67b204c434994253e2ab5bdff5fe8cb7ada9316ac3e754c39f900ea847b", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/3.9.6/maven-repository-metadata-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-repository-metadata/3.9.6/maven-repository-metadata-3.9.6.jar" + } + }, + "com_google_api_client_google_api_client_2_4_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "bc49da07c0bf1866edcbff16723b926b781f18be720549c826016dc2a74c965f", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/2.4.0/google-api-client-2.4.0.jar" + ], + "downloaded_file_path": "v1/com/google/api-client/google-api-client/2.4.0/google-api-client-2.4.0.jar" + } + }, + "io_opencensus_opencensus_api_jar_sources_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6748d57aaae81995514ad3e2fb11a95aa88e158b3f93450288018eaccf31e86b", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1-sources.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1-sources.jar" + } + }, + "org_conscrypt_conscrypt_openjdk_uber_jar_sources_2_5_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "aa1d02e65351e202e83ece0614bce1022aa1da6e77313ef7c7663ab45fa9e3a5", + "urls": [ + "https://repo1.maven.org/maven2/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2-sources.jar" + ], + "downloaded_file_path": "v1/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2-sources.jar" + } + }, + "io_perfmark_perfmark_api_jar_sources_0_27_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "311551ab29cf51e5a8abee6a019e88dee47d1ea71deb9fcd3649db9c51b237bc", + "urls": [ + "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0-sources.jar" + ], + "downloaded_file_path": "v1/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0-sources.jar" + } + }, + "com_google_escapevelocity_escapevelocity_1_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "37e76e4466836dedb864fb82355cd01c3bd21325ab642d89a0f759291b171231", + "urls": [ + "https://repo1.maven.org/maven2/com/google/escapevelocity/escapevelocity/1.1/escapevelocity-1.1.jar" + ], + "downloaded_file_path": "v1/com/google/escapevelocity/escapevelocity/1.1/escapevelocity-1.1.jar" + } + }, + "org_reactivestreams_reactive_streams_1_0_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f75ca597789b3dac58f61857b9ac2e1034a68fa672db35055a8fb4509e325f28", + "urls": [ + "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar" + ], + "downloaded_file_path": "v1/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_transport_file_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "92ae9fef50476930dbbdc7fdfc3e144a8223d890ca61d8bfcfb813cafe906e66", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-transport-file/1.9.18/maven-resolver-transport-file-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-transport-file/1.9.18/maven-resolver-transport-file-1.9.18-sources.jar" + } + }, + "software_amazon_awssdk_http_auth_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6efb4d99f9accff4e8cf52fa1d2e5f05ad48319f704f0c522df61bae20c29704", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-spi/2.25.23/http-auth-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth-spi/2.25.23/http-auth-spi-2.25.23-sources.jar" + } + }, + "org_apache_commons_commons_lang3_3_12_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d919d904486c037f8d193412da0c92e22a9fa24230b9d67a57855c5c31c7e94e", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar" + ], + "downloaded_file_path": "v1/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar" + } + }, + "org_slf4j_slf4j_api_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f05052e5924887edee5ba8228d210e763f85032e2b58245a37fa71e049950787", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar" + ], + "downloaded_file_path": "v1/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar" + } + }, + "software_amazon_awssdk_checksums_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5eadd42e3448d1f9bc90a419b928c748312c1b258f1423ddcca65626101b8ac0", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/checksums/2.25.23/checksums-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/checksums/2.25.23/checksums-2.25.23-sources.jar" + } + }, + "io_netty_netty_codec_http_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2bdb276d40c2293014638a7e065bea977b574fb6a978e1197f514f2e13b695a6", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.108.Final/netty-codec-http-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec-http/4.1.108.Final/netty-codec-http-4.1.108.Final.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_transport_file_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9bbb55dd10c31d474caa6558ec304f862877027db31bc13a7352149f8f3224e5", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-transport-file/1.9.18/maven-resolver-transport-file-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-transport-file/1.9.18/maven-resolver-transport-file-1.9.18.jar" + } + }, + "software_amazon_awssdk_http_auth_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "14a956d6fe6fc3c2ee4acc1fcc30b898f878a8c11879c85782d929c8f58fba48", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth/2.25.23/http-auth-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth/2.25.23/http-auth-2.25.23-sources.jar" + } + }, + "org_apache_maven_maven_settings_builder_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e97cc245e4ef833c589fce0b5a8a4d77e3a0e01e619c57b5342c5e16d37a791d", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-settings-builder/3.9.6/maven-settings-builder-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-settings-builder/3.9.6/maven-settings-builder-3.9.6.jar" + } + }, + "com_google_api_gax_httpjson_jar_sources_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "48c50e2c9beb9525ab93dc58faee51653575053170708e8d49ef8cb11ecd4c20", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/2.46.1/gax-httpjson-2.46.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax-httpjson/2.46.1/gax-httpjson-2.46.1-sources.jar" + } + }, + "org_apache_maven_maven_builder_support_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e1f4d2784459ce8a34b9dae1829a1999b569e483e21ee9faa7368691e729296e", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-builder-support/3.9.6/maven-builder-support-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-builder-support/3.9.6/maven-builder-support-3.9.6.jar" + } + }, + "com_google_guava_guava_31_1_jre": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar" + ], + "downloaded_file_path": "v1/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar" + } + }, + "org_apache_maven_maven_plugin_api_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3fd664f7e511463561bc343822347618b8ca0952db85da785809166f0a762411", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/3.9.6/maven-plugin-api-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-plugin-api/3.9.6/maven-plugin-api-3.9.6.jar" + } + }, + "software_amazon_awssdk_utils_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "85e15844be1276ebc705f210e22d6ea6d05f773762022bbcf95c4547a55af322", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.25.23/utils-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/utils/2.25.23/utils-2.25.23.jar" + } + }, + "com_google_code_gson_gson_2_10_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4241c14a7727c34feea6507ec801318a3d4a90f070e4525681079fb94ee4c593", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar" + ], + "downloaded_file_path": "v1/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar" + } + }, + "io_opencensus_opencensus_proto_jar_sources_0_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7f077c177e1241e3afec0b42d7f64b89b18c2ef37a29651fc6d2a46315a3ca42", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0-sources.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0-sources.jar" + } + }, + "org_slf4j_jcl_over_slf4j_jar_sources_1_7_36": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "aa7a3dc5ff8fd8ca2e8b305d54442a99a722af90777227eb3ce4226c2ba47037", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36-sources.jar" + ], + "downloaded_file_path": "v1/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36-sources.jar" + } + }, + "io_netty_netty_codec_http2_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4bac91d9d56373576eb5e02b94fba41e5a276448a4f31762e419a5d11710e9d3", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.108.Final/netty-codec-http2-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec-http2/4.1.108.Final/netty-codec-http2-4.1.108.Final-sources.jar" + } + }, + "software_amazon_awssdk_crt_core_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "134086983f8877a404ff7f83b7d17e2a25c85c7b6932dd414b560f0a27a7490d", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/crt-core/2.25.23/crt-core-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/crt-core/2.25.23/crt-core-2.25.23.jar" + } + }, + "org_apache_httpcomponents_httpcore_4_4_16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar" + ], + "downloaded_file_path": "v1/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar" + } + }, + "com_google_http_client_google_http_client_apache_v2_jar_sources_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8e0ce02afaa550eec2a0e85af0b274107cd0a5fd81be223f4013d0d5cf491cb1", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-apache-v2/1.44.1/google-http-client-apache-v2-1.44.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-apache-v2/1.44.1/google-http-client-apache-v2-1.44.1-sources.jar" + } + }, + "software_amazon_awssdk_identity_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "344642bcdfa2cd82ac617279219d06c4f6cd2d0901ebb2c03af1fe94bff19442", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/identity-spi/2.25.23/identity-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/identity-spi/2.25.23/identity-spi-2.25.23-sources.jar" + } + }, + "io_opentelemetry_opentelemetry_api_jar_sources_1_36_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3921744942d746fd4e6131dd4db1c37cb754af39d525e9196c077445a5071c85", + "urls": [ + "https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-api/1.36.0/opentelemetry-api-1.36.0-sources.jar" + ], + "downloaded_file_path": "v1/io/opentelemetry/opentelemetry-api/1.36.0/opentelemetry-api-1.36.0-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_api_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ebfb9e1dfeea3c2017905184581e007874b4eaac9d28bfffcfe5133d70ac6339", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.9.18/maven-resolver-api-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-api/1.9.18/maven-resolver-api-1.9.18.jar" + } + }, + "io_grpc_grpc_auth_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6a16c43d956c79190486d3d0b951836a6706b3282b5d275a9bc4d33eb79d5618", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.62.2/grpc-auth-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-auth/1.62.2/grpc-auth-1.62.2.jar" + } + }, + "com_google_http_client_google_http_client_gson_jar_sources_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "cdf5a5723a3df947d2dcae9b2b4aa546c9e10907fc35961a0b147f6103a7f65f", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson/1.44.1/google-http-client-gson-1.44.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-gson/1.44.1/google-http-client-gson-1.44.1-sources.jar" + } + }, + "commons_beanutils_commons_beanutils_1_9_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7d938c81789028045c08c065e94be75fc280527620d5bd62b519d5838532368a", + "urls": [ + "https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar" + ], + "downloaded_file_path": "v1/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar" + } + }, + "org_apache_maven_maven_core_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f1c40a4c2fa9f37518604b12ef40a2a8f8bf8747f5cb9c0e84725c7b8d6cf434", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-core/3.9.6/maven-core-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-core/3.9.6/maven-core-3.9.6-sources.jar" + } + }, + "io_netty_netty_resolver_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "60b7eab02a29079044bde0eb4129a8f039b746659bf387b5ca2b0d70c21854b5", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.108.Final/netty-resolver-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-resolver/4.1.108.Final/netty-resolver-4.1.108.Final-sources.jar" + } + }, + "kotlin_rules_maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "user_provided_name": "kotlin_rules_maven", + "repositories": [ + "{ \"repo_url\": \"https://maven-central.storage.googleapis.com/repos/central/data/\" }", + "{ \"repo_url\": \"https://maven.google.com\" }", + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }", + "{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13-beta-3\" }", + "{ \"group\": \"com.google.protobuf\", \"artifact\": \"protobuf-java\", \"version\": \"3.6.0\" }", + "{ \"group\": \"com.google.protobuf\", \"artifact\": \"protobuf-java-util\", \"version\": \"3.6.0\" }", + "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"27.1-jre\" }", + "{ \"group\": \"com.google.truth\", \"artifact\": \"truth\", \"version\": \"0.45\" }", + "{ \"group\": \"com.google.auto.service\", \"artifact\": \"auto-service\", \"version\": \"1.0.1\" }", + "{ \"group\": \"com.google.auto.service\", \"artifact\": \"auto-service-annotations\", \"version\": \"1.0.1\" }", + "{ \"group\": \"com.google.auto.value\", \"artifact\": \"auto-value\", \"version\": \"1.10.1\" }", + "{ \"group\": \"com.google.auto.value\", \"artifact\": \"auto-value-annotations\", \"version\": \"1.10.1\" }", + "{ \"group\": \"com.google.dagger\", \"artifact\": \"dagger\", \"version\": \"2.43.2\" }", + "{ \"group\": \"com.google.dagger\", \"artifact\": \"dagger-compiler\", \"version\": \"2.43.2\" }", + "{ \"group\": \"com.google.dagger\", \"artifact\": \"dagger-producers\", \"version\": \"2.43.2\" }", + "{ \"group\": \"javax.annotation\", \"artifact\": \"javax.annotation-api\", \"version\": \"1.3.2\" }", + "{ \"group\": \"javax.inject\", \"artifact\": \"javax.inject\", \"version\": \"1\" }", + "{ \"group\": \"org.pantsbuild\", \"artifact\": \"jarjar\", \"version\": \"1.7.2\" }", + "{ \"group\": \"org.jetbrains.kotlinx\", \"artifact\": \"atomicfu-js\", \"version\": \"0.15.2\" }", + "{ \"group\": \"org.jetbrains.kotlinx\", \"artifact\": \"kotlinx-serialization-runtime\", \"version\": \"1.0-M1-1.4.0-rc\" }" + ], + "fail_on_missing_checksum": true, + "fetch_sources": true, + "fetch_javadoc": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "use_credentials_from_home_netrc_file": false, + "resolve_timeout": 600, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "ignore_empty_files": false + } + }, + "unpinned_maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "user_provided_name": "maven", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{ \"group\": \"org.apache.lucene\", \"artifact\": \"lucene-core\", \"version\": \"9.9.0\" }", + "{ \"group\": \"org.apache.lucene\", \"artifact\": \"lucene-codecs\", \"version\": \"9.9.0\" }", + "{ \"group\": \"com.opencsv\", \"artifact\": \"opencsv\", \"version\": \"5.3\" }", + "{ \"group\": \"commons-io\", \"artifact\": \"commons-io\", \"version\": \"2.15.1\" }", + "{ \"group\": \"com.github.fommil\", \"artifact\": \"jniloader\", \"version\": \"1.1\" }" + ], + "fail_on_missing_checksum": true, + "fetch_sources": false, + "fetch_javadoc": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "use_credentials_from_home_netrc_file": false, + "maven_install_json": "@@//:maven_install.json", + "resolve_timeout": 600, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "ignore_empty_files": false + } + }, + "com_google_cloud_google_cloud_core_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6257aa0793381fd7e322f85742756b57d4cd2dcb2a67b307b18f0060f68291a7", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/2.36.1/google-cloud-core-2.36.1.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core/2.36.1/google-cloud-core-2.36.1.jar" + } + }, + "software_amazon_awssdk_s3_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d4ecd8477d9c1a3fc36fb74b846a2e515b5dd1ba85d546de7b2fb5a7ac72381a", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.25.23/s3-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/s3/2.25.23/s3-2.25.23.jar" + } + }, + "org_checkerframework_checker_qual_3_42_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ccaedd33af0b7894d9f2f3b644f4d19e43928e32902e61ac4d10777830f5aac7", + "urls": [ + "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar" + ], + "downloaded_file_path": "v1/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar" + } + }, + "software_amazon_awssdk_profiles_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5c5b723139a590e3011141ef1cd746ea66d7813c688b6ce9927fd3c552934c24", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.25.23/profiles-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/profiles/2.25.23/profiles-2.25.23-sources.jar" + } + }, + "io_grpc_grpc_protobuf_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "66a0b196318bdfd817d965d2d82b9c81dfced8eb08c0f7510fcb728d2994237a", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.62.2/grpc-protobuf-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-protobuf/1.62.2/grpc-protobuf-1.62.2.jar" + } + }, + "io_grpc_grpc_xds_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4da41475d04e82c414ceb957e744f5bf99d80c846d5c5eb504c085c563b28b2d", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-xds/1.62.2/grpc-xds-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-xds/1.62.2/grpc-xds-1.62.2.jar" + } + }, + "org_apache_maven_shared_maven_shared_utils_3_3_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7925d9c5a0e2040d24b8fae3f612eb399cbffe5838b33ba368777dc7bddf6dda", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar" + } + }, + "software_amazon_awssdk_apache_client_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f21200b038951f66a46774028212082a64fd34bbcfbe3b5574733cbeaf369762", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.25.23/apache-client-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/apache-client/2.25.23/apache-client-2.25.23.jar" + } + }, + "net_bytebuddy_byte_buddy_1_12_7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d2e46555699e70361b5471a7e142f9c67855bba6907a285177ebd8ad973775d8", + "urls": [ + "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar" + ], + "downloaded_file_path": "v1/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar" + } + }, + "org_ow2_asm_asm_9_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0", + "urls": [ + "https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar" + ], + "downloaded_file_path": "v1/org/ow2/asm/asm/9.0/asm-9.0.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_impl_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6bb9c90d007098004749c867da2eaf5785fc1139907718749c1097bdb2929bf8", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.9.18/maven-resolver-impl-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-impl/1.9.18/maven-resolver-impl-1.9.18.jar" + } + }, + "org_ow2_asm_asm_9_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2", + "urls": [ + "https://repo1.maven.org/maven2/org/ow2/asm/asm/9.1/asm-9.1.jar" + ], + "downloaded_file_path": "v1/org/ow2/asm/asm/9.1/asm-9.1.jar" + } + }, + "com_google_api_gax_grpc_jar_sources_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4b148a01ad1df4a8e9828eb241a5f829dec489eff2d5f200f6dbda02bded05d4", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax-grpc/2.46.1/gax-grpc-2.46.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax-grpc/2.46.1/gax-grpc-2.46.1-sources.jar" + } + }, + "org_apache_lucene_lucene_codecs_9_9_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8c60071387024446acaef4c2f6912d6d13fca2c9d3619b9d0745fa2463418c63", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/lucene/lucene-codecs/9.9.0/lucene-codecs-9.9.0.jar" + ], + "downloaded_file_path": "v1/org/apache/lucene/lucene-codecs/9.9.0/lucene-codecs-9.9.0.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_named_locks_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "098de7bbc5b0b26c3eff74ac30ffba6680fdab9bf4aebab95c3f5e2fe9eaeea8", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-named-locks/1.9.18/maven-resolver-named-locks-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-named-locks/1.9.18/maven-resolver-named-locks-1.9.18.jar" + } + }, + "io_netty_netty_handler_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "85e3a994544dbd5c4eb5b8c7708fb47f66277afd4ee9855a7e931703fe034c2c", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.108.Final/netty-handler-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-handler/4.1.108.Final/netty-handler-4.1.108.Final-sources.jar" + } + }, + "software_amazon_awssdk_third_party_jackson_core_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "65f323196fa89c53cc391f0341bd17cec6ce4f5eaa0b109bc716f31236a5baea", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.25.23/third-party-jackson-core-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/third-party-jackson-core/2.25.23/third-party-jackson-core-2.25.23.jar" + } + }, + "com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" + ], + "downloaded_file_path": "v1/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" + } + }, + "com_google_protobuf_protobuf_java_jar_sources_3_25_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "cd428d36566e75c8d6079f70e0f3741eb12c33204fba732669669627e20d2ec7", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.25.2/protobuf-java-3.25.2-sources.jar" + ], + "downloaded_file_path": "v1/com/google/protobuf/protobuf-java/3.25.2/protobuf-java-3.25.2-sources.jar" + } + }, + "io_grpc_grpc_context_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9959747df6a753119e1c1a3dff01aa766d2455f5e4860acaa305359e1d533a05", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.62.2/grpc-context-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-context/1.62.2/grpc-context-1.62.2.jar" + } + }, + "org_apache_maven_maven_settings_builder_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fc6b0a0cafc626264011516a8e6c182e6e0c9a252a80403fa401dcb0a0a6c300", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-settings-builder/3.9.6/maven-settings-builder-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-settings-builder/3.9.6/maven-settings-builder-3.9.6-sources.jar" + } + }, + "com_google_http_client_google_http_client_gson_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b1133c57ac842e1d22d423a6c0efbfafde074d984dd82fda1f6eb69500e42dfd", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson/1.44.1/google-http-client-gson-1.44.1.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-gson/1.44.1/google-http-client-gson-1.44.1.jar" + } + }, + "software_amazon_awssdk_json_utils_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d2801ab158e94cc3c6fff8e8fee80af60c2c0187e6cbe7f14ae2cb13e0cb2e19", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.25.23/json-utils-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/json-utils/2.25.23/json-utils-2.25.23-sources.jar" + } + }, + "software_amazon_awssdk_identity_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "05ea356492f5c01e7f7168e5e9bbe80fdf666eaf02c835296c2f9815d9974c45", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/identity-spi/2.25.23/identity-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/identity-spi/2.25.23/identity-spi-2.25.23.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_transport_http_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1fa02272da7a604718f22e2bc9775f14350487548ffc30a2ffaae1c2d1d1a58a", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-transport-http/1.9.18/maven-resolver-transport-http-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-transport-http/1.9.18/maven-resolver-transport-http-1.9.18.jar" + } + }, + "com_google_api_grpc_gapic_google_cloud_storage_v2_jar_sources_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f40e61b46a25435e9e0732a0379eb918addde373155f72085c7e84f626de674d", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/gapic-google-cloud-storage-v2/2.36.1-alpha/gapic-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/gapic-google-cloud-storage-v2/2.36.1-alpha/gapic-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + } + }, + "software_amazon_awssdk_aws_core_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ea979175c1388a098edc622fe8174fad09c95b67cfd5257f2fb8ab8d0e0694e0", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.25.23/aws-core-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-core/2.25.23/aws-core-2.25.23.jar" + } + }, + "io_grpc_grpc_util_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eea606bb4b3b6df7863604fd82321f8713bc1e13e8d124c8ae1374fba174052e", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-util/1.62.2/grpc-util-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-util/1.62.2/grpc-util-1.62.2-sources.jar" + } + }, + "com_google_cloud_google_cloud_storage_jar_sources_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "55f73e37be389375d4873a91b816913134fadb3042471dc3c9c4b3efd1ae242b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/2.36.1/google-cloud-storage-2.36.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-storage/2.36.1/google-cloud-storage-2.36.1-sources.jar" + } + }, + "io_grpc_grpc_grpclb_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "49ed5d4b35e8d0b4f9b6f39fef774fc2a5927eeaeca7f54610e1b7fa0dc31f5a", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-grpclb/1.62.2/grpc-grpclb-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-grpclb/1.62.2/grpc-grpclb-1.62.2.jar" + } + }, + "aopalliance_aopalliance_jar_sources_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e6ef91d439ada9045f419c77543ebe0416c3cdfc5b063448343417a3e4a72123", + "urls": [ + "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar" + ], + "downloaded_file_path": "v1/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar" + } + }, + "org_threeten_threetenbp_1_6_8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e4b1eb3d90c38a54c7f3384fda957e0b5bf0b41b40672a44ae8b03cb6c87ce06", + "urls": [ + "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar" + ], + "downloaded_file_path": "v1/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar" + } + }, + "software_amazon_awssdk_metrics_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4fdb8d634aeab2b263d493244b89538d52e9862077063c4e0fa0a78b1043e2e1", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.25.23/metrics-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/metrics-spi/2.25.23/metrics-spi-2.25.23-sources.jar" + } + }, + "org_eclipse_sisu_org_eclipse_sisu_inject_jar_sources_0_9_0_M2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "071d842e8e51fb889a19997b414eff75ebb06f6d4dc79d3f062c03dc5cd2bd51", + "urls": [ + "https://repo1.maven.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2-sources.jar" + ], + "downloaded_file_path": "v1/org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2-sources.jar" + } + }, + "javax_inject_javax_inject_jar_sources_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c4b87ee2911c139c3daf498a781967f1eb2e75bc1a8529a2e7b328a15d0e433e", + "urls": [ + "https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1-sources.jar" + ], + "downloaded_file_path": "v1/javax/inject/javax.inject/1/javax.inject-1-sources.jar" + } + }, + "org_codehaus_plexus_plexus_cipher_2_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ae34b6dcf0641a8bf5592244aeeeea49b6aa457f1889a68dd98a00a08cf1f38c", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-cipher/2.1.0/plexus-cipher-2.1.0.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-cipher/2.1.0/plexus-cipher-2.1.0.jar" + } + }, + "com_google_googlejavaformat_google_java_format_1_22_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4f4bdba0f2a3d7e84be47683a0c2a4ba69024d29d906d09784181f68f04af792", + "urls": [ + "https://repo1.maven.org/maven2/com/google/googlejavaformat/google-java-format/1.22.0/google-java-format-1.22.0.jar" + ], + "downloaded_file_path": "v1/com/google/googlejavaformat/google-java-format/1.22.0/google-java-format-1.22.0.jar" + } + }, + "software_amazon_awssdk_aws_query_protocol_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3038faf258cacc5266024cc9c822647e6f13f1bfe1dc9f72dfd48fefd98098ba", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.25.23/aws-query-protocol-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-query-protocol/2.25.23/aws-query-protocol-2.25.23-sources.jar" + } + }, + "org_apache_commons_commons_lang3_3_11": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4ee380259c068d1dbe9e84ab52186f2acd65de067ec09beff731fca1697fdb16", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.11/commons-lang3-3.11.jar" + ], + "downloaded_file_path": "v1/org/apache/commons/commons-lang3/3.11/commons-lang3-3.11.jar" + } + }, + "com_google_re2j_re2j_1_7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4f657af51ab8bb0909bcc3eb40862d26125af8cbcf92aaaba595fed77f947bc0", + "urls": [ + "https://repo1.maven.org/maven2/com/google/re2j/re2j/1.7/re2j-1.7.jar" + ], + "downloaded_file_path": "v1/com/google/re2j/re2j/1.7/re2j-1.7.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_api_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0db90119179e13f900b705d664713e8d8bea04b879d95b6e8cb43e2bf6b1a07f", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.9.18/maven-resolver-api-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-api/1.9.18/maven-resolver-api-1.9.18-sources.jar" + } + }, + "unpinned_stardoc_maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "user_provided_name": "stardoc_maven", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{ \"group\": \"com.beust\", \"artifact\": \"jcommander\", \"version\": \"1.82\" }", + "{ \"group\": \"com.google.escapevelocity\", \"artifact\": \"escapevelocity\", \"version\": \"1.1\" }", + "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.1-jre\" }", + "{ \"group\": \"com.google.truth\", \"artifact\": \"truth\", \"version\": \"1.1.3\" }", + "{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13.2\" }" + ], + "fail_on_missing_checksum": true, + "fetch_sources": false, + "fetch_javadoc": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "use_credentials_from_home_netrc_file": false, + "maven_install_json": "@@stardoc~//:maven_install.json", + "resolve_timeout": 600, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "ignore_empty_files": false + } + }, + "io_netty_netty_common_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8e3649fc6bab84a88ad47af82e38f9c36ab3725de478632c8a59e4bd74d16e08", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.108.Final/netty-common-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-common/4.1.108.Final/netty-common-4.1.108.Final.jar" + } + }, + "org_threeten_threetenbp_jar_sources_1_6_8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6b68e90399fd0d97ee7abbe3918c87a236d52a3fb3c434359a11942f9a1abc59", + "urls": [ + "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8-sources.jar" + ], + "downloaded_file_path": "v1/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8-sources.jar" + } + }, + "com_google_code_gson_gson_jar_sources_2_10_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eee1cc5c1f4267ee194cc245777e68084738ef390acd763354ce0ff6bfb7bcc1", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/code/gson/gson/2.10.1/gson-2.10.1-sources.jar" + } + }, + "javax_annotation_javax_annotation_api_1_3_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", + "urls": [ + "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" + ], + "downloaded_file_path": "v1/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" + } + }, + "software_amazon_awssdk_aws_query_protocol_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "993b4db1a2c73ba63b30580b40b92f11109ef96d9595721f463acd9b2b36d53c", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.25.23/aws-query-protocol-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-query-protocol/2.25.23/aws-query-protocol-2.25.23.jar" + } + }, + "com_google_j2objc_j2objc_annotations_1_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + ], + "downloaded_file_path": "v1/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + } + }, + "com_google_auto_value_auto_value_annotations_1_10_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e1c45e6beadaef9797cb0d9afd5a45621ad061cd8632012f85582853a3887825", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.10.4/auto-value-annotations-1.10.4.jar" + ], + "downloaded_file_path": "v1/com/google/auto/value/auto-value-annotations/1.10.4/auto-value-annotations-1.10.4.jar" + } + }, + "software_amazon_awssdk_annotations_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "926835f6817027b108f039a4e8d3817a7ee085207af31361ada56b75173f17f8", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.25.23/annotations-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/annotations/2.25.23/annotations-2.25.23.jar" + } + }, + "com_google_inject_guice_jar_sources_5_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "79484227656350f8ea315198ed2ebdc8583e7ba42ecd90d367d66a7e491de52e", + "urls": [ + "https://repo1.maven.org/maven2/com/google/inject/guice/5.1.0/guice-5.1.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/inject/guice/5.1.0/guice-5.1.0-sources.jar" + } + }, + "com_google_api_gax_jar_sources_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "181eba94d89c674013abb17a8804f894959f94c469efb131232b3cf3469e9f89", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax/2.46.1/gax-2.46.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax/2.46.1/gax-2.46.1-sources.jar" + } + }, + "io_grpc_grpc_inprocess_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "85eb82961732f483d8ad831f96f90993bd5a3b80923b5ceb8e0be1dd3c6b4289", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-inprocess/1.62.2/grpc-inprocess-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-inprocess/1.62.2/grpc-inprocess-1.62.2-sources.jar" + } + }, + "rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": { + "user_provided_name": "rules_jvm_external_deps", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "boms": [], + "artifacts": [ + "{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-credentials\", \"version\": \"1.23.0\" }", + "{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-oauth2-http\", \"version\": \"1.23.0\" }", + "{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-core\", \"version\": \"2.36.1\" }", + "{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-storage\", \"version\": \"2.36.1\" }", + "{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }", + "{ \"group\": \"com.google.googlejavaformat\", \"artifact\": \"google-java-format\", \"version\": \"1.22.0\" }", + "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"33.1.0-jre\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-artifact\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-core\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-model\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-model-builder\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-settings\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-settings-builder\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-resolver-provider\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-api\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-impl\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-connector-basic\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-spi\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-transport-file\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-transport-http\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-util\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.codehaus.plexus\", \"artifact\": \"plexus-cipher\", \"version\": \"2.1.0\" }", + "{ \"group\": \"org.codehaus.plexus\", \"artifact\": \"plexus-sec-dispatcher\", \"version\": \"2.0\" }", + "{ \"group\": \"org.fusesource.jansi\", \"artifact\": \"jansi\", \"version\": \"2.4.1\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"jul-to-slf4j\", \"version\": \"2.0.12\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"log4j-over-slf4j\", \"version\": \"2.0.12\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-simple\", \"version\": \"2.0.12\" }", + "{ \"group\": \"software.amazon.awssdk\", \"artifact\": \"s3\", \"version\": \"2.25.23\" }" + ], + "fetch_sources": true, + "fetch_javadoc": false, + "resolver": "coursier", + "generate_compat_repositories": false, + "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "additional_netrc_lines": [], + "use_credentials_from_home_netrc_file": false, + "fail_if_repin_required": false, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "excluded_artifacts": [], + "repin_instructions": "" + } + }, + "com_google_http_client_google_http_client_appengine_jar_sources_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fb10bdd40d396b81289f0ad18ddb9b2e659431b44cd95915686a3d7b87ac2ad1", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.44.1/google-http-client-appengine-1.44.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-appengine/1.44.1/google-http-client-appengine-1.44.1-sources.jar" + } + }, + "io_netty_netty_transport_native_unix_common_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c3f324a6f526313e432235bf1a3a12e3db283e3b8669e02f26f569c421036bcb", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.108.Final/netty-transport-native-unix-common-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport-native-unix-common/4.1.108.Final/netty-transport-native-unix-common-4.1.108.Final.jar" + } + }, + "io_opentelemetry_opentelemetry_api_1_36_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a5873dc1f6cf36a098dfdb50a11974527a9e253e2ae08b1b23975eb6c59b9837", + "urls": [ + "https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-api/1.36.0/opentelemetry-api-1.36.0.jar" + ], + "downloaded_file_path": "v1/io/opentelemetry/opentelemetry-api/1.36.0/opentelemetry-api-1.36.0.jar" + } + }, + "com_google_code_gson_gson_2_8_9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar" + ], + "downloaded_file_path": "v1/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar" + } + }, + "software_amazon_awssdk_endpoints_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fc03d7c1c59a549e8956fe96d8a8a696ccbba883b108447c214e84f9b9ba5bdc", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/endpoints-spi/2.25.23/endpoints-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/endpoints-spi/2.25.23/endpoints-spi-2.25.23-sources.jar" + } + }, + "io_netty_netty_transport_native_unix_common_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b8f2463e6f7b135c9a89c8875fb4ffdbeece230b713c34a4aeb619081e9b18ff", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.108.Final/netty-transport-native-unix-common-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport-native-unix-common/4.1.108.Final/netty-transport-native-unix-common-4.1.108.Final-sources.jar" + } + }, + "com_google_auto_value_auto_value_annotations_1_7_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar" + ], + "downloaded_file_path": "v1/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar" + } + }, + "junit_junit_4_13_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3", + "urls": [ + "https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar" + ], + "downloaded_file_path": "v1/junit/junit/4.13.2/junit-4.13.2.jar" + } + }, + "io_netty_netty_common_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4104a190511c03cfadefe6e05d0c13d5d297e087e0a2eca417ca265f2bb90c18", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.108.Final/netty-common-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-common/4.1.108.Final/netty-common-4.1.108.Final-sources.jar" + } + }, + "org_codehaus_plexus_plexus_component_annotations_2_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "bde3617ce9b5bcf9584126046080043af6a4b3baea40a3b153f02e7bbc32acac", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_transport_http_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5f89ef4669cfb3a7adc41f293956b8f4537e1d80bc0a5d075d1e4dc2e59f5fa0", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-transport-http/1.9.18/maven-resolver-transport-http-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-transport-http/1.9.18/maven-resolver-transport-http-1.9.18-sources.jar" + } + }, + "org_apache_maven_maven_repository_metadata_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "396ba360bba71fe5a091dd5b843c5479622f537f8fdd948a5dd1011137ab9046", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/3.9.6/maven-repository-metadata-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-repository-metadata/3.9.6/maven-repository-metadata-3.9.6-sources.jar" + } + }, + "software_amazon_awssdk_regions_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6825d754345f2947de041c9c4126d12cef62bc15239c9b07d1e68694fb2edbc7", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.25.23/regions-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/regions/2.25.23/regions-2.25.23.jar" + } + }, + "org_codehaus_plexus_plexus_utils_jar_sources_3_5_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "11b9ff95f1ade7cff0a45cf483c7cd84a8f8a542275a3d612779fffacdf43f00", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1-sources.jar" + } + }, + "io_netty_netty_transport_classes_epoll_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5959715036c1dfc1b5a41a6b8518762f43b99c9f6f45e5c80543550cb4773c88", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.108.Final/netty-transport-classes-epoll-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport-classes-epoll/4.1.108.Final/netty-transport-classes-epoll-4.1.108.Final.jar" + } + }, + "org_codehaus_plexus_plexus_classworlds_2_7_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c60ae538ba66adbc06aae205fbe2306211d3d213ab6df3239ec03cdde2458ad6", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/2.7.0/plexus-classworlds-2.7.0.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-classworlds/2.7.0/plexus-classworlds-2.7.0.jar" + } + }, + "com_google_guava_guava_testlib_31_1_jre": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/31.1-jre/guava-testlib-31.1-jre.jar" + ], + "downloaded_file_path": "v1/com/google/guava/guava-testlib/31.1-jre/guava-testlib-31.1-jre.jar" + } + }, + "com_google_auth_google_auth_library_oauth2_http_1_23_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f2bf739509b5f3697cb1bf33ff9dc27e8fc886cedb2f6376a458263f793ed133", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/1.23.0/google-auth-library-oauth2-http-1.23.0.jar" + ], + "downloaded_file_path": "v1/com/google/auth/google-auth-library-oauth2-http/1.23.0/google-auth-library-oauth2-http-1.23.0.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_spi_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d364fce9a17b0e0b073c26efa92af95b29c00c42943dced4a1168a7923fd3fe1", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.9.18/maven-resolver-spi-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-spi/1.9.18/maven-resolver-spi-1.9.18.jar" + } + }, + "org_hamcrest_hamcrest_core_1_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", + "urls": [ + "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" + ], + "downloaded_file_path": "v1/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" + } + }, + "io_grpc_grpc_api_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "aa2974982805cc998f79e7c4d5d536744fd5520b56eb15b0179f9331c1edb3b7", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.62.2/grpc-api-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-api/1.62.2/grpc-api-1.62.2-sources.jar" + } + }, + "software_amazon_awssdk_aws_core_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1cd263aeb9f97625f9071f67a07cbbde2f31730e2937fa1bfefb28cf07a7c0a7", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.25.23/aws-core-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-core/2.25.23/aws-core-2.25.23-sources.jar" + } + }, + "com_google_guava_guava_jar_sources_33_1_0_jre": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fe357db754046d94b79a0392c523c44671e71c1ac7b6e289bc0382a06bd5cd51", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/guava/33.1.0-jre/guava-33.1.0-jre-sources.jar" + ], + "downloaded_file_path": "v1/com/google/guava/guava/33.1.0-jre/guava-33.1.0-jre-sources.jar" + } + }, + "org_apache_lucene_lucene_core_9_9_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5a5b074ff0d2eb1585e27ac281a5b4a56f52cb30dafd8e5a41fd3143fb872acb", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/lucene/lucene-core/9.9.0/lucene-core-9.9.0.jar" + ], + "downloaded_file_path": "v1/org/apache/lucene/lucene-core/9.9.0/lucene-core-9.9.0.jar" + } + }, + "unpinned_rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": { + "user_provided_name": "rules_jvm_external_deps", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "artifacts": [ + "{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-credentials\", \"version\": \"1.23.0\" }", + "{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-oauth2-http\", \"version\": \"1.23.0\" }", + "{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-core\", \"version\": \"2.36.1\" }", + "{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-storage\", \"version\": \"2.36.1\" }", + "{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }", + "{ \"group\": \"com.google.googlejavaformat\", \"artifact\": \"google-java-format\", \"version\": \"1.22.0\" }", + "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"33.1.0-jre\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-artifact\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-core\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-model\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-model-builder\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-settings\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-settings-builder\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-resolver-provider\", \"version\": \"3.9.6\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-api\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-impl\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-connector-basic\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-spi\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-transport-file\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-transport-http\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.apache.maven.resolver\", \"artifact\": \"maven-resolver-util\", \"version\": \"1.9.18\" }", + "{ \"group\": \"org.codehaus.plexus\", \"artifact\": \"plexus-cipher\", \"version\": \"2.1.0\" }", + "{ \"group\": \"org.codehaus.plexus\", \"artifact\": \"plexus-sec-dispatcher\", \"version\": \"2.0\" }", + "{ \"group\": \"org.fusesource.jansi\", \"artifact\": \"jansi\", \"version\": \"2.4.1\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"jul-to-slf4j\", \"version\": \"2.0.12\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"log4j-over-slf4j\", \"version\": \"2.0.12\" }", + "{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-simple\", \"version\": \"2.0.12\" }", + "{ \"group\": \"software.amazon.awssdk\", \"artifact\": \"s3\", \"version\": \"2.25.23\" }" + ], + "fail_on_missing_checksum": true, + "fetch_sources": true, + "fetch_javadoc": false, + "excluded_artifacts": [], + "generate_compat_repositories": false, + "version_conflict_policy": "default", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "use_credentials_from_home_netrc_file": false, + "maven_install_json": "@@rules_jvm_external~//:rules_jvm_external_deps_install.json", + "resolve_timeout": 600, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "ignore_empty_files": false + } + }, + "com_google_cloud_google_cloud_core_grpc_jar_sources_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8e53871bd79a78de970da0e1808c1cc84d4019088a52f5c989bf1960a6b443be", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-grpc/2.36.1/google-cloud-core-grpc-2.36.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core-grpc/2.36.1/google-cloud-core-grpc-2.36.1-sources.jar" + } + }, + "io_perfmark_perfmark_api_0_27_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6", + "urls": [ + "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar" + ], + "downloaded_file_path": "v1/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar" + } + }, + "com_google_api_grpc_grpc_google_cloud_storage_v2_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9c16332994197720ab2f4b0a081dc55d1ff8c695316fa441f11163865d2908f3", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-storage-v2/2.36.1-alpha/grpc-google-cloud-storage-v2-2.36.1-alpha.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/grpc-google-cloud-storage-v2/2.36.1-alpha/grpc-google-cloud-storage-v2-2.36.1-alpha.jar" + } + }, + "org_slf4j_jcl_over_slf4j_1_7_36": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ab57ca8fd223772c17365d121f59e94ecbf0ae59d08c03a3cb5b81071c019195", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36.jar" + ], + "downloaded_file_path": "v1/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36.jar" + } + }, + "software_amazon_awssdk_http_auth_aws_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2a4773bd2f314b1fec1792fa99b36550a8550024f944584fdae8fddada862906", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-aws/2.25.23/http-auth-aws-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth-aws/2.25.23/http-auth-aws-2.25.23-sources.jar" + } + }, + "com_google_api_client_google_api_client_jar_sources_2_4_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0284c39fbd0492566c7f99606a957e27b25262ec93dbedf664155caea30cffec", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/2.4.0/google-api-client-2.4.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api-client/google-api-client/2.4.0/google-api-client-2.4.0-sources.jar" + } + }, + "org_codehaus_plexus_plexus_interpolation_1_26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b3b5412ce17889103ea564bcdfcf9fb3dfa540344ffeac6b538a73c9d7182662", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar" + } + }, + "io_grpc_grpc_auth_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ceeb29d4bd28f678a6ecdd8f417e4c43b44eb2a1e307b130f18b78b8d9bd65f3", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.62.2/grpc-auth-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-auth/1.62.2/grpc-auth-1.62.2-sources.jar" + } + }, + "com_google_auth_google_auth_library_credentials_1_23_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d982eda20835e301dcbeec4d083289a44fdd06e9a35ce18449054f4ffd3f099f", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/1.23.0/google-auth-library-credentials-1.23.0.jar" + ], + "downloaded_file_path": "v1/com/google/auth/google-auth-library-credentials/1.23.0/google-auth-library-credentials-1.23.0.jar" + } + }, + "com_google_cloud_google_cloud_storage_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7f6b69365ef113d69211b05287f27d2b85b60c81d269f5684c47f8ab90cc00b9", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/2.36.1/google-cloud-storage-2.36.1.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-storage/2.36.1/google-cloud-storage-2.36.1.jar" + } + }, + "io_opencensus_opencensus_contrib_http_util_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3ea995b55a4068be22989b70cc29a4d788c2d328d1d50613a7a9afd13fdd2d0a", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar" + } + }, + "software_amazon_awssdk_metrics_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ac0ba656208cf6907a5fe5fec61045211ba7bad0cf4eb1646ba5b34274349e5e", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.25.23/metrics-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/metrics-spi/2.25.23/metrics-spi-2.25.23.jar" + } + }, + "org_apache_commons_commons_lang3_jar_sources_3_12_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "325a4551eee7d99f7616aa05b00ee3ca9d0cdc8face1b252a9864f2d945c58b3", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0-sources.jar" + } + }, + "com_google_protobuf_protobuf_java_util_3_25_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "31201154684b0981c2481e147dcd176d37c4d34e09c13e2939e58bc1a64655ce", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.25.2/protobuf-java-util-3.25.2.jar" + ], + "downloaded_file_path": "v1/com/google/protobuf/protobuf-java-util/3.25.2/protobuf-java-util-3.25.2.jar" + } + }, + "stardoc_maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": { + "user_provided_name": "stardoc_maven", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "boms": [], + "artifacts": [ + "{ \"group\": \"com.beust\", \"artifact\": \"jcommander\", \"version\": \"1.82\" }", + "{ \"group\": \"com.google.escapevelocity\", \"artifact\": \"escapevelocity\", \"version\": \"1.1\" }", + "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.1-jre\" }", + "{ \"group\": \"com.google.truth\", \"artifact\": \"truth\", \"version\": \"1.1.3\" }", + "{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13.2\" }" + ], + "fetch_sources": false, + "fetch_javadoc": false, + "resolver": "coursier", + "generate_compat_repositories": false, + "maven_install_json": "@@stardoc~//:maven_install.json", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "additional_netrc_lines": [], + "use_credentials_from_home_netrc_file": false, + "fail_if_repin_required": false, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "excluded_artifacts": [], + "repin_instructions": "" + } + }, + "com_google_api_gax_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "00f7aa774b0dc038bc5b796d98ffe25b4db7319d3a69f1f39f1b80f0d0fe4bf6", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax/2.46.1/gax-2.46.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax/2.46.1/gax-2.46.1.jar" + } + }, + "com_google_api_api_common_jar_sources_2_29_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9419948ee1251ae05936f8a20750a06966802736367eab9dbf35975998016b7d", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/api-common/2.29.1/api-common-2.29.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/api-common/2.29.1/api-common-2.29.1-sources.jar" + } + }, + "com_google_truth_truth_1_1_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a85e03b8b6ae8780f060cfded9500a3d1b5f52808f99a2ea6da9c683313c7518", + "urls": [ + "https://repo1.maven.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar" + ], + "downloaded_file_path": "v1/com/google/truth/truth/1.1.2/truth-1.1.2.jar" + } + }, + "com_google_api_grpc_proto_google_common_protos_2_37_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "82ddc900e5edc7c64632ad360889698ec6c6cdc824570b3bf20a84409e0626b7", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.37.1/proto-google-common-protos-2.37.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-common-protos/2.37.1/proto-google-common-protos-2.37.1.jar" + } + }, + "com_google_http_client_google_http_client_apache_v2_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e6fda556571428e1d14e159d02ff6a0696b27864ab48ff92c6337e4e97fe1985", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-apache-v2/1.44.1/google-http-client-apache-v2-1.44.1.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-apache-v2/1.44.1/google-http-client-apache-v2-1.44.1.jar" + } + }, + "com_google_truth_truth_1_1_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fc0b67782289a2aabfddfdf99eff1dcd5edc890d49143fcd489214b107b8f4f3", + "urls": [ + "https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar" + ], + "downloaded_file_path": "v1/com/google/truth/truth/1.1.3/truth-1.1.3.jar" + } + }, + "com_google_api_grpc_proto_google_iam_v1_jar_sources_1_32_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e0332e83c302f5ac09176a3a579ef334369b54b5443feaf6890f11fba5a9d033", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.32.1/proto-google-iam-v1-1.32.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-iam-v1/1.32.1/proto-google-iam-v1-1.32.1-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_util_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "892f60c6694dfd1f17590773e8f05b8475da560d50f233df7e3fc2a51a97dfe2", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.18/maven-resolver-util-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-util/1.9.18/maven-resolver-util-1.9.18-sources.jar" + } + }, + "software_amazon_awssdk_regions_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "49d9babed7db2e96ed287e6dcf415a5281a22ce1f7c652945d7e9f8e3c27e63c", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.25.23/regions-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/regions/2.25.23/regions-2.25.23-sources.jar" + } + }, + "io_grpc_grpc_services_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e0fe73139c7399bd435c6a5c7ec01d3d04fc0993f72e1fa58865415b83b5ebf8", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-services/1.62.2/grpc-services-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-services/1.62.2/grpc-services-1.62.2-sources.jar" + } + }, + "com_google_auto_value_auto_value_annotations_jar_sources_1_10_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "61a433f015b12a6cf4ecff227c7748486ff8f294ffe9d39827b382ade0514d0a", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.10.4/auto-value-annotations-1.10.4-sources.jar" + ], + "downloaded_file_path": "v1/com/google/auto/value/auto-value-annotations/1.10.4/auto-value-annotations-1.10.4-sources.jar" + } + }, + "com_google_http_client_google_http_client_appengine_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "43bdbd1d138d91a238f36ba50ca53d7fb5816ae804ad13546d71d1f6b0fee759", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.44.1/google-http-client-appengine-1.44.1.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-appengine/1.44.1/google-http-client-appengine-1.44.1.jar" + } + }, + "org_apache_maven_maven_settings_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0d200fd3b354d653d2a02cdba6a39b6dc2744a8539ff36ea423fe62cac736799", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/3.9.6/maven-settings-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-settings/3.9.6/maven-settings-3.9.6.jar" + } + }, + "com_google_api_grpc_proto_google_common_protos_jar_sources_2_37_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "105b17df77d2a9c82cab25549135bd0479c7995e0e958d957fe1d4e74623061d", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.37.1/proto-google-common-protos-2.37.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-common-protos/2.37.1/proto-google-common-protos-2.37.1-sources.jar" + } + }, + "com_google_auto_value_auto_value_annotations_1_8_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "37ec09b47d7ed35a99d13927db5c86fc9071f620f943ead5d757144698310852", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar" + ], + "downloaded_file_path": "v1/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar" + } + }, + "com_google_code_findbugs_jsr305_3_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" + ], + "downloaded_file_path": "v1/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" + } + }, + "com_google_errorprone_error_prone_annotations_2_26_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "de25f2d9a2156529bd765f51d8efdfc0dfa7301e04efb9cc75b7f10cf5d0e0fb", + "urls": [ + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar" + ], + "downloaded_file_path": "v1/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar" + } + }, + "io_netty_netty_handler_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "55b2458011527d94abc868086afd039cd00cc3a547e7322569e0fb4f906d9d80", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.108.Final/netty-handler-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-handler/4.1.108.Final/netty-handler-4.1.108.Final.jar" + } + }, + "org_slf4j_slf4j_simple_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4cd8f3d6236044600e7054da7c124c6d2e9f45eb43c77d4e9b093fe1095edc85", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/2.0.12/slf4j-simple-2.0.12.jar" + ], + "downloaded_file_path": "v1/org/slf4j/slf4j-simple/2.0.12/slf4j-simple-2.0.12.jar" + } + }, + "org_apache_maven_maven_settings_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8ff8b350a17e9c476a8d69bf2d60ec09ec81cac0837d4b97441b199b14e43c87", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-settings/3.9.6/maven-settings-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-settings/3.9.6/maven-settings-3.9.6-sources.jar" + } + }, + "com_github_fommil_jniloader_1_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2f1def54f30e1db5f1e7f2fd600fe2ab331bd6b52037e9a21505c237020b5573", + "urls": [ + "https://repo1.maven.org/maven2/com/github/fommil/jniloader/1.1/jniloader-1.1.jar" + ], + "downloaded_file_path": "v1/com/github/fommil/jniloader/1.1/jniloader-1.1.jar" + } + }, + "software_amazon_awssdk_s3_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "7ed9322e30b90cbda48a9ef6e070c3b7a7b5310d81f345ab14f01cb575c9c728", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.25.23/s3-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/s3/2.25.23/s3-2.25.23-sources.jar" + } + }, + "javax_annotation_javax_annotation_api_jar_sources_1_3_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "128971e52e0d84a66e3b6e049dab8ad7b2c58b7e1ad37fa2debd3d40c2947b95", + "urls": [ + "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar" + ], + "downloaded_file_path": "v1/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar" + } + }, + "com_google_cloud_google_cloud_core_grpc_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "217cc57fda52315f6393c4edaf82d16bc808150d7f22709600387c63331dfbdc", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-grpc/2.36.1/google-cloud-core-grpc-2.36.1.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core-grpc/2.36.1/google-cloud-core-grpc-2.36.1.jar" + } + }, + "com_google_http_client_google_http_client_jackson2_jar_sources_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a600ad48bab4e57d0240f5f0480dbd6da8de79f8d89e774bbb6358cb93618553", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.44.1/google-http-client-jackson2-1.44.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-jackson2/1.44.1/google-http-client-jackson2-1.44.1-sources.jar" + } + }, + "io_netty_netty_codec_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0d08bc0933beba1d0fab7e39624b6c3e8c05b6458c7a82e7ea77d9d4d7277ef4", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.108.Final/netty-codec-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec/4.1.108.Final/netty-codec-4.1.108.Final-sources.jar" + } + }, + "software_amazon_awssdk_http_auth_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4b57b3a2aaca457016a004ed6f554990893376e9730d5654f8677e11d503565a", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth/2.25.23/http-auth-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth/2.25.23/http-auth-2.25.23.jar" + } + }, + "com_google_re2j_re2j_jar_sources_1_7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ddc3b47bb1e556ac4c0d02c9d8ff18f3260198b76b720567a70eed0a03d3fed6", + "urls": [ + "https://repo1.maven.org/maven2/com/google/re2j/re2j/1.7/re2j-1.7-sources.jar" + ], + "downloaded_file_path": "v1/com/google/re2j/re2j/1.7/re2j-1.7-sources.jar" + } + }, + "com_google_guava_guava_33_1_0_jre": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "346aec0eb8c8987360c8a264e70ff10c2fba760446eb27e8ab07e78e787a75fe", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/guava/33.1.0-jre/guava-33.1.0-jre.jar" + ], + "downloaded_file_path": "v1/com/google/guava/guava/33.1.0-jre/guava-33.1.0-jre.jar" + } + }, + "com_google_guava_failureaccess_1_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar" + ], + "downloaded_file_path": "v1/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar" + } + }, + "com_google_j2objc_j2objc_annotations_3_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64", + "urls": [ + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar" + ], + "downloaded_file_path": "v1/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar" + } + }, + "com_google_guava_failureaccess_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" + ], + "downloaded_file_path": "v1/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" + } + }, + "com_google_http_client_google_http_client_jar_sources_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a4145e5e0193930ee7e87ebbb79d2e95f176551bb9e008b70c9c18ed3b0580eb", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.44.1/google-http-client-1.44.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client/1.44.1/google-http-client-1.44.1-sources.jar" + } + }, + "io_opencensus_opencensus_api_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f1474d47f4b6b001558ad27b952e35eda5cc7146788877fc52938c6eba24b382", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar" + } + }, + "org_apache_maven_maven_model_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4f8f07fdb6b8701fa89a23a2edf830808fd65892d90cce40c0e6df7c8f2fcb62", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-model/3.9.6/maven-model-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-model/3.9.6/maven-model-3.9.6.jar" + } + }, + "org_apache_maven_maven_model_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a35a34dda93220632a6d12efd696a8e6cbe9680fe31ff864b544ce7503cb5f88", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-model/3.9.6/maven-model-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-model/3.9.6/maven-model-3.9.6-sources.jar" + } + }, + "org_eclipse_sisu_org_eclipse_sisu_inject_0_9_0_M2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9b62bcfc352a2ec87da8b01e37c952a54d358bbb1af3f212648aeafe7ab2dbb5", + "urls": [ + "https://repo1.maven.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2.jar" + ], + "downloaded_file_path": "v1/org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2.jar" + } + }, + "org_apache_maven_maven_artifact_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "153d66a7440369ece8fdd196ee57948614d2a5863c43f456ddf1f6ba751d234e", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.9.6/maven-artifact-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-artifact/3.9.6/maven-artifact-3.9.6-sources.jar" + } + }, + "software_amazon_awssdk_http_auth_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "233810a9a2b7d173e73173906784a8f47862a60b19efd07ae31d3b475fc91d59", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-spi/2.25.23/http-auth-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth-spi/2.25.23/http-auth-spi-2.25.23.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_named_locks_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a91e1133dc800b42627fe51f21ed54c076bad26f508abe2573f7a88c139fecf9", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-named-locks/1.9.18/maven-resolver-named-locks-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-named-locks/1.9.18/maven-resolver-named-locks-1.9.18-sources.jar" + } + }, + "software_amazon_eventstream_eventstream_jar_sources_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8953ddf1af1680008d7ae96877df9fcfff9b8d909998d5c52519dbd583215636", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1-sources.jar" + } + }, + "io_grpc_grpc_alts_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "33e6302db01aed6ddd1403509aa516c4acc94d55667104f0a5dfe81ee00f8d61", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-alts/1.62.2/grpc-alts-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-alts/1.62.2/grpc-alts-1.62.2-sources.jar" + } + }, + "io_netty_netty_transport_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "494f8ccdd2c892cfe590ff39c1c35822d50228657fd598890e7450d66994b0a4", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.108.Final/netty-transport-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport/4.1.108.Final/netty-transport-4.1.108.Final-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_connector_basic_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f88d97d0f18571a675e73b45d6a9384b00322c9fae514ad6761d65b729a4e82a", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.9.18/maven-resolver-connector-basic-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-connector-basic/1.9.18/maven-resolver-connector-basic-1.9.18.jar" + } + }, + "io_grpc_grpc_protobuf_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4020d5c7485d6dd261f07b3deeabfe1d06fcd13e8a20fc147683926a03c38ef1", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.62.2/grpc-protobuf-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-protobuf/1.62.2/grpc-protobuf-1.62.2-sources.jar" + } + }, + "org_objenesis_objenesis_3_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3", + "urls": [ + "https://repo1.maven.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar" + ], + "downloaded_file_path": "v1/org/objenesis/objenesis/3.2/objenesis-3.2.jar" + } + }, + "io_netty_netty_transport_classes_epoll_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2c827a992165201801376a39468bfc71112d3f4a681f12566781995fd3292204", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.108.Final/netty-transport-classes-epoll-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport-classes-epoll/4.1.108.Final/netty-transport-classes-epoll-4.1.108.Final-sources.jar" + } + }, + "io_grpc_grpc_googleapis_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0b8350c417dd5757056d97be671de360d91d6327d8de5871f8f4a556a12564f5", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-googleapis/1.62.2/grpc-googleapis-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-googleapis/1.62.2/grpc-googleapis-1.62.2.jar" + } + }, + "com_google_protobuf_protobuf_java_3_25_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "cabe49981b86f5913b7fd130b4628e6ee11586e28ca069815d9744f929271902", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.25.2/protobuf-java-3.25.2.jar" + ], + "downloaded_file_path": "v1/com/google/protobuf/protobuf-java/3.25.2/protobuf-java-3.25.2.jar" + } + }, + "com_beust_jcommander_1_82": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "deeac157c8de6822878d85d0c7bc8467a19cc8484d37788f7804f039dde280b1", + "urls": [ + "https://repo1.maven.org/maven2/com/beust/jcommander/1.82/jcommander-1.82.jar" + ], + "downloaded_file_path": "v1/com/beust/jcommander/1.82/jcommander-1.82.jar" + } + }, + "io_netty_netty_codec_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "32c220dea93756fba28f9302481bc657738cc40d07440daa985a2ba21df226f1", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.108.Final/netty-codec-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec/4.1.108.Final/netty-codec-4.1.108.Final.jar" + } + }, + "software_amazon_awssdk_profiles_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ab60908ca539447f31997a2ea64ffe9f4d06a4e9507ecebd40c41c40993a4841", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.25.23/profiles-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/profiles/2.25.23/profiles-2.25.23.jar" + } + }, + "org_apache_maven_maven_artifact_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ad7a0fb408f8e47585ccc0d0011e0b501d93bfc9888d369bbd4a043d19475073", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.9.6/maven-artifact-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-artifact/3.9.6/maven-artifact-3.9.6.jar" + } + }, + "software_amazon_awssdk_checksums_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1fbb05b1975401ce6676ee7db5325cc0f8c989d51e3062f2afff2933cd057928", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/checksums-spi/2.25.23/checksums-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/checksums-spi/2.25.23/checksums-spi-2.25.23-sources.jar" + } + }, + "com_google_errorprone_error_prone_annotations_jar_sources_2_26_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "32b1720fa97a3d7f24fc017014e285d812ff66a5b6c5c1819e165bfe6fdc2110", + "urls": [ + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1-sources.jar" + } + }, + "org_codehaus_mojo_animal_sniffer_annotations_1_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9ffe526bf43a6348e9d8b33b9cd6f580a7f5eed0cf055913007eda263de974d0", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar" + ], + "downloaded_file_path": "v1/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar" + } + }, + "com_google_api_grpc_grpc_google_cloud_storage_v2_jar_sources_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "51371f18058458ff78103a18154869f8808d788334f6a0a0d6dc5405e9699098", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-storage-v2/2.36.1-alpha/grpc-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/grpc-google-cloud-storage-v2/2.36.1-alpha/grpc-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + } + }, + "software_amazon_eventstream_eventstream_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar" + ], + "downloaded_file_path": "v1/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar" + } + }, + "software_amazon_awssdk_apache_client_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2ef61c3ead2f07aa356301347ab342811cd7dcc53cde74b8ba0f2ae4bd4cceeb", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.25.23/apache-client-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/apache-client/2.25.23/apache-client-2.25.23-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_impl_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0f01d87f9985afb3fd98aedf50e3177e22001d4015189a98063c6747e34fef0d", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.9.18/maven-resolver-impl-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-impl/1.9.18/maven-resolver-impl-1.9.18-sources.jar" + } + }, + "io_grpc_grpc_alts_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8c36fc921f18813a2f82e9f70211718c82280341c3822ab9d1782eaec2a8882a", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-alts/1.62.2/grpc-alts-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-alts/1.62.2/grpc-alts-1.62.2.jar" + } + }, + "org_codehaus_plexus_plexus_sec_dispatcher_jar_sources_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ba4508f478d47717c8aeb41cf0ad9bc67e3c6bc7bf8f8bded2ca77b5885435a2", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0-sources.jar" + } + }, + "org_apache_httpcomponents_httpclient_jar_sources_4_5_14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "55b01f9f4cbec9ac646866a4b64b176570d79e293a556796b5b0263d047ef8e6", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14-sources.jar" + } + }, + "io_grpc_grpc_stub_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fb4ca679a4214143406c65ac4167b2b5e2ee2cab1fc101566bb1c4695d105e36", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.62.2/grpc-stub-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-stub/1.62.2/grpc-stub-1.62.2.jar" + } + }, + "com_google_j2objc_j2objc_annotations_jar_sources_3_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "bd60019a0423c3a025ef6ab24fe0761f5f45ffb48a8cca74a01b678de1105d38", + "urls": [ + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0-sources.jar" + } + }, + "com_google_cloud_google_cloud_core_http_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "647644ba9d8beeb593b6a2c594787bb8695789f97b920bceb809d39b601b1353", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/2.36.1/google-cloud-core-http-2.36.1.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core-http/2.36.1/google-cloud-core-http-2.36.1.jar" + } + }, + "org_codehaus_plexus_plexus_sec_dispatcher_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "873139960c4c780176dda580b003a2c4bf82188bdce5bb99234e224ef7acfceb", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar" + } + }, + "software_amazon_awssdk_utils_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "025a9b9670c5a7908c611a3125741c232916777b702e7eba7fc7ab4a02d8af2e", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.25.23/utils-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/utils/2.25.23/utils-2.25.23-sources.jar" + } + }, + "io_opentelemetry_opentelemetry_context_jar_sources_1_36_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d126c982465b883e0c3898b915f056b44c76850cfc789630c25c843418678050", + "urls": [ + "https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-context/1.36.0/opentelemetry-context-1.36.0-sources.jar" + ], + "downloaded_file_path": "v1/io/opentelemetry/opentelemetry-context/1.36.0/opentelemetry-context-1.36.0-sources.jar" + } + }, + "org_checkerframework_checker_qual_3_12_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb", + "urls": [ + "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar" + ], + "downloaded_file_path": "v1/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar" + } + }, + "com_google_http_client_google_http_client_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f3fd3fc971425659d6f78a853381de590279f191fdae63bd31c5a21382441023", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.44.1/google-http-client-1.44.1.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client/1.44.1/google-http-client-1.44.1.jar" + } + }, + "software_amazon_awssdk_protocol_core_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fa1d1c28df81fce630a7499ef680fd352bcc206c9cfb99878cb32825f015ec0d", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.25.23/protocol-core-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/protocol-core/2.25.23/protocol-core-2.25.23-sources.jar" + } + }, + "com_google_cloud_google_cloud_core_http_jar_sources_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ffdc9cb19884749b062a59b0483dfef18b336a55d06fec7b4524dc2b60d80438", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/2.36.1/google-cloud-core-http-2.36.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core-http/2.36.1/google-cloud-core-http-2.36.1-sources.jar" + } + }, + "com_google_api_grpc_gapic_google_cloud_storage_v2_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0546afcc2291e4e8d44f4b9594b1f7571a4ff1ba5c56aa20af9fa68f427c185b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/gapic-google-cloud-storage-v2/2.36.1-alpha/gapic-google-cloud-storage-v2-2.36.1-alpha.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/gapic-google-cloud-storage-v2/2.36.1-alpha/gapic-google-cloud-storage-v2-2.36.1-alpha.jar" + } + }, + "software_amazon_awssdk_checksums_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a70bef295ec4c776585a871b76bc103a0204d732b42c4bfb0fe4d206befcef49", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/checksums-spi/2.25.23/checksums-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/checksums-spi/2.25.23/checksums-spi-2.25.23.jar" + } + }, + "org_apache_maven_shared_maven_shared_utils_jar_sources_3_3_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c4895943fa19896e7004fececba0b658b6afb4f311986e1f809a8fa54ae126aa", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4-sources.jar" + } + }, + "org_slf4j_jul_to_slf4j_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "84f02864cab866ffb196ed2022b1b8da682ea6fb3d4a161069429e8391ee2979", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/jul-to-slf4j/2.0.12/jul-to-slf4j-2.0.12.jar" + ], + "downloaded_file_path": "v1/org/slf4j/jul-to-slf4j/2.0.12/jul-to-slf4j-2.0.12.jar" + } + }, + "org_mockito_mockito_core_4_3_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "148de2c6928365db29443ca12d35c930d9f481172b934fdd801d1cb1409ea83a", + "urls": [ + "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar" + ], + "downloaded_file_path": "v1/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar" + } + }, + "org_slf4j_slf4j_simple_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b4fca032b643ed51876cc2b3d3acc3a6526558273f6157abc4831f8aed9bea60", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/2.0.12/slf4j-simple-2.0.12-sources.jar" + ], + "downloaded_file_path": "v1/org/slf4j/slf4j-simple/2.0.12/slf4j-simple-2.0.12-sources.jar" + } + }, + "org_apache_httpcomponents_httpcore_jar_sources_4_4_16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "705f8cf3671093b6c1db16bbf6971a7ef400e3819784f1af53e5bc3e67b5a9a0", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16-sources.jar" + } + }, + "org_fusesource_jansi_jansi_jar_sources_2_4_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f707511567a13ebf8c51164133770eb5a8e023e1d391bfbc6e7a0591c71729b8", + "urls": [ + "https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1-sources.jar" + ], + "downloaded_file_path": "v1/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1-sources.jar" + } + }, + "io_netty_netty_resolver_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "55279fdcf6c0e1819b6561cc70b0eb2de1b1cf1ef5635fc46334d7e06faa9dd9", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.108.Final/netty-resolver-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-resolver/4.1.108.Final/netty-resolver-4.1.108.Final.jar" + } + }, + "com_google_api_gax_grpc_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "287d0d383e2ca288344a5db74a29e0c018e9c6111400bcaadbe9d4aeb8d09bb0", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax-grpc/2.46.1/gax-grpc-2.46.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax-grpc/2.46.1/gax-grpc-2.46.1.jar" + } + }, + "com_google_oauth_client_google_oauth_client_jar_sources_1_35_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "dbf5851352a4a805e192f16c2a3d9f829f3f22283ca07638f1d502c339c8c27b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.35.0/google-oauth-client-1.35.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/oauth-client/google-oauth-client/1.35.0/google-oauth-client-1.35.0-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_util_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2eb0ea667bc489384478231dda7516407d4b5b22a138077229871de9362a7ae2", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.18/maven-resolver-util-1.9.18.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-util/1.9.18/maven-resolver-util-1.9.18.jar" + } + }, + "software_amazon_awssdk_aws_xml_protocol_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c925176fb347e84b600c4c6943742cd4998a2e48384e04fef9572a1fb878e965", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.25.23/aws-xml-protocol-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-xml-protocol/2.25.23/aws-xml-protocol-2.25.23.jar" + } + }, + "org_eclipse_sisu_org_eclipse_sisu_plexus_0_9_0_M2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9500d303ce467e26d129dda8559c3f3a91277d41ab49d2c4b4a5779536a62fc1", + "urls": [ + "https://repo1.maven.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2.jar" + ], + "downloaded_file_path": "v1/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2.jar" + } + }, + "com_google_auth_google_auth_library_credentials_jar_sources_1_23_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6151c76a0d9ef7bebe621370bbd812e927300bbfe5b11417c09bd29a1c54509b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/1.23.0/google-auth-library-credentials-1.23.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/auth/google-auth-library-credentials/1.23.0/google-auth-library-credentials-1.23.0-sources.jar" + } + }, + "io_opencensus_opencensus_contrib_http_util_jar_sources_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d55afd5f96dc724bd903a77a38b0a344d0e59f02a64b9ab2f32618bc582ea924", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1-sources.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1-sources.jar" + } + }, + "io_grpc_grpc_core_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "351325425f07abc1d274d5afea1a3b8f48cf49b6f07a128ebe7e71a732188f92", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.62.2/grpc-core-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-core/1.62.2/grpc-core-1.62.2-sources.jar" + } + }, + "net_bytebuddy_byte_buddy_agent_1_12_7": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "73d84bb6e8e8980e674d796a29063f510ceb527c6f8c912a08a13e236be05c71", + "urls": [ + "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar" + ], + "downloaded_file_path": "v1/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar" + } + }, + "software_amazon_awssdk_http_auth_aws_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "daf69735d412430478dbd644a6bf1667436f529975da9d60f6ce2eb6f0e98083", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-aws/2.25.23/http-auth-aws-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-auth-aws/2.25.23/http-auth-aws-2.25.23.jar" + } + }, + "io_grpc_grpc_googleapis_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c54bb67b01f75ba743402120129cf79b0b7af1d2cff7b09a69343e369269c17b", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-googleapis/1.62.2/grpc-googleapis-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-googleapis/1.62.2/grpc-googleapis-1.62.2-sources.jar" + } + }, + "org_apache_httpcomponents_httpclient_4_5_14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar" + ], + "downloaded_file_path": "v1/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar" + } + }, + "software_amazon_awssdk_annotations_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a0875200c3a48b18d53350d57919cd3c3b341a28da7bbeaacfcdb435beb40086", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.25.23/annotations-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/annotations/2.25.23/annotations-2.25.23-sources.jar" + } + }, + "software_amazon_awssdk_arns_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "adf0c6fe326cb287847346a29fc0fa7d27533af73f7214dc5e2ddedf70fad383", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.25.23/arns-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/arns/2.25.23/arns-2.25.23.jar" + } + }, + "io_netty_netty_codec_http2_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a813e1810f7c1959b90fc7f221e03ce15e66005ee56e29cd0d68312b9679c772", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.108.Final/netty-codec-http2-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec-http2/4.1.108.Final/netty-codec-http2-4.1.108.Final.jar" + } + }, + "org_eclipse_sisu_org_eclipse_sisu_plexus_jar_sources_0_9_0_M2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c4dd6836110ee23aef5a5af0d0c9315782d707734aa799e8e3f3735e35bd8974", + "urls": [ + "https://repo1.maven.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2-sources.jar" + ], + "downloaded_file_path": "v1/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2-sources.jar" + } + }, + "org_apache_maven_maven_model_builder_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1c77607c8fe54c4aa12b376bacfbb5700c85bb5bb361c563a6a927f27d6b34bf", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-model-builder/3.9.6/maven-model-builder-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-model-builder/3.9.6/maven-model-builder-3.9.6-sources.jar" + } + }, + "org_codehaus_plexus_plexus_utils_3_5_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "86e0255d4c879c61b4833ed7f13124e8bb679df47debb127326e7db7dd49a07b", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar" + } + }, + "software_amazon_awssdk_sdk_core_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "32b6a04aef6585ac025c5ec653321dae5b947f59b43cb6f8769ac9c3c71a77c7", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.25.23/sdk-core-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/sdk-core/2.25.23/sdk-core-2.25.23-sources.jar" + } + }, + "com_google_apis_google_api_services_storage_jar_sources_v1_rev20240311_2_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c94067a58e89cf568d5b8ef13c2a94e133d2fdb2d5af7d65641860e9660b540b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20240311-2.0.0/google-api-services-storage-v1-rev20240311-2.0.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/apis/google-api-services-storage/v1-rev20240311-2.0.0/google-api-services-storage-v1-rev20240311-2.0.0-sources.jar" + } + }, + "io_grpc_grpc_protobuf_lite_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fd38569d1c610d12e0844873ea18542503334b5f4db8c2239b68553ccc58942b", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.62.2/grpc-protobuf-lite-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-protobuf-lite/1.62.2/grpc-protobuf-lite-1.62.2-sources.jar" + } + }, + "io_opencensus_opencensus_proto_0_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0c192d451e9dd74e98721b27d02f0e2b6bca44b51563b5dabf2e211f7a3ebf13", + "urls": [ + "https://repo1.maven.org/maven2/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar" + ], + "downloaded_file_path": "v1/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar" + } + }, + "commons_io_commons_io_2_15_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a58af12ee1b68cfd2ebb0c27caef164f084381a00ec81a48cc275fd7ea54e154", + "urls": [ + "https://repo1.maven.org/maven2/commons-io/commons-io/2.15.1/commons-io-2.15.1.jar" + ], + "downloaded_file_path": "v1/commons-io/commons-io/2.15.1/commons-io-2.15.1.jar" + } + }, + "org_apache_maven_maven_builder_support_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f22639e6e1cb3cd950dee1abe48280726808f94f5052bdf796faacdd88ddea9c", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-builder-support/3.9.6/maven-builder-support-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-builder-support/3.9.6/maven-builder-support-3.9.6-sources.jar" + } + }, + "commons_logging_commons_logging_1_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636", + "urls": [ + "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" + ], + "downloaded_file_path": "v1/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" + } + }, + "software_amazon_awssdk_sdk_core_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f7c3dfcc3a1771bd04edb699f20f46be9b8b9822106c920264addaf005b120ff", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.25.23/sdk-core-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/sdk-core/2.25.23/sdk-core-2.25.23.jar" + } + }, + "software_amazon_awssdk_third_party_jackson_core_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "15d1ab23b335a1a5852f4bfafdb18d233a37946b04c118c065bc21595f8aa0d7", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.25.23/third-party-jackson-core-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/third-party-jackson-core/2.25.23/third-party-jackson-core-2.25.23-sources.jar" + } + }, + "software_amazon_awssdk_http_client_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3bcd60828dc07b0b1df5d50ec30785770a25d66a1792eab361202fe67faed55d", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.25.23/http-client-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-client-spi/2.25.23/http-client-spi-2.25.23.jar" + } + }, + "com_google_api_api_common_2_29_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4b0946af6fe72ac37eaa315a471043670b1903382b9b2ca357878216e056d207", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/api-common/2.29.1/api-common-2.29.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/api-common/2.29.1/api-common-2.29.1.jar" + } + }, + "software_amazon_awssdk_json_utils_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ed44bbd8e66984d165bac01b7f91bf993d09dd208ff4d0cf3affe91da44e37fc", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.25.23/json-utils-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/json-utils/2.25.23/json-utils-2.25.23.jar" + } + }, + "org_conscrypt_conscrypt_openjdk_uber_2_5_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eaf537d98e033d0f0451cd1b8cc74e02d7b55ec882da63c88060d806ba89c348", + "urls": [ + "https://repo1.maven.org/maven2/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar" + ], + "downloaded_file_path": "v1/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar" + } + }, + "org_apache_maven_maven_core_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c1327590398759da1918dbf356eb6d63f8fce7192a805cb3c8e336fbb1155dc0", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-core/3.9.6/maven-core-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-core/3.9.6/maven-core-3.9.6.jar" + } + }, + "commons_codec_commons_codec_1_16_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ec87bfb55f22cbd1b21e2190eeda28b2b312ed2a431ee49fbdcc01812d04a5e4", + "urls": [ + "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.16.1/commons-codec-1.16.1.jar" + ], + "downloaded_file_path": "v1/commons-codec/commons-codec/1.16.1/commons-codec-1.16.1.jar" + } + }, + "io_grpc_grpc_rls_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2fa8cb6cc22d28080b30f9ff0c6143c180017ae64a51a61828432ff48813cc88", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-rls/1.62.2/grpc-rls-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-rls/1.62.2/grpc-rls-1.62.2.jar" + } + }, + "io_grpc_grpc_protobuf_lite_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "79997989a8c2b5bf4dd18182a2df2e2f668703d68ba7c317e7a07809d33f91f4", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.62.2/grpc-protobuf-lite-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-protobuf-lite/1.62.2/grpc-protobuf-lite-1.62.2.jar" + } + }, + "io_grpc_grpc_context_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c656b874e58c84ca975c3708f2e001dba76233385b6a5b7cb098868bd6ce38b1", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.62.2/grpc-context-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-context/1.62.2/grpc-context-1.62.2-sources.jar" + } + }, + "io_netty_netty_codec_http_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c6afefd3666f4476f1ad042fcfe689be4fd25e6f8ff452234e8f53a8d2254a6c", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.108.Final/netty-codec-http-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-codec-http/4.1.108.Final/netty-codec-http-4.1.108.Final-sources.jar" + } + }, + "io_grpc_grpc_netty_shaded_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c656b874e58c84ca975c3708f2e001dba76233385b6a5b7cb098868bd6ce38b1", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.62.2/grpc-netty-shaded-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-netty-shaded/1.62.2/grpc-netty-shaded-1.62.2-sources.jar" + } + }, + "org_codehaus_plexus_plexus_classworlds_jar_sources_2_7_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "64baec90c74f76500c556b800dd596481115fe4e7d33b5b06ed13cc0bb06af47", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworlds/2.7.0/plexus-classworlds-2.7.0-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-classworlds/2.7.0/plexus-classworlds-2.7.0-sources.jar" + } + }, + "maven": { + "bzlFile": "@@rules_jvm_external~//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": { + "user_provided_name": "maven", + "repositories": [ + "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" + ], + "boms": [], + "artifacts": [ + "{ \"group\": \"org.apache.lucene\", \"artifact\": \"lucene-core\", \"version\": \"9.9.0\" }", + "{ \"group\": \"org.apache.lucene\", \"artifact\": \"lucene-codecs\", \"version\": \"9.9.0\" }", + "{ \"group\": \"com.opencsv\", \"artifact\": \"opencsv\", \"version\": \"5.3\" }", + "{ \"group\": \"commons-io\", \"artifact\": \"commons-io\", \"version\": \"2.15.1\" }", + "{ \"group\": \"com.github.fommil\", \"artifact\": \"jniloader\", \"version\": \"1.1\" }" + ], + "fetch_sources": false, + "fetch_javadoc": false, + "resolver": "coursier", + "generate_compat_repositories": false, + "maven_install_json": "@@//:maven_install.json", + "override_targets": {}, + "strict_visibility": false, + "strict_visibility_value": [ + "@@//visibility:private" + ], + "additional_netrc_lines": [], + "use_credentials_from_home_netrc_file": false, + "fail_if_repin_required": false, + "use_starlark_android_rules": false, + "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl", + "duplicate_version_warning": "warn", + "excluded_artifacts": [], + "repin_instructions": "" + } + }, + "com_google_oauth_client_google_oauth_client_1_35_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2f11345608d5537c8d1791cf8724268396e21149f3a2f9c35f0739438f262d40", + "urls": [ + "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.35.0/google-oauth-client-1.35.0.jar" + ], + "downloaded_file_path": "v1/com/google/oauth-client/google-oauth-client/1.35.0/google-oauth-client-1.35.0.jar" + } + }, + "org_codehaus_plexus_plexus_cipher_jar_sources_2_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "9a05e2b3b472fcd1ab252270465dec441258736ae6737a70b9730518bb39bee9", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-cipher/2.1.0/plexus-cipher-2.1.0-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-cipher/2.1.0/plexus-cipher-2.1.0-sources.jar" + } + }, + "com_google_auth_google_auth_library_oauth2_http_jar_sources_1_23_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f4c00cac4c72cd39d0957dffad5d19c4ad63185e4fbec3d6211fb0cf3f5fdb6f", + "urls": [ + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/1.23.0/google-auth-library-oauth2-http-1.23.0-sources.jar" + ], + "downloaded_file_path": "v1/com/google/auth/google-auth-library-oauth2-http/1.23.0/google-auth-library-oauth2-http-1.23.0-sources.jar" + } + }, + "com_google_cloud_google_cloud_core_jar_sources_2_36_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2a2391e3c39119cb37bb52b9968fe9abefcbc551ae23d23b0c0049c1790eec41", + "urls": [ + "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/2.36.1/google-cloud-core-2.36.1-sources.jar" + ], + "downloaded_file_path": "v1/com/google/cloud/google-cloud-core/2.36.1/google-cloud-core-2.36.1-sources.jar" + } + }, + "io_grpc_grpc_grpclb_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1034584c8675456ecc2dd641dabd8e30377897cc1e68cadb512b1658d47772e8", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-grpclb/1.62.2/grpc-grpclb-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-grpclb/1.62.2/grpc-grpclb-1.62.2-sources.jar" + } + }, + "org_slf4j_slf4j_api_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a79502b8abdfbd722846a27691226a4088682d6d35654f9b80e2a9ccacf7ed47", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar" + ], + "downloaded_file_path": "v1/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar" + } + }, + "com_fasterxml_jackson_core_jackson_core_2_17_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "55be130f6a68038088a261856c4e383ce79957a0fc1a29ecb213a9efd6ef4389", + "urls": [ + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.17.0/jackson-core-2.17.0.jar" + ], + "downloaded_file_path": "v1/com/fasterxml/jackson/core/jackson-core/2.17.0/jackson-core-2.17.0.jar" + } + }, + "aopalliance_aopalliance_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08", + "urls": [ + "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" + ], + "downloaded_file_path": "v1/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" + } + }, + "org_codehaus_plexus_plexus_interpolation_jar_sources_1_26": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "048ec9a9ae5fffbe8fa463824b852ea60d9cebd7397446f6a516fcde05863366", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26-sources.jar" + } + }, + "org_slf4j_jul_to_slf4j_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "62702e12ff5af75f4125c76403ffb577b54972478e83a1ae075bc5a38db233f7", + "urls": [ + "https://repo1.maven.org/maven2/org/slf4j/jul-to-slf4j/2.0.12/jul-to-slf4j-2.0.12-sources.jar" + ], + "downloaded_file_path": "v1/org/slf4j/jul-to-slf4j/2.0.12/jul-to-slf4j-2.0.12-sources.jar" + } + }, + "org_reactivestreams_reactive_streams_jar_sources_1_0_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5a7a36ae9536698c434ebe119feb374d721210fee68eb821a37ef3859b64b708", + "urls": [ + "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4-sources.jar" + ], + "downloaded_file_path": "v1/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4-sources.jar" + } + }, + "software_amazon_awssdk_aws_xml_protocol_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c9078a7dcc854220bcfce7592d4a16ec9dabd892deccf5cc6b042961a90559cb", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.25.23/aws-xml-protocol-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/aws-xml-protocol/2.25.23/aws-xml-protocol-2.25.23-sources.jar" + } + }, + "com_fasterxml_jackson_core_jackson_core_jar_sources_2_17_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "97f4f4a85bf4da59174dde187130bddb927ac31320b385ed8ef1439c00df00f2", + "urls": [ + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.17.0/jackson-core-2.17.0-sources.jar" + ], + "downloaded_file_path": "v1/com/fasterxml/jackson/core/jackson-core/2.17.0/jackson-core-2.17.0-sources.jar" + } + }, + "io_grpc_grpc_api_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2e896944cf513e0e5cfd32bcd72c89601a27c6ca56916f84b20f3a13bacf1b1f", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.62.2/grpc-api-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-api/1.62.2/grpc-api-1.62.2.jar" + } + }, + "commons_collections_commons_collections_3_2_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8", + "urls": [ + "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar" + ], + "downloaded_file_path": "v1/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar" + } + }, + "org_apache_maven_maven_resolver_provider_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "73b00b244b7b9e285654a45e765892bf5d369da77d42b5b4b5429122ed198a33", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-resolver-provider/3.9.6/maven-resolver-provider-3.9.6.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-resolver-provider/3.9.6/maven-resolver-provider-3.9.6.jar" + } + }, + "io_netty_netty_buffer_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "348e3ff64c7129ca661bc09d4bdda09c824474cfd1f5918368bdc56f5ee17f79", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.108.Final/netty-buffer-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-buffer/4.1.108.Final/netty-buffer-4.1.108.Final.jar" + } + }, + "software_amazon_awssdk_crt_core_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eef4c82653094816c7e7d2117d487638e5ae17135b3a62e346c8486b81715411", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/crt-core/2.25.23/crt-core-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/crt-core/2.25.23/crt-core-2.25.23-sources.jar" + } + }, + "org_fusesource_jansi_jansi_2_4_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2e5e775a9dc58ffa6bbd6aa6f099d62f8b62dcdeb4c3c3bbbe5cf2301bc2dcc1", + "urls": [ + "https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1.jar" + ], + "downloaded_file_path": "v1/org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1.jar" + } + }, + "software_amazon_awssdk_http_client_spi_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "96ba2da82d5ba290c49952977f5d487025d2e1267f8005d26db1a12708266a46", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.25.23/http-client-spi-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/http-client-spi/2.25.23/http-client-spi-2.25.23-sources.jar" + } + }, + "software_amazon_awssdk_protocol_core_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3c10559c976b945ace5a568325bf47fd7438186e79e96161e5ed5d80df1ad99a", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.25.23/protocol-core-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/protocol-core/2.25.23/protocol-core-2.25.23.jar" + } + }, + "org_apache_commons_commons_collections4_4_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1df8b9430b5c8ed143d7815e403e33ef5371b2400aadbe9bda0883762e0846d1", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar" + ], + "downloaded_file_path": "v1/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_spi_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eee663e95cb0402217f51bf9599b81bd0debab179fbc3be8b089ce1718e60c6b", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.9.18/maven-resolver-spi-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-spi/1.9.18/maven-resolver-spi-1.9.18-sources.jar" + } + }, + "com_google_errorprone_error_prone_annotations_2_11_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec", + "urls": [ + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar" + ], + "downloaded_file_path": "v1/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar" + } + }, + "io_netty_netty_transport_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "fef2ec66fe01aa89734db40f292676719da3985786512fc31a9efe1ca4d2e0ff", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.108.Final/netty-transport-4.1.108.Final.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-transport/4.1.108.Final/netty-transport-4.1.108.Final.jar" + } + }, + "org_codehaus_mojo_animal_sniffer_annotations_jar_sources_1_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4878fcc6808dbc88085a4622db670e703867754bc4bc40312c52bf3a3510d019", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23-sources.jar" + ], + "downloaded_file_path": "v1/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23-sources.jar" + } + }, + "com_google_inject_guice_5_1_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4130e50bfac48099c860f0d903b91860c81a249c90f38245f8fed58fc817bc26", + "urls": [ + "https://repo1.maven.org/maven2/com/google/inject/guice/5.1.0/guice-5.1.0.jar" + ], + "downloaded_file_path": "v1/com/google/inject/guice/5.1.0/guice-5.1.0.jar" + } + }, + "io_grpc_grpc_services_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "72f6eba0670184b634e7dcde0b97cde378a7cd74cdf63300f453d15c23bbbb6a", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-services/1.62.2/grpc-services-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-services/1.62.2/grpc-services-1.62.2.jar" + } + }, + "com_google_api_gax_httpjson_2_46_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a61afd8c02412f466d003ce44bb4f6a5473c18be09c3d9c55feca987b2b132bf", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/2.46.1/gax-httpjson-2.46.1.jar" + ], + "downloaded_file_path": "v1/com/google/api/gax-httpjson/2.46.1/gax-httpjson-2.46.1.jar" + } + }, + "com_google_api_grpc_proto_google_cloud_storage_v2_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b48e6af4a23f84f183a3a4240f7a80beb75b9046b75f88f1cc83db02c795a508", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-storage-v2/2.36.1-alpha/proto-google-cloud-storage-v2-2.36.1-alpha.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-cloud-storage-v2/2.36.1-alpha/proto-google-cloud-storage-v2-2.36.1-alpha.jar" + } + }, + "io_grpc_grpc_stub_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "da613a25d08f3915ab1d54634c6dc4ffa7441fea74d53fcd46e68afe53b1b29a", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.62.2/grpc-stub-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-stub/1.62.2/grpc-stub-1.62.2-sources.jar" + } + }, + "io_netty_netty_buffer_jar_sources_4_1_108_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "d0d090b39bba11f5ceb61f00147a92fbe6785b89a9991f6e2f6eee7e1c2de386", + "urls": [ + "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.108.Final/netty-buffer-4.1.108.Final-sources.jar" + ], + "downloaded_file_path": "v1/io/netty/netty-buffer/4.1.108.Final/netty-buffer-4.1.108.Final-sources.jar" + } + }, + "software_amazon_awssdk_auth_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "630a65c3ef573e937a527feddb42153cc96dc6bb9f75c07076239c0776e50d7b", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.25.23/auth-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/auth/2.25.23/auth-2.25.23-sources.jar" + } + }, + "com_google_apis_google_api_services_storage_v1_rev20240311_2_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "a64cf8402d01dad7a1ba875dd3a92248cfd2f537beee246e9a3cae2abe78ec1c", + "urls": [ + "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20240311-2.0.0/google-api-services-storage-v1-rev20240311-2.0.0.jar" + ], + "downloaded_file_path": "v1/com/google/apis/google-api-services-storage/v1-rev20240311-2.0.0/google-api-services-storage-v1-rev20240311-2.0.0.jar" + } + }, + "software_amazon_awssdk_auth_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "afc5f8ce61d9696e9eaca690641f24d3206bcb122c5600d6570fa10409d762c9", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.25.23/auth-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/auth/2.25.23/auth-2.25.23.jar" + } + }, + "io_grpc_grpc_xds_jar_sources_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "eede613eb4461d1fb98e9f0de3b37b64fd926b37e85176884bfc05029997c3dd", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-xds/1.62.2/grpc-xds-1.62.2-sources.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-xds/1.62.2/grpc-xds-1.62.2-sources.jar" + } + }, + "org_apache_maven_maven_resolver_provider_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "4418ef63344cf6c4dd85b336122dc0eae209fa03b92e32b929f60f10b9cb1677", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-resolver-provider/3.9.6/maven-resolver-provider-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-resolver-provider/3.9.6/maven-resolver-provider-3.9.6-sources.jar" + } + }, + "org_apache_maven_maven_plugin_api_jar_sources_3_9_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "edb25b1d583da26d59eedb921b3c6cebdc4a424d5fab3ebeeb05fdcc63a7d3cb", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/3.9.6/maven-plugin-api-3.9.6-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/maven-plugin-api/3.9.6/maven-plugin-api-3.9.6-sources.jar" + } + }, + "javax_inject_javax_inject_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", + "urls": [ + "https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar" + ], + "downloaded_file_path": "v1/javax/inject/javax.inject/1/javax.inject-1.jar" + } + }, + "com_google_guava_failureaccess_jar_sources_1_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "dd3bfa5e2ec5bc5397efb2c3cef044c192313ff77089573667ff97a60c6978e0", + "urls": [ + "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2-sources.jar" + ], + "downloaded_file_path": "v1/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2-sources.jar" + } + }, + "software_amazon_awssdk_arns_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3d58689fda719b1f86ee6485c49042b98bb736322c877f6947972c0ceb30e1c6", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.25.23/arns-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/arns/2.25.23/arns-2.25.23-sources.jar" + } + }, + "com_opencsv_opencsv_5_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "8f5333372340630e04e657cb06f8e513d7955903fd480c77181d73069a1e8c40", + "urls": [ + "https://repo1.maven.org/maven2/com/opencsv/opencsv/5.3/opencsv-5.3.jar" + ], + "downloaded_file_path": "v1/com/opencsv/opencsv/5.3/opencsv-5.3.jar" + } + }, + "com_google_android_annotations_jar_sources_4_1_1_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "e9b667aa958df78ea1ad115f7bbac18a5869c3128b1d5043feb360b0cfce9d40", + "urls": [ + "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar" + ], + "downloaded_file_path": "v1/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar" + } + }, + "software_amazon_awssdk_netty_nio_client_jar_sources_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6e1ed30d033a0b9a68e141235f3c35d58ad8e83a1869e2b29e2b47fd03c991b9", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.25.23/netty-nio-client-2.25.23-sources.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/netty-nio-client/2.25.23/netty-nio-client-2.25.23-sources.jar" + } + }, + "org_apache_commons_commons_text_1_9": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0812f284ac5dd0d617461d9a2ab6ac6811137f25122dfffd4788a4871e732d00", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/commons/commons-text/1.9/commons-text-1.9.jar" + ], + "downloaded_file_path": "v1/org/apache/commons/commons-text/1.9/commons-text-1.9.jar" + } + }, + "com_google_android_annotations_4_1_1_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", + "urls": [ + "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + ], + "downloaded_file_path": "v1/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + } + }, + "io_grpc_grpc_inprocess_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "f3c28a9d7f13fa995e4dd89e4f6aa08fa3b383665314fdfccb9f87f346625df7", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-inprocess/1.62.2/grpc-inprocess-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-inprocess/1.62.2/grpc-inprocess-1.62.2.jar" + } + }, + "com_google_protobuf_protobuf_java_util_jar_sources_3_25_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "74f4ac3788114a63a6deffb209fd20504bc03cb8796531ab80e5991b1afc2013", + "urls": [ + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.25.2/protobuf-java-util-3.25.2-sources.jar" + ], + "downloaded_file_path": "v1/com/google/protobuf/protobuf-java-util/3.25.2/protobuf-java-util-3.25.2-sources.jar" + } + }, + "com_google_http_client_google_http_client_jackson2_1_44_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "6390ef5cf64c0ec091f1a59494f56267a2f7419ec7bcf363b448fb4e1d31b090", + "urls": [ + "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.44.1/google-http-client-jackson2-1.44.1.jar" + ], + "downloaded_file_path": "v1/com/google/http-client/google-http-client-jackson2/1.44.1/google-http-client-jackson2-1.44.1.jar" + } + }, + "com_google_code_findbugs_jsr305_jar_sources_3_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b", + "urls": [ + "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar" + ], + "downloaded_file_path": "v1/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar" + } + }, + "software_amazon_awssdk_endpoints_spi_2_25_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "900a9927e924d0fab40ad196d1fa49db7e984474b9608777ac8b5086cd654dea", + "urls": [ + "https://repo1.maven.org/maven2/software/amazon/awssdk/endpoints-spi/2.25.23/endpoints-spi-2.25.23.jar" + ], + "downloaded_file_path": "v1/software/amazon/awssdk/endpoints-spi/2.25.23/endpoints-spi-2.25.23.jar" + } + }, + "org_checkerframework_checker_qual_3_13_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "3ea0dcd73b4d6cb2fb34bd7ed4dad6db327a01ebad7db05eb7894076b3d64491", + "urls": [ + "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.13.0/checker-qual-3.13.0.jar" + ], + "downloaded_file_path": "v1/org/checkerframework/checker-qual/3.13.0/checker-qual-3.13.0.jar" + } + }, + "com_google_api_grpc_proto_google_cloud_storage_v2_jar_sources_2_36_1_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2a968879ada88202ccad834e38e415787575e0254d0d0d60d59291a2dbfbfd9c", + "urls": [ + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-storage-v2/2.36.1-alpha/proto-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + ], + "downloaded_file_path": "v1/com/google/api/grpc/proto-google-cloud-storage-v2/2.36.1-alpha/proto-google-cloud-storage-v2-2.36.1-alpha-sources.jar" + } + }, + "org_apache_maven_resolver_maven_resolver_connector_basic_jar_sources_1_9_18": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0dd578a67892b65b7c611717812bc78bf47ae689ce340ae1ae1ecededddabc51", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.9.18/maven-resolver-connector-basic-1.9.18-sources.jar" + ], + "downloaded_file_path": "v1/org/apache/maven/resolver/maven-resolver-connector-basic/1.9.18/maven-resolver-connector-basic-1.9.18-sources.jar" + } + }, + "io_grpc_grpc_netty_shaded_1_62_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b3f1823ef30ca02ac721020f4b6492248efdbd0548c78e893d5d245cbca2cc60", + "urls": [ + "https://repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.62.2/grpc-netty-shaded-1.62.2.jar" + ], + "downloaded_file_path": "v1/io/grpc/grpc-netty-shaded/1.62.2/grpc-netty-shaded-1.62.2.jar" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_jvm_external~", + "", + "" + ], + [ + "rules_jvm_external~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_kotlin~//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { + "general": { + "bzlTransitiveDigest": "eQ3H0Qs7GXdFtRMBZBkmCCaok6VSMsJLfXZbK/eun+A=", + "usagesDigest": "NVenRWDvHRhBixN7Qd3DonxYCvo8Bzu7GU5tHat0wps=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "rules_android": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", + "strip_prefix": "rules_android-0.1.1", + "urls": [ + "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" + ] + } + }, + "com_github_pinterest_ktlint": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "2b3f6f674a944d25bb8d283c3539947bbe86074793012909a55de4b771f74bcc", + "urls": [ + "https://github.com/pinterest/ktlint/releases/download/0.49.1/ktlint" + ], + "executable": true + } + }, + "buildkite_config": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://storage.googleapis.com/rbe-toolchain/bazel-configs/rbe-ubuntu1604/latest/rbe_default.tar" + ] + } + }, + "com_github_jetbrains_kotlin": { + "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:compiler.bzl", + "ruleClassName": "kotlin_compiler_repository", + "attributes": { + "urls": [ + "https://github.com/JetBrains/kotlin/releases/download/v1.9.10/kotlin-compiler-1.9.10.zip" + ], + "sha256": "7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342", + "compiler_version": "1.9.10" + } + }, + "com_github_google_ksp": { + "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:ksp.bzl", + "ruleClassName": "ksp_compiler_plugin_repository", + "attributes": { + "urls": [ + "https://github.com/google/ksp/releases/download/1.9.10-1.0.13/artifacts.zip" + ], + "sha256": "5b0b1179e8af40877d9d5929ec0260afb104956eabf2f23bb5568cfd6c20b37b", + "strip_version": "1.9.10-1.0.13" + } + }, + "kt_java_stub_template": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "urls": [ + "https://raw.githubusercontent.com/bazelbuild/bazel/6.2.1/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt" + ], + "sha256": "78e29525872594ffc783c825f428b3e61d4f3e632f46eaa64f004b2814c4a612" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_kotlin~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_ll~//ll:init.bzl%rules_ll_dependencies": { + "general": { + "bzlTransitiveDigest": "ctZ0ilcBowKWiKLXcU8zhjuvPgnWu/N6LfNA5qkcveM=", + "usagesDigest": "YKh+7zpMdYWXiyEEFfvfeeaG4y4C6jvaPZY74MvNk4w=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "zstd": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@llvm-project-overlay~~llvm_project_overlay~llvm-raw//utils/bazel/third_party_build:zstd.BUILD", + "integrity": "sha256-nEOWzIKc+uMZpuJhUgLoKq1BNyBzSC/OKG+seGRtPuQ=", + "strip_prefix": "zstd-1.5.5", + "urls": [ + "https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz" + ] + } + }, + "zlib-ng": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@llvm-project-overlay~~llvm_project_overlay~llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD", + "integrity": "sha256-42uzRsAEcqH5/yoKRkPlkKJUvmN52nzd2drrmn8pZzE=", + "strip_prefix": "zlib-ng-2.0.7", + "urls": [ + "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip" + ] + } + }, + "clr": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@rules_ll~//third-party-overlays:clr.BUILD.bazel", + "integrity": "sha256-IKlxPbTNaoGdJSrQ/wv1d+iFeaE6Qomhcx/GOTKHQR0=", + "strip_prefix": "clr-rocm-5.7.1", + "urls": [ + "https://github.com/ROCm/clr/archive/refs/tags/rocm-5.7.1.zip" + ], + "patches": [ + "@@rules_ll~//patches:hipamd_deprecate_fix.diff", + "@@rules_ll~//patches:hipamd_correct_jit_option.diff", + "@@rules_ll~//patches:hipamd_fix_extraneous_parentheses.diff", + "@@rules_ll~//patches:hipamd_enforce_semicolon.diff", + "@@rules_ll~//patches:hipamd_fix_local_address_space.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "rocr": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@rules_ll~//third-party-overlays:rocr.BUILD.bazel", + "strip_prefix": "ROCR-Runtime-rocm-6.1.0", + "integrity": "sha256-ZPaRQTFkzI/+++tcLIgYmN8Zg/jOwqkzUBIpPy0uDiY=", + "urls": [ + "https://github.com/ROCm/ROCR-Runtime/archive/refs/tags/rocm-6.1.0.zip" + ], + "patches": [ + "@@rules_ll~//patches:rocr-generated-files.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "local-remote-execution": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://github.com/TraceMachina/nativelink/archive/75105df746c626da76f74e412764e6755296a8ab.zip" + ], + "integrity": "sha256-Hh1GUUSJfW//nztQyhxsK+MpZ2okM24sJ+OJYXn89Yo=", + "strip_prefix": "nativelink-75105df746c626da76f74e412764e6755296a8ab/local-remote-execution" + } + }, + "roct": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@rules_ll~//third-party-overlays:roct.BUILD.bazel", + "strip_prefix": "ROCT-Thunk-Interface-rocm-6.1.0", + "integrity": "sha256-KlnkZj87Dx8Zr0EpS4iiTVMnO2CU+eVTeqbHcaeYhU4=", + "urls": [ + "https://github.com/ROCm/ROCT-Thunk-Interface/archive/refs/tags/rocm-6.1.0.zip" + ], + "patches": [ + "@@rules_ll~//patches:roct_adjust_kfd_bin_dir.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "llvm-project-rocm": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@rules_ll~//third-party-overlays:llvm-project-rocm.BUILD.bazel", + "strip_prefix": "llvm-project-e156b4cbbe9ec271c29b76979a4c04e59eb24c23", + "integrity": "sha256-OtN36Kg+aHJ4SJndw/AEd4qAz1WpCCsXp1v3mtePmhA=", + "urls": [ + "https://github.com/ROCm/llvm-project/archive/e156b4cbbe9ec271c29b76979a4c04e59eb24c23.zip" + ], + "patches": [ + "@@rules_ll~//patches:comgr_bc2h.diff" + ], + "patch_args": [ + "-p1" + ] + } + }, + "hip": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file": "@@rules_ll~//third-party-overlays:hip.BUILD.bazel", + "integrity": "sha256-MnMFzzUdJyRakujoAUiGHI4U7HC2hl/LNF+za1q3tEw=", + "patch_cmds": [ + "echo \"\n #define HIP_VERSION_MAJOR 5\n #define HIP_VERSION_MINOR 7\n #define HIP_VERSION_PATCH 0\n #define HIP_VERSION 50700000\n #define HIP_VERSION_GITHASH \"0000\"\n #define HIP_VERSION_BUILD_NAME \"rules_hip_custom_build_name_string\"\n #define HIP_VERSION_BUILD_ID 0\n \"\n >> include/hip/hip_version.h" + ], + "strip_prefix": "HIP-rocm-5.7.1", + "urls": [ + "https://github.com/ROCm/HIP/archive/refs/tags/rocm-5.7.1.zip" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_ll~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_python~//python/extensions:python.bzl%python": { + "general": { + "bzlTransitiveDigest": "tKKotkOe6mSkAux/PEwMhp69C3l5pp0xkRtgTviS/IE=", + "usagesDigest": "9rlrm2M/kJEEPWIo3UEIjkAFxHjzsbMIAFR9yrYnKsQ=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "python_aliases": { + "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl", + "ruleClassName": "multi_toolchain_aliases", + "attributes": { + "python_versions": { + "3.11": "python_3_11" + } + } + }, + "python_3_11": { + "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl", + "ruleClassName": "toolchain_aliases", + "attributes": { + "python_version": "3.11.1", + "user_repository_name": "python_3_11" + } + }, + "python_3_11_aarch64-unknown-linux-gnu": { + "bzlFile": "@@rules_python~//python:repositories.bzl", + "ruleClassName": "python_repository", + "attributes": { + "sha256": "debf15783bdcb5530504f533d33fda75a7b905cec5361ae8f33da5ba6599f8b4", + "patches": [], + "platform": "aarch64-unknown-linux-gnu", + "python_version": "3.11.1", + "release_filename": "20230116/cpython-3.11.1+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", + "urls": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz" + ], + "distutils_content": "", + "strip_prefix": "python", + "ignore_root_user_error": false + } + }, + "python_3_11_aarch64-apple-darwin": { + "bzlFile": "@@rules_python~//python:repositories.bzl", + "ruleClassName": "python_repository", + "attributes": { + "sha256": "4918cdf1cab742a90f85318f88b8122aeaa2d04705803c7b6e78e81a3dd40f80", + "patches": [], + "platform": "aarch64-apple-darwin", + "python_version": "3.11.1", + "release_filename": "20230116/cpython-3.11.1+20230116-aarch64-apple-darwin-install_only.tar.gz", + "urls": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-aarch64-apple-darwin-install_only.tar.gz" + ], + "distutils_content": "", + "strip_prefix": "python", + "ignore_root_user_error": false + } + }, + "python_3_11_x86_64-apple-darwin": { + "bzlFile": "@@rules_python~//python:repositories.bzl", + "ruleClassName": "python_repository", + "attributes": { + "sha256": "20a4203d069dc9b710f70b09e7da2ce6f473d6b1110f9535fb6f4c469ed54733", + "patches": [], + "platform": "x86_64-apple-darwin", + "python_version": "3.11.1", + "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-apple-darwin-install_only.tar.gz", + "urls": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-apple-darwin-install_only.tar.gz" + ], + "distutils_content": "", + "strip_prefix": "python", + "ignore_root_user_error": false + } + }, + "pythons_hub": { + "bzlFile": "@@rules_python~//python/extensions/private:pythons_hub.bzl", + "ruleClassName": "hub_repo", + "attributes": { + "toolchain_prefixes": [ + "_0000_python_3_11_" + ], + "toolchain_python_versions": [ + "3.11" + ], + "toolchain_set_python_version_constraints": [ + "False" + ], + "toolchain_user_repository_names": [ + "python_3_11" + ] + } + }, + "python_3_11_x86_64-pc-windows-msvc": { + "bzlFile": "@@rules_python~//python:repositories.bzl", + "ruleClassName": "python_repository", + "attributes": { + "sha256": "edc08979cb0666a597466176511529c049a6f0bba8adf70df441708f766de5bf", + "patches": [], + "platform": "x86_64-pc-windows-msvc", + "python_version": "3.11.1", + "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-pc-windows-msvc-shared-install_only.tar.gz", + "urls": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-pc-windows-msvc-shared-install_only.tar.gz" + ], + "distutils_content": "", + "strip_prefix": "python", + "ignore_root_user_error": false + } + }, + "python_3_11_x86_64-unknown-linux-gnu": { + "bzlFile": "@@rules_python~//python:repositories.bzl", + "ruleClassName": "python_repository", + "attributes": { + "sha256": "02a551fefab3750effd0e156c25446547c238688a32fabde2995c941c03a6423", + "patches": [], + "platform": "x86_64-unknown-linux-gnu", + "python_version": "3.11.1", + "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", + "urls": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz" + ], + "distutils_content": "", + "strip_prefix": "python", + "ignore_root_user_error": false + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_python~", + "bazel_tools", + "bazel_tools" + ] + ] + } + } + } +} diff --git a/Pulumi.yaml b/Pulumi.yaml new file mode 100644 index 0000000..84c8988 --- /dev/null +++ b/Pulumi.yaml @@ -0,0 +1,11 @@ +--- +name: nativelink +org: SearchScale +runtime: go +description: NativeLink development cluster for lucene-cuvs. +organization: + pulumi:tags: + company: SearchScale +backend: + # Only intended to run locally. + url: file://~ diff --git a/README.md b/README.md index 724013d..090d42a 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,27 @@ # Lucene CuVS Integration -This is an integration for [CuVS](https://github.com/rapidsai/cuvs), GPU accelerated vector search library from NVIDIA (formerly part of [Raft](https://github.com/rapidsai/raft)), into [Apache Lucene](https://github.com/apache/lucene). +This is an integration for [CuVS](https://github.com/rapidsai/cuvs), GPU +accelerated vector search library from NVIDIA (formerly part of [Raft](https://github.com/rapidsai/raft)), +into [Apache Lucene](https://github.com/apache/lucene). -## Architecture +## 🏛️ Architecture -As an initial integration, the CuVS library is plugged in as an IndexSearcher. This project has two layers: (1) Java/JNI layer in `lucene` dir, (2) CuVS/C++ layer in `cuda` dir. +As an initial integration, the CuVS library is plugged in as an IndexSearcher. +This project has two layers: -![Architecture](architecture.png "Lucene CuVS Architecture") - -By way of a working example, OpenAI's Wikipedia corpus (25k documents) can be indexed, each document having a content vector. A provided sample query (query.txt) can be executed after the indexing. - -> :warning: This is not production ready yet. - -## Running - -Install RAFT (https://docs.rapids.ai/api/raft/stable/build/#installation) +1. Java/JNI layer in the `lucene` directory. +2. CuVS/C++ layer in the `cuda` directory. -Download the dataset file [using this link](https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip) - -Set the correct path for Raft in `cuda/CMakeLists.txt` file. Then, proceed to run the following (Wikipedia OpenAI benchmark): - - wget -c https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip - mvn package - java -jar lucene/target/cuvs-searcher-lucene-0.0.1-SNAPSHOT-jar-with-dependencies.jar +![Architecture](architecture.png "Lucene CuVS Architecture") - # Example - java -jar lucene/target/cuvs-searcher-lucene-0.0.1-SNAPSHOT-jar-with-dependencies.jar vector_database_wikipedia_articles_embedded.zip 5 content_vector 25000 768 query.txt +By way of a working example, OpenAI's Wikipedia corpus (25k documents) can be +indexed, each document having a content vector. A provided sample query +(query.txt) can be executed after the indexing. +> [!CAUTION] +> This is not production ready yet. -## Benchmarks +## 🚀 Benchmarks Wikipedia (768 dimensions, 1M vectors): @@ -46,13 +39,86 @@ Wikipedia (2048 dimensions, 1M vectors): | Lucene HNSW (Ryzen 7950X, single thread) | 1329.9 sec | - | -## Next steps - -* Instead of extending the IndexSearcher, create a [KnnVectorFormat](https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/codecs/KnnVectorsFormat.java) and corresponding KnnVectorsWriter and KnnVectorsReader for tighter integration. - -## Contributors +## ❄️ Setup + +Install Nix and enable flake support. The new experimental nix installer does +this for you: + +Install [`direnv`](https://direnv.net/) and add the `direnv hook` to your +`.bashrc`: + +```bash +nix profile install nixpkgs#direnv + +# For hooks into shells other than bash see https://direnv.net/docs/hook.html. +echo 'eval "$(direnv hook bash)"' >> ~/.bashrc + +source ~/.bashrc +``` + +Now clone `lucene-cuvs`, `cd` into it and run `direnv allow`: + +```bash +git clone git@github.com/SearchScale/lucene-cuvs +cd lucene-cuvs +direnv allow +``` + +> [!NOTE] +> If you don't want to use `direnv` you can use `nix develop` manually which is +> the command that `direnv` would automatically call for you. + +Now run the example: + +```bash +bazel run lucene +``` + +The above command will fetch the dataset, build the CUDA and Java code and run +a script which invokes a search on the dataset: + +```bash +Dataset file used is: /xxx/external/_main~_repo_rules~dataset/file/dataset.zip +Index of vector field is: 5 +Name of the vector field is: content_vector +Number of documents to be indexed are: 25000 +Number of dimensions are: 768 +Query file used is: /xxx/lucene-cuvs/lucene/query.txt +May 30, 2024 3:25:14 PM org.apache.lucene.internal.vectorization.VectorizationProvider lookup +INFO: Java vector incubator API enabled; uses preferredBitSize=256; FMA enabled +5000 docs indexed ... +10000 docs indexed ... +15000 docs indexed ... +20000 docs indexed ... +25000 docs indexed ... +Time taken for index building (end to end): 48656 +Time taken for copying data from IndexReader to arrays for C++: 154 +CUDA devices: 1 +Data copying time (CPU to GPU): 87 +[I] [15:27:45.929751] optimizing graph +[I] [15:27:47.860877] Graph optimized, creating index +Cagra Index building time: 104303 +[I] [15:27:47.896854] Saving CAGRA index with dataset +Time taken for index building: 104722 +Time taken for cagra::search: 7 +Time taken for searching (end to end): 8 +Found 5 hits. +DocID: 1461, Score: 0.12764463 +DocID: 1472, Score: 0.16027361 +DocID: 4668, Score: 0.16650483 +DocID: 1498, Score: 0.1781094 +DocID: 1475, Score: 0.18247437 +``` + +## 🥾 Next steps + +Instead of extending the IndexSearcher, create a [KnnVectorFormat](https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/codecs/KnnVectorsFormat.java) +and corresponding KnnVectorsWriter and KnnVectorsReader for tighter integration. + +## 🌱 Contributors * Vivek Narang, SearchScale * Ishan Chattopadhyaya, SearchScale & Committer, Apache Lucene & Solr * Kishore Angani, SearchScale * Noble Paul, SearchScale & Committer, Apache Lucene & Solr +* Aaron Siddhartha Mondal, TraceMachina & Committer, NativeLink & LLVM diff --git a/cuda/BUILD.bazel b/cuda/BUILD.bazel new file mode 100644 index 0000000..85d0fa3 --- /dev/null +++ b/cuda/BUILD.bazel @@ -0,0 +1,78 @@ +load("@bazel_skylib//rules:copy_directory.bzl", "copy_directory") +load("@bazel_skylib//rules:copy_file.bzl", "copy_file") +load( + "@lucene-cuvs//thirdparty:global_defs.bzl", + "LUCENE_CUVS_GLOBAL_COMPILE_FLAGS", + "LUCENE_CUVS_GLOBAL_DEFINES", + "LUCENE_CUVS_OFFLOAD_SM89", +) +load("@rules_ll//ll:defs.bzl", "ll_library") + +copy_directory( + name = "interfaces", + src = "@lucene-cuvs//lucene:CuVSIndexJni_hdrs", + out = "interfaces", +) + +copy_file( + name = "jni_h", + src = "@rules_jni//jni/private:jni_h", + out = "jni/jni.h", +) + +copy_file( + name = "jni_unix_h", + src = "@rules_jni//jni/private/unix:jni_md_h", + out = "jni_unix/jni_md.h", +) + +ll_library( + name = "cuda", + srcs = ["src/CudaIndexJni.cu"], + hdrs = [ + ":interfaces", + ":jni_h", + ":jni_unix_h", + ], + angled_includes = [ + "$(GENERATED)cuda/jni", + ], + compilation_mode = "cuda_nvptx_nvcc", + compile_flags = LUCENE_CUVS_GLOBAL_COMPILE_FLAGS + LUCENE_CUVS_OFFLOAD_SM89, + defines = LUCENE_CUVS_GLOBAL_DEFINES, + emit = ["shared_object"], + experimental_device_intrinsics = select({ + "@rules_ll//ll:cuda_nvptx": [ + # Only required when setting `compilation_mode` to `cuda_nvptx`. + "@raft//:cpp/scripts/__clang_cuda_additional_intrinsics.h", + ], + "//conditions:default": [], + }), + includes = [ + # The outputs from `copy_directory` and `copy_file`. + "$(GENERATED)cuda/interfaces", + "$(GENERATED)cuda/jni_unix", + ], + shared_object_link_flags = [ + "--no-undefined", + "-lculibos", + "-lcublas_static", + "-lcublasLt_static", + "-lcusolver_static", + ], + version_script = "versionscript.txt", + visibility = ["//visibility:public"], + deps = [ + "@cccl//:cub", + "@cccl//:libcudacxx", + "@cccl//:thrust", + "@cutlass", + "@cutlass//:cute", + "@cuvs", + "@fmt", + "@llvm-project//openmp", + "@raft", + "@rmm", + "@spdlog", + ], +) diff --git a/cuda/CMakeLists.txt b/cuda/CMakeLists.txt deleted file mode 100644 index 80ed5fc..0000000 --- a/cuda/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -# ============================================================================= -# Copyright (c) 2023, NVIDIA CORPORATION. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except -# in compliance with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under -# the License. - -cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) - -# ------------- configure rapids-cmake --------------# - -include(cmake/thirdparty/fetch_rapids.cmake) -include(rapids-cmake) -include(rapids-cpm) -include(rapids-cuda) -include(rapids-export) -include(rapids-find) - -# ------------- configure project --------------# - -rapids_cuda_init_architectures(luceneraft) - -project(luceneraft LANGUAGES CXX CUDA) - -# ------------- configure raft -----------------# - -rapids_cpm_init() -include(cmake/thirdparty/get_raft.cmake) - -# -------------- compile tasks ----------------- # -# Build a .so file for use in JNI - -include_directories($ENV{JAVA_HOME}/include) -include_directories($ENV{JAVA_HOME}/include/linux) - -add_library(${PROJECT_NAME} SHARED src/CudaIndexJni.cu) -set_property(TARGET ${PROJECT_NAME} PROPERTY IMPORTED_LOCATION "~/miniforge3/lib/libraft.so") -target_link_libraries(${PROJECT_NAME} PRIVATE raft::raft raft::compiled) - -# Build an executable file -#add_executable(CAGRA_EXAMPLE src/cagra_example.cu) -#target_link_libraries(CAGRA_EXAMPLE PRIVATE raft::raft raft::compiled) diff --git a/cuda/build.sh b/cuda/build.sh deleted file mode 100755 index 3ac00fc..0000000 --- a/cuda/build.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2023, NVIDIA CORPORATION. - -# raft empty project template build script - -# Abort script on first error -set -e - -PARALLEL_LEVEL=${PARALLEL_LEVEL:=`nproc`} - -BUILD_TYPE=Release -BUILD_DIR=build/ - -RAFT_REPO_REL="" -EXTRA_CMAKE_ARGS="" -set -e - - -if [[ ${RAFT_REPO_REL} != "" ]]; then - RAFT_REPO_PATH="`readlink -f \"${RAFT_REPO_REL}\"`" - EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -DCPM_raft_SOURCE=${RAFT_REPO_PATH}" -fi - -if [ "$1" == "clean" ]; then - rm -rf build - exit 0 -fi - -mkdir -p $BUILD_DIR -cd $BUILD_DIR - -cmake \ - -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ - -DRAFT_NVTX=OFF \ - -DCMAKE_CUDA_ARCHITECTURES="NATIVE" \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - ${EXTRA_CMAKE_ARGS} \ - ../ - -cmake --build . -j${PARALLEL_LEVEL} diff --git a/cuda/cmake/thirdparty/fetch_rapids.cmake b/cuda/cmake/thirdparty/fetch_rapids.cmake deleted file mode 100644 index 15b6c43..0000000 --- a/cuda/cmake/thirdparty/fetch_rapids.cmake +++ /dev/null @@ -1,21 +0,0 @@ -# ============================================================================= -# Copyright (c) 2023, NVIDIA CORPORATION. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except -# in compliance with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under -# the License. - -# Use this variable to update RAPIDS and RAFT versions -set(RAPIDS_VERSION "24.02") - -if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/RAFT_RAPIDS.cmake) - file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-${RAPIDS_VERSION}/RAPIDS.cmake - ${CMAKE_CURRENT_BINARY_DIR}/RAFT_RAPIDS.cmake) -endif() -include(${CMAKE_CURRENT_BINARY_DIR}/RAFT_RAPIDS.cmake) diff --git a/cuda/cmake/thirdparty/get_raft.cmake b/cuda/cmake/thirdparty/get_raft.cmake deleted file mode 100644 index 6128b5c..0000000 --- a/cuda/cmake/thirdparty/get_raft.cmake +++ /dev/null @@ -1,63 +0,0 @@ -# ============================================================================= -# Copyright (c) 2023, NVIDIA CORPORATION. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except -# in compliance with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under -# the License. - -# Use RAPIDS_VERSION from cmake/thirdparty/fetch_rapids.cmake -set(RAFT_VERSION "${RAPIDS_VERSION}") -set(RAFT_FORK "rapidsai") -set(RAFT_PINNED_TAG "branch-${RAPIDS_VERSION}") - -function(find_and_configure_raft) - set(oneValueArgs VERSION FORK PINNED_TAG COMPILE_LIBRARY ENABLE_NVTX ENABLE_MNMG_DEPENDENCIES) - cmake_parse_arguments(PKG "${options}" "${oneValueArgs}" - "${multiValueArgs}" ${ARGN} ) - - set(RAFT_COMPONENTS "") - if(PKG_COMPILE_LIBRARY) - string(APPEND RAFT_COMPONENTS " compiled") - endif() - - if(PKG_ENABLE_MNMG_DEPENDENCIES) - string(APPEND RAFT_COMPONENTS " distributed") - endif() - - #----------------------------------------------------- - # Invoke CPM find_package() - #----------------------------------------------------- - rapids_cpm_find(raft ${PKG_VERSION} - GLOBAL_TARGETS raft::raft - BUILD_EXPORT_SET raft-template-exports - INSTALL_EXPORT_SET raft-template-exports - COMPONENTS ${RAFT_COMPONENTS} - CPM_ARGS - GIT_REPOSITORY https://github.com/${PKG_FORK}/raft.git - GIT_TAG ${PKG_PINNED_TAG} - SOURCE_SUBDIR cpp - OPTIONS - "BUILD_TESTS OFF" - "BUILD_PRIMS_BENCH OFF" - "BUILD_ANN_BENCH OFF" - "RAFT_NVTX ${ENABLE_NVTX}" - "RAFT_COMPILE_LIBRARY ${PKG_COMPILE_LIBRARY}" - ) -endfunction() - -# Change pinned tag here to test a commit in CI -# To use a different RAFT locally, set the CMake variable -# CPM_raft_SOURCE=/path/to/local/raft -find_and_configure_raft(VERSION ${RAFT_VERSION}.00 - FORK ${RAFT_FORK} - PINNED_TAG ${RAFT_PINNED_TAG} - COMPILE_LIBRARY ON - ENABLE_MNMG_DEPENDENCIES OFF - ENABLE_NVTX OFF -) diff --git a/cuda/pom.xml b/cuda/pom.xml deleted file mode 100644 index 27ce66d..0000000 --- a/cuda/pom.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - 4.0.0 - - - com.searchscale.lucene.vectorsearch - cuvs-searcher - 0.1 - - cuvs-searcher-cuda - - cuvs-searcher-cuda - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - 11 - 11 - - - - - com.googlecode.cmake-maven-project - cmake-maven-plugin - 3.27.7-b1 - - - cmake-generate - - generate - - - - . - - - build - - - - value - - - - - - cmake-build - - generate - - - - build - - - build - - - - value - - - - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.8 - - - attach-artifacts - package - - attach-artifact - - - - - ${basedir}/build/libluceneraft.so - so - - - - - - - - - - diff --git a/cuda/src/CudaIndexJni.cu b/cuda/src/CudaIndexJni.cu index 2bac870..d058f94 100644 --- a/cuda/src/CudaIndexJni.cu +++ b/cuda/src/CudaIndexJni.cu @@ -1,7 +1,7 @@ -#include "com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h" -#include #include -#include + +#include +#include #include #include #include @@ -9,51 +9,79 @@ #include #include #include +#include + +#include "com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h" + +// If this function is undefined it's unclear which JNI version is used. Keep +// this in sync with the runtime set in `.bazelrc`. +JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { + JNIEnv *env; + if (vm->GetEnv(reinterpret_cast(&env), JNI_VERSION_21) != JNI_OK) { + return JNI_ERR; // JNI version not supported + } + + // Perform any necessary initialization and registration of native methods + // here -long ms () { - struct timeval tp; - gettimeofday(&tp, NULL); - return tp.tv_sec * 1000 + tp.tv_usec / 1000; // get current timestamp in milliseconds + return JNI_VERSION_21; // Return the JNI version you are using +} + +long ms() { + struct timeval tp; + gettimeofday(&tp, NULL); + return tp.tv_sec * 1000 + + tp.tv_usec / 1000; // get current timestamp in milliseconds } raft::neighbors::cagra::index_params index_params; raft::neighbors::cagra::search_params search_params; raft::device_resources dev_resources; -rmm::mr::pool_memory_resource pool_mr(rmm::mr::get_current_device_resource(), 2 * 1024 * 1024 * 1024ull); +rmm::mr::pool_memory_resource pool_mr( + rmm::mr::get_current_device_resource(), 2 * 1024 * 1024 * 1024ull); std::string filename("./cagra_index.indx"); -raft::neighbors::cagra::index dindx = raft::neighbors::cagra::index(dev_resources); +raft::neighbors::cagra::index dindx = + raft::neighbors::cagra::index(dev_resources); -JNIEXPORT jint JNICALL Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni_initIndex -(JNIEnv *env, jobject jobj, jintArray docIds, jfloatArray dataVectors, jint numVectors, jint dimension) { - std::cout<<"CUDA devices: "<GetArrayLength(docIds); - std::vector docs (numDocs); - env->GetIntArrayRegion( docIds, 0, numDocs, &docs[0] ); // TODO: This docid to index mapping should be persisted and used during search + std::vector docs(numDocs); + env->GetIntArrayRegion(docIds, 0, numDocs, + &docs[0]); // TODO: This docid to index mapping should + // be persisted and used during search std::vector data(numVectors * dimension); - env->GetFloatArrayRegion( dataVectors, 0, numVectors * dimension, &data[0] ); + env->GetFloatArrayRegion(dataVectors, 0, numVectors * dimension, &data[0]); auto extents = raft::make_extents(numVectors, dimension); - auto dataset = raft::make_mdspan(&data[0], extents); - std::cout<<"Data copying time (CPU to GPU): "<<(ms()-startTime)<(&data[0], extents); + std::cout << "Data copying time (CPU to GPU): " << (ms() - startTime) + << std::endl; // Build the index startTime = ms(); - index_params.build_algo = raft::neighbors::cagra::graph_build_algo::NN_DESCENT; - auto ind = raft::neighbors::cagra::build(dev_resources, index_params, raft::make_const_mdspan(dataset)); - std::cout << "Cagra Index building time: " << (ms()-startTime) << std::endl; + index_params.build_algo = + raft::neighbors::cagra::graph_build_algo::NN_DESCENT; + auto ind = raft::neighbors::cagra::build( + dev_resources, index_params, raft::make_const_mdspan(dataset)); + std::cout << "Cagra Index building time: " << (ms() - startTime) << std::endl; // Serialize the index into a file raft::neighbors::cagra::serialize(dev_resources, filename, ind); - dindx = raft::neighbors::cagra::deserialize(dev_resources, filename); + dindx = raft::neighbors::cagra::deserialize(dev_resources, + filename); return numVectors * dimension; } -JNIEXPORT jobject JNICALL Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni_getTopK -(JNIEnv *env, jobject jobj, jfloatArray queryVector, jint topK) -{ +JNIEXPORT jobject JNICALL +Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni_getTopK( + JNIEnv *env, jobject jobj, jfloatArray queryVector, jint topK) { rmm::mr::set_current_device_resource(&pool_mr); // Copy the query vector into the device @@ -61,27 +89,39 @@ JNIEXPORT jobject JNICALL Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndex int64_t n_queries = 1; jsize queryVectorSize = env->GetArrayLength(queryVector); std::vector query(queryVectorSize); - env->GetFloatArrayRegion( queryVector, 0, queryVectorSize, &query[0] ); - auto queries = raft::make_device_matrix(dev_resources, n_queries, queryVectorSize); // one query at a time + env->GetFloatArrayRegion(queryVector, 0, queryVectorSize, &query[0]); + auto queries = raft::make_device_matrix( + dev_resources, n_queries, queryVectorSize); // one query at a time for (int i = 0; i < queryVectorSize; i++) { queries(0, i) = query[i]; } // Perform the search long startTime = ms(); - auto neighbors = raft::make_device_matrix(dev_resources, n_queries, topk); - auto distances = raft::make_device_matrix(dev_resources, n_queries, topk); - raft::neighbors::cagra::search(dev_resources, search_params, dindx, raft::make_const_mdspan(queries.view()), neighbors.view(), distances.view()); - std::cout<<"Time taken for cagra::search: "<<(ms()-startTime)<(dev_resources, n_queries, topk); + auto distances = + raft::make_device_matrix(dev_resources, n_queries, topk); + raft::neighbors::cagra::search( + dev_resources, search_params, dindx, + raft::make_const_mdspan(queries.view()), neighbors.view(), + distances.view()); + std::cout << "Time taken for cagra::search: " << (ms() - startTime) + << std::endl; // Return the results (neighbors and distances) int numResults = distances.extent(1); - float *retDocsAndScores = (float*)malloc( sizeof(int)*numResults + sizeof(float)*numResults ); - int *docs = &((int*)retDocsAndScores)[numResults]; - for (int i=0; iNewDirectByteBuffer((void*)retDocsAndScores, sizeof(int)*numResults + sizeof(float)*numResults); + jobject directBuffer = env->NewDirectByteBuffer( + (void *)retDocsAndScores, + sizeof(int) * numResults + sizeof(float) * numResults); + return directBuffer; } diff --git a/cuda/src/com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h b/cuda/src/com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h deleted file mode 100644 index c33634c..0000000 --- a/cuda/src/com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni.h +++ /dev/null @@ -1,29 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni */ - -#ifndef _Included_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni -#define _Included_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni - * Method: initIndex - * Signature: ([I[FII)I - */ -JNIEXPORT jint JNICALL Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni_initIndex - (JNIEnv *, jobject, jintArray, jfloatArray, jint, jint); - -/* - * Class: com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni - * Method: getTopK - * Signature: ([FI)Ljava/lang/Object; - */ -JNIEXPORT jobject JNICALL Java_com_searchscale_lucene_vectorsearch_jni_CuVSIndexJni_getTopK - (JNIEnv *, jobject, jfloatArray, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/cuda/versionscript.txt b/cuda/versionscript.txt new file mode 100644 index 0000000..5ed4095 --- /dev/null +++ b/cuda/versionscript.txt @@ -0,0 +1,131 @@ +# exports_so.txt # + +# +#//===----------------------------------------------------------------------===// +#// +#// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +#// See https://llvm.org/LICENSE.txt for license information. +#// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +#// +#//===----------------------------------------------------------------------===// +# + +# This is version script for OMP RTL shared library (libomp*.so) + +VERSION { + + global: # Exported symbols. + + # + # Modified to be compatible with JNI. + # + JNI_*; + Java_*; + + # + # "Normal" symbols. + # + omp_*; # Standard OpenMP functions. + OMP_*; # Standard OpenMP symbols. + + # + # OMPT API + # + ompt_start_tool; # OMPT start interface + ompt_libomp_connect; # OMPT libomptarget interface + + ompc_*; # omp.h renames some standard functions to ompc_*. + kmp_*; # Intel extensions. + kmpc_*; # Intel extensions. + __kmpc_*; # Functions called by compiler-generated code. + GOMP_*; # GNU C compatibility functions. + + _You_must_link_with_*; # Mutual detection/MS compatibility symbols. + + # + # Debugger support. + # +#if USE_DEBUGGER + __kmp_debugging; + __kmp_omp_debug_struct_info; +#endif /* USE_DEBUGGER */ + + # + # Internal functions exported for testing purposes. + # + __kmp_get_reduce_method; + ___kmp_allocate; + ___kmp_free; + __kmp_thread_pool; + + __kmp_reset_stats; + +#if USE_ITT_BUILD + # + # ITT support. + # + # The following entry points are added so that the backtraces from + # the tools contain meaningful names for all the functions that might + # appear in a backtrace of a thread which is blocked in the RTL. + __kmp_acquire_drdpa_lock; + __kmp_acquire_nested_drdpa_lock; + __kmp_acquire_nested_queuing_lock; + __kmp_acquire_nested_tas_lock; + __kmp_acquire_nested_ticket_lock; + __kmp_acquire_queuing_lock; + __kmp_acquire_tas_lock; + __kmp_acquire_ticket_lock; + __kmp_fork_call; + __kmp_invoke_microtask; +#if KMP_USE_MONITOR + __kmp_reap_monitor; +#endif + __kmp_reap_worker; + __kmp_release_64; + __kmp_wait_64; + __kmp_wait_4; + + # ittnotify symbols to be used by debugger + __kmp_itt_fini_ittlib; + __kmp_itt_init_ittlib; +#endif /* USE_ITT_BUILD */ + + local: # Non-exported symbols. + + *; # All other symbols are not exported. + +}; # VERSION + +# sets up GCC OMP_ version dependency chain +OMP_1.0 { +}; +OMP_2.0 { +} OMP_1.0; +OMP_3.0 { +} OMP_2.0; +OMP_3.1 { +} OMP_3.0; +OMP_4.0 { +} OMP_3.1; +OMP_4.5 { +} OMP_4.0; +OMP_5.0 { +} OMP_4.5; + +# sets up GCC GOMP_ version dependency chain +GOMP_1.0 { +}; +GOMP_2.0 { +} GOMP_1.0; +GOMP_3.0 { +} GOMP_2.0; +GOMP_4.0 { +} GOMP_3.0; +GOMP_4.5 { +} GOMP_4.0; +GOMP_5.0 { +} GOMP_4.5; +GOMP_5.0.1 { +} GOMP_5.0; + +# end of file # diff --git a/extensions.bzl b/extensions.bzl new file mode 100644 index 0000000..d145c80 --- /dev/null +++ b/extensions.bzl @@ -0,0 +1,137 @@ +"""Third party dependencies.""" + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +def _lucene_cuvs_dependencies_impl(_): + http_archive( + name = "local-remote-execution", + urls = [ + "https://github.com/TraceMachina/nativelink/archive/8a632953b86395088e4ab8c1e160a650739549b7.zip", + ], + integrity = "sha256-L+I3608IU4mDSqLWJ6zJV5zA17zGVay8c8TvmLkoneY=", + # Note: Keep this in sync with `flake.nix` and `devtools/up.sh`. + strip_prefix = "nativelink-8a632953b86395088e4ab8c1e160a650739549b7/local-remote-execution", + ) + + http_archive( + name = "cccl", + build_file = "@lucene-cuvs//thirdparty:cccl.BUILD.bazel", + integrity = "sha256-M4X16I7csfMzkUNGvKRt6h2CjPqEI4xPU2PiEimaKO4=", + strip_prefix = "cccl-6a721a0057b4d7759731532fd8248a03d0276ec9", + urls = [ + "https://github.com/NVIDIA/cccl/archive/6a721a0057b4d7759731532fd8248a03d0276ec9.zip", + ], + patches = [ + # This could be a pessimization. Probably shouldn't be upstreamed. + "@lucene-cuvs//patches:cccl_cub_new.diff", + + # Clang doesn't like `new` in device code. + "@lucene-cuvs//patches:cccl_thrust_allocator_new.diff", + "@lucene-cuvs//patches:cccl_cub_uninitialized_copy.diff", + ], + patch_args = ["-p1"], + ) + + http_archive( + name = "cutlass", + build_file = "@lucene-cuvs//thirdparty:cutlass.BUILD.bazel", + integrity = "sha256-zyDLhADi8hHx1eKtZ3oen+WF1aGUVk1Wud50GF7chTo=", + strip_prefix = "cutlass-3.5.0", + urls = [ + "https://github.com/NVIDIA/cutlass/archive/refs/tags/v3.5.0.zip", + ], + patches = [ + # TODO(aaronmondal): Figure out why this crashes clang. + "@lucene-cuvs//patches:cutlass_ops.diff", + + # TODO(aaronmondal): Upstream. + "@lucene-cuvs//patches:cutlass_fix_slice.diff", + + # Clang doesn't like these unrolls. It's unclear what a good default + # is, so we rely on default unrolling which is already fairly + # aggressive. + "@lucene-cuvs//patches:cutlass_disable_incompatible_unrolls.diff", + ], + patch_args = ["-p1"], + ) + + http_archive( + name = "cuvs", + build_file = "@lucene-cuvs//thirdparty:cuvs.BUILD.bazel", + integrity = "sha256-tf2mzQ+kw8acVImSSdZFxdnABwJz5MbOiDfrXQo5JC4=", + strip_prefix = "cuvs-d44aa39f9b75dee3d3f5fdc038188333c1d177ac", + urls = [ + "https://github.com/rapidsai/cuvs/archive/d44aa39f9b75dee3d3f5fdc038188333c1d177ac.zip", + ], + patches = [ + # TODO(aaronmondal): Upstream. + "@lucene-cuvs//patches:cuvs_use_designated_initializers.diff", + ], + patch_args = ["-p1"], + ) + + http_archive( + name = "fmt", + build_file = "@lucene-cuvs//thirdparty:fmt.BUILD.bazel", + integrity = "sha256-MSFRotE8gyf1ycWGrGz3zdwWWOj1Ptrg7FZQnI+lFsk=", + strip_prefix = "fmt-10.2.1", + urls = [ + "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip", + ], + ) + + http_archive( + name = "raft", + build_file = "@lucene-cuvs//thirdparty:raft.BUILD.bazel", + integrity = "sha256-AEZINCR9AyYafw+5TSfiJb5/QGxwpengdn9NXGaE/jA=", + strip_prefix = "raft-da3b9a9c442396a43a70efa725ca7f489605d632", + urls = [ + "https://github.com/rapidsai/raft/archive/da3b9a9c442396a43a70efa725ca7f489605d632.zip", + ], + patches = [ + # TODO(aaronmondal): Upstream. + "@lucene-cuvs//patches:raft_fix_hostdevice_template.diff", + "@lucene-cuvs//patches:raft_topk_host_device.diff", + "@lucene-cuvs//patches:raft_fix_intrinsic_warning.diff", + + # TODO(aaronmondal): This seems to be a bug in clang. + "@lucene-cuvs//patches:raft_merge_in.diff", + + # TODO(aaronmondal): Figure out whether this should be treated as a + # bug in libcxx or raft. + "@lucene-cuvs//patches:raft_variant.diff", + "@lucene-cuvs//patches:raft_variant_codepacking.diff", + + # Hack, but required. Clang expects consistend host/device usage. + "@lucene-cuvs//patches:raft_l2_hostdevice.diff", + + # Clang doesn't seem to like these unrolls. + "@lucene-cuvs//patches:raft_ivf_pq_codepacking_bad_unroll.diff", + ], + patch_args = ["-p1"], + ) + + http_archive( + name = "rmm", + build_file = "@lucene-cuvs//thirdparty:rmm.BUILD.bazel", + integrity = "sha256-VdgRWpgHdbI/PjUiXmLiYYUaYB1k47nTv22JtU660Aw=", + strip_prefix = "rmm-32cd537a55b81726940bb698013a0d684e338c86", + urls = [ + "https://github.com/rapidsai/rmm/archive/32cd537a55b81726940bb698013a0d684e338c86.zip", + ], + patch_args = ["-p1"], + ) + + http_archive( + name = "spdlog", + build_file = "@lucene-cuvs//thirdparty:spdlog.BUILD.bazel", + integrity = "sha256-Qp3986/BmE/rWeQUNTwhwRC8eWCfbXiZ1S9qo4hkb20=", + strip_prefix = "spdlog-1.14.1", + urls = [ + "https://github.com/gabime/spdlog/archive/refs/tags/v1.14.1.zip", + ], + ) + +lucene_cuvs_dependencies = module_extension( + implementation = _lucene_cuvs_dependencies_impl, +) diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..5c01a9c --- /dev/null +++ b/flake.lock @@ -0,0 +1,410 @@ +{ + "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "nativelink", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715274763, + "narHash": "sha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7+A=", + "owner": "ipetkov", + "repo": "crane", + "rev": "27025ab71bdca30e7ed0a16c88fd74c5970fc7f5", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "rules_ll", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nativelink": { + "inputs": { + "crane": "crane", + "flake-parts": [ + "flake-parts" + ], + "flake-utils": [ + "flake-utils" + ], + "nix2container": "nix2container", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": [ + "git-hooks" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1715551534, + "narHash": "sha256-mi84Hj7hw+93HTSONqsf5z/i5mF8FJyAQ2hS1EW+S5A=", + "owner": "TraceMachina", + "repo": "nativelink", + "rev": "8a632953b86395088e4ab8c1e160a650739549b7", + "type": "github" + }, + "original": { + "owner": "TraceMachina", + "repo": "nativelink", + "rev": "8a632953b86395088e4ab8c1e160a650739549b7", + "type": "github" + } + }, + "nix2container": { + "inputs": { + "flake-utils": [ + "nativelink", + "flake-utils" + ], + "nixpkgs": [ + "nativelink", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712990762, + "narHash": "sha256-hO9W3w7NcnYeX8u8cleHiSpK2YJo7ecarFTUlbybl7k=", + "owner": "nlewo", + "repo": "nix2container", + "rev": "20aad300c925639d5d6cbe30013c8357ce9f2a2e", + "type": "github" + }, + "original": { + "owner": "nlewo", + "repo": "nix2container", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1715266358, + "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f1010e0469db743d14519a1efd37e23f8513d714", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": [ + "rules_ll", + "flake-utils" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "rules_ll", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1714478972, + "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "2849da033884f54822af194400f8dff435ada242", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "flake-utils": "flake-utils", + "git-hooks": "git-hooks", + "nativelink": "nativelink", + "nixpkgs": [ + "nativelink", + "nixpkgs" + ], + "rules_ll": "rules_ll" + } + }, + "rules_ll": { + "inputs": { + "flake-parts": [ + "flake-parts" + ], + "flake-utils": "flake-utils_2", + "nativelink": [ + "nativelink" + ], + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1716993297, + "narHash": "sha256-l0Ovq8rZkvNS+5OOZcLH5CkzTcgoNcxtXwRZo858jrM=", + "owner": "eomii", + "repo": "rules_ll", + "rev": "3ee809512cfb605a00fe5eb938eab0e4f8705204", + "type": "github" + }, + "original": { + "owner": "eomii", + "repo": "rules_ll", + "rev": "3ee809512cfb605a00fe5eb938eab0e4f8705204", + "type": "github" + } + }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "nativelink", + "flake-utils" + ], + "nixpkgs": [ + "nativelink", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715393623, + "narHash": "sha256-nSUFcUqyTQQ/aYFIB05mpCzytcKvfKMy3ZQAe0fP26A=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "8eb8671512cb0c72c748058506e50c54fb5d8e2b", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..033d383 --- /dev/null +++ b/flake.nix @@ -0,0 +1,170 @@ +{ + description = "raft"; + + nixConfig = { + bash-prompt-prefix = "(raft) "; + bash-prompt = ''\[\033]0;\u@\h:\w\007\]\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\]''; + bash-prompt-suffix = " "; + }; + + inputs = { + nixpkgs = { + url = "github:nixos/nixpkgs"; + + # IMPORTANT: This needs to follow the `nixpkgs` from nativelink so that + # the local LRE toolchains are in sync with the remote toolchains. + follows = "nativelink/nixpkgs"; + }; + nativelink = { + # Note: Keep this commit in sync with the LRE commit in `ll/init.bzl`. + url = "github:TraceMachina/nativelink/8a632953b86395088e4ab8c1e160a650739549b7"; + + # IMPORTANT: This repository provides the autogenerated LRE toolchains + # which are dependent on the nixpkgs version in the nativelink repository. + # To keep the local LRE toolchains aligned with remote LRE, we need to use + # the nixpkgs used by nativelink as the the "global" nixpkgs. We do this + # by setting `nixpkgs.follows = "nativelink/nixpkgs"` above. + + inputs = { + flake-utils.follows = "flake-utils"; + flake-parts.follows = "flake-parts"; + pre-commit-hooks.follows = "git-hooks"; + }; + }; + flake-utils.url = "github:numtide/flake-utils"; + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; + git-hooks = { + url = "github:cachix/git-hooks.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + rules_ll = { + # Note: Keep this commit in sync with the one in MODULE.bazel. + url = "github:eomii/rules_ll/3ee809512cfb605a00fe5eb938eab0e4f8705204"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-parts.follows = "flake-parts"; + nativelink.follows = "nativelink"; + }; + }; + }; + + outputs = + { self + , flake-parts + , git-hooks + , rules_ll + , nativelink + , ... + } @ inputs: + flake-parts.lib.mkFlake { inherit inputs; } + { + systems = [ + "x86_64-linux" + ]; + imports = [ + inputs.nativelink.flakeModule + inputs.git-hooks.flakeModule + inputs.rules_ll.flakeModule + ]; + perSystem = + { config + , pkgs + , system + , lib + , ... + }: + { + _module.args.pkgs = + let + nixpkgs-patched = (import self.inputs.nixpkgs { inherit system; }).applyPatches { + name = "nixpkgs-patched"; + src = self.inputs.nixpkgs; + # TODO(aaronmondal): Remove when this patch is merged upstream. + patches = [ ./patches/nixpkgs_cuda_12_4_1.diff ]; + }; + in + import nixpkgs-patched { + inherit system; + + # CUDA support + config.allowUnfree = true; + config.cudaSupport = true; + }; + pre-commit.settings = { + hooks = import ./pre-commit-hooks.nix { inherit pkgs; }; + }; + local-remote-execution.settings = { + inherit (nativelink.packages.${system}.lre-cc.meta) Env; + }; + rules_ll.settings.llEnv = + let + openssl = pkgs.openssl.override { static = true; }; + cudaPackages = { }; + merged-cuda = [ + # This is a subset of the cudatoolkit. The full distribution + # contains duplicates of thrust, libcudacxx and a few others. + # Having those in the build graph risks mixing up headers of + # different versions, so we omit them entirely. + pkgs.cudaPackages_12_4.cuda_cudart + pkgs.cudaPackages_12_4.cuda_cupti + pkgs.cudaPackages_12_4.libcublas + pkgs.cudaPackages_12_4.libcurand + pkgs.cudaPackages_12_4.libcusolver + pkgs.cudaPackages_12_4.libcusparse + ]; + customCudaPackages = { + inherit (pkgs.cudaPackages_12_4) cuda_nvcc; + cudatoolkit = pkgs.symlinkJoin rec { + name = "cuda-merged-lucene-${version}"; + version = "12.4.1"; + paths = merged-cuda; + passthru = { + lib = pkgs.symlinkJoin { + inherit name; + paths = map (p: lib.getLib p) merged-cuda; + }; + }; + }; + }; + in + rules_ll.lib.defaultLlEnv { + inherit pkgs; + cudaPackages = customCudaPackages; + LL_CFLAGS = "-I${openssl.dev}/include"; + LL_LDFLAGS = "-L${openssl.out}/lib"; + }; + devShells.default = pkgs.mkShell { + nativeBuildInputs = + let + inherit (inputs.rules_ll.packages.${system}) ll; + bazel = pkgs.writeShellScriptBin "bazel" '' + unset TMPDIR TMP + exec ${pkgs.bazelisk}/bin/bazelisk "$@" + ''; + in + [ bazel ll pkgs.kubectl ]; + shellHook = '' + # Generate the .pre-commit-config.yaml symlink when entering the + # development shell. + ${config.pre-commit.installationScript} + + # Generate .bazelrc.ll which containes action-env + # configuration when rules_ll is run from a nix environment. + ${config.rules_ll.installationScript} + + # Generate .bazelrc.lre which configures the LRE toolchains. + ${config.local-remote-execution.installationScript} + + # Ensure that the ll command points to our ll binary. + [[ $(type -t ll) == "alias" ]] && unalias ll + + # Ensure that the bazel command points to our custom wrapper. + [[ $(type -t bazel) == "alias" ]] && unalias bazel + ''; + }; + }; + }; +} diff --git a/lucene/BUILD.bazel b/lucene/BUILD.bazel new file mode 100644 index 0000000..9b53a89 --- /dev/null +++ b/lucene/BUILD.bazel @@ -0,0 +1,38 @@ +load("@rules_java//java:defs.bzl", "java_binary") +load("@rules_jni//jni:defs.bzl", "jni_headers") + +java_binary( + name = "LuceneVectorSearchExample", + srcs = glob(["src/main/java/**/*.java"]), + jvm_flags = [ + "--add-modules=jdk.incubator.vector", + ], + deps = [ + "@maven//:com_github_fommil_jniloader", + "@maven//:com_opencsv_opencsv", + "@maven//:commons_io_commons_io", + "@maven//:org_apache_commons_commons_lang3", + "@maven//:org_apache_lucene_lucene_core", + "@rules_jni//jni/tools/native_loader", + ], +) + +jni_headers( + name = "CuVSIndexJni_hdrs", + lib = ":LuceneVectorSearchExample", + visibility = ["//visibility:public"], +) + +sh_binary( + name = "lucene", + srcs = ["demo.sh"], + data = [ + "query.txt", + ":LuceneVectorSearchExample", + "@dataset//file", + "@lucene-cuvs//cuda", + ], + deps = [ + "@bazel_tools//tools/bash/runfiles", + ], +) diff --git a/lucene/demo.sh b/lucene/demo.sh new file mode 100755 index 0000000..1e1c115 --- /dev/null +++ b/lucene/demo.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# --- begin runfiles.bash initialization v3 --- +# Copy-pasted from the Bazel Bash runfiles library v3. +set -uo pipefail; set +e; 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 v3 --- + +# This script runs something like: + +# java -jar lucene/target/cuvs-searcher-lucene-0.0.1-SNAPSHOT-jar-with-dependencies.jar \ +# \ +# \ +# \ +# \ +# \ +# + +lucene/LuceneVectorSearchExample \ + "$(rlocation dataset/file/dataset.zip)" \ + 5 \ + content_vector \ + 25000 \ + 768 \ + "$(rlocation lucene-cuvs/lucene/query.txt)" diff --git a/lucene/pom.xml b/lucene/pom.xml deleted file mode 100644 index ebf064d..0000000 --- a/lucene/pom.xml +++ /dev/null @@ -1,127 +0,0 @@ - - 4.0.0 - com.searchscale.lucene.vectorsearch - cuvs-searcher-lucene - 0.0.1-SNAPSHOT - cuvs-searcher-lucene - jar - - - 11 - 11 - - - - - org.apache.lucene - lucene-core - 9.9.0 - - - org.apache.lucene - lucene-codecs - 9.9.0 - test - - - com.opencsv - opencsv - 5.3 - - - commons-io - commons-io - 2.15.1 - - - - com.github.fommil - jniloader - 1.1 - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.7 - - - ${project.build.directory}/classes - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - copy - compile - - copy - - - - - com.searchscale.lucene.vectorsearch - cuvs-searcher-cuda - 0.1 - so - false - ${project.build.directory}/classes - libluceneraft.so - - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - 2.2 - - - jar-with-dependencies - - - - com.searchscale.lucene.vectorsearch.LuceneVectorSearchExample - - - - - - assemble-all - package - - single - - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.2 - - - - true - com.searchscale.lucene.vectorsearch.LuceneVectorSearchExample - - - - - - - - \ No newline at end of file diff --git a/lucene/query.txt b/lucene/query.txt index 98a39fe..543b4e4 100644 --- a/lucene/query.txt +++ b/lucene/query.txt @@ -1 +1 @@ -[0.01700117439031601, 0.01225309818983078, 0.020791975781321526, -0.02795238047838211, -0.018035028129816055, 0.012565807439386845, -0.02856503613293171, 0.015571645461022854, -0.018175428733229637, -0.01703946478664875, -0.01052362471818924, 0.020728157833218575, 0.024952923879027367, -0.0007131685852073133, 0.0017629783833399415, 0.024225397035479546, 0.022157685831189156, 0.015239791013300419, 0.0077283866703510284, -0.008455914445221424, -0.02986692637205124, 0.013095499016344547, 0.010581061244010925, 0.010925679467618465, 0.01577586494386196, -0.006222276482731104, 0.006014867220073938, -0.011493661440908909, 0.01086824294179678, -0.01635022833943367, 0.009355750866234303, 0.01627364568412304, -0.02657390758395195, -0.00511183962225914, -0.009400423616170883, -0.01501004584133625, 0.00039327976992353797, -0.01774146594107151, 0.008270841091871262, 0.0051022665575146675, 0.004690639209002256, 0.025055034086108208, 0.0010139120277017355, -0.014882409013807774, -0.01292318943887949, 0.0028925607912242413, 0.01086824294179678, -0.016618264839053154, -0.010210915468633175, 0.013631572015583515, 0.03379812836647034, 0.011799989268183708, 0.03055616468191147, -0.002496887929737568, -0.034487366676330566, -0.011104370467364788, -0.023038377985358238, -0.013363535515964031, 0.02529754303395748, -0.006962568033486605, 0.0271865613758564, 0.004642775747925043, -0.0022033241111785173, 0.01905612088739872, -0.0021155739668756723, 0.003160597290843725, -0.004585339222103357, 0.024148814380168915, -0.010210915468633175, -0.004042884334921837, 0.031730420887470245, 0.013950662687420845, -0.004923575557768345, 0.006739204283803701, 4.5520340790972114e-05, -0.013899608515202999, -0.00012614070146810263, -0.02999456413090229, -0.03004561737179756, 0.010255588218569756, 0.01530360896140337, -0.009438714943826199, -0.017205392941832542, 0.014920700341463089, 0.010044988244771957, 0.02120041288435459, -0.009585496969521046, 0.009732278995215893, -0.011474516242742538, 0.009330224245786667, 0.012342443689703941, 0.002898942679166794, 0.012833843939006329, -0.010453424416482449, -0.008264459669589996, 0.008219786919653416, -0.0005707741947844625, 0.011225624941289425, -0.012048879638314247, -0.028233179822564125, -0.013350771740078926, -0.024161579087376595, -0.0035100020468235016, -0.00959826074540615, -0.0012939143925905228, 0.01294233463704586, 0.003446183865889907, 0.008455914445221424, 0.01905612088739872, 0.0011846256675198674, -0.008730332367122173, -0.011136279441416264, 0.021506739780306816, -0.03867384046316147, -0.0057595944963395596, -0.01458884496241808, 0.00786240492016077, -0.003695074934512377, -0.014282518066465855, -6.162447243696079e-05, 0.04010336846113205, 0.026076124981045723, 0.016848010942339897, -0.013235898688435555, 0.027441835030913353, 0.018609393388032913, -0.04102235287427902, -0.006346722133457661, -0.005488366819918156, -0.000912600546143949, 0.023970123380422592, 0.014946226961910725, -0.007326331455260515, 0.001604230492375791, -0.005727685056626797, 0.01324866246432066, -0.018864665180444717, 0.014167645014822483, 0.009451478719711304, -8.690246613696218e-05, 0.0004574968770612031, 0.020217612385749817, -0.0033057837281376123, -0.014180408790707588, -0.012342443689703941, 0.026803651824593544, 0.02591019682586193, 0.025629397481679916, 0.007262513507157564, -0.007830495946109295, 0.01564822718501091, -0.0016528918640688062, 0.016784191131591797, 0.01775422878563404, 0.005265003070235252, 0.0163629911839962, -0.015571645461022854, 0.0002582643646746874, 0.006353104021400213, -0.0146399000659585, -0.01901783049106598, 0.0012540280586108565, 0.022808631882071495, -0.011180952191352844, 0.013810263015329838, 0.03073485568165779, 0.023638268932700157, -0.03065827302634716, 0.008660132065415382, 0.009662078693509102, -0.0238680150359869, 0.017856337130069733, -0.02925427258014679, 0.02797790803015232, 0.01834135688841343, 0.02109830267727375, -0.00426305690780282, -0.010044988244771957, 0.007619895506650209, -0.006215894594788551, -0.023408522829413414, -0.008372950367629528, 0.007032767869532108, -0.01495899073779583, 0.00097960967104882, 0.009087714366614819, -0.0034717111848294735, -0.014997282065451145, 0.026139942929148674, -0.04569384455680847, 0.02182583138346672, 0.009298314340412617, -0.00647435849532485, 0.012910425662994385, -0.6633010506629944, -0.019375212490558624, 0.012112698517739773, -0.014690954238176346, 0.01019815169274807, 0.001219725701957941, 0.014218699187040329, 0.02787579782307148, -0.009049423970282078, 0.011870188638567924, -0.025029506534337997, 0.00632119458168745, -0.028462925925850868, -0.01758830063045025, -0.01530360896140337, -0.016005609184503555, 0.0010306643089279532, 0.016873536631464958, 0.0031143291853368282, 0.0008431982132606208, -0.017167100682854652, 0.030326418578624725, 0.01971982978284359, 0.017294738441705704, 0.005807457957416773, -0.0015005258610472083, 0.012170135043561459, -0.03737194836139679, -0.018558338284492493, -0.00629885820671916, 0.0004082371888216585, 0.011359643191099167, -0.01698840968310833, 0.0022735241800546646, 0.0393630787730217, -0.037805914878845215, 0.001448673545382917, 0.0017103282734751701, 0.005293721333146095, -0.0011822325177490711, 0.0098726786673069, 0.005909567233175039, 0.02859056182205677, 0.011774461716413498, 0.018711501732468605, 0.008736714720726013, 0.03599347546696663, -0.006116976495832205, -0.00287820165976882, -0.011034170165657997, 0.009700369089841843, -0.0043268753215670586, -0.02053670398890972, -0.002890965435653925, -0.003982257097959518, -0.010670406743884087, 0.029662707820534706, 0.005092693958431482, -0.007785822730511427, -0.008321896195411682, -0.009298314340412617, 0.011046933941543102, -0.019949575886130333, -0.005032066721469164, -0.007690095342695713, 0.02726314403116703, -0.03349180147051811, 0.015150445513427258, -0.005249048583209515, 0.0031143291853368282, 0.021442921832203865, -0.001498132711276412, -0.002498483285307884, -0.010140715166926384, 0.007115731481462717, 0.007690095342695713, 0.028386345133185387, -0.008321896195411682, -0.004607675597071648, -0.0011008642613887787, 0.01970706693828106, -0.019336920231580734, 0.010402370244264603, 0.012061643414199352, 0.01535466406494379, -0.01836688444018364, -0.014563317410647869, 0.006330767646431923, -0.009189823642373085, -0.0038354750722646713, -0.0026197379920631647, 0.041175514459609985, -0.0008615459664724767, 0.0005616003181785345, 0.006930658593773842, -0.0013401826145127416, -0.007077440619468689, -0.012399880215525627, 0.01695011928677559, -0.016809718683362007, 0.022629940882325172, 0.003516383934766054, 0.028947943821549416, -0.015520591288805008, 0.016197064891457558, -0.011653207242488861, -0.018162665888667107, 0.02864161692559719, 0.024761470034718513, -0.03121987357735634, 0.025603869929909706, -0.0004327672941144556, -0.01829030178487301, 0.0028095971792936325, 0.005265003070235252, -0.01569928228855133, -0.00881329644471407, 0.002217683242633939, -0.00915791466832161, -0.00731995003297925, 0.003427038434892893, 0.024646596983075142, 0.016758665442466736, -0.016018373891711235, 0.005399021320044994, 0.01627364568412304, 0.011787225492298603, -0.020804740488529205, -0.004671493545174599, -0.009642933495342731, -0.01564822718501091, -0.0037684659473598003, 0.0028000243473798037, -0.002669197041541338, 0.005006539169698954, 0.021940704435110092, 0.033721547573804855, -0.006764731369912624, -0.008309132419526577, -0.0068413130939006805, -0.006254185456782579, -0.0017534055514261127, 0.0030792290344834328, 0.004010975360870361, -0.01762659288942814, -0.017269210889935493, -0.009164296090602875, -0.0029324472416192293, -0.04278373345732689, -0.0078432597219944, 0.0023277695290744305, -0.02246401272714138, -0.018698738887906075, 0.012693444266915321, -0.01255942601710558, 0.0006844504387117922, 0.005552185233682394, -0.028309762477874756, -0.02591019682586193, -0.007919841445982456, 0.02389354072511196, 0.02864161692559719, -0.035151075571775436, 0.017294738441705704, 0.018941247835755348, -0.004655539058148861, -0.0342065654695034, 0.008028332144021988, -0.020038921386003494, -0.026676015928387642, 0.012061643414199352, -0.01632470078766346, 0.009962024167180061, 0.0018969966331496835, -0.011066079139709473, 0.02917768992483616, -0.01709051989018917, -0.014103827066719532, -0.010759752243757248, 0.0010498097399249673, 0.003666356671601534, 0.00647435849532485, 0.021940704435110092, 0.004582148045301437, 0.028845835477113724, -0.017498955130577087, 0.010370460338890553, 0.008640986867249012, -0.01832859218120575, 0.009362133219838142, 0.015099391341209412, 0.010013078339397907, -0.01188933476805687, -0.0006318003870546818, -0.002650051610544324, -0.0279268529266119, -0.006222276482731104, 0.008564405143260956, 0.027365252375602722, 0.0146399000659585, 0.022349141538143158, 0.010415133088827133, -0.005667057819664478, 0.009993933141231537, 0.011040552519261837, 0.00044393548159860075, 0.014754772186279297, -0.0342065654695034, 0.030862491577863693, 0.014920700341463089, 0.014091063290834427, -0.003015410853549838, 0.010638497769832611, -0.0009086119243875146, 0.0076581863686442375, 0.0313730388879776, 0.02381695993244648, 0.00887711439281702, 0.007185931783169508, 0.006416921969503164, 0.004381120670586824, 0.003928011283278465, -0.0029723336920142174, 0.0053032939322292805, -0.020562229678034782, 0.01188933476805687, 0.014346336014568806, 0.01979641243815422, 0.0021171695552766323, -0.028309762477874756, -0.02596125192940235, -0.004042884334921837, 0.003650402184575796, 0.005060784984380007, 0.013759207911789417, 0.0004367559449747205, 0.013567754067480564, 0.0004475252644624561, -0.016848010942339897, -0.008315513841807842, 0.013210371136665344, 0.0020246331114321947, 0.01530360896140337, -0.006681767757982016, 0.04160948097705841, -0.011940388940274715, 0.04564278945326805, 0.002227255841717124, -0.0038067568093538284, 0.00029416210600174963, -0.0017230919329449534, -0.003283447353169322, -0.04227318987250328, 0.005775548983365297, -0.004942721221596003, -0.017269210889935493, 0.008979223668575287, -0.007256131619215012, -0.006962568033486605, 0.023357467725872993, 0.011787225492298603, 0.027339724823832512, 0.0073773860931396484, 0.004732121247798204, 0.02442961558699608, -0.014473971910774708, -0.015992846339941025, 0.013503935188055038, 0.0014765940140932798, -0.01197868026793003, -0.005539421457797289, -0.014167645014822483, 0.011851043440401554, -0.013708153739571571, -0.0007199493120424449, -0.013350771740078926, 0.007479495368897915, -0.025514524430036545, -0.009623787365853786, 0.0006892367964610457, -0.005226712208241224, -0.05631319805979729, -0.00407160259783268, 0.032343074679374695, -0.005676630884408951, -0.011397934518754482, 0.01091291569173336, 0.01770317368209362, -0.024225397035479546, 0.012323298491537571, 0.020919611677527428, -0.0054787942208349705, -0.027671581134200096, -0.0017422373639419675, -0.01222757063806057, -0.004467275459319353, 0.0005775549216195941, 0.0065349857322871685, -0.01186380721628666, -0.012757262215018272, 0.01197868026793003, -0.00042399231460876763, -0.004808702971786261, 0.01635022833943367, 0.0231277234852314, 0.021596085280179977, 0.0009078141883946955, -0.01569928228855133, -0.008334659971296787, -0.035814784467220306, 0.01978364773094654, -0.026242051273584366, -0.008200641721487045, -0.002393183298408985, -0.0071093495935201645, 0.013491171412169933, 0.005427739582955837, -0.002066114917397499, 0.03412998467683792, 0.016886301338672638, -0.019643248990178108, -0.01322313491255045, -0.018685974180698395, -0.020115502178668976, 0.08786492794752121, 0.0034621383529156446, 0.0020230375230312347, 0.008353805169463158, 0.0007821720791980624, -0.0021091920789331198, -0.011078842915594578, 0.006231849081814289, -0.0016433191485702991, -0.015967318788170815, -0.009674842469394207, 0.0005328821134753525, 0.010510860942304134, 0.015278082340955734, 0.00023433253227267414, 0.024340270087122917, -0.008979223668575287, -0.04063944146037102, -0.020077211782336235, -0.01229777093976736, -0.007115731481462717, 0.0043524024076759815, -0.0043268753215670586, 0.048655010759830475, 0.007262513507157564, 0.017996737733483315, 0.03658060356974602, 0.002764924429357052, 0.009642933495342731, -0.004955484997481108, 0.0014143713051453233, 0.0016640600515529513, 0.009400423616170883, -0.004342829808592796, -0.0056128124706447124, -0.005475603509694338, -0.018660448491573334, 0.004984202794730663, 0.013899608515202999, 0.0039790659211575985, 0.008289987221360207, -0.007747531868517399, -0.005746830720454454, -0.03453842177987099, 0.007696477230638266, 0.0013673054054379463, 0.008609077893197536, 0.03451289236545563, 0.012770025990903378, -0.008743096143007278, 0.00952167809009552, -0.005188421346247196, -0.0072816587053239346, -0.018137138336896896, -0.014793063513934612, -0.0010785278864204884, -0.017154337838292122, -0.0101790064945817, 0.004732121247798204, -0.0010202937992289662, -0.0026197379920631647, -0.011174570769071579, 0.004827848169952631, -0.020626049488782883, 0.010778897441923618, -0.02190241403877735, -0.0022224695421755314, -0.014001717790961266, -0.045157771557569504, -0.0011216051643714309, 0.003055297303944826, -0.05513894185423851, -0.04811893776059151, -0.0014662236208096147, 0.03895464166998863, 6.167432729853317e-05, 0.027007870376110077, -0.005797885358333588, 0.016796955838799477, 0.01501004584133625, 0.014665426686406136, -0.005963812582194805, -0.05095246806740761, -0.011340497992932796, -0.004205620847642422, 0.013121025636792183, 0.023319177329540253, -0.016784191131591797, 0.012489225715398788, 0.02388077788054943, 0.030913546681404114, 0.012106316164135933, 0.03586583957076073, -0.003227606415748596, 0.01904335618019104, -0.00262931059114635, -0.006037203595042229, 0.01982193998992443, 0.004406648222357035, -0.016656555235385895, 0.007556077092885971, -0.004843803122639656, 0.01264877151697874, 0.008909023366868496, 0.0010043391957879066, -0.003956729546189308, 0.0007287242915481329, -0.0012077598366886377, -0.016771428287029266, -0.02382972277700901, 0.022668231278657913, -0.005644721444696188, 0.0002389194560237229, -0.025399651378393173, -0.016171537339687347, 0.034334201365709305, 0.033696021884679794, 0.025425178930163383, -0.012725353240966797, 0.0005125401075929403, -0.02518266998231411, -0.03180700168013573, -0.016133246943354607, 0.017996737733483315, 0.0037078384775668383, 0.015507827512919903, 0.012061643414199352, -0.00788793247193098, -0.03859725967049599, -0.005092693958431482, -0.001545198610983789, -0.003733365796506405, -8.216595597332343e-05, -0.013669862411916256, -0.012170135043561459, -0.0002642473264131695, -0.0025511332787573338, 0.007639041170477867, -0.009138769470155239, 0.011206479743123055, -0.006790258456021547, -0.019400738179683685, -0.01982193998992443, -0.0005388651043176651, -0.006834931205958128, -0.03793355077505112, 0.014882409013807774, 0.00047424915828742087, 0.008258077315986156, -0.008149586617946625, -0.004674684721976519, -0.009119623340666294, -0.012584952637553215, 0.0015962532488629222, -0.02388077788054943, 0.0015428054612129927, -0.02996903657913208, -0.018571102991700172, 0.02527201548218727, 0.029662707820534706, 0.03405340388417244, 0.019298629835247993, 0.007926222868263721, 0.02037077583372593, -0.006732822395861149, -0.02448066882789135, 0.0015571645926684141, -0.014384626410901546, -0.02519543282687664, 0.0022815014235675335, 0.018647683784365654, 0.0014989303890615702, -0.017958447337150574, 0.0072816587053239346, -0.00955358799546957, 0.009457860141992569, 0.013746445067226887, -0.01696288213133812, -0.006981713231652975, -0.024340270087122917, 0.006764731369912624, -0.01700117439031601, -0.009387659840285778, -0.0007925425306893885, -0.00989820621907711, -0.02869267202913761, 0.028871363028883934, 0.009240878745913506, -0.0024936969857662916, -0.006771113257855177, 0.03185805678367615, 0.009942878969013691, 0.022655468434095383, -0.001411180361174047, 0.0064679766073822975, -0.022298086434602737, -0.02255335822701454, 0.002768115373328328, -0.010153478942811489, 0.006675385870039463, 0.010159860365092754, -0.00018975949205923826, 0.015035572461783886, -0.011314970441162586, 0.009304696694016457, 0.013095499016344547, -0.018213719129562378, 0.026854706928133965, 0.004275820683687925, -0.011436224915087223, 0.010044988244771957, -0.01123200636357069, -0.02588466927409172, -0.024327505379915237, -0.0022846923675388098, -0.0020501604303717613, -0.04360060766339302, 0.01119371596723795, -0.002680365229025483, -0.044698283076286316, 0.006751967594027519, 0.01495899073779583, 0.023548923432826996, 0.019426265731453896, 0.0156865194439888, 0.013261426240205765, -0.0018618965987116098, -0.011831898242235184, -0.015278082340955734, -0.01086824294179678, -0.006522221956402063, 0.039082277566194534, -0.010970352217555046, 0.00751140434294939, -0.014448445290327072, -0.024927396327257156, -0.00955358799546957, -0.009630169719457626, -0.013503935188055038, 0.018137138336896896, -0.0077666775323450565, 0.010274733416736126, -0.0013872485142201185, 7.713030208833516e-05, -0.008430386893451214, 0.035840313881635666, -0.03318547457456589, -0.006637095008045435, -0.020243139937520027, -0.014473971910774708, -0.00852611381560564, -0.009055805392563343, -0.009910969994962215, 0.02520819753408432, 0.01911993883550167, -0.015571645461022854, -0.030377473682165146, 0.0022495922166854143, -0.002322983229532838, -0.008251695893704891, -0.02382972277700901, -0.008545259945094585, -0.02242572233080864, -0.001526850974187255, 0.0018363692797720432, 0.012546662241220474, 0.018022265285253525, 0.0023756332229822874, -0.006404158193618059, 0.02665048837661743, -0.011168188415467739, 0.0017693601548671722, 0.010664024390280247, 0.015967318788170815, -0.004294966347515583, -0.0030967791099101305, -0.01627364568412304, 0.02795238047838211, -0.01401448156684637, -0.012163752689957619, 0.026829179376363754, -0.023982886224985123, -0.007830495946109295, -0.007958131842315197, -0.005992530845105648, -0.013286953791975975, -0.02856503613293171, 0.016133246943354607, -0.011755316518247128, -0.02989245392382145, -0.029279800131917, 0.0013393849367275834, -0.008009186945855618, 0.026395216584205627, -0.0029117062222212553, 0.0003334502107463777, -0.005325630307197571, -0.00880691409111023, -0.0355595126748085, 0.009119623340666294, 0.0105172423645854, 0.0037301750853657722, -0.0203580129891634, 0.028156599029898643, 0.0047959391959011555, -0.025974014773964882, 0.026216525584459305, -0.011991443112492561, -0.0058266036212444305, -0.016796955838799477, -0.0020102739799767733, 0.00632119458168745, -0.012801934964954853, 0.007690095342695713, 0.01707775518298149, 0.009981169365346432, 0.006030821707099676, -0.018941247835755348, -0.004521520808339119, 0.016733137890696526, -0.010970352217555046, 0.0038769568782299757, 0.02532307058572769, -6.715870404150337e-05, 0.009432332590222359, -0.0024442379362881184, -0.0021969422232359648, -0.008730332367122173, -0.01569928228855133, 0.0007219436229206622, -0.004815084859728813, 0.03226649388670921, 0.00238041952252388, 0.007741149980574846, -0.0033664111979305744, -0.020051684230566025, -0.004304538946598768, 0.003580202115699649, 0.007709241006523371, -0.017269210889935493, 0.002938829129561782, 0.039184387773275375, 0.014103827066719532, -0.020728157833218575, -0.00883244164288044, -0.009936496615409851, -0.014869645237922668, 0.00781773217022419, -0.03213885426521301, -0.01906888373196125, -0.0005691787227988243, 0.027109980583190918, -0.005191612057387829, -0.020843030884861946, -0.017243683338165283, 0.007977277971804142, -0.02450619637966156, -0.01128306146711111, 0.0190050657838583, 0.015175973065197468, 0.04291137307882309, -0.002768115373328328, 0.0023947786539793015, 0.0366571843624115, 0.003583393059670925, -0.0038450476713478565, 0.020077211782336235, 0.004368357360363007, -0.011244770139455795, -0.02393183298408985, 0.002173010492697358, -0.03760169446468353, -0.042681626975536346, -0.003340883878991008, 0.016094954684376717, -0.004014166072010994, -0.00851335097104311, 0.014767535962164402, -0.008500587195158005, -0.01703946478664875, -0.009962024167180061, -0.006554131396114826, 0.018762556836009026, 0.027007870376110077, 0.017920156940817833, -0.01123838871717453, -0.00034142748336307704, 0.008889878168702126, 0.020638812333345413, -0.0025335834361612797, -0.020651575177907944, -0.0135932806879282, 0.0066690039820969105, -0.011761697940528393, -0.017473429441452026, -0.01324866246432066, 0.008398477919399738, -0.015163209289312363, -0.00952806044369936, 0.0003129086981061846, -0.006988095119595528, 0.01983470283448696, -0.0008100925479084253, -0.02243848703801632, 0.0002965552848763764, -0.013580516912043095, -0.016158772632479668, 0.0007067868136800826, 0.0016592737520113587, -0.022885214537382126, -0.00982800591737032, -0.0029707381036132574, -0.0008623437024652958, -0.017409609630703926, -0.00030951836379244924, -0.019592193886637688, -0.016835246235132217, -0.02384248748421669, 0.022629940882325172, 0.024263687431812286, -0.011072461493313313, -0.00349723850376904, -0.012935953214764595, 0.0033568383660167456, 0.007983659394085407, -0.0016736327670514584, 0.008749477565288544, -0.02654838003218174, -0.010319406166672707, 0.028182126581668854, -0.018788084387779236, -0.0212259404361248, 0.0285395085811615, 0.01975812017917633, 0.007402913644909859, -0.007562458980828524, 0.2281118482351303, -0.0022224695421755314, -0.03466605767607689, 0.045872535556554794, -0.009700369089841843, 0.039694931358098984, 0.04015442356467247, 0.0019145465921610594, 0.005663867108523846, -0.016158772632479668, -0.00924726016819477, 0.022285321727395058, -0.023676559329032898, 0.00627971300855279, 0.005204375833272934, -0.039286497980356216, -0.029535071924328804, -0.008615459315478802, 0.026931289583444595, -0.005325630307197571, -0.003924820572137833, -0.02382972277700901, -0.023523395881056786, -0.020817503333091736, 0.03341522067785263, -0.013108262792229652, -0.00495867570862174, 0.00699447700753808, -0.007473113480955362, -0.016911828890442848, -0.008264459669589996, 0.00853249616920948, 0.01846899278461933, 0.019541138783097267, -0.024825287982821465, -0.023663796484470367, -0.0034908566158264875, -0.004384311847388744, 0.027799217030405998, 0.034410785883665085, 0.002613356104120612, 0.0032004837412387133, -0.0042215753346681595, 0.01401448156684637, -0.0037525114603340626, 0.0033664111979305744, 0.0012787575833499432, -0.01963048428297043, 0.007849641144275665, 0.019975103437900543, -0.00955358799546957, -0.001535625895485282, 0.009074950590729713, 0.05304570496082306, 0.016643792390823364, -0.018098847940564156, 0.020089976489543915, 0.004164138808846474, 0.008494204841554165, 0.0014542576391249895, -0.017511719837784767, 0.04020547866821289, -0.008245314471423626, 0.009138769470155239, -0.01766488328576088, 0.016886301338672638, -0.047251008450984955, 0.022272558882832527, 0.005175657570362091, -0.019885757938027382, -0.00476083904504776, -0.0115638617426157, -0.022323613986372948, -0.02508055977523327, -0.03816329687833786, -0.007951750420033932, 0.01121924351900816, 0.03282809257507324, 0.038418568670749664, 0.016490628942847252, 0.0034876656718552113, 0.008104913868010044, -0.0074858772568404675, -0.007568840868771076, -0.013529462739825249, -0.007288040593266487, -0.0030696564354002476, 0.014231462962925434, 0.012170135043561459, 7.892518624430522e-05, -0.0010673596989363432, -0.020804740488529205, -0.0212259404361248, 0.0016959692584350705, 0.014627136290073395, 0.0005703753558918834, -0.005702157970517874, 0.014078299514949322, -0.0039120567962527275, -0.017537247389554977, -0.019592193886637688, 0.020166557282209396, 0.011359643191099167, -0.010127951391041279, -0.020230375230312347, -0.013682626187801361, -0.011155424639582634, -0.0019560283981263638, 0.02520819753408432, -0.0007642231648787856, -0.015941791236400604, -0.012131843715906143, -0.004856566432863474, -0.009291932918131351, -0.021404631435871124, 0.013542226515710354, 0.0031526200473308563, 0.009043041616678238, 0.029764818027615547, 0.007230604533106089, -0.021289758384227753, -0.010466188192367554, -0.0070455316454172134, -0.005676630884408951, -0.001825201092287898, -0.0381377674639225, -0.004521520808339119, -0.005864894483238459, -0.0017789328703656793, -0.0351766012609005, -0.004732121247798204, 0.010351315140724182, -0.00749225914478302, -0.01257857121527195, -0.016579974442720413, 0.017524482682347298, -0.020051684230566025, -0.045413047075271606, -0.013389062136411667, -0.00729442248120904, -0.00027880584821105003, -0.038444094359874725, -0.006586040370166302, -0.0033536474220454693, 0.013542226515710354, -0.016835246235132217, 0.016886301338672638, -0.005363921634852886, -0.019936811178922653, 0.005124602932482958, -0.010670406743884087, -0.013133789412677288, -0.00042399231460876763, 0.02033248543739319, 0.019477320834994316, 0.011097988113760948, 0.006598804146051407, -0.024148814380168915, -0.02381695993244648, 0.02106001228094101, -0.020549466833472252, 0.01646510139107704, 0.020804740488529205, -0.04020547866821289, -0.01638851873576641, 0.002190560335293412, -0.16082191467285156, 0.01917099393904209, 0.013363535515964031, 0.00203580129891634, 0.019962338730692863, 0.012680680491030216, 0.0018810420297086239, 0.0049012391828000546, -0.009955642744898796, -0.0008767027757130563, 0.02790132537484169, -0.009260023944079876, -0.010287497192621231, 0.004215193446725607, -0.012361588887870312, -0.040562860667705536, 0.009611023589968681, -0.009387659840285778, -0.0057851215824484825, 0.007013622205704451, 0.01461437251418829, -0.006573276594281197, 0.011474516242742538, -0.004014166072010994, -0.016069427132606506, 0.0038195205852389336, 0.0011295825242996216, 0.051411956548690796, -0.009559969417750835, -0.016120482236146927, 0.00012035717372782528, -0.016669319942593575, 0.03221543878316879, -0.006598804146051407, 0.01322313491255045, 0.022974560037255287, -0.008104913868010044, -0.030173255130648613, -0.028947943821549416, 0.004987393971532583, 0.015137681737542152, 0.03338969126343727, 0.007798586506396532, 0.005099075846374035, -0.0008116879616864026, 0.003141451859846711, 0.01435909979045391, -0.026778124272823334, 0.016758665442466736, -0.02172372303903103, 0.002160246716812253, -0.004192857071757317, -0.012495607137680054, 0.009732278995215893, -0.007402913644909859, 0.017294738441705704, 0.014537790790200233, 0.02917768992483616, 0.02989245392382145, 0.0052586211822927, -0.03607005625963211, 0.0021267421543598175, -0.001286734826862812, -0.022068340331315994, 0.006318003870546818, -0.005702157970517874, -0.01222757063806057, -0.002498483285307884, -0.04303900897502899, 0.022834159433841705, 0.0006848492776043713, -0.01831582933664322, 0.0033855566289275885, -0.014895172789692879, 0.0042183841578662395, 0.011429843492805958, -0.04074155166745186, -0.008628223091363907, 0.00699447700753808, 0.0106129702180624, -0.018609393388032913, 0.036555077880620956, -0.0285395085811615, 0.012527517043054104, 0.002362869679927826, -0.007753913756459951, -0.018698738887906075, -0.0007095788605511189, 0.0021666286047548056, 0.0036248748656362295, 0.027390779927372932, -0.023268122225999832, -0.028258707374334335, -0.009043041616678238, 0.027365252375602722, 0.03446183726191521, -0.0035482931416481733, 0.03458947688341141, -0.004735311958938837, 0.004212002735584974, -0.0030425337608903646, 0.016094954684376717, -0.01193400751799345, 0.017333028838038445, 0.028360817581415176, 0.025514524430036545, 0.022055577486753464, 0.004907621070742607, 0.04007784277200699, 0.0054787942208349705, -0.008934550918638706, -0.004515138920396566, 0.016069427132606506, 0.04038416966795921, 0.0005205173511058092, 0.021213175728917122, -0.005287339445203543, -0.027390779927372932, -0.003813138697296381, -0.001018698327243328, 0.03596794977784157, 0.019502848386764526, -0.017256446182727814, 0.010159860365092754, -0.005568139720708132, -0.01624811813235283, -0.09797373414039612, -0.024072231724858284, 0.02046012133359909, 0.022936267778277397, 0.0023197922855615616, 0.03525318577885628, 0.005363921634852886, 0.0122084254398942, 0.010408751666545868, 0.018022265285253525, -0.01915822923183441, -0.01909441128373146, 0.01197868026793003, 0.00948338769376278, 0.03696351498365402, -0.03129645437002182, -0.0026867471169680357, -0.018175428733229637, -0.02933085337281227, 0.007262513507157564, 0.016120482236146927, -0.023561686277389526, -0.013861317187547684, 0.00228309677913785, -0.01222757063806057, -0.014665426686406136, -0.022885214537382126, 0.012099934741854668, 0.003253133734688163, -0.008270841091871262, 0.007332713343203068, -0.030198782682418823, -0.02449343353509903, -0.030836964026093483, -0.0026037832722067833, -0.012023353017866611, -0.022897977381944656, 0.04829762876033783, 0.03058169037103653, -0.021647140383720398, 0.013440117239952087, 0.026190998032689095, 0.014091063290834427, -0.02782474458217621, -0.013976190239191055, -0.04148184135556221, -0.01777975633740425, -0.002873415360227227, -0.02375314198434353, -0.00140160764567554, 0.008073004893958569, -0.019847465679049492, -0.014818591065704823, 0.008047477342188358, 0.0009732278413139284, 0.01695011928677559, 0.009930115193128586, 0.0351766012609005, 0.0123041532933712, 0.005252239294350147, 0.004074793308973312, 0.008264459669589996, -0.011793606914579868, 0.007434822618961334, 0.01290404424071312, 0.026395216584205627, -0.0013689008774235845, 0.001979960361495614, 0.010395987890660763, -0.03538082167506218, -0.012425407767295837, 0.018864665180444717, -0.0072816587053239346, -0.024353032931685448, -0.04066497087478638, -0.003186124609783292, -0.02306390553712845, 0.01361880823969841, -0.0031047563534229994, -0.0062669492326676846, -0.018086083233356476, -0.009342987090349197, -0.02527201548218727, -0.013516698963940144, -0.000345814973115921, 0.0058266036212444305, -0.03379812836647034, -0.016758665442466736, -0.007926222868263721, -0.023459577932953835, 0.0025798515416681767, 0.042502935975790024, 0.023408522829413414, -0.01978364773094654, -0.011838279664516449, 0.008991987444460392, 0.000797328888438642, 0.0034908566158264875, 0.02575703337788582, 0.010389606468379498, -0.026063360273838043, 0.005012921057641506, -0.05370941385626793, 0.03762722387909889, 0.030760381370782852, -0.00696894945576787, -0.004170520696789026, 0.009323841892182827, 0.012527517043054104, -0.0008312322897836566, 0.014078299514949322, 0.004550239071249962, -0.008155968971550465, 0.0212259404361248, 0.0011120324488729239, -0.0007171572651714087, 0.0009373301290906966, -0.005635148845613003, 0.026216525584459305, 0.008085768669843674, 0.010025842115283012, 0.01841793768107891, -0.008085768669843674, 0.00712211336940527, 0.01638851873576641, 0.007300804369151592, -0.010249205864965916, 0.004818275570869446, -0.012125462293624878, 0.01056829746812582, -0.01502280868589878, 0.007907077670097351, 0.018762556836009026, -0.024646596983075142, -0.0015922646271064878, 0.03688693046569824, -0.013025298714637756, -0.016209827736020088, -0.020715394988656044, 0.008092150092124939, 0.00459172111004591, 0.024199869483709335, -0.003628065809607506, -0.015290845185518265, 0.020868558436632156, -0.001971983117982745, 0.004559811670333147, 0.02584637887775898, -0.014410153962671757, -0.007907077670097351, 0.014142117463052273, 0.006183985620737076, 0.010810806415975094, 0.025642160326242447, -0.02031972073018551, -0.009623787365853786, -0.0006274128681980073, -0.02582085132598877, 0.005185230169445276, 0.029688235372304916, 0.01701393723487854, -0.003208460984751582, 0.0135932806879282, 0.011653207242488861, 0.015252554789185524, -0.004524711985141039, 0.009910969994962215, 0.004534284584224224, -0.014129353687167168, 0.004556620959192514, 0.006617949344217777, -0.012310534715652466, -0.014167645014822483, 0.009323841892182827, 0.026727071031928062, -0.016911828890442848, 0.007371004205197096, -0.007268895395100117, 0.00474169384688139, 0.02439132332801819, -0.006445640232414007, 0.02647179737687111, -0.006783877033740282, -0.0060276309959590435, -0.0355595126748085, 0.004141802433878183, 0.006592422258108854, -0.015124917961657047, -0.009119623340666294, 0.023625504225492477, -0.047276537865400314, -0.008073004893958569, -0.011736170388758183, -0.0037716568913310766, -0.014895172789692879, 0.006075494457036257, -0.0053703030571341515, 0.01905612088739872, 0.00015824924048501998, -0.011136279441416264, -0.02109830267727375, 0.0394907146692276, -0.011761697940528393, -0.004084365908056498, -0.0021458875853568316, -0.0005939083057455719, -0.0409712977707386, 0.017996737733483315, -0.007307186257094145, -0.0342065654695034, -0.002102810423821211, 0.0028191697783768177, 0.015227027237415314, 0.006611567456275225, 0.010230060666799545, -0.005268194247037172, -0.0021586513612419367, 0.00850696861743927, -0.010510860942304134, -0.016860773786902428, -0.031653836369514465, 0.003478093072772026, -0.007804968394339085, 0.005727685056626797, 0.01772870123386383, 0.0004906025715172291, 0.005600048694759607, 0.005497939884662628, 0.03405340388417244, -0.01364433579146862, 0.01467819046229124, 0.0024522151798009872, -0.0039120567962527275, -0.012425407767295837, 0.020549466833472252, -0.014665426686406136, -0.016146009787917137, 0.006445640232414007, 0.013669862411916256, 0.01646510139107704, -0.02579532377421856, 0.04944635555148125, -0.007409295532852411, -0.010313024744391441, 0.013376299291849136, 0.02592296153306961, 0.0409712977707386, 0.02665048837661743, 0.029790345579385757, -0.013159316964447498, -0.0177159383893013, 0.017256446182727814, -0.01121286116540432, 0.009425951167941093, -0.013172080740332603, -0.026318633928894997, 0.008698423393070698, 0.005424548871815205, -0.020549466833472252, -0.02252783253788948, 0.009253641590476036, 0.02324259653687477, -0.012055261991918087, 0.023970123380422592, 0.0011583006707951427, 0.001814032904803753, 0.0032036746852099895, -0.003950347658246756, -0.023548923432826996, -0.0005779537605121732, -0.024212632328271866, -0.00614888546988368, -0.02108553983271122, -0.03607005625963211, -0.015367427840828896, 0.007020004093647003, 0.0004981809761375189, 0.0029468063730746508, -0.019924048334360123, 0.02527201548218727, 0.02389354072511196, 0.01501004584133625, -0.0014359100023284554, -0.016579974442720413, -0.008692041970789433, 0.027569470927119255, -0.022974560037255287, -0.024799760431051254, -0.016567209735512733, -0.023472340777516365] \ No newline at end of file +[0.01700117439031601, 0.01225309818983078, 0.020791975781321526, -0.02795238047838211, -0.018035028129816055, 0.012565807439386845, -0.02856503613293171, 0.015571645461022854, -0.018175428733229637, -0.01703946478664875, -0.01052362471818924, 0.020728157833218575, 0.024952923879027367, -0.0007131685852073133, 0.0017629783833399415, 0.024225397035479546, 0.022157685831189156, 0.015239791013300419, 0.0077283866703510284, -0.008455914445221424, -0.02986692637205124, 0.013095499016344547, 0.010581061244010925, 0.010925679467618465, 0.01577586494386196, -0.006222276482731104, 0.006014867220073938, -0.011493661440908909, 0.01086824294179678, -0.01635022833943367, 0.009355750866234303, 0.01627364568412304, -0.02657390758395195, -0.00511183962225914, -0.009400423616170883, -0.01501004584133625, 0.00039327976992353797, -0.01774146594107151, 0.008270841091871262, 0.0051022665575146675, 0.004690639209002256, 0.025055034086108208, 0.0010139120277017355, -0.014882409013807774, -0.01292318943887949, 0.0028925607912242413, 0.01086824294179678, -0.016618264839053154, -0.010210915468633175, 0.013631572015583515, 0.03379812836647034, 0.011799989268183708, 0.03055616468191147, -0.002496887929737568, -0.034487366676330566, -0.011104370467364788, -0.023038377985358238, -0.013363535515964031, 0.02529754303395748, -0.006962568033486605, 0.0271865613758564, 0.004642775747925043, -0.0022033241111785173, 0.01905612088739872, -0.0021155739668756723, 0.003160597290843725, -0.004585339222103357, 0.024148814380168915, -0.010210915468633175, -0.004042884334921837, 0.031730420887470245, 0.013950662687420845, -0.004923575557768345, 0.006739204283803701, 4.5520340790972114e-05, -0.013899608515202999, -0.00012614070146810263, -0.02999456413090229, -0.03004561737179756, 0.010255588218569756, 0.01530360896140337, -0.009438714943826199, -0.017205392941832542, 0.014920700341463089, 0.010044988244771957, 0.02120041288435459, -0.009585496969521046, 0.009732278995215893, -0.011474516242742538, 0.009330224245786667, 0.012342443689703941, 0.002898942679166794, 0.012833843939006329, -0.010453424416482449, -0.008264459669589996, 0.008219786919653416, -0.0005707741947844625, 0.011225624941289425, -0.012048879638314247, -0.028233179822564125, -0.013350771740078926, -0.024161579087376595, -0.0035100020468235016, -0.00959826074540615, -0.0012939143925905228, 0.01294233463704586, 0.003446183865889907, 0.008455914445221424, 0.01905612088739872, 0.0011846256675198674, -0.008730332367122173, -0.011136279441416264, 0.021506739780306816, -0.03867384046316147, -0.0057595944963395596, -0.01458884496241808, 0.00786240492016077, -0.003695074934512377, -0.014282518066465855, -6.162447243696079e-05, 0.04010336846113205, 0.026076124981045723, 0.016848010942339897, -0.013235898688435555, 0.027441835030913353, 0.018609393388032913, -0.04102235287427902, -0.006346722133457661, -0.005488366819918156, -0.000912600546143949, 0.023970123380422592, 0.014946226961910725, -0.007326331455260515, 0.001604230492375791, -0.005727685056626797, 0.01324866246432066, -0.018864665180444717, 0.014167645014822483, 0.009451478719711304, -8.690246613696218e-05, 0.0004574968770612031, 0.020217612385749817, -0.0033057837281376123, -0.014180408790707588, -0.012342443689703941, 0.026803651824593544, 0.02591019682586193, 0.025629397481679916, 0.007262513507157564, -0.007830495946109295, 0.01564822718501091, -0.0016528918640688062, 0.016784191131591797, 0.01775422878563404, 0.005265003070235252, 0.0163629911839962, -0.015571645461022854, 0.0002582643646746874, 0.006353104021400213, -0.0146399000659585, -0.01901783049106598, 0.0012540280586108565, 0.022808631882071495, -0.011180952191352844, 0.013810263015329838, 0.03073485568165779, 0.023638268932700157, -0.03065827302634716, 0.008660132065415382, 0.009662078693509102, -0.0238680150359869, 0.017856337130069733, -0.02925427258014679, 0.02797790803015232, 0.01834135688841343, 0.02109830267727375, -0.00426305690780282, -0.010044988244771957, 0.007619895506650209, -0.006215894594788551, -0.023408522829413414, -0.008372950367629528, 0.007032767869532108, -0.01495899073779583, 0.00097960967104882, 0.009087714366614819, -0.0034717111848294735, -0.014997282065451145, 0.026139942929148674, -0.04569384455680847, 0.02182583138346672, 0.009298314340412617, -0.00647435849532485, 0.012910425662994385, -0.6633010506629944, -0.019375212490558624, 0.012112698517739773, -0.014690954238176346, 0.01019815169274807, 0.001219725701957941, 0.014218699187040329, 0.02787579782307148, -0.009049423970282078, 0.011870188638567924, -0.025029506534337997, 0.00632119458168745, -0.028462925925850868, -0.01758830063045025, -0.01530360896140337, -0.016005609184503555, 0.0010306643089279532, 0.016873536631464958, 0.0031143291853368282, 0.0008431982132606208, -0.017167100682854652, 0.030326418578624725, 0.01971982978284359, 0.017294738441705704, 0.005807457957416773, -0.0015005258610472083, 0.012170135043561459, -0.03737194836139679, -0.018558338284492493, -0.00629885820671916, 0.0004082371888216585, 0.011359643191099167, -0.01698840968310833, 0.0022735241800546646, 0.0393630787730217, -0.037805914878845215, 0.001448673545382917, 0.0017103282734751701, 0.005293721333146095, -0.0011822325177490711, 0.0098726786673069, 0.005909567233175039, 0.02859056182205677, 0.011774461716413498, 0.018711501732468605, 0.008736714720726013, 0.03599347546696663, -0.006116976495832205, -0.00287820165976882, -0.011034170165657997, 0.009700369089841843, -0.0043268753215670586, -0.02053670398890972, -0.002890965435653925, -0.003982257097959518, -0.010670406743884087, 0.029662707820534706, 0.005092693958431482, -0.007785822730511427, -0.008321896195411682, -0.009298314340412617, 0.011046933941543102, -0.019949575886130333, -0.005032066721469164, -0.007690095342695713, 0.02726314403116703, -0.03349180147051811, 0.015150445513427258, -0.005249048583209515, 0.0031143291853368282, 0.021442921832203865, -0.001498132711276412, -0.002498483285307884, -0.010140715166926384, 0.007115731481462717, 0.007690095342695713, 0.028386345133185387, -0.008321896195411682, -0.004607675597071648, -0.0011008642613887787, 0.01970706693828106, -0.019336920231580734, 0.010402370244264603, 0.012061643414199352, 0.01535466406494379, -0.01836688444018364, -0.014563317410647869, 0.006330767646431923, -0.009189823642373085, -0.0038354750722646713, -0.0026197379920631647, 0.041175514459609985, -0.0008615459664724767, 0.0005616003181785345, 0.006930658593773842, -0.0013401826145127416, -0.007077440619468689, -0.012399880215525627, 0.01695011928677559, -0.016809718683362007, 0.022629940882325172, 0.003516383934766054, 0.028947943821549416, -0.015520591288805008, 0.016197064891457558, -0.011653207242488861, -0.018162665888667107, 0.02864161692559719, 0.024761470034718513, -0.03121987357735634, 0.025603869929909706, -0.0004327672941144556, -0.01829030178487301, 0.0028095971792936325, 0.005265003070235252, -0.01569928228855133, -0.00881329644471407, 0.002217683242633939, -0.00915791466832161, -0.00731995003297925, 0.003427038434892893, 0.024646596983075142, 0.016758665442466736, -0.016018373891711235, 0.005399021320044994, 0.01627364568412304, 0.011787225492298603, -0.020804740488529205, -0.004671493545174599, -0.009642933495342731, -0.01564822718501091, -0.0037684659473598003, 0.0028000243473798037, -0.002669197041541338, 0.005006539169698954, 0.021940704435110092, 0.033721547573804855, -0.006764731369912624, -0.008309132419526577, -0.0068413130939006805, -0.006254185456782579, -0.0017534055514261127, 0.0030792290344834328, 0.004010975360870361, -0.01762659288942814, -0.017269210889935493, -0.009164296090602875, -0.0029324472416192293, -0.04278373345732689, -0.0078432597219944, 0.0023277695290744305, -0.02246401272714138, -0.018698738887906075, 0.012693444266915321, -0.01255942601710558, 0.0006844504387117922, 0.005552185233682394, -0.028309762477874756, -0.02591019682586193, -0.007919841445982456, 0.02389354072511196, 0.02864161692559719, -0.035151075571775436, 0.017294738441705704, 0.018941247835755348, -0.004655539058148861, -0.0342065654695034, 0.008028332144021988, -0.020038921386003494, -0.026676015928387642, 0.012061643414199352, -0.01632470078766346, 0.009962024167180061, 0.0018969966331496835, -0.011066079139709473, 0.02917768992483616, -0.01709051989018917, -0.014103827066719532, -0.010759752243757248, 0.0010498097399249673, 0.003666356671601534, 0.00647435849532485, 0.021940704435110092, 0.004582148045301437, 0.028845835477113724, -0.017498955130577087, 0.010370460338890553, 0.008640986867249012, -0.01832859218120575, 0.009362133219838142, 0.015099391341209412, 0.010013078339397907, -0.01188933476805687, -0.0006318003870546818, -0.002650051610544324, -0.0279268529266119, -0.006222276482731104, 0.008564405143260956, 0.027365252375602722, 0.0146399000659585, 0.022349141538143158, 0.010415133088827133, -0.005667057819664478, 0.009993933141231537, 0.011040552519261837, 0.00044393548159860075, 0.014754772186279297, -0.0342065654695034, 0.030862491577863693, 0.014920700341463089, 0.014091063290834427, -0.003015410853549838, 0.010638497769832611, -0.0009086119243875146, 0.0076581863686442375, 0.0313730388879776, 0.02381695993244648, 0.00887711439281702, 0.007185931783169508, 0.006416921969503164, 0.004381120670586824, 0.003928011283278465, -0.0029723336920142174, 0.0053032939322292805, -0.020562229678034782, 0.01188933476805687, 0.014346336014568806, 0.01979641243815422, 0.0021171695552766323, -0.028309762477874756, -0.02596125192940235, -0.004042884334921837, 0.003650402184575796, 0.005060784984380007, 0.013759207911789417, 0.0004367559449747205, 0.013567754067480564, 0.0004475252644624561, -0.016848010942339897, -0.008315513841807842, 0.013210371136665344, 0.0020246331114321947, 0.01530360896140337, -0.006681767757982016, 0.04160948097705841, -0.011940388940274715, 0.04564278945326805, 0.002227255841717124, -0.0038067568093538284, 0.00029416210600174963, -0.0017230919329449534, -0.003283447353169322, -0.04227318987250328, 0.005775548983365297, -0.004942721221596003, -0.017269210889935493, 0.008979223668575287, -0.007256131619215012, -0.006962568033486605, 0.023357467725872993, 0.011787225492298603, 0.027339724823832512, 0.0073773860931396484, 0.004732121247798204, 0.02442961558699608, -0.014473971910774708, -0.015992846339941025, 0.013503935188055038, 0.0014765940140932798, -0.01197868026793003, -0.005539421457797289, -0.014167645014822483, 0.011851043440401554, -0.013708153739571571, -0.0007199493120424449, -0.013350771740078926, 0.007479495368897915, -0.025514524430036545, -0.009623787365853786, 0.0006892367964610457, -0.005226712208241224, -0.05631319805979729, -0.00407160259783268, 0.032343074679374695, -0.005676630884408951, -0.011397934518754482, 0.01091291569173336, 0.01770317368209362, -0.024225397035479546, 0.012323298491537571, 0.020919611677527428, -0.0054787942208349705, -0.027671581134200096, -0.0017422373639419675, -0.01222757063806057, -0.004467275459319353, 0.0005775549216195941, 0.0065349857322871685, -0.01186380721628666, -0.012757262215018272, 0.01197868026793003, -0.00042399231460876763, -0.004808702971786261, 0.01635022833943367, 0.0231277234852314, 0.021596085280179977, 0.0009078141883946955, -0.01569928228855133, -0.008334659971296787, -0.035814784467220306, 0.01978364773094654, -0.026242051273584366, -0.008200641721487045, -0.002393183298408985, -0.0071093495935201645, 0.013491171412169933, 0.005427739582955837, -0.002066114917397499, 0.03412998467683792, 0.016886301338672638, -0.019643248990178108, -0.01322313491255045, -0.018685974180698395, -0.020115502178668976, 0.08786492794752121, 0.0034621383529156446, 0.0020230375230312347, 0.008353805169463158, 0.0007821720791980624, -0.0021091920789331198, -0.011078842915594578, 0.006231849081814289, -0.0016433191485702991, -0.015967318788170815, -0.009674842469394207, 0.0005328821134753525, 0.010510860942304134, 0.015278082340955734, 0.00023433253227267414, 0.024340270087122917, -0.008979223668575287, -0.04063944146037102, -0.020077211782336235, -0.01229777093976736, -0.007115731481462717, 0.0043524024076759815, -0.0043268753215670586, 0.048655010759830475, 0.007262513507157564, 0.017996737733483315, 0.03658060356974602, 0.002764924429357052, 0.009642933495342731, -0.004955484997481108, 0.0014143713051453233, 0.0016640600515529513, 0.009400423616170883, -0.004342829808592796, -0.0056128124706447124, -0.005475603509694338, -0.018660448491573334, 0.004984202794730663, 0.013899608515202999, 0.0039790659211575985, 0.008289987221360207, -0.007747531868517399, -0.005746830720454454, -0.03453842177987099, 0.007696477230638266, 0.0013673054054379463, 0.008609077893197536, 0.03451289236545563, 0.012770025990903378, -0.008743096143007278, 0.00952167809009552, -0.005188421346247196, -0.0072816587053239346, -0.018137138336896896, -0.014793063513934612, -0.0010785278864204884, -0.017154337838292122, -0.0101790064945817, 0.004732121247798204, -0.0010202937992289662, -0.0026197379920631647, -0.011174570769071579, 0.004827848169952631, -0.020626049488782883, 0.010778897441923618, -0.02190241403877735, -0.0022224695421755314, -0.014001717790961266, -0.045157771557569504, -0.0011216051643714309, 0.003055297303944826, -0.05513894185423851, -0.04811893776059151, -0.0014662236208096147, 0.03895464166998863, 6.167432729853317e-05, 0.027007870376110077, -0.005797885358333588, 0.016796955838799477, 0.01501004584133625, 0.014665426686406136, -0.005963812582194805, -0.05095246806740761, -0.011340497992932796, -0.004205620847642422, 0.013121025636792183, 0.023319177329540253, -0.016784191131591797, 0.012489225715398788, 0.02388077788054943, 0.030913546681404114, 0.012106316164135933, 0.03586583957076073, -0.003227606415748596, 0.01904335618019104, -0.00262931059114635, -0.006037203595042229, 0.01982193998992443, 0.004406648222357035, -0.016656555235385895, 0.007556077092885971, -0.004843803122639656, 0.01264877151697874, 0.008909023366868496, 0.0010043391957879066, -0.003956729546189308, 0.0007287242915481329, -0.0012077598366886377, -0.016771428287029266, -0.02382972277700901, 0.022668231278657913, -0.005644721444696188, 0.0002389194560237229, -0.025399651378393173, -0.016171537339687347, 0.034334201365709305, 0.033696021884679794, 0.025425178930163383, -0.012725353240966797, 0.0005125401075929403, -0.02518266998231411, -0.03180700168013573, -0.016133246943354607, 0.017996737733483315, 0.0037078384775668383, 0.015507827512919903, 0.012061643414199352, -0.00788793247193098, -0.03859725967049599, -0.005092693958431482, -0.001545198610983789, -0.003733365796506405, -8.216595597332343e-05, -0.013669862411916256, -0.012170135043561459, -0.0002642473264131695, -0.0025511332787573338, 0.007639041170477867, -0.009138769470155239, 0.011206479743123055, -0.006790258456021547, -0.019400738179683685, -0.01982193998992443, -0.0005388651043176651, -0.006834931205958128, -0.03793355077505112, 0.014882409013807774, 0.00047424915828742087, 0.008258077315986156, -0.008149586617946625, -0.004674684721976519, -0.009119623340666294, -0.012584952637553215, 0.0015962532488629222, -0.02388077788054943, 0.0015428054612129927, -0.02996903657913208, -0.018571102991700172, 0.02527201548218727, 0.029662707820534706, 0.03405340388417244, 0.019298629835247993, 0.007926222868263721, 0.02037077583372593, -0.006732822395861149, -0.02448066882789135, 0.0015571645926684141, -0.014384626410901546, -0.02519543282687664, 0.0022815014235675335, 0.018647683784365654, 0.0014989303890615702, -0.017958447337150574, 0.0072816587053239346, -0.00955358799546957, 0.009457860141992569, 0.013746445067226887, -0.01696288213133812, -0.006981713231652975, -0.024340270087122917, 0.006764731369912624, -0.01700117439031601, -0.009387659840285778, -0.0007925425306893885, -0.00989820621907711, -0.02869267202913761, 0.028871363028883934, 0.009240878745913506, -0.0024936969857662916, -0.006771113257855177, 0.03185805678367615, 0.009942878969013691, 0.022655468434095383, -0.001411180361174047, 0.0064679766073822975, -0.022298086434602737, -0.02255335822701454, 0.002768115373328328, -0.010153478942811489, 0.006675385870039463, 0.010159860365092754, -0.00018975949205923826, 0.015035572461783886, -0.011314970441162586, 0.009304696694016457, 0.013095499016344547, -0.018213719129562378, 0.026854706928133965, 0.004275820683687925, -0.011436224915087223, 0.010044988244771957, -0.01123200636357069, -0.02588466927409172, -0.024327505379915237, -0.0022846923675388098, -0.0020501604303717613, -0.04360060766339302, 0.01119371596723795, -0.002680365229025483, -0.044698283076286316, 0.006751967594027519, 0.01495899073779583, 0.023548923432826996, 0.019426265731453896, 0.0156865194439888, 0.013261426240205765, -0.0018618965987116098, -0.011831898242235184, -0.015278082340955734, -0.01086824294179678, -0.006522221956402063, 0.039082277566194534, -0.010970352217555046, 0.00751140434294939, -0.014448445290327072, -0.024927396327257156, -0.00955358799546957, -0.009630169719457626, -0.013503935188055038, 0.018137138336896896, -0.0077666775323450565, 0.010274733416736126, -0.0013872485142201185, 7.713030208833516e-05, -0.008430386893451214, 0.035840313881635666, -0.03318547457456589, -0.006637095008045435, -0.020243139937520027, -0.014473971910774708, -0.00852611381560564, -0.009055805392563343, -0.009910969994962215, 0.02520819753408432, 0.01911993883550167, -0.015571645461022854, -0.030377473682165146, 0.0022495922166854143, -0.002322983229532838, -0.008251695893704891, -0.02382972277700901, -0.008545259945094585, -0.02242572233080864, -0.001526850974187255, 0.0018363692797720432, 0.012546662241220474, 0.018022265285253525, 0.0023756332229822874, -0.006404158193618059, 0.02665048837661743, -0.011168188415467739, 0.0017693601548671722, 0.010664024390280247, 0.015967318788170815, -0.004294966347515583, -0.0030967791099101305, -0.01627364568412304, 0.02795238047838211, -0.01401448156684637, -0.012163752689957619, 0.026829179376363754, -0.023982886224985123, -0.007830495946109295, -0.007958131842315197, -0.005992530845105648, -0.013286953791975975, -0.02856503613293171, 0.016133246943354607, -0.011755316518247128, -0.02989245392382145, -0.029279800131917, 0.0013393849367275834, -0.008009186945855618, 0.026395216584205627, -0.0029117062222212553, 0.0003334502107463777, -0.005325630307197571, -0.00880691409111023, -0.0355595126748085, 0.009119623340666294, 0.0105172423645854, 0.0037301750853657722, -0.0203580129891634, 0.028156599029898643, 0.0047959391959011555, -0.025974014773964882, 0.026216525584459305, -0.011991443112492561, -0.0058266036212444305, -0.016796955838799477, -0.0020102739799767733, 0.00632119458168745, -0.012801934964954853, 0.007690095342695713, 0.01707775518298149, 0.009981169365346432, 0.006030821707099676, -0.018941247835755348, -0.004521520808339119, 0.016733137890696526, -0.010970352217555046, 0.0038769568782299757, 0.02532307058572769, -6.715870404150337e-05, 0.009432332590222359, -0.0024442379362881184, -0.0021969422232359648, -0.008730332367122173, -0.01569928228855133, 0.0007219436229206622, -0.004815084859728813, 0.03226649388670921, 0.00238041952252388, 0.007741149980574846, -0.0033664111979305744, -0.020051684230566025, -0.004304538946598768, 0.003580202115699649, 0.007709241006523371, -0.017269210889935493, 0.002938829129561782, 0.039184387773275375, 0.014103827066719532, -0.020728157833218575, -0.00883244164288044, -0.009936496615409851, -0.014869645237922668, 0.00781773217022419, -0.03213885426521301, -0.01906888373196125, -0.0005691787227988243, 0.027109980583190918, -0.005191612057387829, -0.020843030884861946, -0.017243683338165283, 0.007977277971804142, -0.02450619637966156, -0.01128306146711111, 0.0190050657838583, 0.015175973065197468, 0.04291137307882309, -0.002768115373328328, 0.0023947786539793015, 0.0366571843624115, 0.003583393059670925, -0.0038450476713478565, 0.020077211782336235, 0.004368357360363007, -0.011244770139455795, -0.02393183298408985, 0.002173010492697358, -0.03760169446468353, -0.042681626975536346, -0.003340883878991008, 0.016094954684376717, -0.004014166072010994, -0.00851335097104311, 0.014767535962164402, -0.008500587195158005, -0.01703946478664875, -0.009962024167180061, -0.006554131396114826, 0.018762556836009026, 0.027007870376110077, 0.017920156940817833, -0.01123838871717453, -0.00034142748336307704, 0.008889878168702126, 0.020638812333345413, -0.0025335834361612797, -0.020651575177907944, -0.0135932806879282, 0.0066690039820969105, -0.011761697940528393, -0.017473429441452026, -0.01324866246432066, 0.008398477919399738, -0.015163209289312363, -0.00952806044369936, 0.0003129086981061846, -0.006988095119595528, 0.01983470283448696, -0.0008100925479084253, -0.02243848703801632, 0.0002965552848763764, -0.013580516912043095, -0.016158772632479668, 0.0007067868136800826, 0.0016592737520113587, -0.022885214537382126, -0.00982800591737032, -0.0029707381036132574, -0.0008623437024652958, -0.017409609630703926, -0.00030951836379244924, -0.019592193886637688, -0.016835246235132217, -0.02384248748421669, 0.022629940882325172, 0.024263687431812286, -0.011072461493313313, -0.00349723850376904, -0.012935953214764595, 0.0033568383660167456, 0.007983659394085407, -0.0016736327670514584, 0.008749477565288544, -0.02654838003218174, -0.010319406166672707, 0.028182126581668854, -0.018788084387779236, -0.0212259404361248, 0.0285395085811615, 0.01975812017917633, 0.007402913644909859, -0.007562458980828524, 0.2281118482351303, -0.0022224695421755314, -0.03466605767607689, 0.045872535556554794, -0.009700369089841843, 0.039694931358098984, 0.04015442356467247, 0.0019145465921610594, 0.005663867108523846, -0.016158772632479668, -0.00924726016819477, 0.022285321727395058, -0.023676559329032898, 0.00627971300855279, 0.005204375833272934, -0.039286497980356216, -0.029535071924328804, -0.008615459315478802, 0.026931289583444595, -0.005325630307197571, -0.003924820572137833, -0.02382972277700901, -0.023523395881056786, -0.020817503333091736, 0.03341522067785263, -0.013108262792229652, -0.00495867570862174, 0.00699447700753808, -0.007473113480955362, -0.016911828890442848, -0.008264459669589996, 0.00853249616920948, 0.01846899278461933, 0.019541138783097267, -0.024825287982821465, -0.023663796484470367, -0.0034908566158264875, -0.004384311847388744, 0.027799217030405998, 0.034410785883665085, 0.002613356104120612, 0.0032004837412387133, -0.0042215753346681595, 0.01401448156684637, -0.0037525114603340626, 0.0033664111979305744, 0.0012787575833499432, -0.01963048428297043, 0.007849641144275665, 0.019975103437900543, -0.00955358799546957, -0.001535625895485282, 0.009074950590729713, 0.05304570496082306, 0.016643792390823364, -0.018098847940564156, 0.020089976489543915, 0.004164138808846474, 0.008494204841554165, 0.0014542576391249895, -0.017511719837784767, 0.04020547866821289, -0.008245314471423626, 0.009138769470155239, -0.01766488328576088, 0.016886301338672638, -0.047251008450984955, 0.022272558882832527, 0.005175657570362091, -0.019885757938027382, -0.00476083904504776, -0.0115638617426157, -0.022323613986372948, -0.02508055977523327, -0.03816329687833786, -0.007951750420033932, 0.01121924351900816, 0.03282809257507324, 0.038418568670749664, 0.016490628942847252, 0.0034876656718552113, 0.008104913868010044, -0.0074858772568404675, -0.007568840868771076, -0.013529462739825249, -0.007288040593266487, -0.0030696564354002476, 0.014231462962925434, 0.012170135043561459, 7.892518624430522e-05, -0.0010673596989363432, -0.020804740488529205, -0.0212259404361248, 0.0016959692584350705, 0.014627136290073395, 0.0005703753558918834, -0.005702157970517874, 0.014078299514949322, -0.0039120567962527275, -0.017537247389554977, -0.019592193886637688, 0.020166557282209396, 0.011359643191099167, -0.010127951391041279, -0.020230375230312347, -0.013682626187801361, -0.011155424639582634, -0.0019560283981263638, 0.02520819753408432, -0.0007642231648787856, -0.015941791236400604, -0.012131843715906143, -0.004856566432863474, -0.009291932918131351, -0.021404631435871124, 0.013542226515710354, 0.0031526200473308563, 0.009043041616678238, 0.029764818027615547, 0.007230604533106089, -0.021289758384227753, -0.010466188192367554, -0.0070455316454172134, -0.005676630884408951, -0.001825201092287898, -0.0381377674639225, -0.004521520808339119, -0.005864894483238459, -0.0017789328703656793, -0.0351766012609005, -0.004732121247798204, 0.010351315140724182, -0.00749225914478302, -0.01257857121527195, -0.016579974442720413, 0.017524482682347298, -0.020051684230566025, -0.045413047075271606, -0.013389062136411667, -0.00729442248120904, -0.00027880584821105003, -0.038444094359874725, -0.006586040370166302, -0.0033536474220454693, 0.013542226515710354, -0.016835246235132217, 0.016886301338672638, -0.005363921634852886, -0.019936811178922653, 0.005124602932482958, -0.010670406743884087, -0.013133789412677288, -0.00042399231460876763, 0.02033248543739319, 0.019477320834994316, 0.011097988113760948, 0.006598804146051407, -0.024148814380168915, -0.02381695993244648, 0.02106001228094101, -0.020549466833472252, 0.01646510139107704, 0.020804740488529205, -0.04020547866821289, -0.01638851873576641, 0.002190560335293412, -0.16082191467285156, 0.01917099393904209, 0.013363535515964031, 0.00203580129891634, 0.019962338730692863, 0.012680680491030216, 0.0018810420297086239, 0.0049012391828000546, -0.009955642744898796, -0.0008767027757130563, 0.02790132537484169, -0.009260023944079876, -0.010287497192621231, 0.004215193446725607, -0.012361588887870312, -0.040562860667705536, 0.009611023589968681, -0.009387659840285778, -0.0057851215824484825, 0.007013622205704451, 0.01461437251418829, -0.006573276594281197, 0.011474516242742538, -0.004014166072010994, -0.016069427132606506, 0.0038195205852389336, 0.0011295825242996216, 0.051411956548690796, -0.009559969417750835, -0.016120482236146927, 0.00012035717372782528, -0.016669319942593575, 0.03221543878316879, -0.006598804146051407, 0.01322313491255045, 0.022974560037255287, -0.008104913868010044, -0.030173255130648613, -0.028947943821549416, 0.004987393971532583, 0.015137681737542152, 0.03338969126343727, 0.007798586506396532, 0.005099075846374035, -0.0008116879616864026, 0.003141451859846711, 0.01435909979045391, -0.026778124272823334, 0.016758665442466736, -0.02172372303903103, 0.002160246716812253, -0.004192857071757317, -0.012495607137680054, 0.009732278995215893, -0.007402913644909859, 0.017294738441705704, 0.014537790790200233, 0.02917768992483616, 0.02989245392382145, 0.0052586211822927, -0.03607005625963211, 0.0021267421543598175, -0.001286734826862812, -0.022068340331315994, 0.006318003870546818, -0.005702157970517874, -0.01222757063806057, -0.002498483285307884, -0.04303900897502899, 0.022834159433841705, 0.0006848492776043713, -0.01831582933664322, 0.0033855566289275885, -0.014895172789692879, 0.0042183841578662395, 0.011429843492805958, -0.04074155166745186, -0.008628223091363907, 0.00699447700753808, 0.0106129702180624, -0.018609393388032913, 0.036555077880620956, -0.0285395085811615, 0.012527517043054104, 0.002362869679927826, -0.007753913756459951, -0.018698738887906075, -0.0007095788605511189, 0.0021666286047548056, 0.0036248748656362295, 0.027390779927372932, -0.023268122225999832, -0.028258707374334335, -0.009043041616678238, 0.027365252375602722, 0.03446183726191521, -0.0035482931416481733, 0.03458947688341141, -0.004735311958938837, 0.004212002735584974, -0.0030425337608903646, 0.016094954684376717, -0.01193400751799345, 0.017333028838038445, 0.028360817581415176, 0.025514524430036545, 0.022055577486753464, 0.004907621070742607, 0.04007784277200699, 0.0054787942208349705, -0.008934550918638706, -0.004515138920396566, 0.016069427132606506, 0.04038416966795921, 0.0005205173511058092, 0.021213175728917122, -0.005287339445203543, -0.027390779927372932, -0.003813138697296381, -0.001018698327243328, 0.03596794977784157, 0.019502848386764526, -0.017256446182727814, 0.010159860365092754, -0.005568139720708132, -0.01624811813235283, -0.09797373414039612, -0.024072231724858284, 0.02046012133359909, 0.022936267778277397, 0.0023197922855615616, 0.03525318577885628, 0.005363921634852886, 0.0122084254398942, 0.010408751666545868, 0.018022265285253525, -0.01915822923183441, -0.01909441128373146, 0.01197868026793003, 0.00948338769376278, 0.03696351498365402, -0.03129645437002182, -0.0026867471169680357, -0.018175428733229637, -0.02933085337281227, 0.007262513507157564, 0.016120482236146927, -0.023561686277389526, -0.013861317187547684, 0.00228309677913785, -0.01222757063806057, -0.014665426686406136, -0.022885214537382126, 0.012099934741854668, 0.003253133734688163, -0.008270841091871262, 0.007332713343203068, -0.030198782682418823, -0.02449343353509903, -0.030836964026093483, -0.0026037832722067833, -0.012023353017866611, -0.022897977381944656, 0.04829762876033783, 0.03058169037103653, -0.021647140383720398, 0.013440117239952087, 0.026190998032689095, 0.014091063290834427, -0.02782474458217621, -0.013976190239191055, -0.04148184135556221, -0.01777975633740425, -0.002873415360227227, -0.02375314198434353, -0.00140160764567554, 0.008073004893958569, -0.019847465679049492, -0.014818591065704823, 0.008047477342188358, 0.0009732278413139284, 0.01695011928677559, 0.009930115193128586, 0.0351766012609005, 0.0123041532933712, 0.005252239294350147, 0.004074793308973312, 0.008264459669589996, -0.011793606914579868, 0.007434822618961334, 0.01290404424071312, 0.026395216584205627, -0.0013689008774235845, 0.001979960361495614, 0.010395987890660763, -0.03538082167506218, -0.012425407767295837, 0.018864665180444717, -0.0072816587053239346, -0.024353032931685448, -0.04066497087478638, -0.003186124609783292, -0.02306390553712845, 0.01361880823969841, -0.0031047563534229994, -0.0062669492326676846, -0.018086083233356476, -0.009342987090349197, -0.02527201548218727, -0.013516698963940144, -0.000345814973115921, 0.0058266036212444305, -0.03379812836647034, -0.016758665442466736, -0.007926222868263721, -0.023459577932953835, 0.0025798515416681767, 0.042502935975790024, 0.023408522829413414, -0.01978364773094654, -0.011838279664516449, 0.008991987444460392, 0.000797328888438642, 0.0034908566158264875, 0.02575703337788582, 0.010389606468379498, -0.026063360273838043, 0.005012921057641506, -0.05370941385626793, 0.03762722387909889, 0.030760381370782852, -0.00696894945576787, -0.004170520696789026, 0.009323841892182827, 0.012527517043054104, -0.0008312322897836566, 0.014078299514949322, 0.004550239071249962, -0.008155968971550465, 0.0212259404361248, 0.0011120324488729239, -0.0007171572651714087, 0.0009373301290906966, -0.005635148845613003, 0.026216525584459305, 0.008085768669843674, 0.010025842115283012, 0.01841793768107891, -0.008085768669843674, 0.00712211336940527, 0.01638851873576641, 0.007300804369151592, -0.010249205864965916, 0.004818275570869446, -0.012125462293624878, 0.01056829746812582, -0.01502280868589878, 0.007907077670097351, 0.018762556836009026, -0.024646596983075142, -0.0015922646271064878, 0.03688693046569824, -0.013025298714637756, -0.016209827736020088, -0.020715394988656044, 0.008092150092124939, 0.00459172111004591, 0.024199869483709335, -0.003628065809607506, -0.015290845185518265, 0.020868558436632156, -0.001971983117982745, 0.004559811670333147, 0.02584637887775898, -0.014410153962671757, -0.007907077670097351, 0.014142117463052273, 0.006183985620737076, 0.010810806415975094, 0.025642160326242447, -0.02031972073018551, -0.009623787365853786, -0.0006274128681980073, -0.02582085132598877, 0.005185230169445276, 0.029688235372304916, 0.01701393723487854, -0.003208460984751582, 0.0135932806879282, 0.011653207242488861, 0.015252554789185524, -0.004524711985141039, 0.009910969994962215, 0.004534284584224224, -0.014129353687167168, 0.004556620959192514, 0.006617949344217777, -0.012310534715652466, -0.014167645014822483, 0.009323841892182827, 0.026727071031928062, -0.016911828890442848, 0.007371004205197096, -0.007268895395100117, 0.00474169384688139, 0.02439132332801819, -0.006445640232414007, 0.02647179737687111, -0.006783877033740282, -0.0060276309959590435, -0.0355595126748085, 0.004141802433878183, 0.006592422258108854, -0.015124917961657047, -0.009119623340666294, 0.023625504225492477, -0.047276537865400314, -0.008073004893958569, -0.011736170388758183, -0.0037716568913310766, -0.014895172789692879, 0.006075494457036257, -0.0053703030571341515, 0.01905612088739872, 0.00015824924048501998, -0.011136279441416264, -0.02109830267727375, 0.0394907146692276, -0.011761697940528393, -0.004084365908056498, -0.0021458875853568316, -0.0005939083057455719, -0.0409712977707386, 0.017996737733483315, -0.007307186257094145, -0.0342065654695034, -0.002102810423821211, 0.0028191697783768177, 0.015227027237415314, 0.006611567456275225, 0.010230060666799545, -0.005268194247037172, -0.0021586513612419367, 0.00850696861743927, -0.010510860942304134, -0.016860773786902428, -0.031653836369514465, 0.003478093072772026, -0.007804968394339085, 0.005727685056626797, 0.01772870123386383, 0.0004906025715172291, 0.005600048694759607, 0.005497939884662628, 0.03405340388417244, -0.01364433579146862, 0.01467819046229124, 0.0024522151798009872, -0.0039120567962527275, -0.012425407767295837, 0.020549466833472252, -0.014665426686406136, -0.016146009787917137, 0.006445640232414007, 0.013669862411916256, 0.01646510139107704, -0.02579532377421856, 0.04944635555148125, -0.007409295532852411, -0.010313024744391441, 0.013376299291849136, 0.02592296153306961, 0.0409712977707386, 0.02665048837661743, 0.029790345579385757, -0.013159316964447498, -0.0177159383893013, 0.017256446182727814, -0.01121286116540432, 0.009425951167941093, -0.013172080740332603, -0.026318633928894997, 0.008698423393070698, 0.005424548871815205, -0.020549466833472252, -0.02252783253788948, 0.009253641590476036, 0.02324259653687477, -0.012055261991918087, 0.023970123380422592, 0.0011583006707951427, 0.001814032904803753, 0.0032036746852099895, -0.003950347658246756, -0.023548923432826996, -0.0005779537605121732, -0.024212632328271866, -0.00614888546988368, -0.02108553983271122, -0.03607005625963211, -0.015367427840828896, 0.007020004093647003, 0.0004981809761375189, 0.0029468063730746508, -0.019924048334360123, 0.02527201548218727, 0.02389354072511196, 0.01501004584133625, -0.0014359100023284554, -0.016579974442720413, -0.008692041970789433, 0.027569470927119255, -0.022974560037255287, -0.024799760431051254, -0.016567209735512733, -0.023472340777516365] diff --git a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/CuVSIndexSearcher.java b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/CuVSIndexSearcher.java index f84ed8a..78253bc 100644 --- a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/CuVSIndexSearcher.java +++ b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/CuVSIndexSearcher.java @@ -1,11 +1,11 @@ package com.searchscale.lucene.vectorsearch; +import com.searchscale.lucene.vectorsearch.jni.CuVSIndexJni; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.List; - import org.apache.lucene.index.FloatVectorValues; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.LeafReaderContext; @@ -17,10 +17,7 @@ import org.apache.lucene.search.TopDocs; import org.apache.lucene.search.TotalHits; -import com.searchscale.lucene.vectorsearch.jni.CuVSIndexJni; - public class CuVSIndexSearcher extends IndexSearcher { - private CuVSIndexJni jni = new CuVSIndexJni(); public CuVSIndexSearcher(IndexReader reader) { @@ -31,7 +28,8 @@ public CuVSIndexSearcher(IndexReader reader) { List dataVectors = new ArrayList(); try { for (LeafReaderContext leaf : reader.leaves()) { - FloatVectorValues vectors = leaf.reader().getFloatVectorValues(LuceneVectorSearchExample.vectorColName); + FloatVectorValues vectors = + leaf.reader().getFloatVectorValues(LuceneVectorSearchExample.vectorColName); DocIdSetIterator disi = FloatVectorValues.all(leaf.reader().maxDoc()); for (int doc = disi.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = disi.nextDoc()) { vectors.advance(doc); @@ -51,13 +49,13 @@ public CuVSIndexSearcher(IndexReader reader) { } } int docIdsArr[] = new int[docIds.size()]; - for (int i = 0; i < docIdsArr.length; i++) - docIdsArr[i] = docIds.get(i); - System.out.println( - "Time taken for copying data from IndexReader to arrays for C++: " + (System.currentTimeMillis() - startTime)); + for (int i = 0; i < docIdsArr.length; i++) docIdsArr[i] = docIds.get(i); + System.out.println("Time taken for copying data from IndexReader to arrays for C++: " + + (System.currentTimeMillis() - startTime)); startTime = System.currentTimeMillis(); jni.initIndex(docIdsArr, singleDataVector, docIdsArr.length, dataVectors.get(0).length); - System.out.println("Time taken for index building: " + (System.currentTimeMillis() - startTime)); + System.out.println( + "Time taken for index building: " + (System.currentTimeMillis() - startTime)); } @Override diff --git a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/LuceneVectorSearchExample.java b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/LuceneVectorSearchExample.java index 45d3349..0e5a6c4 100644 --- a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/LuceneVectorSearchExample.java +++ b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/LuceneVectorSearchExample.java @@ -1,12 +1,12 @@ package com.searchscale.lucene.vectorsearch; +import com.opencsv.CSVReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.zip.ZipFile; - import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.lucene.analysis.standard.StandardAnalyzer; @@ -36,14 +36,10 @@ import org.apache.lucene.store.ByteBuffersDirectory; import org.apache.lucene.store.Directory; -import com.opencsv.CSVReader; - public class LuceneVectorSearchExample { - public static String vectorColName = null; public static void main(String[] args) throws Exception { - // [0] Parse Args String datasetFile = args[0]; @@ -62,7 +58,8 @@ public static void main(String[] args) throws Exception { // [1] Setup the index Directory index = new ByteBuffersDirectory(); Lucene99Codec knnVectorsCodec = getCodec(dims); - IndexWriterConfig config = new IndexWriterConfig(new StandardAnalyzer()).setCodec(knnVectorsCodec); + IndexWriterConfig config = + new IndexWriterConfig(new StandardAnalyzer()).setCodec(knnVectorsCodec); // [2] Index long startTime = System.currentTimeMillis(); @@ -87,8 +84,10 @@ public static void main(String[] args) throws Exception { doc.add(new StringField("url", line[1], Field.Store.YES)); doc.add(new StringField("title", line[2], Field.Store.YES)); doc.add(new TextField("text", line[3], Field.Store.YES)); - float[] contentVector = reduceDimensionVector(parseFloatArrayFromStringArray(line[5]), dims); - doc.add(new KnnFloatVectorField(vectorColName, contentVector, VectorSimilarityFunction.EUCLIDEAN)); + float[] contentVector = + reduceDimensionVector(parseFloatArrayFromStringArray(line[5]), dims); + doc.add(new KnnFloatVectorField( + vectorColName, contentVector, VectorSimilarityFunction.EUCLIDEAN)); doc.add(new StringField("vector_id", line[6], Field.Store.YES)); if (count % 500 == 0) @@ -102,7 +101,8 @@ public static void main(String[] args) throws Exception { writer.commit(); } - System.out.println("Time taken for index building (end to end): " + (System.currentTimeMillis() - startTime)); + System.out.println( + "Time taken for index building (end to end): " + (System.currentTimeMillis() - startTime)); // [3] Query try (IndexReader reader = DirectoryReader.open(index)) { @@ -112,7 +112,8 @@ public static void main(String[] args) throws Exception { Query query = new KnnFloatVectorQuery(vectorColName, queryVector, 5); startTime = System.currentTimeMillis(); TopDocs topDocs = searcher.search(query, ((KnnFloatVectorQuery) query).getK()); - System.out.println("Time taken for searching (end to end): " + (System.currentTimeMillis() - startTime)); + System.out.println( + "Time taken for searching (end to end): " + (System.currentTimeMillis() - startTime)); ScoreDoc[] hits = topDocs.scoreDocs; System.out.println("Found " + hits.length + " hits."); for (ScoreDoc hit : hits) { @@ -141,15 +142,16 @@ public KnnVectorsFormat getKnnVectorsFormatForField(String field) { } private static float[] parseFloatArrayFromStringArray(String str) { - float[] titleVector = ArrayUtils.toPrimitive( - Arrays.stream(str.replace("[", "").replace("]", "").split(", ")).map(Float::valueOf).toArray(Float[]::new)); + float[] titleVector = + ArrayUtils.toPrimitive(Arrays.stream(str.replace("[", "").replace("]", "").split(", ")) + .map(Float::valueOf) + .toArray(Float[] ::new)); return titleVector; } public static float[] reduceDimensionVector(float[] vector, int dim) { float out[] = new float[dim]; - for (int i = 0; i < dim && i < vector.length; i++) - out[i] = vector[i]; + for (int i = 0; i < dim && i < vector.length; i++) out[i] = vector[i]; return out; } diff --git a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/CuVSIndexJni.java b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/CuVSIndexJni.java index 5e6dc8c..92bea46 100644 --- a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/CuVSIndexJni.java +++ b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/CuVSIndexJni.java @@ -1,12 +1,14 @@ package com.searchscale.lucene.vectorsearch.jni; -public class CuVSIndexJni { +import com.github.fmeum.rules_jni.RulesJni; +import java.io.File; +public class CuVSIndexJni { static { - JavaUtils.loadLibrary("libluceneraft.so"); + File lib = new File("cuda/cuda/cuda.so"); + System.load(lib.getAbsolutePath()); } public native int initIndex(int[] docIds, float[] dataVectors, int numVectors, int dimension); public native Object getTopK(float[] queryVector, int topK); } - diff --git a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/JavaUtils.java b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/JavaUtils.java index 1bb208f..0c49453 100644 --- a/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/JavaUtils.java +++ b/lucene/src/main/java/com/searchscale/lucene/vectorsearch/jni/JavaUtils.java @@ -19,7 +19,6 @@ public static void loadLibrary(String path) { } public static void loadLibraryFromJar(String path) throws IOException { - if (!path.startsWith("/")) { throw new IllegalArgumentException("The path has to be absolute (start with '/')."); } @@ -34,7 +33,7 @@ public static void loadLibraryFromJar(String path) throws IOException { if (filename != null) { parts = filename.split("\\.", 2); prefix = parts[0]; - suffix = (parts.length > 1) ? "."+parts[parts.length - 1] : null; // Thanks, davs! :-) + suffix = (parts.length > 1) ? "." + parts[parts.length - 1] : null; // Thanks, davs! :-) } // Check if the filename is okay @@ -51,15 +50,11 @@ public static void loadLibraryFromJar(String path) throws IOException { boolean tempFileIsPosix = false; try { - if (FileSystems.getDefault() - .supportedFileAttributeViews() - .contains("posix")) { + if (FileSystems.getDefault().supportedFileAttributeViews().contains("posix")) { // Assume POSIX compliant file system, can be deleted after loading. tempFileIsPosix = true; } - } catch (FileSystemNotFoundException - | ProviderNotFoundException - | SecurityException e) { + } catch (FileSystemNotFoundException | ProviderNotFoundException | SecurityException e) { // Assume non-POSIX, and don't delete until last file descriptor closed. e.printStackTrace(); } diff --git a/maven_install.json b/maven_install.json new file mode 100644 index 0000000..cd27286 --- /dev/null +++ b/maven_install.json @@ -0,0 +1,720 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": 263129998, + "__RESOLVED_ARTIFACTS_HASH": 1401902797, + "conflict_resolution": { + "com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.11.0" + }, + "artifacts": { + "com.github.fommil:jniloader": { + "shasums": { + "jar": "2f1def54f30e1db5f1e7f2fd600fe2ab331bd6b52037e9a21505c237020b5573" + }, + "version": "1.1" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3" + }, + "version": "1.7.4" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.code.gson:gson": { + "shasums": { + "jar": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e" + }, + "version": "2.8.9" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec" + }, + "version": "2.11.0" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26" + }, + "version": "1.0.1" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab" + }, + "version": "31.1-jre" + }, + "com.google.guava:guava-testlib": { + "shasums": { + "jar": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce" + }, + "version": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" + }, + "version": "1.3" + }, + "com.google.truth:truth": { + "shasums": { + "jar": "a85e03b8b6ae8780f060cfded9500a3d1b5f52808f99a2ea6da9c683313c7518" + }, + "version": "1.1.2" + }, + "com.opencsv:opencsv": { + "shasums": { + "jar": "8f5333372340630e04e657cb06f8e513d7955903fd480c77181d73069a1e8c40" + }, + "version": "5.3" + }, + "commons-beanutils:commons-beanutils": { + "shasums": { + "jar": "7d938c81789028045c08c065e94be75fc280527620d5bd62b519d5838532368a" + }, + "version": "1.9.4" + }, + "commons-collections:commons-collections": { + "shasums": { + "jar": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8" + }, + "version": "3.2.2" + }, + "commons-io:commons-io": { + "shasums": { + "jar": "a58af12ee1b68cfd2ebb0c27caef164f084381a00ec81a48cc275fd7ea54e154" + }, + "version": "2.15.1" + }, + "commons-logging:commons-logging": { + "shasums": { + "jar": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636" + }, + "version": "1.2" + }, + "junit:junit": { + "shasums": { + "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + }, + "version": "4.13.2" + }, + "net.bytebuddy:byte-buddy": { + "shasums": { + "jar": "d2e46555699e70361b5471a7e142f9c67855bba6907a285177ebd8ad973775d8" + }, + "version": "1.12.7" + }, + "net.bytebuddy:byte-buddy-agent": { + "shasums": { + "jar": "73d84bb6e8e8980e674d796a29063f510ceb527c6f8c912a08a13e236be05c71" + }, + "version": "1.12.7" + }, + "org.apache.commons:commons-collections4": { + "shasums": { + "jar": "1df8b9430b5c8ed143d7815e403e33ef5371b2400aadbe9bda0883762e0846d1" + }, + "version": "4.4" + }, + "org.apache.commons:commons-lang3": { + "shasums": { + "jar": "4ee380259c068d1dbe9e84ab52186f2acd65de067ec09beff731fca1697fdb16" + }, + "version": "3.11" + }, + "org.apache.commons:commons-text": { + "shasums": { + "jar": "0812f284ac5dd0d617461d9a2ab6ac6811137f25122dfffd4788a4871e732d00" + }, + "version": "1.9" + }, + "org.apache.lucene:lucene-codecs": { + "shasums": { + "jar": "8c60071387024446acaef4c2f6912d6d13fca2c9d3619b9d0745fa2463418c63" + }, + "version": "9.9.0" + }, + "org.apache.lucene:lucene-core": { + "shasums": { + "jar": "5a5b074ff0d2eb1585e27ac281a5b4a56f52cb30dafd8e5a41fd3143fb872acb" + }, + "version": "9.9.0" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" + }, + "version": "3.12.0" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.mockito:mockito-core": { + "shasums": { + "jar": "148de2c6928365db29443ca12d35c930d9f481172b934fdd801d1cb1409ea83a" + }, + "version": "4.3.1" + }, + "org.objenesis:objenesis": { + "shasums": { + "jar": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3" + }, + "version": "3.2" + }, + "org.ow2.asm:asm": { + "shasums": { + "jar": "0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0" + }, + "version": "9.0" + } + }, + "dependencies": { + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.google.guava:guava-testlib": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.j2objc:j2objc-annotations", + "junit:junit", + "org.checkerframework:checker-qual" + ], + "com.google.truth:truth": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "junit:junit", + "org.checkerframework:checker-qual", + "org.ow2.asm:asm" + ], + "com.opencsv:opencsv": [ + "commons-beanutils:commons-beanutils", + "org.apache.commons:commons-collections4", + "org.apache.commons:commons-lang3", + "org.apache.commons:commons-text" + ], + "commons-beanutils:commons-beanutils": [ + "commons-collections:commons-collections", + "commons-logging:commons-logging" + ], + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "org.apache.commons:commons-text": [ + "org.apache.commons:commons-lang3" + ], + "org.apache.lucene:lucene-codecs": [ + "org.apache.lucene:lucene-core" + ], + "org.mockito:mockito-core": [ + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "org.objenesis:objenesis" + ] + }, + "packages": { + "com.github.fommil:jniloader": [ + "com.github.fommil.jni" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized", + "com.google.auto.value.extension.serializable" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.code.gson:gson": [ + "com.google.gson", + "com.google.gson.annotations", + "com.google.gson.internal", + "com.google.gson.internal.bind", + "com.google.gson.internal.bind.util", + "com.google.gson.internal.reflect", + "com.google.gson.internal.sql", + "com.google.gson.reflect", + "com.google.gson.stream" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.guava:guava-testlib": [ + "com.google.common.collect.testing", + "com.google.common.collect.testing.features", + "com.google.common.collect.testing.google", + "com.google.common.collect.testing.testers", + "com.google.common.escape.testing", + "com.google.common.testing", + "com.google.common.util.concurrent.testing" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.google.truth:truth": [ + "com.google.common.truth" + ], + "com.opencsv:opencsv": [ + "com.opencsv", + "com.opencsv.bean", + "com.opencsv.bean.comparator", + "com.opencsv.bean.concurrent", + "com.opencsv.bean.customconverter", + "com.opencsv.bean.exceptionhandler", + "com.opencsv.bean.function", + "com.opencsv.bean.processor", + "com.opencsv.bean.util", + "com.opencsv.bean.validators", + "com.opencsv.enums", + "com.opencsv.exceptions", + "com.opencsv.processor", + "com.opencsv.stream.reader", + "com.opencsv.validators" + ], + "commons-beanutils:commons-beanutils": [ + "org.apache.commons.beanutils", + "org.apache.commons.beanutils.converters", + "org.apache.commons.beanutils.expression", + "org.apache.commons.beanutils.locale", + "org.apache.commons.beanutils.locale.converters" + ], + "commons-collections:commons-collections": [ + "org.apache.commons.collections", + "org.apache.commons.collections.bag", + "org.apache.commons.collections.bidimap", + "org.apache.commons.collections.buffer", + "org.apache.commons.collections.collection", + "org.apache.commons.collections.comparators", + "org.apache.commons.collections.functors", + "org.apache.commons.collections.iterators", + "org.apache.commons.collections.keyvalue", + "org.apache.commons.collections.list", + "org.apache.commons.collections.map", + "org.apache.commons.collections.set" + ], + "commons-io:commons-io": [ + "org.apache.commons.io", + "org.apache.commons.io.build", + "org.apache.commons.io.channels", + "org.apache.commons.io.charset", + "org.apache.commons.io.comparator", + "org.apache.commons.io.file", + "org.apache.commons.io.file.attribute", + "org.apache.commons.io.file.spi", + "org.apache.commons.io.filefilter", + "org.apache.commons.io.function", + "org.apache.commons.io.input", + "org.apache.commons.io.input.buffer", + "org.apache.commons.io.monitor", + "org.apache.commons.io.output", + "org.apache.commons.io.serialization" + ], + "commons-logging:commons-logging": [ + "org.apache.commons.logging", + "org.apache.commons.logging.impl" + ], + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "net.bytebuddy:byte-buddy": [ + "net.bytebuddy", + "net.bytebuddy.agent.builder", + "net.bytebuddy.asm", + "net.bytebuddy.build", + "net.bytebuddy.description", + "net.bytebuddy.description.annotation", + "net.bytebuddy.description.enumeration", + "net.bytebuddy.description.field", + "net.bytebuddy.description.method", + "net.bytebuddy.description.modifier", + "net.bytebuddy.description.type", + "net.bytebuddy.dynamic", + "net.bytebuddy.dynamic.loading", + "net.bytebuddy.dynamic.scaffold", + "net.bytebuddy.dynamic.scaffold.inline", + "net.bytebuddy.dynamic.scaffold.subclass", + "net.bytebuddy.implementation", + "net.bytebuddy.implementation.attribute", + "net.bytebuddy.implementation.auxiliary", + "net.bytebuddy.implementation.bind", + "net.bytebuddy.implementation.bind.annotation", + "net.bytebuddy.implementation.bytecode", + "net.bytebuddy.implementation.bytecode.assign", + "net.bytebuddy.implementation.bytecode.assign.primitive", + "net.bytebuddy.implementation.bytecode.assign.reference", + "net.bytebuddy.implementation.bytecode.collection", + "net.bytebuddy.implementation.bytecode.constant", + "net.bytebuddy.implementation.bytecode.member", + "net.bytebuddy.jar.asm", + "net.bytebuddy.jar.asm.commons", + "net.bytebuddy.jar.asm.signature", + "net.bytebuddy.matcher", + "net.bytebuddy.pool", + "net.bytebuddy.utility", + "net.bytebuddy.utility.dispatcher", + "net.bytebuddy.utility.nullability", + "net.bytebuddy.utility.privilege", + "net.bytebuddy.utility.visitor" + ], + "net.bytebuddy:byte-buddy-agent": [ + "net.bytebuddy.agent", + "net.bytebuddy.agent.utility.nullability" + ], + "org.apache.commons:commons-collections4": [ + "org.apache.commons.collections4", + "org.apache.commons.collections4.bag", + "org.apache.commons.collections4.bidimap", + "org.apache.commons.collections4.collection", + "org.apache.commons.collections4.comparators", + "org.apache.commons.collections4.functors", + "org.apache.commons.collections4.iterators", + "org.apache.commons.collections4.keyvalue", + "org.apache.commons.collections4.list", + "org.apache.commons.collections4.map", + "org.apache.commons.collections4.multimap", + "org.apache.commons.collections4.multiset", + "org.apache.commons.collections4.properties", + "org.apache.commons.collections4.queue", + "org.apache.commons.collections4.sequence", + "org.apache.commons.collections4.set", + "org.apache.commons.collections4.splitmap", + "org.apache.commons.collections4.trie", + "org.apache.commons.collections4.trie.analyzer" + ], + "org.apache.commons:commons-lang3": [ + "org.apache.commons.lang3", + "org.apache.commons.lang3.arch", + "org.apache.commons.lang3.builder", + "org.apache.commons.lang3.compare", + "org.apache.commons.lang3.concurrent", + "org.apache.commons.lang3.concurrent.locks", + "org.apache.commons.lang3.event", + "org.apache.commons.lang3.exception", + "org.apache.commons.lang3.function", + "org.apache.commons.lang3.math", + "org.apache.commons.lang3.mutable", + "org.apache.commons.lang3.reflect", + "org.apache.commons.lang3.stream", + "org.apache.commons.lang3.text", + "org.apache.commons.lang3.text.translate", + "org.apache.commons.lang3.time", + "org.apache.commons.lang3.tuple" + ], + "org.apache.commons:commons-text": [ + "org.apache.commons.text", + "org.apache.commons.text.diff", + "org.apache.commons.text.io", + "org.apache.commons.text.lookup", + "org.apache.commons.text.matcher", + "org.apache.commons.text.similarity", + "org.apache.commons.text.translate" + ], + "org.apache.lucene:lucene-codecs": [ + "org.apache.lucene.codecs.blockterms", + "org.apache.lucene.codecs.blocktreeords", + "org.apache.lucene.codecs.bloom", + "org.apache.lucene.codecs.memory", + "org.apache.lucene.codecs.simpletext", + "org.apache.lucene.codecs.uniformsplit", + "org.apache.lucene.codecs.uniformsplit.sharedterms" + ], + "org.apache.lucene:lucene-core": [ + "org.apache.lucene.analysis", + "org.apache.lucene.analysis.standard", + "org.apache.lucene.analysis.tokenattributes", + "org.apache.lucene.codecs", + "org.apache.lucene.codecs.compressing", + "org.apache.lucene.codecs.lucene90", + "org.apache.lucene.codecs.lucene90.blocktree", + "org.apache.lucene.codecs.lucene90.compressing", + "org.apache.lucene.codecs.lucene94", + "org.apache.lucene.codecs.lucene95", + "org.apache.lucene.codecs.lucene99", + "org.apache.lucene.codecs.perfield", + "org.apache.lucene.document", + "org.apache.lucene.geo", + "org.apache.lucene.index", + "org.apache.lucene.internal.tests", + "org.apache.lucene.internal.vectorization", + "org.apache.lucene.search", + "org.apache.lucene.search.comparators", + "org.apache.lucene.search.similarities", + "org.apache.lucene.store", + "org.apache.lucene.util", + "org.apache.lucene.util.automaton", + "org.apache.lucene.util.bkd", + "org.apache.lucene.util.compress", + "org.apache.lucene.util.fst", + "org.apache.lucene.util.graph", + "org.apache.lucene.util.hnsw", + "org.apache.lucene.util.hppc", + "org.apache.lucene.util.mutable", + "org.apache.lucene.util.packed" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.mockito:mockito-core": [ + "org.mockito", + "org.mockito.codegen", + "org.mockito.configuration", + "org.mockito.creation.instance", + "org.mockito.exceptions.base", + "org.mockito.exceptions.misusing", + "org.mockito.exceptions.stacktrace", + "org.mockito.exceptions.verification", + "org.mockito.exceptions.verification.junit", + "org.mockito.exceptions.verification.opentest4j", + "org.mockito.hamcrest", + "org.mockito.internal", + "org.mockito.internal.configuration", + "org.mockito.internal.configuration.injection", + "org.mockito.internal.configuration.injection.filter", + "org.mockito.internal.configuration.injection.scanner", + "org.mockito.internal.configuration.plugins", + "org.mockito.internal.creation", + "org.mockito.internal.creation.bytebuddy", + "org.mockito.internal.creation.instance", + "org.mockito.internal.creation.proxy", + "org.mockito.internal.creation.settings", + "org.mockito.internal.creation.util", + "org.mockito.internal.debugging", + "org.mockito.internal.exceptions", + "org.mockito.internal.exceptions.stacktrace", + "org.mockito.internal.exceptions.util", + "org.mockito.internal.framework", + "org.mockito.internal.hamcrest", + "org.mockito.internal.handler", + "org.mockito.internal.invocation", + "org.mockito.internal.invocation.finder", + "org.mockito.internal.invocation.mockref", + "org.mockito.internal.junit", + "org.mockito.internal.listeners", + "org.mockito.internal.matchers", + "org.mockito.internal.matchers.apachecommons", + "org.mockito.internal.matchers.text", + "org.mockito.internal.progress", + "org.mockito.internal.reporting", + "org.mockito.internal.runners", + "org.mockito.internal.runners.util", + "org.mockito.internal.session", + "org.mockito.internal.stubbing", + "org.mockito.internal.stubbing.answers", + "org.mockito.internal.stubbing.defaultanswers", + "org.mockito.internal.util", + "org.mockito.internal.util.collections", + "org.mockito.internal.util.concurrent", + "org.mockito.internal.util.io", + "org.mockito.internal.util.reflection", + "org.mockito.internal.verification", + "org.mockito.internal.verification.api", + "org.mockito.internal.verification.argumentmatching", + "org.mockito.internal.verification.checkers", + "org.mockito.invocation", + "org.mockito.junit", + "org.mockito.listeners", + "org.mockito.mock", + "org.mockito.plugins", + "org.mockito.quality", + "org.mockito.session", + "org.mockito.stubbing", + "org.mockito.verification" + ], + "org.objenesis:objenesis": [ + "org.objenesis", + "org.objenesis.instantiator", + "org.objenesis.instantiator.android", + "org.objenesis.instantiator.annotations", + "org.objenesis.instantiator.basic", + "org.objenesis.instantiator.gcj", + "org.objenesis.instantiator.perc", + "org.objenesis.instantiator.sun", + "org.objenesis.instantiator.util", + "org.objenesis.strategy" + ], + "org.ow2.asm:asm": [ + "org.objectweb.asm", + "org.objectweb.asm.signature" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "com.github.fommil:jniloader", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.code.gson:gson", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:guava-testlib", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.google.truth:truth", + "com.opencsv:opencsv", + "commons-beanutils:commons-beanutils", + "commons-collections:commons-collections", + "commons-io:commons-io", + "commons-logging:commons-logging", + "junit:junit", + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "org.apache.commons:commons-collections4", + "org.apache.commons:commons-lang3", + "org.apache.commons:commons-text", + "org.apache.lucene:lucene-codecs", + "org.apache.lucene:lucene-core", + "org.checkerframework:checker-qual", + "org.hamcrest:hamcrest-core", + "org.mockito:mockito-core", + "org.objenesis:objenesis", + "org.ow2.asm:asm" + ] + }, + "services": { + "org.apache.lucene:lucene-codecs": { + "org.apache.lucene.codecs.Codec": [ + "org.apache.lucene.codecs.simpletext.SimpleTextCodec" + ], + "org.apache.lucene.codecs.PostingsFormat": [ + "org.apache.lucene.codecs.blocktreeords.BlockTreeOrdsPostingsFormat", + "org.apache.lucene.codecs.bloom.BloomFilteringPostingsFormat", + "org.apache.lucene.codecs.memory.DirectPostingsFormat", + "org.apache.lucene.codecs.memory.FSTPostingsFormat", + "org.apache.lucene.codecs.uniformsplit.UniformSplitPostingsFormat", + "org.apache.lucene.codecs.uniformsplit.sharedterms.STUniformSplitPostingsFormat" + ] + }, + "org.apache.lucene:lucene-core": { + "org.apache.lucene.analysis.TokenizerFactory": [ + "org.apache.lucene.analysis.standard.StandardTokenizerFactory" + ], + "org.apache.lucene.codecs.Codec": [ + "org.apache.lucene.codecs.lucene99.Lucene99Codec" + ], + "org.apache.lucene.codecs.DocValuesFormat": [ + "org.apache.lucene.codecs.lucene90.Lucene90DocValuesFormat" + ], + "org.apache.lucene.codecs.KnnVectorsFormat": [ + "org.apache.lucene.codecs.lucene99.Lucene99HnswScalarQuantizedVectorsFormat", + "org.apache.lucene.codecs.lucene99.Lucene99HnswVectorsFormat" + ], + "org.apache.lucene.codecs.PostingsFormat": [ + "org.apache.lucene.codecs.lucene99.Lucene99PostingsFormat" + ], + "org.apache.lucene.index.SortFieldProvider": [ + "org.apache.lucene.search.SortField$Provider", + "org.apache.lucene.search.SortedNumericSortField$Provider", + "org.apache.lucene.search.SortedSetSortField$Provider" + ] + } + }, + "version": "2" +} diff --git a/patches/BUILD.bazel b/patches/BUILD.bazel new file mode 100644 index 0000000..d4312ad --- /dev/null +++ b/patches/BUILD.bazel @@ -0,0 +1 @@ +# Patches for external dependencies. diff --git a/patches/cccl_cub_new.diff b/patches/cccl_cub_new.diff new file mode 100644 index 0000000..4f041af --- /dev/null +++ b/patches/cccl_cub_new.diff @@ -0,0 +1,22 @@ +diff --git a/cub/cub/block/block_load.cuh b/cub/cub/block/block_load.cuh +index a9067ce86..bce29efdd 100644 +--- a/cub/cub/block/block_load.cuh ++++ b/cub/cub/block/block_load.cuh +@@ -467,7 +467,7 @@ LoadDirectWarpStriped(int linear_tid, InputIteratorT block_itr, InputT (&items)[ + #pragma unroll + for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++) + { +- new (&items[ITEM]) InputT(block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)]); ++ items[ITEM] = block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)]; + } + } + +@@ -518,7 +518,7 @@ LoadDirectWarpStriped(int linear_tid, InputIteratorT block_itr, InputT (&items)[ + { + if (warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS) < valid_items) + { +- new (&items[ITEM]) InputT(block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)]); ++ items[ITEM] = block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)]; + } + } + } diff --git a/patches/cccl_cub_uninitialized_copy.diff b/patches/cccl_cub_uninitialized_copy.diff new file mode 100644 index 0000000..40fe7c5 --- /dev/null +++ b/patches/cccl_cub_uninitialized_copy.diff @@ -0,0 +1,17 @@ +diff --git a/cub/cub/detail/uninitialized_copy.cuh b/cub/cub/detail/uninitialized_copy.cuh +index 107c82798..3d2f868a5 100644 +--- a/cub/cub/detail/uninitialized_copy.cuh ++++ b/cub/cub/detail/uninitialized_copy.cuh +@@ -66,7 +66,12 @@ template ::value, int>::type = 0> + _CCCL_HOST_DEVICE void uninitialized_copy(T* ptr, U&& val) + { ++# if defined(__CUDA__) && defined(__clang__) ++ // XXX unsafe. cuda-clang is seemingly unable to call ::new in device code ++ *ptr = ::cuda::std::forward(val); ++# else + new (ptr) T(::cuda::std::forward(val)); ++# endif + } + #endif + diff --git a/patches/cccl_thrust_allocator_new.diff b/patches/cccl_thrust_allocator_new.diff new file mode 100644 index 0000000..91a4719 --- /dev/null +++ b/patches/cccl_thrust_allocator_new.diff @@ -0,0 +1,52 @@ +diff --git a/thrust/thrust/detail/allocator/allocator_traits.inl b/thrust/thrust/detail/allocator/allocator_traits.inl +index a9cf627a5..6d3388e46 100644 +--- a/thrust/thrust/detail/allocator/allocator_traits.inl ++++ b/thrust/thrust/detail/allocator/allocator_traits.inl +@@ -31,8 +31,6 @@ + #include + #include + +-#include +- + THRUST_NAMESPACE_BEGIN + namespace detail + { +@@ -172,7 +170,12 @@ _CCCL_EXEC_CHECK_DISABLE + template + inline _CCCL_HOST_DEVICE typename disable_if::value>::type construct(Alloc&, T* p) + { ++# if defined(__CUDA__) && defined(__clang__) ++ // XXX unsafe. cuda-clang is seemingly unable to call ::new in device code ++ *p = T(); ++# else + ::new (static_cast(p)) T(); ++# endif + } + + __THRUST_DEFINE_IS_CALL_POSSIBLE(has_member_construct2_impl, construct) +@@ -194,7 +197,12 @@ template + inline _CCCL_HOST_DEVICE typename disable_if::value>::type + construct(Alloc&, T* p, const Arg1& arg1) + { ++# if defined(__CUDA__) && defined(__clang__) ++ // XXX unsafe. cuda-clang is seemingly unable to call ::new in device code ++ *p = T(arg1); ++# else + ::new (static_cast(p)) T(arg1); ++# endif + } + + __THRUST_DEFINE_IS_CALL_POSSIBLE(has_member_constructN_impl, construct) +@@ -216,7 +224,12 @@ template + inline _CCCL_HOST_DEVICE typename disable_if::value>::type + construct(Alloc&, T* p, Args&&... args) + { ++# if defined(__CUDA__) && defined(__clang__) ++ // XXX unsafe. cuda-clang is seemingly unable to call ::new in device code ++ *p = T(THRUST_FWD(args)...); ++# else + ::new (static_cast(p)) T(THRUST_FWD(args)...); ++# endif + } + + __THRUST_DEFINE_IS_CALL_POSSIBLE(has_member_destroy_impl, destroy) diff --git a/patches/cutlass_disable_incompatible_unrolls.diff b/patches/cutlass_disable_incompatible_unrolls.diff new file mode 100644 index 0000000..e3c0dcc --- /dev/null +++ b/patches/cutlass_disable_incompatible_unrolls.diff @@ -0,0 +1,75 @@ +diff --git a/include/cutlass/epilogue/threadblock/epilogue.h b/include/cutlass/epilogue/threadblock/epilogue.h +index 57c8e210..66dc3364 100644 +--- a/include/cutlass/epilogue/threadblock/epilogue.h ++++ b/include/cutlass/epilogue/threadblock/epilogue.h +@@ -478,7 +478,7 @@ public: + // Iterate over accumulator tile + // + +- #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) ++// #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) + for (int iter = 0; iter < OutputTileIterator::kIterations; ++iter) + { + // +diff --git a/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h b/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h +index 7e6d2a69..d4997cdd 100644 +--- a/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h ++++ b/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h +@@ -565,7 +565,7 @@ private: + // + + // CUTLASS_PRAGMA_UNROLL +- #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations / Base::kFragmentsPerIteration : 1) ++// #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations / Base::kFragmentsPerIteration : 1) + for (int iter = 0; iter < OutputTileIterator::kIterations; iter += Base::kFragmentsPerIteration) { + + // +@@ -703,7 +703,7 @@ private: + // Iterate over accumulator tile + // + +- #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) ++// #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) + for (int iter = 0; iter < OutputTileIterator::kIterations; ++iter) { + + // +@@ -1335,7 +1335,7 @@ private: + // + + // CUTLASS_PRAGMA_UNROLL +- #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations / Base::kFragmentsPerIteration : 1) ++// #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations / Base::kFragmentsPerIteration : 1) + for (int iter = 0; iter < OutputTileIterator::kIterations; iter += Base::kFragmentsPerIteration) { + + // +@@ -1470,7 +1470,7 @@ private: + // Iterate over accumulator tile + // + +- #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) ++// #pragma unroll(IterationsUnroll ? OutputTileIterator::kIterations : 1) + for (int iter = 0; iter < OutputTileIterator::kIterations; ++iter) { + + // +diff --git a/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h b/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h +index 259f0729..ef8f90cf 100644 +--- a/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h ++++ b/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h +@@ -303,7 +303,7 @@ public: + // Pipeline Loop + // + +- #pragma unroll(IterationsUnroll ? kIterations : 1) ++// #pragma unroll(IterationsUnroll ? kIterations : 1) + for (int iter_idx = 1; iter_idx < kIterations + 1; ++iter_idx) { + + __syncthreads(); +@@ -379,7 +379,7 @@ public: + } + } else { + +- #pragma unroll(IterationsUnroll ? kIterations : 1) ++// #pragma unroll(IterationsUnroll ? kIterations : 1) + for (int iter_idx = 0; iter_idx < kIterations; ++iter_idx) { + + // diff --git a/patches/cutlass_fix_slice.diff b/patches/cutlass_fix_slice.diff new file mode 100644 index 0000000..b29d8a5 --- /dev/null +++ b/patches/cutlass_fix_slice.diff @@ -0,0 +1,40 @@ +diff --git a/include/cutlass/matrix.h b/include/cutlass/matrix.h +index ab32597e..5d8ccb3c 100644 +--- a/include/cutlass/matrix.h ++++ b/include/cutlass/matrix.h +@@ -7825,7 +7825,7 @@ struct Matrix { + + Matrix m; + +- m.set_slice3x3({ ++ m.set_slice_3x3({ + c + x * x * one_minus_cos, x * y * one_minus_cos - z * s, x * z * one_minus_cos + y * s, + y * x * one_minus_cos * z * s, c + y * y * one_minus_cos, y * z * one_minus_cos - x * s, + z * x * one_minus_cos - y * s, z * y * one_minus_cos + x * s, c + z * z * one_minus_cos +@@ -7845,7 +7845,7 @@ struct Matrix { + + Matrix m = Matrix::identity(); + +- m.set_slice3x3({ ++ m.set_slice_3x3({ + Element(1) - Element(2) * a * a, Element(-2) * a * b, Element(-2) * a * c, + Element(-2) * a * b, Element(1) - Element(2) * b * b, Element(-2) * b * c, + Element(-2) * a * c, Element(-2) * b * c, Element(1) - Element(2) * c * c +@@ -14005,7 +14005,7 @@ struct Matrix { + + Matrix m; + +- m.set_slice3x3({ ++ m.set_slice_3x3({ + c + x * x * one_minus_cos, x * y * one_minus_cos - z * s, x * z * one_minus_cos + y * s, + y * x * one_minus_cos * z * s, c + y * y * one_minus_cos, y * z * one_minus_cos - x * s, + z * x * one_minus_cos - y * s, z * y * one_minus_cos + x * s, c + z * z * one_minus_cos +@@ -14025,7 +14025,7 @@ struct Matrix { + + Matrix m = Matrix::identity(); + +- m.set_slice3x3({ ++ m.set_slice_3x3({ + Element(1) - Element(2) * a * a, Element(-2) * a * b, Element(-2) * a * c, + Element(-2) * a * b, Element(1) - Element(2) * b * b, Element(-2) * b * c, + Element(-2) * a * c, Element(-2) * b * c, Element(1) - Element(2) * c * c diff --git a/patches/cutlass_ops.diff b/patches/cutlass_ops.diff new file mode 100644 index 0000000..907c77e --- /dev/null +++ b/patches/cutlass_ops.diff @@ -0,0 +1,47 @@ +diff --git a/include/cute/numeric/integral_constant.hpp b/include/cute/numeric/integral_constant.hpp +index 904a6726..b8009d84 100644 +--- a/include/cute/numeric/integral_constant.hpp ++++ b/include/cute/numeric/integral_constant.hpp +@@ -43,8 +43,8 @@ struct C { + using type = C; + static constexpr auto value = v; + using value_type = decltype(v); +- CUTE_HOST_DEVICE constexpr operator value_type() const noexcept { return value; } +- CUTE_HOST_DEVICE constexpr value_type operator()() const noexcept { return value; } ++ constexpr operator value_type() const noexcept { return value; } ++ constexpr value_type operator()() const noexcept { return value; } + }; + + // Deprecate +@@ -168,19 +168,19 @@ using _524288 = Int<524288>; + + #define CUTE_LEFT_UNARY_OP(OP) \ + template \ +- CUTE_HOST_DEVICE constexpr \ ++ constexpr \ + C<(OP t)> operator OP (C) { \ + return {}; \ + } + #define CUTE_RIGHT_UNARY_OP(OP) \ + template \ +- CUTE_HOST_DEVICE constexpr \ ++ constexpr \ + C<(t OP)> operator OP (C) { \ + return {}; \ + } + #define CUTE_BINARY_OP(OP) \ + template \ +- CUTE_HOST_DEVICE constexpr \ ++ constexpr \ + C<(t OP u)> operator OP (C, C) { \ + return {}; \ + } +@@ -189,7 +189,7 @@ CUTE_LEFT_UNARY_OP(+); + CUTE_LEFT_UNARY_OP(-); + CUTE_LEFT_UNARY_OP(~); + CUTE_LEFT_UNARY_OP(!); +-CUTE_LEFT_UNARY_OP(*); ++// CUTE_LEFT_UNARY_OP(*); + + CUTE_BINARY_OP( +); + CUTE_BINARY_OP( -); diff --git a/patches/cuvs_use_designated_initializers.diff b/patches/cuvs_use_designated_initializers.diff new file mode 100644 index 0000000..a2af9f8 --- /dev/null +++ b/patches/cuvs_use_designated_initializers.diff @@ -0,0 +1,110 @@ +diff --git a/cpp/include/cuvs/neighbors/cagra.hpp b/cpp/include/cuvs/neighbors/cagra.hpp +index d6f5fef..0619d63 100644 +--- a/cpp/include/cuvs/neighbors/cagra.hpp ++++ b/cpp/include/cuvs/neighbors/cagra.hpp +@@ -111,17 +111,18 @@ struct index_params : ann::index_params { + /** Build a raft CAGRA index params from an existing cuvs CAGRA index params. */ + operator raft::neighbors::cagra::index_params() const + { +- return raft::neighbors::cagra::index_params{ +- { +- .metric = static_cast((int)this->metric), +- .metric_arg = this->metric_arg, +- .add_data_on_build = this->add_data_on_build, +- }, +- .intermediate_graph_degree = intermediate_graph_degree, +- .graph_degree = graph_degree, +- .build_algo = static_cast((int)build_algo), +- .nn_descent_niter = nn_descent_niter, +- .compression = compression}; ++ raft::neighbors::cagra::index_params params; ++ ++ params.metric = static_cast((int)this->metric); ++ params.metric_arg = this->metric_arg; ++ params.add_data_on_build = this->add_data_on_build; ++ params.intermediate_graph_degree = intermediate_graph_degree; ++ params.graph_degree = graph_degree; ++ params.build_algo = static_cast((int)build_algo); ++ params.nn_descent_niter = nn_descent_niter; ++ params.compression = compression; ++ ++ return params; + } + }; + +diff --git a/cpp/include/cuvs/neighbors/ivf_flat.hpp b/cpp/include/cuvs/neighbors/ivf_flat.hpp +index efb32e0..7c5d380 100644 +--- a/cpp/include/cuvs/neighbors/ivf_flat.hpp ++++ b/cpp/include/cuvs/neighbors/ivf_flat.hpp +@@ -58,17 +58,19 @@ struct index_params : ann::index_params { + /** Build a raft IVF_FLAT index params from an existing cuvs IVF_FLAT index params. */ + operator raft::neighbors::ivf_flat::index_params() const + { +- return raft::neighbors::ivf_flat::index_params{ +- { +- .metric = static_cast((int)this->metric), +- .metric_arg = this->metric_arg, +- .add_data_on_build = this->add_data_on_build, +- }, +- .n_lists = n_lists, +- .kmeans_n_iters = kmeans_n_iters, +- .kmeans_trainset_fraction = kmeans_trainset_fraction, +- .adaptive_centers = adaptive_centers, +- .conservative_memory_allocation = conservative_memory_allocation}; ++ raft::neighbors::ivf_flat::index_params params; ++ ++ params.metric = static_cast((int)this->metric); ++ params.metric_arg = this->metric_arg; ++ params.add_data_on_build = this->add_data_on_build; ++ ++ params.n_lists = n_lists; ++ params.kmeans_n_iters = kmeans_n_iters; ++ params.kmeans_trainset_fraction = kmeans_trainset_fraction; ++ params.adaptive_centers = adaptive_centers; ++ params.conservative_memory_allocation = conservative_memory_allocation; ++ ++ return params; + } + }; + /** +diff --git a/cpp/include/cuvs/neighbors/ivf_pq.hpp b/cpp/include/cuvs/neighbors/ivf_pq.hpp +index b2fc9a3..296bfad 100644 +--- a/cpp/include/cuvs/neighbors/ivf_pq.hpp ++++ b/cpp/include/cuvs/neighbors/ivf_pq.hpp +@@ -95,20 +95,22 @@ struct index_params : ann::index_params { + /** Build a raft IVF_PQ index params from an existing cuvs IVF_PQ index params. */ + operator raft::neighbors::ivf_pq::index_params() const + { +- return raft::neighbors::ivf_pq::index_params{ +- { +- .metric = static_cast((int)this->metric), +- .metric_arg = this->metric_arg, +- .add_data_on_build = this->add_data_on_build, +- }, +- .n_lists = n_lists, +- .kmeans_n_iters = kmeans_n_iters, +- .kmeans_trainset_fraction = kmeans_trainset_fraction, +- .pq_bits = pq_bits, +- .pq_dim = pq_dim, +- .codebook_kind = static_cast((int)this->codebook_kind), +- .force_random_rotation = force_random_rotation, +- .conservative_memory_allocation = conservative_memory_allocation}; ++ raft::neighbors::ivf_pq::index_params params; ++ ++ params.metric = static_cast((int)this->metric); ++ params.metric_arg = this->metric_arg; ++ params.add_data_on_build = this->add_data_on_build; ++ ++ params.n_lists = n_lists; ++ params.kmeans_n_iters = kmeans_n_iters; ++ params.kmeans_trainset_fraction = kmeans_trainset_fraction; ++ params.pq_bits = pq_bits; // assuming pq_bits is a member in your struct, but not shown in the provided code. ++ params.pq_dim = pq_dim; ++ params.codebook_kind = static_cast((int)this->codebook_kind); ++ params.force_random_rotation = force_random_rotation; ++ params.conservative_memory_allocation = conservative_memory_allocation; ++ ++ return params; + } + }; + /** diff --git a/patches/nixpkgs_cuda_12_4_1.diff b/patches/nixpkgs_cuda_12_4_1.diff new file mode 100644 index 0000000..f3e52d7 --- /dev/null +++ b/patches/nixpkgs_cuda_12_4_1.diff @@ -0,0 +1,3240 @@ +diff --git a/maintainers/scripts/update-cuda-packages.sh b/maintainers/scripts/update-cuda-packages.sh +new file mode 100644 +index 00000000000000..f4d48e5e55af00 +--- /dev/null ++++ b/maintainers/scripts/update-cuda-packages.sh +@@ -0,0 +1,189 @@ ++#!/usr/bin/env bash ++# ----------------------------------------------------------------------------- ++# DESRCIPTION: ++# Updates NVIDIA CUDA packages (`cudaPackages`) from cuda-redist and runfile. ++# ++# AUTHOR: ++# Adam Erickson (Nervosys) ++# ++# DATE: ++# 2024-05-01 ++# ++# OPTIONAL: ++# - Updated supported GPUs here: pkgs/development/cuda-modules/gpus.nix ++# ++# NOTES: ++# - Assumes CUDA_VERSION_MAJOR_MINOR_PREVIOUS was a minor version decrement ++# - For documentation, see `nixpkgs/doc/languages-frameworks/cuda_section.md` ++# ----------------------------------------------------------------------------- ++ ++set -e # exit on error ++[ "$DEBUG" = 1 ] && set -x # print program trace ++ ++### ++### Variables ++### ++ ++# Static: defaults ++CUDA_VERSION='12.4.1' ++CUTENSOR_VERSION='2.0.1' ++CUDA_RUNFILE_URL='https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run' ++ ++### ++### Functions ++### ++ ++function usage { ++ printf "\nUsage: %s [-c|--cuda] CUDA_VERSION [-t|--tensor] CUTENSOR_VERSION\n" $0 ++} ++ ++### ++### Main ++### ++ ++# Parse command-line interface (CLI) arguments. ++while [[ $# -gt 0 ]]; do ++ case $1 in ++ -c|--cuda) ++ CUDA_VERSION="$2" ++ shift # past argument ++ shift # past value ++ ;; ++ -t|--cutensor) ++ CUTENSOR_VERSION="$2" ++ shift # past argument ++ shift # past value ++ ;; ++ -u|--cuda-runfile-url) ++ CUDA_RUNFILE_URL="$2" ++ shift # past argument ++ shift # past value ++ ;; ++ -*|--*) ++ echo "Error: unknown argument: $1" ++ usage ++ exit 1 ++ ;; ++ esac ++done ++ ++# Dynamic variables ++CUDA_VERSION_MAJOR_MINOR="${CUDA_VERSION%.*}" ++CUDA_VERSION_MAJOR_MINOR_UNDER="${CUDA_VERSION_MAJOR_MINOR/./_}" ++CUDA_VERSION_MAJOR_MINOR_PREVIOUS="$(echo "scale=10; ${CUDA_VERSION_MAJOR_MINOR} - 0.1" | bc -l)" ++CUDA_VERSION_MAJOR_MINOR_PREVIOUS_UNDER="${CUDA_VERSION_MAJOR_MINOR_PREVIOUS/./_}" ++ ++echo '-----------------------------------------------' ++echo " CUDA version new: ${CUDA_VERSION} || ${CUDA_VERSION_MAJOR_MINOR} || ${CUDA_VERSION_MAJOR_MINOR_UNDER}" ++echo " CUDA version previous: || ${CUDA_VERSION_MAJOR_MINOR_PREVIOUS} || ${CUDA_VERSION_MAJOR_MINOR_PREVIOUS_UNDER}" ++echo '-----------------------------------------------' ++ ++### Download and process manifests. ++ ++# Update CUDA: download and process manifests. ++nix run github:connorbaker/cuda-redist-find-features -- \ ++ download-manifests \ ++ --log-level DEBUG \ ++ --version "$CUDA_VERSION" \ ++ https://developer.download.nvidia.com/compute/cuda/redist \ ++ ./pkgs/development/cuda-modules/cuda/manifests ++ ++nix run github:connorbaker/cuda-redist-find-features -- \ ++ process-manifests \ ++ --log-level DEBUG \ ++ --version "$CUDA_VERSION" \ ++ https://developer.download.nvidia.com/compute/cuda/redist \ ++ ./pkgs/development/cuda-modules/cuda/manifests ++ ++# Update the `cudaVersionMap` attribute set in `pkgs/development/cuda-modules/cuda/extension.nix`. ++# Append the new version information. ++sed -i "/\"${CUDA_VERSION_MAJOR_MINOR_PREVIOUS}\" = .*$/a\ \"${CUDA_VERSION_MAJOR_MINOR}\" = \"${CUDA_VERSION}\";" \ ++ ./pkgs/development/cuda-modules/cuda/extension.nix ++ ++# Update cuTensor: download and process manifests. ++nix run github:connorbaker/cuda-redist-find-features -- \ ++ download-manifests \ ++ --log-level DEBUG \ ++ --version "$CUTENSOR_VERSION" \ ++ https://developer.download.nvidia.com/compute/cutensor/redist \ ++ ./pkgs/development/cuda-modules/cutensor/manifests ++ ++nix run github:connorbaker/cuda-redist-find-features -- \ ++ process-manifests \ ++ --log-level DEBUG \ ++ --version "$CUTENSOR_VERSION" \ ++ https://developer.download.nvidia.com/compute/cutensor/redist \ ++ ./pkgs/development/cuda-modules/cutensor/manifests ++ ++### Update supported compilers and GPUs (optional). ++ ++# Update `nvcc-compatibilities.nix` in `pkgs/development/cuda-modules/` to include the newest release of NVCC, ++# as well as any newly supported host compilers. ++COMPATIBILITY=" ++ # Sets maximum and minimum GCC versions ++ # https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id3 ++ \"12.4\" = attrs.\"${CUDA_VERSION_MAJOR_MINOR_PREVIOUS}\" // { ++ gccMaxMajorVersion = \"13\"; ++ gccMinMajorVersion = \"7\"; ++ gccMinMinorVersion = \"3\"; ++ }; ++" ++awk -i inplace -v prev="\"${CUDA_VERSION_MAJOR_MINOR_PREVIOUS}\".*$" -v compat="$COMPATIBILITY" '$0 ~ prev{print $0; print compat;next}1' \ ++ ./pkgs/development/cuda-modules/nvcc-compatibilities.nix ++ ++# OPTIONAL: Update `gpus.nix` in `pkgs/development/cuda-modules/` to include any new GPUs supported by the new release of CUDA. ++# Example: ++# GPU=" { ++# # NVIDIA H100 (GH100) (Thor) ++# archName = \"Hopper\"; ++# computeCapability = \"9.0a\"; ++# isJetson = false; ++# minCudaVersion = \"12.0\"; ++# dontDefaultAfter = null; ++# maxCudaVersion = null; ++# }" ++# awk -v gpu="$GPU" '/^]/ && c == 0 {c = 1; print gpu}; {print}' ./pkgs/development/cuda-modules/gpus.nix ++ ++### Install runfile version for backwards compatibility. ++ ++# Download the CUDA runfile. ++nix store prefetch-file --hash-type sha256 --json "$CUDA_RUNFILE_URL" > cuda_runfile_prefetch.json ++CUDA_RUNFILE_HASH="$(grep -o '"hash":"[^"]*' cuda_runfile_prefetch.json | grep -o '[^"]*$')" ++ ++# Update `cudatoolkit` to include the release. ++CUDA_RELEASE=" ++ \"${CUDA_VERSION_MAJOR_MINOR}\" = { ++ version = \"${CUDA_VERSION}\"; ++ url = \"${CUDA_RUNFILE_URL}\"; ++ sha256 = \"${CUDA_RUNFILE_HASH}\"; ++ }; ++" ++awk -i inplace -v release="$CUDA_RELEASE" '/}$/ && c == 0 {c = 0; print release}; {print}' \ ++ ./pkgs/development/cuda-modules/cudatoolkit/releases.nix ++ ++# Include a new `cudaPackages__` package set in `pkgs/top-level/all-packages.nix`. ++# 'cudaPackages__' ./pkgs/top-level/all-packages.nix ++# ' cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; };' ++PATTERN="cudaPackages_${CUDA_VERSION_MAJOR_MINOR_PREVIOUS_UNDER} = callPackage" ++APPEND="cudaPackages_${CUDA_VERSION_MAJOR_MINOR_UNDER} = callPackage ./cuda-packages.nix { cudaVersion = \"${CUDA_VERSION_MAJOR_MINOR}\"; };" ++sed -i "/${PATTERN}.*$/a\\ ${APPEND}" ./pkgs/top-level/all-packages.nix ++ ++# Build the closure of the new package set, updating `pkgs/development/cuda-modules/cuda/overrides.nix` as needed. ++echo 'Build closure of package set. Update `./pkgs/development/cuda-modules/cuda/overrides.nix` as needed.' ++ ++# Below are some common reasons for failure: ++# ++# | Unable to ... | During ... | Reason | Solution | Note | ++# | --- | --- | --- | --- | --- | ++# | Find headers | `configurePhase` or `buildPhase` | Missing dependency on a `dev` output | Add the missing dependency | The `dev` output typically contain the headers | ++# | Find libraries | `configurePhase` | Missing dependency on a `dev` output | Add the missing dependency | The `dev` output typically contain CMake configuration files | ++# | Find libraries | `buildPhase` or `patchelf` | Missing dependency on a `lib` or `static` output | Add the missing dependency | The `lib` or `static` output typically contain the libraries | ++# ++# In the scenario you are unable to run the resulting binary: this is arguably the most complicated as it could be any combination of the previous reasons. This type of failure ++# typically occurs when a library attempts to load or open a library it depends on that it does not declare in its `DT_NEEDED` section. As a first step, ensure that dependencies are ++# patched with [`cudaPackages.autoAddDriverRunpath`](https://search.nixos.org/packages?channel=unstable&type=packages&query=cudaPackages.autoAddDriverRunpath). Failing that, try ++# running the application with [`nixGL`](https://github.com/guibou/nixGL) or a similar wrapper tool. If that works, it likely means that the application is attempting to load a library # that is not in the `RPATH` or `RUNPATH` of the binary. ++ ++echo 'CUDA and cuTENSOR installation completed successfully.' ++ ++exit 0 +\ No newline at end of file +diff --git a/pkgs/development/cuda-modules/cuda/extension.nix b/pkgs/development/cuda-modules/cuda/extension.nix +index 5b87a3df0959a3..9c36fb8a59ef09 100644 +--- a/pkgs/development/cuda-modules/cuda/extension.nix ++++ b/pkgs/development/cuda-modules/cuda/extension.nix +@@ -16,6 +16,7 @@ let + "12.1" = "12.1.1"; + "12.2" = "12.2.2"; + "12.3" = "12.3.0"; ++ "12.4" = "12.4.1"; + }; + + # Check if the current CUDA version is supported. +diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.1.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.1.json +new file mode 100644 +index 00000000000000..7756c13c4b5579 +--- /dev/null ++++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.1.json +@@ -0,0 +1,1674 @@ ++{ ++ "cuda_cccl": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_compat": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_cudart": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_cuobjdump": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_cupti": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": true, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": true, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": true, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": true, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": true, ++ "static": false ++ } ++ } ++ }, ++ "cuda_cuxxfilt": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_demo_suite": { ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_documentation": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_gdb": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nsight": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvcc": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvdisasm": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvml_dev": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvprof": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvprune": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvrtc": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvtx": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_nvvp": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_opencl": { ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_profiler_api": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "cuda_sanitizer_api": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "fabricmanager": { ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "imex": { ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcublas": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcudla": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcufft": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcufile": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ } ++ }, ++ "libcurand": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcusolver": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libcusparse": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libnpp": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libnvfatbin": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libnvidia_nscq": { ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libnvjitlink": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "libnvjpeg": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "nsight_compute": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "nsight_systems": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "nsight_vse": { ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "nvidia_driver": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": true, ++ "dev": false, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "nvidia_fs": { ++ "linux-aarch64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ }, ++ "visual_studio_integration": { ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": false, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ } ++} +diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.1.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.1.json +new file mode 100644 +index 00000000000000..3b5a650da3bd51 +--- /dev/null ++++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.1.json +@@ -0,0 +1,1205 @@ ++{ ++ "release_date": "2024-04-03", ++ "release_label": "12.4.1", ++ "release_product": "cuda", ++ "cuda_cccl": { ++ "name": "CXX Core Compute Libraries", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_cccl/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "e1636f27a142d24e73dfd831c54bbf5575b498fd5900648d7372fae46f824fdf", ++ "md5": "70fcec0e14bd2e47d0758425695bf55c", ++ "size": "1157180" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "3304e563ed089be1129f79d8e45c9badc8eeba155c8b672f9659f223494edcd9", ++ "md5": "c70add0951817bb00664fbf7c0c7f897", ++ "size": "1157244" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "171073fd6557360b9db7f8559e17b1bb55679aadd5158681318ed9be67e54667", ++ "md5": "305d1dfe78ba55728ca1afe0759f2842", ++ "size": "1156520" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "908742d8f3c6fdd6d1d6316a7b919b5c506474f9551f491aa7335cb4f50bffbd", ++ "md5": "93501754092630bf266b2a26e80c5385", ++ "size": "3171223" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_cccl/linux-aarch64/cuda_cccl-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "23ddd81e43f1522247fcdc1948f3473d2f474a048527c1f20fb3bec345807e2c", ++ "md5": "ab7f4b2c99f5af27f006669706b16969", ++ "size": "1157400" ++ } ++ }, ++ "cuda_compat": { ++ "name": "CUDA compat L4T", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_compat/LICENSE.txt", ++ "version": "12.4.35753180", ++ "linux-aarch64": { ++ "relative_path": "cuda_compat/linux-aarch64/cuda_compat-linux-aarch64-12.4.35753180-archive.tar.xz", ++ "sha256": "7b8a09396c61ccf94a55a418c6a16e371f4e8b9fc4bdae7e2c33cbabcb7a97f3", ++ "md5": "91bb5bc8c790d31cb43fa2cca1b690d6", ++ "size": "19191916" ++ } ++ }, ++ "cuda_cudart": { ++ "name": "CUDA Runtime (cudart)", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_cudart/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "0483bff9a36e7a44465db3cd42874f6f70f019297dcf803fbefcbf58d7448c8f", ++ "md5": "5c452d73cb03a42c1711f8655fa2fb8a", ++ "size": "1099680" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "f5e636944c7817b4f178070daa1259f25b3e84ebd092305d32aa189b21ae37e3", ++ "md5": "1400b00bf1ee2d51eff22ab82f516cd3", ++ "size": "1077184" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "fb96abcff3544384440b9259f9aeab9bf222a5775348546ef87c68ee02eee379", ++ "md5": "bb5fdb01994b0aaf329fb8c7cd825750", ++ "size": "1090256" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "6a1c32e68ee1a95ca17334691ff9ad1ffe7f352c24a083d55e4c96b8063b2bcb", ++ "md5": "9b8b0f24f6b0777ef3b0823f8a0ff2bb", ++ "size": "2474721" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_cudart/linux-aarch64/cuda_cudart-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "0fc5240b1c2a27169b3fefb1e7390cdb0177cb86469fd545f580cd4cc69c7fde", ++ "md5": "cf6075294bf72afdb93e45a75a5d0797", ++ "size": "1149332" ++ } ++ }, ++ "cuda_cuobjdump": { ++ "name": "cuobjdump", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_cuobjdump/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "ae4f9bcb5333b78a84a3babe23feeb8d48c00b6faa21b31477ce4c19f22f39a4", ++ "md5": "10c7a28d9de1ea74fca768694afebb81", ++ "size": "222176" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "f80c713d690d4f0eef21648d45e47b6de08212a5b3291747f35950564fb37196", ++ "md5": "45b83401550b4afead5609244c9c3e9f", ++ "size": "262464" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "d9076a8261d5c7bd49e7892c76760ddbff0bed9c84e20d86d472d3ac33535495", ++ "md5": "0d12b4a609ba4f980ed752d0c4d007c5", ++ "size": "213492" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "8a8eacddc1c0b9e6530a149e60d33219a18d5be586a5c9dab0996ed1214ab602", ++ "md5": "761a8e18757c4729f24a611131a79675", ++ "size": "4172726" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_cuobjdump/linux-aarch64/cuda_cuobjdump-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "a7724c73b8a072886aab25ec80a279fb500d9995a4c02f5e06e4ce2e03b116c4", ++ "md5": "df4feb7e5129cf6294403e77d3830188", ++ "size": "196000" ++ } ++ }, ++ "cuda_cupti": { ++ "name": "CUPTI", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_cupti/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "232f4677a30335f4bafcd4a42b61d4cb65060680067e0dce32966d663f4224ac", ++ "md5": "e423452138a44bd5ef21592c9aa740c8", ++ "size": "20753628" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "6e86197149b0c0bd131ad925c165251fff1c054ae477c10b5c45e052789e1a2d", ++ "md5": "84af4ecc8d12d8a62e597a061859a122", ++ "size": "12038720" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "62f3a245ade16dfb17c56eaaad4df5f339acaa34d2e05ddc15f49fc30e78663c", ++ "md5": "558b13e34d57f2e81d2ffd669553efd1", ++ "size": "11152548" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "6ad8df634d60e4bc96cf6914af71a5708f6460a25a39d0183780c6bdebfa60c7", ++ "md5": "6ea8d481af3a4cdceb7620ccfcfe1cbc", ++ "size": "14921079" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_cupti/linux-aarch64/cuda_cupti-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "93275f4069a05e2342f4648130e039de20900bc3e81d797a7239032ddec5556e", ++ "md5": "2feb723c8e3130da2ffa3df424fb67fc", ++ "size": "7871848" ++ } ++ }, ++ "cuda_cuxxfilt": { ++ "name": "CUDA cuxxfilt (demangler)", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_cuxxfilt/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "5c9a74786bc84dee6f2ea941f3933ce77bfa26a9135a8d38ee8c3a7183b9b200", ++ "md5": "02808e685235763526236ef1b1d935cf", ++ "size": "187628" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "3bbf33a7a4757c82900500940e8cfe8b1a42a4a7e48e9cd732c5fb94f3433704", ++ "md5": "e373f3e1c62adb1e1ee33803ee4ed0b0", ++ "size": "182780" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "e8bb04577e3271477b43c6948c5a39686c93d22f87ddeefd838682298ee399ef", ++ "md5": "0214bb4c524aa6ac3bf74575526a752d", ++ "size": "176408" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "646d523d25f8cfa0feb731b2220da15065ecc793b2a830a81bf537e16d273dd9", ++ "md5": "a62a20fc730cee85bc3ceba23b68768f", ++ "size": "170572" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_cuxxfilt/linux-aarch64/cuda_cuxxfilt-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "88683921e0c5624b7d416fe0f9b225ace448cf7dceb450afbcd25a3b3d8e3421", ++ "md5": "60aa1555031d20bc243d57c674e2d011", ++ "size": "170320" ++ } ++ }, ++ "cuda_demo_suite": { ++ "name": "CUDA Demo Suite", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_demo_suite/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "288bb5fe5e5e531de4b6e6724f1044da1390ddce65dcc8ebe70e6bca45ce1370", ++ "md5": "a41d1d89724a4078bc9e17c60e3de387", ++ "size": "4003068" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "374cb13ff18f8fb8c84a44c8b5e3ec0e28f63df434105d475defb536af38b491", ++ "md5": "7a56556c59cce5d39c780398c1253444", ++ "size": "5063926" ++ } ++ }, ++ "cuda_documentation": { ++ "name": "CUDA Documentation", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_documentation/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "fe2f8351cab18853abf3d2d2ed4d5ce7419de6731676b88a2dafa07060cc2257", ++ "md5": "c4db0370537a4d5fb55dd1bd54df13eb", ++ "size": "67172" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "cf2262b7c928fd5e32305e4ca9d2d789915c95e3be0f2b497a1b8ec459415ac8", ++ "md5": "75c6b4510dcaa980e15be334aa86df91", ++ "size": "67128" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "af65e904d6ebce8bfde257ecfd8f7d4e052cea60c9e99e98eec726a41227d99c", ++ "md5": "fcb181b3b6966497bca279ab4c59f6ca", ++ "size": "67120" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "2215bee2262cf71e40f63ad28bf12a3a53f8f456789dda5bc5ff5131e7901793", ++ "md5": "5dc869c80f00efcfc807d5d596d4e22b", ++ "size": "105674" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_documentation/linux-aarch64/cuda_documentation-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "c18c0f6db3b26c90820597fd105dd6a38e785213a0d32a36480ddaf96dc94b51", ++ "md5": "8d65c666a26394a6d70b000dc589d8f0", ++ "size": "67184" ++ } ++ }, ++ "cuda_gdb": { ++ "name": "CUDA GDB", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_gdb/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "b882e12dd05dd40e4e742c4f77dfbbb493efab87949548896c84ced4ad90ee08", ++ "md5": "d91efd01374adc4d997b494775079414", ++ "size": "44100580" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "0194505308ef1db8d6699ae8a9bb90928f72ecc0f58a4b3fa9daed162ac0c551", ++ "md5": "6a1c1b37cdfa436bc7456fb360a038ec", ++ "size": "43767748" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "99fb61a444bc05709bab18288661cd87104c08671e66b61cb7abe096cd008c64", ++ "md5": "da367eb0bc8b162c913ad913620303fe", ++ "size": "43751576" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_gdb/linux-aarch64/cuda_gdb-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "5a0ef8bb17b30b9be7ff36f5dd78108c943d555f57c81af94a5a6032e97e9b61", ++ "md5": "af4e139a8c31a5e61896e19f11f6fc24", ++ "size": "43698380" ++ } ++ }, ++ "cuda_nsight": { ++ "name": "Nsight Eclipse Edition Plugin", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nsight/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "f1ee8c2c7990225b992e82d4df7334cf112450f273e8ef641b7edf6d66932936", ++ "md5": "2cbd09ed5c9a799a0ee8564a9d5f60eb", ++ "size": "118684472" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "2e402c471dedcc41bb0be2517a836bdadcc539ce799fb7599304c5ffdc7dc566", ++ "md5": "865b786b8f63efa218b98f2ecf73bf21", ++ "size": "118684500" ++ } ++ }, ++ "cuda_nvcc": { ++ "name": "CUDA NVCC", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvcc/LICENSE.txt", ++ "version": "12.4.131", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.4.131-archive.tar.xz", ++ "sha256": "7ffba1ada0e4b8c17e451ac7a60d386aa2642ecd08d71202a0b100c98bd74681", ++ "md5": "66486841dab183168d79684c74df1928", ++ "size": "51184484" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.4.131-archive.tar.xz", ++ "sha256": "2934e83a4df2e0f4182e148753cfd1f29af226a280ea459008819531e9edb5b9", ++ "md5": "087420e4fc0c753c524d4d6c1a4b1475", ++ "size": "45950148" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.4.131-archive.tar.xz", ++ "sha256": "83f130dab0325e12b90fdf1279c0cbbd88acf638ef0a7e0cad72d50855a4f44a", ++ "md5": "bf47b6c3a39a6dce68cacf98cc381fa5", ++ "size": "44923460" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.4.131-archive.zip", ++ "sha256": "3b14cf8dd9dda4a3b1a9682270d46eef775f018e17650187a8a448a06111f2b8", ++ "md5": "8656529f78c412e33aab0612c140fd3f", ++ "size": "63662970" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvcc/linux-aarch64/cuda_nvcc-linux-aarch64-12.4.131-archive.tar.xz", ++ "sha256": "9e7a26fb7acd86ec8d4b67799a329d9bc6bd48bbf27a89f87df4385eb7fe5758", ++ "md5": "688da9b43e479fefc91e353a967f8836", ++ "size": "46315392" ++ } ++ }, ++ "cuda_nvdisasm": { ++ "name": "CUDA nvdisasm", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvdisasm/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "44018a76ee5977b603b0a1f3176a8398eaa893008dadf23e82d01733c20b5542", ++ "md5": "a147cccaf45fe9c28b27985163df3e2a", ++ "size": "49880772" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "8407848aea496afd7708c9ed61c6a1d19c56362798341e1adcfeb77d34a5fea7", ++ "md5": "c2d1c6a5c88a53baddfdc16a4069f802", ++ "size": "49881368" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "ec0480837e789f14803ae148f5ada2cfbd02216afc832c23d6a38037b88be381", ++ "md5": "a54c74a03e1e836365cc3004ac427996", ++ "size": "49808680" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "62a15a4ef3c0641352d7e5c184243d20f9e4992f040538c0f14cd40ec7e5ef7b", ++ "md5": "2abd28024cf6d9e407eceac3c716e4ed", ++ "size": "50146842" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvdisasm/linux-aarch64/cuda_nvdisasm-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "db97528d051cc8ee4a00e33a5dc8ca098196295862d3dcd264d61ac5ed1ebd2d", ++ "md5": "917fe51b82ccd7fa801cde9380b437dd", ++ "size": "49831444" ++ } ++ }, ++ "cuda_nvml_dev": { ++ "name": "CUDA NVML Headers", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvml_dev/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "15af54c7d909f6e24db8b557e34276d70778fcb26f1969b7a9fe42abaa919265", ++ "md5": "9fad58bd78317fdee3e565253c8717c9", ++ "size": "142744" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "e3e2c040a2edc8238bc72c0b600d1b7639b240223d5f3f1fb419162a4c1afb14", ++ "md5": "e116f3e0eaafad6001f3a5961205f667", ++ "size": "139468" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "81820623c4ad794efbd00a38649af7847b951cd5fce2659d001a525e6f6bb72d", ++ "md5": "d70cd674f5744b6c46f023421acdbe1f", ++ "size": "143480" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "8240b666b0da2aebc58c861410c70f4d5ffe157e7071586314ba0d79200f7519", ++ "md5": "8eb77d343eb128112809134777d57183", ++ "size": "127269" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvml_dev/linux-aarch64/cuda_nvml_dev-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "1ccaf8990080ac498f39799f081af770b476983bc0a24f40f168985379029519", ++ "md5": "ce2dd6abf5a8d94cfc3f4d70b2346610", ++ "size": "144148" ++ } ++ }, ++ "cuda_nvprof": { ++ "name": "CUDA nvprof", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvprof/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "5ac35eb3edf867ba757c3c04a6fd4b79cae38de47bd3f384af9ab5615b1d0083", ++ "md5": "a47051ced76211bdfb10f7b72d40199d", ++ "size": "2433916" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "6bfc9e12fb06176c093659cc108fd9397e4b5168697609660b309f42811ff806", ++ "md5": "112aa9c78185c05ab2ed0cb2342abf52", ++ "size": "2116424" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "bd434d759948b4ef9d9e663b89f5019ea104afec6bf7a17267c624b0bfbc1a03", ++ "md5": "f43bdf3d1a27cc2568e24b5e0de8686d", ++ "size": "1701799" ++ } ++ }, ++ "cuda_nvprune": { ++ "name": "CUDA nvprune", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvprune/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "85d348b08d1e652ac2fd6377d1f837aa1aeaf7f784aa451175fd5ea58fd3b28b", ++ "md5": "aa09d8f50c302bfc907836cd8fa9b697", ++ "size": "56380" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "28b297f44bf568b7e477ede212457216c215ffceb53e0610d942e573b95fec05", ++ "md5": "52ad7660a488716512321ab8914da89c", ++ "size": "57020" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "ec6b7ed538496507b99274b5361f36cf84ad18048892e0c6ebf74336c0181b15", ++ "md5": "bc81cb6ff80f92b19e0da829bb3771ca", ++ "size": "48352" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "a322bb849e8974e759d1287977dd237d4ca240159e70fe3e131df600a7cf4d32", ++ "md5": "705bccfbebf390d5163a21be69ffface", ++ "size": "146240" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvprune/linux-aarch64/cuda_nvprune-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "ffd1d4c587056be277885b696077fd744890a6875d0c27577aed33bd75f43b03", ++ "md5": "801667ee9291f7b8e9c8fe9be27b76ec", ++ "size": "50164" ++ } ++ }, ++ "cuda_nvrtc": { ++ "name": "CUDA NVRTC", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvrtc/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "b5e7a984fcf05d3123684d7926e595306d31fbf99f9b19e9a0d268a02fc75827", ++ "md5": "3e5625687340658034d0fb41e1e29e44", ++ "size": "34123316" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "cae11cf45b9443643e82bdaecd51aec9f827db7cdab9498df388471532255480", ++ "md5": "a5f5e3280ebd65ad906c579833eab982", ++ "size": "31421316" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "f9e4bd972ffee5951577b45524b656eda681407a3c761c57978acec26a3acc25", ++ "md5": "c0f103fe3cc1f589d7769afd45efd099", ++ "size": "31422784" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "f140545e06d0d10780c1382a577db2e2c242db7a2d94970f0e6026b2d01aeb1b", ++ "md5": "2804f543c452c09ada1cb5705a1cc932", ++ "size": "101865624" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvrtc/linux-aarch64/cuda_nvrtc-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "9fb6f14168c3194225f29f85467d95150ea65ea676f86303c5ea47ef42ff302f", ++ "md5": "a97fd2007d18388be8d1415d6c1bcca8", ++ "size": "32669152" ++ } ++ }, ++ "cuda_nvtx": { ++ "name": "CUDA NVTX", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvtx/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "f3afccda5ff1e7521cca74153e92708349148294bc75559afe64d57c43763454", ++ "md5": "df06d96b86197ba1a3163303445fef40", ++ "size": "48560" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "772b01a6bfe9d0191f8fdd7f75462563af1926afa2637dd816cc2e9747181536", ++ "md5": "2c738d4a6deeb34dceae9719a8a8cd38", ++ "size": "48616" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "c1d60013e97108fd69caf29e5e7d9b0a1562508517fc1a2bab65c294990bd7e3", ++ "md5": "78a1206060af66b3b1bd88a8d82487ad", ++ "size": "49148" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "95b7f96bdb2701d764d969cdadfbc439b4ab995d0a3695682da5284e14f66d21", ++ "md5": "bc7c949a95ac8d1ab24926c9dad82a6f", ++ "size": "65879" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_nvtx/linux-aarch64/cuda_nvtx-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "d7fbb08e056f11bacae8d4165d5bd4ec4cc601ab326dc36e76678eec6971f612", ++ "md5": "eb65bc05a8f93ffced733221ef9010e2", ++ "size": "51792" ++ } ++ }, ++ "cuda_nvvp": { ++ "name": "CUDA NVVP", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_nvvp/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "94c8b79180f382edaf13d93c3a4dadff43833d0dd624448968eec4f3685c2982", ++ "md5": "e4da126db63c381319e1f0a7d5d9affa", ++ "size": "114592132" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "83ea88a78128acbf1d488f43c6207c1babbef5a5ef06f7604fbefbec0ac01f87", ++ "md5": "828fc847d197c0c16408e5986fa2bacb", ++ "size": "117200208" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "80593019abbd1aec121d2048ec9e6ffa0adc3a7eeb5f6451ceb593af54ac2c03", ++ "md5": "360fb70106eb44e81723eea128e7118b", ++ "size": "120343803" ++ } ++ }, ++ "cuda_opencl": { ++ "name": "CUDA OpenCL", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_opencl/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "34648ff01acb49ec0247e4cb240470b93e9d0c9ee0641091a7bfee0698f09ed9", ++ "md5": "d26623cc9aac8d85af54ba7216d8fc5f", ++ "size": "91476" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "4b5be4ad11ded8c33e83f757435a6c3fa5ff309339b13e18da9f520fb349bf3b", ++ "md5": "fc73bc5396fcca98afe7c5bc8b03a2c6", ++ "size": "137051" ++ } ++ }, ++ "cuda_profiler_api": { ++ "name": "CUDA Profiler API", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_profiler_api/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "fa11c08e39ab35453e07dd5012adc0767408955431fc4acdf64ca4cdd7692646", ++ "md5": "0d594036001b8fae7a1bd2b8b2353caf", ++ "size": "16176" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "71b6102a07676635ec9fd0a34250bbe1c646e5e72d79e57e9072fef411f0d52f", ++ "md5": "76348fc9fab4a1507504c309d6da555c", ++ "size": "16180" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "aaab63b12aba7278c4d72072dc71bbdb7773137af5428c7bb0414496ae78632a", ++ "md5": "94c5f7c70b274ff6c0e66854eb1d4907", ++ "size": "16168" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "8c0c81125d2f0ef6f42bc46723f2c5565863731cf3a3de3ea3e738ea2d7a938f", ++ "md5": "2dec7aeff036c224f4299c82dda201bb", ++ "size": "20232" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_profiler_api/linux-aarch64/cuda_profiler_api-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "9ec80b22522f8491425f4194f86ac4f74a990207bd1fa85169829be5dd450076", ++ "md5": "f58a3f980d3d5c5495e7b57997e5c04a", ++ "size": "16180" ++ } ++ }, ++ "cuda_sanitizer_api": { ++ "name": "CUDA Compute Sanitizer API", ++ "license": "CUDA Toolkit", ++ "license_path": "cuda_sanitizer_api/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "b719c6b2a8cd330ab0e4361e41dda5493946fb7fa0c4b04c8dbd776fadc3b11b", ++ "md5": "1558561259291e2013f810a72727e377", ++ "size": "8236716" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "5ceae6170471d7a9e4540796760642747d10d7d4f609dacede90f84927e59618", ++ "md5": "c92e3dfd851d20cca60974bfa7be4718", ++ "size": "7741432" ++ }, ++ "linux-sbsa": { ++ "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "0e5ff35535ecb1ed0b482a2ac5e3a20e94722736f023fc802cbfd4900e590746", ++ "md5": "3a3966496aab1485f4833dd161e1ec93", ++ "size": "6367224" ++ }, ++ "windows-x86_64": { ++ "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "f15613b7c3088299659356456abfe2c3a98eed7eea9d8292fe0ec46726f5ec73", ++ "md5": "d67f646c3661714b53bc6b67ea468ef8", ++ "size": "14136485" ++ }, ++ "linux-aarch64": { ++ "relative_path": "cuda_sanitizer_api/linux-aarch64/cuda_sanitizer_api-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "d93b5d59c0a18753678fbcce9fa0d83c6b2ff008cebbcb226a2e138b26305aa9", ++ "md5": "b7adbb31f0e824b1a74123fe525e7d30", ++ "size": "3728732" ++ } ++ }, ++ "fabricmanager": { ++ "name": "NVIDIA Fabric Manager", ++ "license": "NVIDIA Driver", ++ "license_path": "fabricmanager/LICENSE.txt", ++ "version": "550.54.15", ++ "linux-x86_64": { ++ "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-550.54.15-archive.tar.xz", ++ "sha256": "73396a744821f280168090175f06efc26b86ce3a4ac3c88b3bf39dd8d9e4c978", ++ "md5": "293115e77e87c5f73141487194f1194b", ++ "size": "5785060" ++ }, ++ "linux-sbsa": { ++ "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-550.54.15-archive.tar.xz", ++ "sha256": "c8a8534875816cb9bfe30f151bf86e8a22fffe017c1715b91698f098950f9547", ++ "md5": "7e3ff10fc4a71e0731fd65babf435fa1", ++ "size": "5218672" ++ } ++ }, ++ "imex": { ++ "name": "Imex", ++ "license": "NVIDIA Proprietary", ++ "license_path": "imex/LICENSE.txt", ++ "version": "550.54.15", ++ "linux-x86_64": { ++ "relative_path": "imex/linux-x86_64/imex-linux-x86_64-550.54.15-archive.tar.xz", ++ "sha256": "0212d562b487ed599d1b4a20d1d4ff0a7d4ded6e2e593e8d464f199b7e93e9bc", ++ "md5": "c2ef7e81023ce30d52f0cced72f92bd5", ++ "size": "7300824" ++ }, ++ "linux-sbsa": { ++ "relative_path": "imex/linux-sbsa/imex-linux-sbsa-550.54.15-archive.tar.xz", ++ "sha256": "5b2782a58b267cb83bc3efcd62c3d5546044caee06f56afa8cad496123a312c9", ++ "md5": "bdb8e5328489449fb09f710f6696ce56", ++ "size": "6498388" ++ } ++ }, ++ "libcublas": { ++ "name": "CUDA cuBLAS", ++ "license": "CUDA Toolkit", ++ "license_path": "libcublas/LICENSE.txt", ++ "version": "12.4.5.8", ++ "linux-x86_64": { ++ "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.4.5.8-archive.tar.xz", ++ "sha256": "c267c4d2cd42065ae2c30ca41a43ddce4e0ecc5484de23f299e3c397b5506eda", ++ "md5": "3c0fe94786ee5288bf6a117cfcc6c9fe", ++ "size": "468331916" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.4.5.8-archive.tar.xz", ++ "sha256": "40726bd8bb106dacf5c1aef8815f3561078b13433671fed40dff431d13a34ff1", ++ "md5": "83cd04d43526fb78beccfd0c82318e80", ++ "size": "360246616" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.4.5.8-archive.tar.xz", ++ "sha256": "e946460149f1970e8c07472bab447f30054dfcc809eb2809bcd9b0090b0b876f", ++ "md5": "323b840b5f3e281a90acd29bd128a2ab", ++ "size": "466990080" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.4.5.8-archive.zip", ++ "sha256": "698140f12da055a3709eee2e022fcfe7bc8edf31f30115e3f7a5c877a9491de5", ++ "md5": "6edf7e3134dccd20636c70cae849800d", ++ "size": "391538487" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcublas/linux-aarch64/libcublas-linux-aarch64-12.4.5.8-archive.tar.xz", ++ "sha256": "1d3886c1da442325d21424f5c021957bdb0c9c8b0b8aef7bf5ca5a449f60490b", ++ "md5": "b9461271cad612b581771495ce96d9fa", ++ "size": "432576828" ++ } ++ }, ++ "libcudla": { ++ "name": "cuDLA", ++ "license": "CUDA Toolkit", ++ "license_path": "libcudla/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-aarch64": { ++ "relative_path": "libcudla/linux-aarch64/libcudla-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "ed418c2104eeb8edd640c8e7694c548e57f42e3f92b53486b16c61db1613232a", ++ "md5": "ea7dd261fd92379f057fc82035c0f7fc", ++ "size": "38692" ++ } ++ }, ++ "libcufft": { ++ "name": "CUDA cuFFT", ++ "license": "CUDA Toolkit", ++ "license_path": "libcufft/LICENSE.txt", ++ "version": "11.2.1.3", ++ "linux-x86_64": { ++ "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.2.1.3-archive.tar.xz", ++ "sha256": "0963b4b57fb7fe9217e97b494159ff4719f1abdc407b2dc215d71bae0576bb02", ++ "md5": "3269400f8ccdffc37e84541ee7d13d97", ++ "size": "509571792" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.2.1.3-archive.tar.xz", ++ "sha256": "5d020dc916a7c5f901802d21ca10ad4d40eaa21c4a1d487ad13a40cab60b4467", ++ "md5": "dce4e38e22bebf2f77a2c4f801b2489a", ++ "size": "511052864" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.2.1.3-archive.tar.xz", ++ "sha256": "4087e27f2429d5f1f820ec49ac400391cbfe84c4abfadb95aaf90705ae84e725", ++ "md5": "7e93f2d42f1735d3f77a2fe9e95f169c", ++ "size": "509862516" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.2.1.3-archive.zip", ++ "sha256": "df1594afd3de4e23779511eb8eccc1f77faacd9fa64e6154828b9bdd68d9a785", ++ "md5": "be165c0565ed09389d687683c30ac98e", ++ "size": "209047054" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcufft/linux-aarch64/libcufft-linux-aarch64-11.2.1.3-archive.tar.xz", ++ "sha256": "538735221a110b052d21ebfe57f710572814b4d8a820c125ce63db621f6b973b", ++ "md5": "c2a65ffbb2dea600778c79aaae31ee6d", ++ "size": "509581888" ++ } ++ }, ++ "libcufile": { ++ "name": "CUDA cuFile", ++ "license": "CUDA Toolkit", ++ "license_path": "libcufile/LICENSE.txt", ++ "version": "1.9.1.3", ++ "linux-x86_64": { ++ "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.9.1.3-archive.tar.xz", ++ "sha256": "5bf067c142e0e78d6b5eb9904f0703a1f5f814a27c44cff596f54630582bb2a9", ++ "md5": "01288701dc7a350e9a3a9e24e3377b4a", ++ "size": "41837868" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.9.1.3-archive.tar.xz", ++ "sha256": "5db80b1905b3fe25a07f29462c8694af1375834c1d8e7b6bf4cf4ffbb8c0b934", ++ "md5": "3e5fa16a3d5e0c0a697a8ec9fc06fed0", ++ "size": "41281928" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcufile/linux-aarch64/libcufile-linux-aarch64-1.9.1.3-archive.tar.xz", ++ "sha256": "90e691a5eec221701231401aa645b95c25c7ec9c509f00717bfdea6399d8c678", ++ "md5": "c4de445d63a79b1d30adca9ccfb3a58a", ++ "size": "41264512" ++ } ++ }, ++ "libcurand": { ++ "name": "CUDA cuRAND", ++ "license": "CUDA Toolkit", ++ "license_path": "libcurand/LICENSE.txt", ++ "version": "10.3.5.147", ++ "linux-x86_64": { ++ "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.5.147-archive.tar.xz", ++ "sha256": "f3752abef1ffae7bc9180bd9885905e971cc9c28d7f4d5860731a012e07638a3", ++ "md5": "d89df6d57ccac1caf85775a12de1d809", ++ "size": "81720172" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.5.147-archive.tar.xz", ++ "sha256": "42ed22ceebcb1840b391cb4369a41e6ed1ae31c5aae0b66fe15ba242db06c4d9", ++ "md5": "c31a0ecf60e6ca0eb75f0bfb1921da14", ++ "size": "81770160" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.5.147-archive.tar.xz", ++ "sha256": "ee337fa4c53136e336f974ba5d1a9be2a1ec5da674be3bb972a8d645051bbfae", ++ "md5": "72683f5c992721a868973018bbfcd01d", ++ "size": "81710072" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.5.147-archive.zip", ++ "sha256": "24c3b0fb7063e49ccc0ac1bff387c5f4fd9617b72aab3fa3b642f08607770ad3", ++ "md5": "b6950f92d0607f4f223eda34cd93741e", ++ "size": "55087990" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcurand/linux-aarch64/libcurand-linux-aarch64-10.3.5.147-archive.tar.xz", ++ "sha256": "3be3a69ab2b242cfc78ef2f85a14c3d02b04d4e64a4345c75f565d981ae99415", ++ "md5": "e6cfa09022835d1bf619112c5665a64b", ++ "size": "83938360" ++ } ++ }, ++ "libcusolver": { ++ "name": "CUDA cuSOLVER", ++ "license": "CUDA Toolkit", ++ "license_path": "libcusolver/LICENSE.txt", ++ "version": "11.6.1.9", ++ "linux-x86_64": { ++ "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.6.1.9-archive.tar.xz", ++ "sha256": "0a35a16e3bc02ba6fe0393e916da087bac079eb998a01666c79533db4f0d37f6", ++ "md5": "4413cd12f780d1f12955f8d0a3e0119c", ++ "size": "126742916" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.6.1.9-archive.tar.xz", ++ "sha256": "55c3e49dce2cdfadaec23aeb408383d713bc0838e882f22b41931599525af795", ++ "md5": "e7f8fb988c3966a28f8239d876618dd5", ++ "size": "127205496" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.6.1.9-archive.tar.xz", ++ "sha256": "3344980ec35d4d850cf10909a2b0f5c1fdea7f2c1af0c6ad9b72dbd188391c3c", ++ "md5": "51bc8fa6c57206fa1e055363e96de0bc", ++ "size": "126349932" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.6.1.9-archive.zip", ++ "sha256": "e1f98fab494b099beaf39b533a725c241afad5b885a88a01e21c5e0aa8bbf978", ++ "md5": "b9dcf7794aa18130fda2a4e3bdc728cf", ++ "size": "123611055" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcusolver/linux-aarch64/libcusolver-linux-aarch64-11.6.1.9-archive.tar.xz", ++ "sha256": "82050419231f3ab6252cf4edb6673504adcdd712cb34ab519f7913beadb8526e", ++ "md5": "c4677035f9b09f9bc1dd9fe22cd72fe4", ++ "size": "138196596" ++ } ++ }, ++ "libcusparse": { ++ "name": "CUDA cuSPARSE", ++ "license": "CUDA Toolkit", ++ "license_path": "libcusparse/LICENSE.txt", ++ "version": "12.3.1.170", ++ "linux-x86_64": { ++ "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.3.1.170-archive.tar.xz", ++ "sha256": "21b7e5c3afd8c3e761471c644b8bbf36cd528dd0f9d274becbeb09b79dd9bec5", ++ "md5": "7f9fc64c7cb961fcd8dac565bc51a8fc", ++ "size": "223377616" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.3.1.170-archive.tar.xz", ++ "sha256": "8f52b2849dcc9a95fb7b2e2eea46afe5c1b459d372f3ce9eff1769845f33e0a5", ++ "md5": "955338a7dff201e885713b8f79ada264", ++ "size": "223489508" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.3.1.170-archive.tar.xz", ++ "sha256": "098169df5ee6ad441ca22ca7d1168c4adedada57e32238b68db42a9934347534", ++ "md5": "d59f4d0e3e00af8d6f4a1bd59baa685d", ++ "size": "222984764" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.3.1.170-archive.zip", ++ "sha256": "d1cef671112537a290ef9282f5258b86bc1ae55e76b1995e330d356b6a140d4e", ++ "md5": "332d7ff19a0f4e03ec029edb11431669", ++ "size": "202432148" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libcusparse/linux-aarch64/libcusparse-linux-aarch64-12.3.1.170-archive.tar.xz", ++ "sha256": "0ae1b89c7c26aa1fc1c59e4b5fd65b37bbefe0914cae3b36e057e8a66bd3c349", ++ "md5": "b295b235acb09fc7914cc2b1e358ee87", ++ "size": "238279416" ++ } ++ }, ++ "libnpp": { ++ "name": "CUDA NPP", ++ "license": "CUDA Toolkit", ++ "license_path": "libnpp/LICENSE.txt", ++ "version": "12.2.5.30", ++ "linux-x86_64": { ++ "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.2.5.30-archive.tar.xz", ++ "sha256": "9062bec77b9844663692459255f35fe70cf826bce2fc8065278410fc5f27023f", ++ "md5": "5d36e45d04e314b5ab9a28e2d905a5d4", ++ "size": "184801936" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.2.5.30-archive.tar.xz", ++ "sha256": "2ada6d5ec9f0a963de3bf2eb1a5e8d431a40fc4c616e1e51e04d96bbbc2604f8", ++ "md5": "57bb46f42d1633c3e5f9fe5f04a96ea7", ++ "size": "185183912" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.2.5.30-archive.tar.xz", ++ "sha256": "e91905f9a23d749fb8389f8671df67f71f49401d19f955d5029c7ebc3d839f73", ++ "md5": "571fd9cdeb13651df5f06a1930c12b91", ++ "size": "184329432" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.2.5.30-archive.zip", ++ "sha256": "56d1a741a3c4f5c4b2fe73dd4eb104ab1defaea3382ed5a65e4b5fe202e9c5b1", ++ "md5": "5e0986267a14179faedb717489719bf7", ++ "size": "156823745" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libnpp/linux-aarch64/libnpp-linux-aarch64-12.2.5.30-archive.tar.xz", ++ "sha256": "c3eaaa8ac7e566d0a0452b1451c52d453f4509a236164b2b231cd194dcd2d7a6", ++ "md5": "769e4226352ea9edb78626228685d49e", ++ "size": "202127304" ++ } ++ }, ++ "libnvfatbin": { ++ "name": "NVIDIA compiler library for fatbin interaction", ++ "license": "CUDA Toolkit", ++ "license_path": "libnvfatbin/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "libnvfatbin/linux-x86_64/libnvfatbin-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "1278f5f6562ed1ae78c3c0bfa665033c986472858bf38ab31e7a1e3091efae0e", ++ "md5": "7fbf212c3ab289387856b5cab4b04d72", ++ "size": "888520" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libnvfatbin/linux-ppc64le/libnvfatbin-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "071ecdda624aa570fbc45220253b149070a993e1797dc7c2ea8d662e20fae4c9", ++ "md5": "b1153dab90745f19d6a144aa70873aa5", ++ "size": "856144" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libnvfatbin/linux-sbsa/libnvfatbin-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "585d89846cf12cd6862e27e53d98aa54d357ea3d153c219a3efb1e1ecc918ffd", ++ "md5": "9ca67e355b7699e475256ea1bf6056e9", ++ "size": "788256" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libnvfatbin/windows-x86_64/libnvfatbin-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "9a8f4d18626733b221bdbdc823a75a0c86f8555ab1f5201b44faf70fb47580e1", ++ "md5": "6173341f2290fa30426502f4e167cf0e", ++ "size": "1501167" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libnvfatbin/linux-aarch64/libnvfatbin-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "271247df10e84047646e67b4ae2ded4f9e562bbec085c556f44490f77855d32c", ++ "md5": "26001074c8f1cfa562f477ee8822f5ab", ++ "size": "762748" ++ } ++ }, ++ "libnvidia_nscq": { ++ "name": "NVIDIA NSCQ API", ++ "license": "NVIDIA Driver", ++ "license_path": "libnvidia_nscq/LICENSE.txt", ++ "version": "550.54.15", ++ "linux-x86_64": { ++ "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-550.54.15-archive.tar.xz", ++ "sha256": "170788919ae9ef6a026a5a784df47e23bb25dcae3b22b1a68dfe91c41f8fe165", ++ "md5": "c11e142a82675466a340d496a06e57f6", ++ "size": "352864" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-550.54.15-archive.tar.xz", ++ "sha256": "bd31f2ca27a24538805ae2476ccd20edde0a1e03cb050b650f563a65859ce64d", ++ "md5": "6386fbbabd76d64ebd25bf5d3f643963", ++ "size": "319136" ++ } ++ }, ++ "libnvjitlink": { ++ "name": "NVIDIA compiler library for JIT LTO functionality", ++ "license": "CUDA Toolkit", ++ "license_path": "libnvjitlink/LICENSE.txt", ++ "version": "12.4.127", ++ "linux-x86_64": { ++ "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.4.127-archive.tar.xz", ++ "sha256": "0e0ec59ee56d3dfa29c66bd4e225b1a6330d42b36545ab4377880009d42b675c", ++ "md5": "40957c683f43bd4110094bb2ec248088", ++ "size": "29161664" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.4.127-archive.tar.xz", ++ "sha256": "a08da1a0b990ef7eb845655eb51ddc9fc920921da14ee2b32ad8daaebeb1c68b", ++ "md5": "6cf7c3bcd4a9344933e878a6fd86fb8a", ++ "size": "26724712" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.4.127-archive.tar.xz", ++ "sha256": "c85f5c50f18e1b8249a318432dbefdbb752ec81d374a59ab452f8d74acaf6017", ++ "md5": "d6a38db7370ce315e9db1517d220db38", ++ "size": "26668060" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "d8f4086215f482263dbfbe47a3580e88acbcdacbb284f8aa0c21a8fe408e671d", ++ "md5": "3e58db25554c0b86fdbf1e1bd3c33d0b", ++ "size": "91513391" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libnvjitlink/linux-aarch64/libnvjitlink-linux-aarch64-12.4.127-archive.tar.xz", ++ "sha256": "104229ab8ed7f585339a4b4e43f7926d8f7478e9b376a376613bbe402dfd5e5b", ++ "md5": "47f822beab403cd6f0ee0728955f4fc9", ++ "size": "27916004" ++ } ++ }, ++ "libnvjpeg": { ++ "name": "CUDA nvJPEG", ++ "license": "CUDA Toolkit", ++ "license_path": "libnvjpeg/LICENSE.txt", ++ "version": "12.3.1.117", ++ "linux-x86_64": { ++ "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.3.1.117-archive.tar.xz", ++ "sha256": "9f297a160b8a934e8095c4eb2ee1674a3497e06ca6a0a7d6f2cdea983d443c96", ++ "md5": "09dae899f2e5b84818c4abe84bc88f8c", ++ "size": "2580832" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.3.1.117-archive.tar.xz", ++ "sha256": "501efffdb76a9bbeab0bab66834dec310346a73dc16ae839854258f5b2e520fa", ++ "md5": "72fc5540ee21f3679a92781a70428e20", ++ "size": "2624724" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.3.1.117-archive.tar.xz", ++ "sha256": "c1c2eeff199aa55b678acd59c0a76a3b44ca99f730e52becfd0373a55c2df2e3", ++ "md5": "d1ef94c997f3547bdec2e5685e2288e8", ++ "size": "2417676" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.3.1.117-archive.zip", ++ "sha256": "63101a25268a70380a129c9b05cd5fcfe8cafaf8594b6b358a5e082ce482b679", ++ "md5": "5c689be0c0212422f05ad60486e95393", ++ "size": "2833408" ++ }, ++ "linux-aarch64": { ++ "relative_path": "libnvjpeg/linux-aarch64/libnvjpeg-linux-aarch64-12.3.1.117-archive.tar.xz", ++ "sha256": "9950455d771f18ba4dc4f60de75ed072e04b19d9ea6c01f69b40315b10709194", ++ "md5": "2b3fe4f6edc867704c0244d4dd40ab9d", ++ "size": "2562292" ++ } ++ }, ++ "nsight_compute": { ++ "name": "Nsight Compute", ++ "license": "NVIDIA SLA", ++ "license_path": "nsight_compute/LICENSE.txt", ++ "version": "2024.1.1.4", ++ "linux-x86_64": { ++ "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2024.1.1.4-archive.tar.xz", ++ "sha256": "b6aee577e61db6823a2fe44fcce4902962c7ea90fbb29800ffcceb3df7ea8d47", ++ "md5": "a27549e05b460ea4cf3c000f610e91b1", ++ "size": "599288172" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2024.1.1.4-archive.tar.xz", ++ "sha256": "267c884f074163e5ffde8fe2a798f795b5d375e0fb1df4439e143a992e7e5f6d", ++ "md5": "af2a15b4d0e300449c0bdfde48222ca4", ++ "size": "114721700" ++ }, ++ "linux-sbsa": { ++ "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2024.1.1.4-archive.tar.xz", ++ "sha256": "5e3b489eaffe329cc3b204a31e9b9c9bd231203ddfd89f57e04fc59c3119527e", ++ "md5": "f209d70764ce909ca0a76a2a365528fb", ++ "size": "260307276" ++ }, ++ "windows-x86_64": { ++ "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2024.1.1.4-archive.zip", ++ "sha256": "a8e497fd4a9dbf12e328e961984f5fad445045efc2568b0cb594ff51da977ba0", ++ "md5": "40e93cd6fdd528e7592c1048befa49f7", ++ "size": "545282883" ++ }, ++ "linux-aarch64": { ++ "relative_path": "nsight_compute/linux-aarch64/nsight_compute-linux-aarch64-2024.1.1.4-archive.tar.xz", ++ "sha256": "122981317d978e5ab98ccb4aa1a922f496d23c2e45ecc3fab2e1524879eb899c", ++ "md5": "e189006ab0b8b281ed6a6484d430b18f", ++ "size": "551145232" ++ } ++ }, ++ "nsight_systems": { ++ "name": "Nsight Systems", ++ "license": "NVIDIA SLA", ++ "license_path": "nsight_systems/LICENSE.txt", ++ "version": "2023.4.4.54", ++ "linux-x86_64": { ++ "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.4.4.54-archive.tar.xz", ++ "sha256": "25ecbd3e670eb976abafdbdec688008b7eec90ddc230b74d7c276d9f8fdcf076", ++ "md5": "397a7063c1a06aa49265bb4838af9076", ++ "size": "220434032" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.4.4.54-archive.tar.xz", ++ "sha256": "d59ade067dcd4747faf9499f4399749d67ca570b03ecc50b22a8fc97d621b756", ++ "md5": "2ebe95985f4b57380e34e8c7ca733355", ++ "size": "58502288" ++ }, ++ "linux-sbsa": { ++ "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.4.4.54-archive.tar.xz", ++ "sha256": "d681d18a5bde7815f7bf0cd28581905b156aac52413fc8caaef472af63e80096", ++ "md5": "45c98835ee2edf014795e8e54fa56989", ++ "size": "189600532" ++ }, ++ "windows-x86_64": { ++ "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.4.4.54-archive.zip", ++ "sha256": "319ac041502f4f62e3c55ad01146f2b8f51e96811bb944fcf3549b8649b67baf", ++ "md5": "81278ddcc510f2e133c2854d617c818f", ++ "size": "336162677" ++ } ++ }, ++ "nsight_vse": { ++ "name": "Nsight Visual Studio Edition (VSE)", ++ "license": "NVIDIA SLA", ++ "license_path": "nsight_vse/LICENSE.txt", ++ "version": "2024.1.1.24072", ++ "windows-x86_64": { ++ "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2024.1.1.24072-archive.zip", ++ "sha256": "7d9a5f4175d4cc8eff2722be71bca3ff7a4e28e85a5cedd8fa283abfc3eb114e", ++ "md5": "4bdada6c38106fd9e69a172f3e8a83eb", ++ "size": "510208957" ++ } ++ }, ++ "nvidia_driver": { ++ "name": "NVIDIA Linux Driver", ++ "license": "NVIDIA Driver", ++ "license_path": "nvidia_driver/LICENSE.txt", ++ "version": "550.54.15", ++ "linux-x86_64": { ++ "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-550.54.15-archive.tar.xz", ++ "sha256": "e1416ebc1e7b4a14d393ca584e3f9c5e22f9750f4ba502a8ba2c5c5ad943bbb5", ++ "md5": "4c757f62a0aa0d7025bd290f0f62b1f2", ++ "size": "352810260" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-550.54.15-archive.tar.xz", ++ "sha256": "ae53576c73f16084f3975aad254ee756e524525b1ca6d72d49d6e4b33083d818", ++ "md5": "af099e16e7493fb762a45223ec1e3d4b", ++ "size": "99127276" ++ }, ++ "linux-sbsa": { ++ "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-550.54.15-archive.tar.xz", ++ "sha256": "b39a8cb837fe3846284d89ab2202e93b14804349d3fc9aa8a8384fd2759ec2f5", ++ "md5": "d5704afba3f1144108125cdb19718ce3", ++ "size": "268726204" ++ } ++ }, ++ "nvidia_fs": { ++ "name": "NVIDIA filesystem", ++ "license": "CUDA Toolkit", ++ "license_path": "nvidia_fs/LICENSE.txt", ++ "version": "2.19.7", ++ "linux-x86_64": { ++ "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.19.7-archive.tar.xz", ++ "sha256": "8a38bc4167f7978e850dcb30311bd3e9789b7a3c12b1fcb9e112cd42b4671c52", ++ "md5": "dd263b808034a918483a6e1f8c7ca211", ++ "size": "58860" ++ }, ++ "linux-sbsa": { ++ "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.19.7-archive.tar.xz", ++ "sha256": "4c686aa77c837c1ff6d3e280fd93ff512ca73835f5fedee2d986b587629efa9a", ++ "md5": "6daab1d6388500fe7da8652e981af65d", ++ "size": "58880" ++ }, ++ "linux-aarch64": { ++ "relative_path": "nvidia_fs/linux-aarch64/nvidia_fs-linux-aarch64-2.19.7-archive.tar.xz", ++ "sha256": "8da41452c44e4e3e392ec30c9c2bf0da76179d4e7ea077ab9023ed89138af992", ++ "md5": "46ffa52c9bc008b42d36624ea9241024", ++ "size": "58888" ++ } ++ }, ++ "visual_studio_integration": { ++ "name": "CUDA Visual Studio Integration", ++ "license": "CUDA Toolkit", ++ "license_path": "visual_studio_integration/LICENSE.txt", ++ "version": "12.4.127", ++ "windows-x86_64": { ++ "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.4.127-archive.zip", ++ "sha256": "c89fd04ac409b93ae0d575626d5d956e3f3d9a21656765ce1c0b25e36c2a103d", ++ "md5": "43687b1d572ae7d462b96f712cc1ea6c", ++ "size": "518984" ++ } ++ } ++} +\ No newline at end of file +diff --git a/pkgs/development/cuda-modules/cudatoolkit/releases.nix b/pkgs/development/cuda-modules/cudatoolkit/releases.nix +index b6828cc1f68c3e..9982984fd30629 100644 +--- a/pkgs/development/cuda-modules/cudatoolkit/releases.nix ++++ b/pkgs/development/cuda-modules/cudatoolkit/releases.nix +@@ -105,4 +105,11 @@ + url = "https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run"; + sha256 = "sha256-fBP6zjr2TW4WSNbjEB0xyBEedHFDrLAHfZc8FpCCBCI="; + }; ++ ++ "12.4" = { ++ version = "12.4.1"; ++ url = "https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run"; ++ sha256 = "sha256-Nn0imbOkWIq0h6bScnbKXZ6tbjlJBPGLzLnhJDO5xPs="; ++ }; ++ + } +diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_2.0.1.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_2.0.1.json +new file mode 100644 +index 00000000000000..99679aecbc448e +--- /dev/null ++++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_2.0.1.json +@@ -0,0 +1,44 @@ ++{ ++ "libcutensor": { ++ "linux-ppc64le": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-sbsa": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "linux-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": true, ++ "sample": false, ++ "static": true ++ } ++ }, ++ "windows-x86_64": { ++ "outputs": { ++ "bin": false, ++ "dev": true, ++ "doc": false, ++ "lib": false, ++ "sample": false, ++ "static": false ++ } ++ } ++ } ++} +diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_2.0.1.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_2.0.1.json +new file mode 100644 +index 00000000000000..55b5b03ead6b57 +--- /dev/null ++++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_2.0.1.json +@@ -0,0 +1,35 @@ ++{ ++ "release_date": "2024-02-08", ++ "release_label": "2.0.1", ++ "release_product": "cutensor", ++ "libcutensor": { ++ "name": "NVIDIA cuTENSOR", ++ "license": "cuTensor", ++ "license_path": "libcutensor/LICENSE.txt", ++ "version": "2.0.1.2", ++ "linux-x86_64": { ++ "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-2.0.1.2-archive.tar.xz", ++ "sha256": "ededa12ca622baad706ea0a500a358ea51146535466afabd96e558265dc586a2", ++ "md5": "65c9a27d85530750e338f30b2d4ecc12", ++ "size": "524522896" ++ }, ++ "linux-ppc64le": { ++ "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-2.0.1.2-archive.tar.xz", ++ "sha256": "7176083a4dad44cb0176771be6efb3775748ad30a39292bf7b4584510f1dd811", ++ "md5": "05277a6ccf012efcaefd57dc90ab1c8b", ++ "size": "521663772" ++ }, ++ "linux-sbsa": { ++ "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-2.0.1.2-archive.tar.xz", ++ "sha256": "4214a0f7b44747c738f2b643be06b2b24826bd1bae6af27f29f3c6dec131bdeb", ++ "md5": "bc3910b997cfa6c1ae4613ffedd8cef5", ++ "size": "518923592" ++ }, ++ "windows-x86_64": { ++ "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-2.0.1.2-archive.zip", ++ "sha256": "6ba9e03ee76dd0a5ace281ce703baf1175e0884b535924c3af88206d8951e33b", ++ "md5": "386b32335db602a71b502a21a093a3a1", ++ "size": "873664751" ++ } ++ } ++} +\ No newline at end of file +diff --git a/pkgs/development/cuda-modules/nvcc-compatibilities.nix b/pkgs/development/cuda-modules/nvcc-compatibilities.nix +index 4af1b511a1d9dd..8a2236f2e1b1c6 100644 +--- a/pkgs/development/cuda-modules/nvcc-compatibilities.nix ++++ b/pkgs/development/cuda-modules/nvcc-compatibilities.nix +@@ -119,6 +119,15 @@ let + + # No changes from 12.2 to 12.3 + "12.3" = attrs."12.2"; ++ ++ # Sets maximum and minimum GCC versions ++ # https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id3 ++ "12.4" = attrs."12.3" // { ++ gccMaxMajorVersion = "13"; ++ gccMinMajorVersion = "7"; ++ gccMinMinorVersion = "3"; ++ }; ++ + }; + in + attrs +diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix +index 9c0846d71df7eb..e9abed37ac028d 100644 +--- a/pkgs/top-level/all-packages.nix ++++ b/pkgs/top-level/all-packages.nix +@@ -7197,6 +7197,7 @@ with pkgs; + cudaPackages_12_1 = callPackage ./cuda-packages.nix { cudaVersion = "12.1"; }; + cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; }; + cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; }; ++ cudaPackages_12_4 = callPackage ./cuda-packages.nix { cudaVersion = "12.4"; }; + cudaPackages_12 = cudaPackages_12_2; # Latest supported by cudnn + + # Use the older cudaPackages for tensorflow and jax, as determined by cudnn diff --git a/patches/raft_fix_hostdevice_template.diff b/patches/raft_fix_hostdevice_template.diff new file mode 100644 index 0000000..4d2cf27 --- /dev/null +++ b/patches/raft_fix_hostdevice_template.diff @@ -0,0 +1,13 @@ +diff --git a/cpp/include/raft/neighbors/detail/cagra/utils.hpp b/cpp/include/raft/neighbors/detail/cagra/utils.hpp +index ece95a7c..fdaca2fc 100644 +--- a/cpp/include/raft/neighbors/detail/cagra/utils.hpp ++++ b/cpp/include/raft/neighbors/detail/cagra/utils.hpp +@@ -65,7 +65,7 @@ inline cudaDataType_t get_cuda_data_type() + } + + template +-constexpr unsigned size_of(); ++_RAFT_HOST_DEVICE constexpr unsigned size_of(); + template <> + _RAFT_HOST_DEVICE constexpr unsigned size_of() + { diff --git a/patches/raft_fix_intrinsic_warning.diff b/patches/raft_fix_intrinsic_warning.diff new file mode 100644 index 0000000..59713a2 --- /dev/null +++ b/patches/raft_fix_intrinsic_warning.diff @@ -0,0 +1,13 @@ +diff --git a/cpp/scripts/__clang_cuda_additional_intrinsics.h b/cpp/scripts/__clang_cuda_additional_intrinsics.h +index b9c032dc..f955b805 100644 +--- a/cpp/scripts/__clang_cuda_additional_intrinsics.h ++++ b/cpp/scripts/__clang_cuda_additional_intrinsics.h +@@ -233,7 +233,7 @@ __MAKE_LD4(cv, float4, float, "f32", "f", : "memory") + } + + #define __MAKE_ST4(cop, c_typ, int_typ, ptx_typ, inl_typ) \ +- __device__ __forceinline__ c_typ __st##cop(c_typ* addr, c_typ v) \ ++ __device__ __forceinline__ void __st##cop(c_typ* addr, c_typ v) \ + { \ + int_typ v1 = v.x, v2 = v.y, v3 = v.z, v4 = v.w; \ + asm("st." #cop ".v4." ptx_typ " [%0], {%1, %2, %3, %4};" ::__LDG_PTR(addr), \ diff --git a/patches/raft_ivf_pq_codepacking_bad_unroll.diff b/patches/raft_ivf_pq_codepacking_bad_unroll.diff new file mode 100644 index 0000000..ec2c64f --- /dev/null +++ b/patches/raft_ivf_pq_codepacking_bad_unroll.diff @@ -0,0 +1,22 @@ +diff --git a/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh b/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh +index bd03409f..4fe12716 100644 +--- a/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh ++++ b/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh +@@ -116,7 +116,7 @@ __device__ void run_on_vector( + // read the chunk + code_chunk = *reinterpret_cast(&in_list_data(group_ix, i, ingroup_ix, 0)); + // read the codes, one/pq_dim at a time +-#pragma unroll ++// #pragma unroll + for (uint32_t k = 0; k < kChunkSize && j < pq_dim; k++, j++) { + // read a piece of the reconstructed vector + action(code_view[k], out_ix, j); +@@ -160,7 +160,7 @@ __device__ void write_vector( + // clear the chunk + if (lane_id == 0) { code_chunk = pq_vec_t{}; } + // write the codes, one/pq_dim at a time +-#pragma unroll ++// #pragma unroll + for (uint32_t k = 0; k < kChunkSize && j < pq_dim; k++, j++) { + // write a single code + uint8_t code = action(in_ix, j); diff --git a/patches/raft_l2_hostdevice.diff b/patches/raft_l2_hostdevice.diff new file mode 100644 index 0000000..b6d51a4 --- /dev/null +++ b/patches/raft_l2_hostdevice.diff @@ -0,0 +1,15 @@ +diff --git a/cpp/include/raft/distance/detail/distance_ops/l2_exp.cuh b/cpp/include/raft/distance/detail/distance_ops/l2_exp.cuh +index a218c85a..dbe92d5e 100644 +--- a/cpp/include/raft/distance/detail/distance_ops/l2_exp.cuh ++++ b/cpp/include/raft/distance/detail/distance_ops/l2_exp.cuh +@@ -42,8 +42,8 @@ template + struct l2_exp_cutlass_op { + bool sqrt; + +- __device__ l2_exp_cutlass_op() noexcept : sqrt(false) {} +- __device__ l2_exp_cutlass_op(bool isSqrt) noexcept : sqrt(isSqrt) {} ++ __host__ __device__ l2_exp_cutlass_op() noexcept : sqrt(false) {} ++ __host__ __device__ l2_exp_cutlass_op(bool isSqrt) noexcept : sqrt(isSqrt) {} + inline __device__ AccT operator()(DataT aNorm, DataT bNorm, DataT accVal) const noexcept + { + AccT outVal = aNorm + bNorm - DataT(2.0) * accVal; diff --git a/patches/raft_merge_in.diff b/patches/raft_merge_in.diff new file mode 100644 index 0000000..94ce64c --- /dev/null +++ b/patches/raft_merge_in.diff @@ -0,0 +1,62 @@ +diff --git a/cpp/include/raft/matrix/detail/select_warpsort.cuh b/cpp/include/raft/matrix/detail/select_warpsort.cuh +index 7da65929..e3862a6c 100644 +--- a/cpp/include/raft/matrix/detail/select_warpsort.cuh ++++ b/cpp/include/raft/matrix/detail/select_warpsort.cuh +@@ -340,7 +340,7 @@ class warp_sort_filtered : public warp_sort { + _RAFT_DEVICE _RAFT_FORCEINLINE void merge_buf_() + { + util::bitonic(!Ascending, kWarpWidth).sort(val_buf_, idx_buf_); +- this->merge_in(val_buf_, idx_buf_); ++ this->template merge_in(val_buf_, idx_buf_); + buf_len_ = 0; + set_k_th_(); // contains warp sync + #pragma unroll +@@ -465,7 +465,7 @@ class warp_sort_distributed : public warp_sort { + _RAFT_DEVICE _RAFT_FORCEINLINE void merge_buf_() + { + util::bitonic<1>(!Ascending, kWarpWidth).sort(buf_val_, buf_idx_); +- this->merge_in<1>(&buf_val_, &buf_idx_); ++ this->template merge_in<1>(&buf_val_, &buf_idx_); + set_k_th_(); // contains warp sync + buf_val_ = kDummy; + } +@@ -577,7 +577,7 @@ class warp_sort_distributed_ext : public warp_sort + IdxT buf_idx = idx_buf_[laneId()]; + val_buf_[laneId()] = kDummy; + util::bitonic<1>(!Ascending, kWarpWidth).sort(buf_val, buf_idx); +- this->merge_in<1>(&buf_val, &buf_idx); ++ this->template merge_in<1>(&buf_val, &buf_idx); + set_k_th_(); // contains warp sync + } + +@@ -636,7 +636,7 @@ class warp_sort_immediate : public warp_sort { + ++buf_len_; + if (buf_len_ == kMaxArrLen) { + util::bitonic(!Ascending, kWarpWidth).sort(val_buf_, idx_buf_); +- this->merge_in(val_buf_, idx_buf_); ++ this->template merge_in(val_buf_, idx_buf_); + #pragma unroll + for (int i = 0; i < kMaxArrLen; i++) { + val_buf_[i] = kDummy; +@@ -649,7 +649,7 @@ class warp_sort_immediate : public warp_sort { + { + if (buf_len_ != 0) { + util::bitonic(!Ascending, kWarpWidth).sort(val_buf_, idx_buf_); +- this->merge_in(val_buf_, idx_buf_); ++ this->template merge_in(val_buf_, idx_buf_); + } + } + +diff --git a/cpp/include/raft/neighbors/detail/cagra/search_multi_cta.cuh b/cpp/include/raft/neighbors/detail/cagra/search_multi_cta.cuh +index 4b979bca..591fae29 100644 +--- a/cpp/include/raft/neighbors/detail/cagra/search_multi_cta.cuh ++++ b/cpp/include/raft/neighbors/detail/cagra/search_multi_cta.cuh +@@ -212,7 +212,7 @@ struct search : public search_plan_impl { + const typename DATASET_DESCRIPTOR_T::INDEX_T* dev_seed_ptr, // [num_queries, num_seeds] + uint32_t* const num_executed_iterations, // [num_queries,] + uint32_t topk, +- SAMPLE_FILTER_T sample_filter) ++ SAMPLE_FILTER_T sample_filter) override + { + cudaStream_t stream = resource::get_cuda_stream(res); + diff --git a/patches/raft_topk_host_device.diff b/patches/raft_topk_host_device.diff new file mode 100644 index 0000000..abffa6c --- /dev/null +++ b/patches/raft_topk_host_device.diff @@ -0,0 +1,13 @@ +diff --git a/cpp/include/raft/neighbors/detail/cagra/topk_for_cagra/topk.h b/cpp/include/raft/neighbors/detail/cagra/topk_for_cagra/topk.h +index ac1a7460..4df9b51b 100644 +--- a/cpp/include/raft/neighbors/detail/cagra/topk_for_cagra/topk.h ++++ b/cpp/include/raft/neighbors/detail/cagra/topk_for_cagra/topk.h +@@ -46,7 +46,7 @@ void _cuann_find_topk(uint32_t topK, + cudaStream_t stream = 0); + + #ifdef __CUDA_ARCH__ +-#define CUDA_DEVICE_HOST_FUNC __device__ ++#define CUDA_DEVICE_HOST_FUNC __host__ __device__ + #else + #define CUDA_DEVICE_HOST_FUNC + #endif diff --git a/patches/raft_variant.diff b/patches/raft_variant.diff new file mode 100644 index 0000000..5a8c268 --- /dev/null +++ b/patches/raft_variant.diff @@ -0,0 +1,230 @@ +diff --git a/cpp/include/raft/neighbors/detail/ivf_pq_build.cuh b/cpp/include/raft/neighbors/detail/ivf_pq_build.cuh +index 24574642..397da8fd 100644 +--- a/cpp/include/raft/neighbors/detail/ivf_pq_build.cuh ++++ b/cpp/include/raft/neighbors/detail/ivf_pq_build.cuh +@@ -56,7 +56,7 @@ + #include + + #include +-#include ++#include + + namespace raft::neighbors::ivf_pq::detail { + +@@ -225,7 +225,7 @@ void flat_compute_residuals( + device_matrix_view rotation_matrix, // [rot_dim, dim] + device_matrix_view centers, // [n_lists, dim_ext] + const T* dataset, // [n_rows, dim] +- std::variant labels, // [n_rows] ++ cuda::std::variant labels, // [n_rows] + rmm::device_async_resource_ref device_memory) + { + auto stream = resource::get_cuda_stream(handle); +@@ -236,9 +236,9 @@ void flat_compute_residuals( + linalg::map_offset(handle, tmp_view, [centers, dataset, labels, dim] __device__(size_t i) { + auto row_ix = i / dim; + auto el_ix = i % dim; +- auto label = std::holds_alternative(labels) +- ? std::get(labels) +- : std::get(labels)[row_ix]; ++ auto label = cuda::std::holds_alternative(labels) ++ ? cuda::std::get(labels) ++ : cuda::std::get(labels)[row_ix]; + return utils::mapping{}(dataset[i]) - centers(label, el_ix); + }); + +@@ -609,7 +609,7 @@ template + __launch_bounds__(BlockSize) RAFT_KERNEL unpack_list_data_kernel( + device_matrix_view out_codes, + device_mdspan::list_extents, row_major> in_list_data, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + const uint32_t pq_dim = out_codes.extent(1); + auto unpack_action = unpack_codes{out_codes}; +@@ -628,7 +628,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL unpack_list_data_kernel( + inline void unpack_list_data( + device_matrix_view codes, + device_mdspan::list_extents, row_major> list_data, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t pq_bits, + rmm::cuda_stream_view stream) + { +@@ -658,7 +658,7 @@ void unpack_list_data(raft::resources const& res, + const index& index, + device_matrix_view out_codes, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + unpack_list_data(out_codes, + index.lists()[label]->data.view(), +@@ -700,7 +700,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL unpack_contiguous_list_data_kernel( + device_mdspan::list_extents, row_major> in_list_data, + uint32_t n_rows, + uint32_t pq_dim, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + run_on_list( + in_list_data, offset_or_indices, n_rows, pq_dim, unpack_contiguous(out_codes, pq_dim)); +@@ -720,7 +720,7 @@ inline void unpack_contiguous_list_data( + device_mdspan::list_extents, row_major> list_data, + uint32_t n_rows, + uint32_t pq_dim, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t pq_bits, + rmm::cuda_stream_view stream) + { +@@ -750,7 +750,7 @@ void unpack_contiguous_list_data(raft::resources const& res, + uint8_t* out_codes, + uint32_t n_rows, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + unpack_contiguous_list_data(out_codes, + index.lists()[label]->data.view(), +@@ -825,7 +825,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL reconstruct_list_data_kernel( + device_matrix_view centers_rot, + codebook_gen codebook_kind, + uint32_t cluster_ix, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + const uint32_t pq_dim = out_vectors.extent(1) / pq_centers.extent(1); + auto reconstruct_action = +@@ -840,13 +840,13 @@ void reconstruct_list_data(raft::resources const& res, + const index& index, + device_matrix_view out_vectors, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + auto n_rows = out_vectors.extent(0); + if (n_rows == 0) { return; } + auto& list = index.lists()[label]; +- if (std::holds_alternative(offset_or_indices)) { +- auto n_skip = std::get(offset_or_indices); ++ if (cuda::std::holds_alternative(offset_or_indices)) { ++ auto n_skip = cuda::std::get(offset_or_indices); + // sic! I'm using the upper bound `list.size` instead of exact `list_sizes(label)` + // to avoid an extra device-host data copy and the stream sync. + RAFT_EXPECTS(n_skip + n_rows <= list->size.load(), +@@ -940,7 +940,7 @@ template + __launch_bounds__(BlockSize) RAFT_KERNEL pack_list_data_kernel( + device_mdspan::list_extents, row_major> list_data, + device_matrix_view codes, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + write_list( + list_data, offset_or_indices, codes.extent(0), codes.extent(1), pass_codes{codes}); +@@ -960,7 +960,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL pack_list_data_kernel( + inline void pack_list_data( + device_mdspan::list_extents, row_major> list_data, + device_matrix_view codes, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t pq_bits, + rmm::cuda_stream_view stream) + { +@@ -989,7 +989,7 @@ void pack_list_data(raft::resources const& res, + index* index, + device_matrix_view new_codes, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + pack_list_data(index->lists()[label]->data.view(), + new_codes, +@@ -1031,7 +1031,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL pack_contiguous_list_data_kernel( + const uint8_t* codes, + uint32_t n_rows, + uint32_t pq_dim, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + write_list( + list_data, offset_or_indices, n_rows, pq_dim, pack_contiguous(codes, pq_dim)); +@@ -1053,7 +1053,7 @@ inline void pack_contiguous_list_data( + const uint8_t* codes, + uint32_t n_rows, + uint32_t pq_dim, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t pq_bits, + rmm::cuda_stream_view stream) + { +@@ -1082,7 +1082,7 @@ void pack_contiguous_list_data(raft::resources const& res, + const uint8_t* new_codes, + uint32_t n_rows, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + pack_contiguous_list_data(index->lists()[label]->data.view(), + new_codes, +@@ -1186,7 +1186,7 @@ struct encode_vectors { + template + __launch_bounds__(BlockSize) RAFT_KERNEL process_and_fill_codes_kernel( + device_matrix_view new_vectors, +- std::variant src_offset_or_indices, ++ cuda::std::variant src_offset_or_indices, + const uint32_t* new_labels, + device_vector_view list_sizes, + device_vector_view inds_ptrs, +@@ -1208,10 +1208,10 @@ __launch_bounds__(BlockSize) RAFT_KERNEL process_and_fill_codes_kernel( + // write the label (one record per subwarp) + auto pq_indices = inds_ptrs(cluster_ix); + if (lane_id == 0) { +- if (std::holds_alternative(src_offset_or_indices)) { +- pq_indices[out_ix] = std::get(src_offset_or_indices) + row_ix; ++ if (cuda::std::holds_alternative(src_offset_or_indices)) { ++ pq_indices[out_ix] = cuda::std::get(src_offset_or_indices) + row_ix; + } else { +- pq_indices[out_ix] = std::get(src_offset_or_indices)[row_ix]; ++ pq_indices[out_ix] = cuda::std::get(src_offset_or_indices)[row_ix]; + } + } + +@@ -1235,7 +1235,7 @@ __launch_bounds__(BlockSize) RAFT_KERNEL encode_list_data_kernel( + device_mdspan, row_major> pq_centers, + codebook_gen codebook_kind, + uint32_t cluster_ix, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + constexpr uint32_t kSubWarpSize = std::min(WarpSize, 1u << PqBits); + const uint32_t pq_dim = new_vectors.extent(1) / pq_centers.extent(1); +@@ -1250,7 +1250,7 @@ void encode_list_data(raft::resources const& res, + index* index, + device_matrix_view new_vectors, + uint32_t label, +- std::variant offset_or_indices) ++ cuda::std::variant offset_or_indices) + { + auto n_rows = new_vectors.extent(0); + if (n_rows == 0) { return; } +@@ -1323,7 +1323,7 @@ template + void process_and_fill_codes(raft::resources const& handle, + index& index, + const T* new_vectors, +- std::variant src_offset_or_indices, ++ cuda::std::variant src_offset_or_indices, + const uint32_t* new_labels, + IdxT n_rows, + rmm::device_async_resource_ref mr) +@@ -1652,8 +1652,8 @@ void extend(raft::resources const& handle, + *index, + vec_batch.data(), + new_indices != nullptr +- ? std::variant(idx_batch.data()) +- : std::variant(IdxT(idx_batch.offset())), ++ ? cuda::std::variant(idx_batch.data()) ++ : cuda::std::variant(IdxT(idx_batch.offset())), + new_data_labels.data() + vec_batch.offset(), + IdxT(vec_batch.size()), + device_memory); diff --git a/patches/raft_variant_codepacking.diff b/patches/raft_variant_codepacking.diff new file mode 100644 index 0000000..c8c65e3 --- /dev/null +++ b/patches/raft_variant_codepacking.diff @@ -0,0 +1,55 @@ +diff --git a/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh b/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh +index bd03409f..ef46f85d 100644 +--- a/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh ++++ b/cpp/include/raft/neighbors/detail/ivf_pq_codepacking.cuh +@@ -25,7 +25,7 @@ + #include + #include + +-#include ++#include + + namespace raft::neighbors::ivf_pq::detail { + +@@ -177,15 +177,15 @@ __device__ void write_vector( + template + __device__ void run_on_list( + device_mdspan::list_extents, row_major> in_list_data, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t len, + uint32_t pq_dim, + Action action) + { + for (uint32_t ix = threadIdx.x + blockDim.x * blockIdx.x; ix < len; ix += blockDim.x) { +- const uint32_t src_ix = std::holds_alternative(offset_or_indices) +- ? std::get(offset_or_indices) + ix +- : std::get(offset_or_indices)[ix]; ++ const uint32_t src_ix = cuda::std::holds_alternative(offset_or_indices) ++ ? cuda::std::get(offset_or_indices) + ix ++ : cuda::std::get(offset_or_indices)[ix]; + run_on_vector(in_list_data, src_ix, ix, pq_dim, action); + } + } +@@ -194,7 +194,7 @@ __device__ void run_on_list( + template + __device__ void write_list( + device_mdspan::list_extents, row_major> out_list_data, +- std::variant offset_or_indices, ++ cuda::std::variant offset_or_indices, + uint32_t len, + uint32_t pq_dim, + Action action) +@@ -203,9 +203,9 @@ __device__ void write_list( + uint32_t stride = subwarp_align::div(blockDim.x); + uint32_t ix = subwarp_align::div(threadIdx.x + blockDim.x * blockIdx.x); + for (; ix < len; ix += stride) { +- const uint32_t dst_ix = std::holds_alternative(offset_or_indices) +- ? std::get(offset_or_indices) + ix +- : std::get(offset_or_indices)[ix]; ++ const uint32_t dst_ix = cuda::std::holds_alternative(offset_or_indices) ++ ? cuda::std::get(offset_or_indices) + ix ++ : cuda::std::get(offset_or_indices)[ix]; + write_vector(out_list_data, dst_ix, ix, pq_dim, action); + } + } diff --git a/patches/rules_jni_public_headers.diff b/patches/rules_jni_public_headers.diff new file mode 100644 index 0000000..8e10a81 --- /dev/null +++ b/patches/rules_jni_public_headers.diff @@ -0,0 +1,24 @@ +diff --git a/jni/private/BUILD.bazel b/jni/private/BUILD.bazel +index 5b85992..a015196 100644 +--- a/jni/private/BUILD.bazel ++++ b/jni/private/BUILD.bazel +@@ -27,6 +27,7 @@ copy_file( + src = "@com_github_openjdk_jdk_jni_h//file", + out = "jni.h", + is_executable = False, ++ visibility = ["//visibility:public"], + ) + + bzl_library( +diff --git a/jni/private/unix/BUILD.bazel b/jni/private/unix/BUILD.bazel +index 049be4d..947be90 100644 +--- a/jni/private/unix/BUILD.bazel ++++ b/jni/private/unix/BUILD.bazel +@@ -5,5 +5,6 @@ copy_file( + src = "@com_github_openjdk_jdk_unix_jni_md_h//file", + out = "jni_md.h", + is_executable = False, +- visibility = ["//jni/private:__pkg__"], ++ # visibility = ["//jni/private:__pkg__"], ++ visibility = ["//visibility:public"], + ) diff --git a/pom.xml b/pom.xml deleted file mode 100644 index beb5781..0000000 --- a/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - 4.0.0 - com.searchscale.lucene.vectorsearch - cuvs-searcher - 0.1 - pom - - cuvs-searcher - - - 11 - 11 - UTF-8 - UTF-8 - - - - cuda - lucene - - diff --git a/pre-commit-hooks.nix b/pre-commit-hooks.nix new file mode 100644 index 0000000..463d1b6 --- /dev/null +++ b/pre-commit-hooks.nix @@ -0,0 +1,69 @@ +{ pkgs, ... }: +{ + # Default hooks + trailing-whitespace-fixer = { + enable = true; + name = "trailing-whitespace"; + description = "Remove trailing whitespace"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/trailing-whitespace-fixer"; + excludes = [ "^patches/" ]; + types = [ "text" ]; + }; + end-of-file-fixer = { + enable = true; + name = "end-of-file-fixer"; + description = "Remove trailing whitespace"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/end-of-file-fixer"; + excludes = [ "^patches/" "png" ]; + types = [ "text" ]; + }; + fix-byte-order-marker = { + enable = true; + name = "fix-byte-order-marker"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/fix-byte-order-marker"; + types = [ "text" ]; + }; + mixed-line-ending = { + enable = true; + name = "mixed-line-ending"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/mixed-line-ending"; + excludes = [ "png" ]; + types = [ "text" ]; + }; + check-case-conflict = { + enable = true; + name = "check-case-conflict"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/check-case-conflict"; + types = [ "text" ]; + }; + detect-private-key = { + enable = true; + name = "detect-private-key"; + entry = "${pkgs.python311Packages.pre-commit-hooks}/bin/detect-private-key"; + types = [ "text" ]; + }; + + # Starlark + bazel-buildifier-format = { + enable = true; + name = "buildifier format"; + description = "Format Starlark"; + entry = "${pkgs.bazel-buildtools}/bin/buildifier -lint=fix"; + types = [ "bazel" ]; + }; + bazel-buildifier-lint = { + enable = true; + name = "buildifier lint"; + description = "Lint Starlark"; + entry = "${pkgs.bazel-buildtools}/bin/buildifier -lint=warn"; + types = [ "bazel" ]; + }; + + # Nix + nixpkgs-fmt.enable = true; + statix.enable = true; + deadnix.enable = true; + + # C++/CUDA/Java + clang-format.enable = true; +} diff --git a/query.txt b/query.txt index 98a39fe..543b4e4 100644 --- a/query.txt +++ b/query.txt @@ -1 +1 @@ -[0.01700117439031601, 0.01225309818983078, 0.020791975781321526, -0.02795238047838211, -0.018035028129816055, 0.012565807439386845, -0.02856503613293171, 0.015571645461022854, -0.018175428733229637, -0.01703946478664875, -0.01052362471818924, 0.020728157833218575, 0.024952923879027367, -0.0007131685852073133, 0.0017629783833399415, 0.024225397035479546, 0.022157685831189156, 0.015239791013300419, 0.0077283866703510284, -0.008455914445221424, -0.02986692637205124, 0.013095499016344547, 0.010581061244010925, 0.010925679467618465, 0.01577586494386196, -0.006222276482731104, 0.006014867220073938, -0.011493661440908909, 0.01086824294179678, -0.01635022833943367, 0.009355750866234303, 0.01627364568412304, -0.02657390758395195, -0.00511183962225914, -0.009400423616170883, -0.01501004584133625, 0.00039327976992353797, -0.01774146594107151, 0.008270841091871262, 0.0051022665575146675, 0.004690639209002256, 0.025055034086108208, 0.0010139120277017355, -0.014882409013807774, -0.01292318943887949, 0.0028925607912242413, 0.01086824294179678, -0.016618264839053154, -0.010210915468633175, 0.013631572015583515, 0.03379812836647034, 0.011799989268183708, 0.03055616468191147, -0.002496887929737568, -0.034487366676330566, -0.011104370467364788, -0.023038377985358238, -0.013363535515964031, 0.02529754303395748, -0.006962568033486605, 0.0271865613758564, 0.004642775747925043, -0.0022033241111785173, 0.01905612088739872, -0.0021155739668756723, 0.003160597290843725, -0.004585339222103357, 0.024148814380168915, -0.010210915468633175, -0.004042884334921837, 0.031730420887470245, 0.013950662687420845, -0.004923575557768345, 0.006739204283803701, 4.5520340790972114e-05, -0.013899608515202999, -0.00012614070146810263, -0.02999456413090229, -0.03004561737179756, 0.010255588218569756, 0.01530360896140337, -0.009438714943826199, -0.017205392941832542, 0.014920700341463089, 0.010044988244771957, 0.02120041288435459, -0.009585496969521046, 0.009732278995215893, -0.011474516242742538, 0.009330224245786667, 0.012342443689703941, 0.002898942679166794, 0.012833843939006329, -0.010453424416482449, -0.008264459669589996, 0.008219786919653416, -0.0005707741947844625, 0.011225624941289425, -0.012048879638314247, -0.028233179822564125, -0.013350771740078926, -0.024161579087376595, -0.0035100020468235016, -0.00959826074540615, -0.0012939143925905228, 0.01294233463704586, 0.003446183865889907, 0.008455914445221424, 0.01905612088739872, 0.0011846256675198674, -0.008730332367122173, -0.011136279441416264, 0.021506739780306816, -0.03867384046316147, -0.0057595944963395596, -0.01458884496241808, 0.00786240492016077, -0.003695074934512377, -0.014282518066465855, -6.162447243696079e-05, 0.04010336846113205, 0.026076124981045723, 0.016848010942339897, -0.013235898688435555, 0.027441835030913353, 0.018609393388032913, -0.04102235287427902, -0.006346722133457661, -0.005488366819918156, -0.000912600546143949, 0.023970123380422592, 0.014946226961910725, -0.007326331455260515, 0.001604230492375791, -0.005727685056626797, 0.01324866246432066, -0.018864665180444717, 0.014167645014822483, 0.009451478719711304, -8.690246613696218e-05, 0.0004574968770612031, 0.020217612385749817, -0.0033057837281376123, -0.014180408790707588, -0.012342443689703941, 0.026803651824593544, 0.02591019682586193, 0.025629397481679916, 0.007262513507157564, -0.007830495946109295, 0.01564822718501091, -0.0016528918640688062, 0.016784191131591797, 0.01775422878563404, 0.005265003070235252, 0.0163629911839962, -0.015571645461022854, 0.0002582643646746874, 0.006353104021400213, -0.0146399000659585, -0.01901783049106598, 0.0012540280586108565, 0.022808631882071495, -0.011180952191352844, 0.013810263015329838, 0.03073485568165779, 0.023638268932700157, -0.03065827302634716, 0.008660132065415382, 0.009662078693509102, -0.0238680150359869, 0.017856337130069733, -0.02925427258014679, 0.02797790803015232, 0.01834135688841343, 0.02109830267727375, -0.00426305690780282, -0.010044988244771957, 0.007619895506650209, -0.006215894594788551, -0.023408522829413414, -0.008372950367629528, 0.007032767869532108, -0.01495899073779583, 0.00097960967104882, 0.009087714366614819, -0.0034717111848294735, -0.014997282065451145, 0.026139942929148674, -0.04569384455680847, 0.02182583138346672, 0.009298314340412617, -0.00647435849532485, 0.012910425662994385, -0.6633010506629944, -0.019375212490558624, 0.012112698517739773, -0.014690954238176346, 0.01019815169274807, 0.001219725701957941, 0.014218699187040329, 0.02787579782307148, -0.009049423970282078, 0.011870188638567924, -0.025029506534337997, 0.00632119458168745, -0.028462925925850868, -0.01758830063045025, -0.01530360896140337, -0.016005609184503555, 0.0010306643089279532, 0.016873536631464958, 0.0031143291853368282, 0.0008431982132606208, -0.017167100682854652, 0.030326418578624725, 0.01971982978284359, 0.017294738441705704, 0.005807457957416773, -0.0015005258610472083, 0.012170135043561459, -0.03737194836139679, -0.018558338284492493, -0.00629885820671916, 0.0004082371888216585, 0.011359643191099167, -0.01698840968310833, 0.0022735241800546646, 0.0393630787730217, -0.037805914878845215, 0.001448673545382917, 0.0017103282734751701, 0.005293721333146095, -0.0011822325177490711, 0.0098726786673069, 0.005909567233175039, 0.02859056182205677, 0.011774461716413498, 0.018711501732468605, 0.008736714720726013, 0.03599347546696663, -0.006116976495832205, -0.00287820165976882, -0.011034170165657997, 0.009700369089841843, -0.0043268753215670586, -0.02053670398890972, -0.002890965435653925, -0.003982257097959518, -0.010670406743884087, 0.029662707820534706, 0.005092693958431482, -0.007785822730511427, -0.008321896195411682, -0.009298314340412617, 0.011046933941543102, -0.019949575886130333, -0.005032066721469164, -0.007690095342695713, 0.02726314403116703, -0.03349180147051811, 0.015150445513427258, -0.005249048583209515, 0.0031143291853368282, 0.021442921832203865, -0.001498132711276412, -0.002498483285307884, -0.010140715166926384, 0.007115731481462717, 0.007690095342695713, 0.028386345133185387, -0.008321896195411682, -0.004607675597071648, -0.0011008642613887787, 0.01970706693828106, -0.019336920231580734, 0.010402370244264603, 0.012061643414199352, 0.01535466406494379, -0.01836688444018364, -0.014563317410647869, 0.006330767646431923, -0.009189823642373085, -0.0038354750722646713, -0.0026197379920631647, 0.041175514459609985, -0.0008615459664724767, 0.0005616003181785345, 0.006930658593773842, -0.0013401826145127416, -0.007077440619468689, -0.012399880215525627, 0.01695011928677559, -0.016809718683362007, 0.022629940882325172, 0.003516383934766054, 0.028947943821549416, -0.015520591288805008, 0.016197064891457558, -0.011653207242488861, -0.018162665888667107, 0.02864161692559719, 0.024761470034718513, -0.03121987357735634, 0.025603869929909706, -0.0004327672941144556, -0.01829030178487301, 0.0028095971792936325, 0.005265003070235252, -0.01569928228855133, -0.00881329644471407, 0.002217683242633939, -0.00915791466832161, -0.00731995003297925, 0.003427038434892893, 0.024646596983075142, 0.016758665442466736, -0.016018373891711235, 0.005399021320044994, 0.01627364568412304, 0.011787225492298603, -0.020804740488529205, -0.004671493545174599, -0.009642933495342731, -0.01564822718501091, -0.0037684659473598003, 0.0028000243473798037, -0.002669197041541338, 0.005006539169698954, 0.021940704435110092, 0.033721547573804855, -0.006764731369912624, -0.008309132419526577, -0.0068413130939006805, -0.006254185456782579, -0.0017534055514261127, 0.0030792290344834328, 0.004010975360870361, -0.01762659288942814, -0.017269210889935493, -0.009164296090602875, -0.0029324472416192293, -0.04278373345732689, -0.0078432597219944, 0.0023277695290744305, -0.02246401272714138, -0.018698738887906075, 0.012693444266915321, -0.01255942601710558, 0.0006844504387117922, 0.005552185233682394, -0.028309762477874756, -0.02591019682586193, -0.007919841445982456, 0.02389354072511196, 0.02864161692559719, -0.035151075571775436, 0.017294738441705704, 0.018941247835755348, -0.004655539058148861, -0.0342065654695034, 0.008028332144021988, -0.020038921386003494, -0.026676015928387642, 0.012061643414199352, -0.01632470078766346, 0.009962024167180061, 0.0018969966331496835, -0.011066079139709473, 0.02917768992483616, -0.01709051989018917, -0.014103827066719532, -0.010759752243757248, 0.0010498097399249673, 0.003666356671601534, 0.00647435849532485, 0.021940704435110092, 0.004582148045301437, 0.028845835477113724, -0.017498955130577087, 0.010370460338890553, 0.008640986867249012, -0.01832859218120575, 0.009362133219838142, 0.015099391341209412, 0.010013078339397907, -0.01188933476805687, -0.0006318003870546818, -0.002650051610544324, -0.0279268529266119, -0.006222276482731104, 0.008564405143260956, 0.027365252375602722, 0.0146399000659585, 0.022349141538143158, 0.010415133088827133, -0.005667057819664478, 0.009993933141231537, 0.011040552519261837, 0.00044393548159860075, 0.014754772186279297, -0.0342065654695034, 0.030862491577863693, 0.014920700341463089, 0.014091063290834427, -0.003015410853549838, 0.010638497769832611, -0.0009086119243875146, 0.0076581863686442375, 0.0313730388879776, 0.02381695993244648, 0.00887711439281702, 0.007185931783169508, 0.006416921969503164, 0.004381120670586824, 0.003928011283278465, -0.0029723336920142174, 0.0053032939322292805, -0.020562229678034782, 0.01188933476805687, 0.014346336014568806, 0.01979641243815422, 0.0021171695552766323, -0.028309762477874756, -0.02596125192940235, -0.004042884334921837, 0.003650402184575796, 0.005060784984380007, 0.013759207911789417, 0.0004367559449747205, 0.013567754067480564, 0.0004475252644624561, -0.016848010942339897, -0.008315513841807842, 0.013210371136665344, 0.0020246331114321947, 0.01530360896140337, -0.006681767757982016, 0.04160948097705841, -0.011940388940274715, 0.04564278945326805, 0.002227255841717124, -0.0038067568093538284, 0.00029416210600174963, -0.0017230919329449534, -0.003283447353169322, -0.04227318987250328, 0.005775548983365297, -0.004942721221596003, -0.017269210889935493, 0.008979223668575287, -0.007256131619215012, -0.006962568033486605, 0.023357467725872993, 0.011787225492298603, 0.027339724823832512, 0.0073773860931396484, 0.004732121247798204, 0.02442961558699608, -0.014473971910774708, -0.015992846339941025, 0.013503935188055038, 0.0014765940140932798, -0.01197868026793003, -0.005539421457797289, -0.014167645014822483, 0.011851043440401554, -0.013708153739571571, -0.0007199493120424449, -0.013350771740078926, 0.007479495368897915, -0.025514524430036545, -0.009623787365853786, 0.0006892367964610457, -0.005226712208241224, -0.05631319805979729, -0.00407160259783268, 0.032343074679374695, -0.005676630884408951, -0.011397934518754482, 0.01091291569173336, 0.01770317368209362, -0.024225397035479546, 0.012323298491537571, 0.020919611677527428, -0.0054787942208349705, -0.027671581134200096, -0.0017422373639419675, -0.01222757063806057, -0.004467275459319353, 0.0005775549216195941, 0.0065349857322871685, -0.01186380721628666, -0.012757262215018272, 0.01197868026793003, -0.00042399231460876763, -0.004808702971786261, 0.01635022833943367, 0.0231277234852314, 0.021596085280179977, 0.0009078141883946955, -0.01569928228855133, -0.008334659971296787, -0.035814784467220306, 0.01978364773094654, -0.026242051273584366, -0.008200641721487045, -0.002393183298408985, -0.0071093495935201645, 0.013491171412169933, 0.005427739582955837, -0.002066114917397499, 0.03412998467683792, 0.016886301338672638, -0.019643248990178108, -0.01322313491255045, -0.018685974180698395, -0.020115502178668976, 0.08786492794752121, 0.0034621383529156446, 0.0020230375230312347, 0.008353805169463158, 0.0007821720791980624, -0.0021091920789331198, -0.011078842915594578, 0.006231849081814289, -0.0016433191485702991, -0.015967318788170815, -0.009674842469394207, 0.0005328821134753525, 0.010510860942304134, 0.015278082340955734, 0.00023433253227267414, 0.024340270087122917, -0.008979223668575287, -0.04063944146037102, -0.020077211782336235, -0.01229777093976736, -0.007115731481462717, 0.0043524024076759815, -0.0043268753215670586, 0.048655010759830475, 0.007262513507157564, 0.017996737733483315, 0.03658060356974602, 0.002764924429357052, 0.009642933495342731, -0.004955484997481108, 0.0014143713051453233, 0.0016640600515529513, 0.009400423616170883, -0.004342829808592796, -0.0056128124706447124, -0.005475603509694338, -0.018660448491573334, 0.004984202794730663, 0.013899608515202999, 0.0039790659211575985, 0.008289987221360207, -0.007747531868517399, -0.005746830720454454, -0.03453842177987099, 0.007696477230638266, 0.0013673054054379463, 0.008609077893197536, 0.03451289236545563, 0.012770025990903378, -0.008743096143007278, 0.00952167809009552, -0.005188421346247196, -0.0072816587053239346, -0.018137138336896896, -0.014793063513934612, -0.0010785278864204884, -0.017154337838292122, -0.0101790064945817, 0.004732121247798204, -0.0010202937992289662, -0.0026197379920631647, -0.011174570769071579, 0.004827848169952631, -0.020626049488782883, 0.010778897441923618, -0.02190241403877735, -0.0022224695421755314, -0.014001717790961266, -0.045157771557569504, -0.0011216051643714309, 0.003055297303944826, -0.05513894185423851, -0.04811893776059151, -0.0014662236208096147, 0.03895464166998863, 6.167432729853317e-05, 0.027007870376110077, -0.005797885358333588, 0.016796955838799477, 0.01501004584133625, 0.014665426686406136, -0.005963812582194805, -0.05095246806740761, -0.011340497992932796, -0.004205620847642422, 0.013121025636792183, 0.023319177329540253, -0.016784191131591797, 0.012489225715398788, 0.02388077788054943, 0.030913546681404114, 0.012106316164135933, 0.03586583957076073, -0.003227606415748596, 0.01904335618019104, -0.00262931059114635, -0.006037203595042229, 0.01982193998992443, 0.004406648222357035, -0.016656555235385895, 0.007556077092885971, -0.004843803122639656, 0.01264877151697874, 0.008909023366868496, 0.0010043391957879066, -0.003956729546189308, 0.0007287242915481329, -0.0012077598366886377, -0.016771428287029266, -0.02382972277700901, 0.022668231278657913, -0.005644721444696188, 0.0002389194560237229, -0.025399651378393173, -0.016171537339687347, 0.034334201365709305, 0.033696021884679794, 0.025425178930163383, -0.012725353240966797, 0.0005125401075929403, -0.02518266998231411, -0.03180700168013573, -0.016133246943354607, 0.017996737733483315, 0.0037078384775668383, 0.015507827512919903, 0.012061643414199352, -0.00788793247193098, -0.03859725967049599, -0.005092693958431482, -0.001545198610983789, -0.003733365796506405, -8.216595597332343e-05, -0.013669862411916256, -0.012170135043561459, -0.0002642473264131695, -0.0025511332787573338, 0.007639041170477867, -0.009138769470155239, 0.011206479743123055, -0.006790258456021547, -0.019400738179683685, -0.01982193998992443, -0.0005388651043176651, -0.006834931205958128, -0.03793355077505112, 0.014882409013807774, 0.00047424915828742087, 0.008258077315986156, -0.008149586617946625, -0.004674684721976519, -0.009119623340666294, -0.012584952637553215, 0.0015962532488629222, -0.02388077788054943, 0.0015428054612129927, -0.02996903657913208, -0.018571102991700172, 0.02527201548218727, 0.029662707820534706, 0.03405340388417244, 0.019298629835247993, 0.007926222868263721, 0.02037077583372593, -0.006732822395861149, -0.02448066882789135, 0.0015571645926684141, -0.014384626410901546, -0.02519543282687664, 0.0022815014235675335, 0.018647683784365654, 0.0014989303890615702, -0.017958447337150574, 0.0072816587053239346, -0.00955358799546957, 0.009457860141992569, 0.013746445067226887, -0.01696288213133812, -0.006981713231652975, -0.024340270087122917, 0.006764731369912624, -0.01700117439031601, -0.009387659840285778, -0.0007925425306893885, -0.00989820621907711, -0.02869267202913761, 0.028871363028883934, 0.009240878745913506, -0.0024936969857662916, -0.006771113257855177, 0.03185805678367615, 0.009942878969013691, 0.022655468434095383, -0.001411180361174047, 0.0064679766073822975, -0.022298086434602737, -0.02255335822701454, 0.002768115373328328, -0.010153478942811489, 0.006675385870039463, 0.010159860365092754, -0.00018975949205923826, 0.015035572461783886, -0.011314970441162586, 0.009304696694016457, 0.013095499016344547, -0.018213719129562378, 0.026854706928133965, 0.004275820683687925, -0.011436224915087223, 0.010044988244771957, -0.01123200636357069, -0.02588466927409172, -0.024327505379915237, -0.0022846923675388098, -0.0020501604303717613, -0.04360060766339302, 0.01119371596723795, -0.002680365229025483, -0.044698283076286316, 0.006751967594027519, 0.01495899073779583, 0.023548923432826996, 0.019426265731453896, 0.0156865194439888, 0.013261426240205765, -0.0018618965987116098, -0.011831898242235184, -0.015278082340955734, -0.01086824294179678, -0.006522221956402063, 0.039082277566194534, -0.010970352217555046, 0.00751140434294939, -0.014448445290327072, -0.024927396327257156, -0.00955358799546957, -0.009630169719457626, -0.013503935188055038, 0.018137138336896896, -0.0077666775323450565, 0.010274733416736126, -0.0013872485142201185, 7.713030208833516e-05, -0.008430386893451214, 0.035840313881635666, -0.03318547457456589, -0.006637095008045435, -0.020243139937520027, -0.014473971910774708, -0.00852611381560564, -0.009055805392563343, -0.009910969994962215, 0.02520819753408432, 0.01911993883550167, -0.015571645461022854, -0.030377473682165146, 0.0022495922166854143, -0.002322983229532838, -0.008251695893704891, -0.02382972277700901, -0.008545259945094585, -0.02242572233080864, -0.001526850974187255, 0.0018363692797720432, 0.012546662241220474, 0.018022265285253525, 0.0023756332229822874, -0.006404158193618059, 0.02665048837661743, -0.011168188415467739, 0.0017693601548671722, 0.010664024390280247, 0.015967318788170815, -0.004294966347515583, -0.0030967791099101305, -0.01627364568412304, 0.02795238047838211, -0.01401448156684637, -0.012163752689957619, 0.026829179376363754, -0.023982886224985123, -0.007830495946109295, -0.007958131842315197, -0.005992530845105648, -0.013286953791975975, -0.02856503613293171, 0.016133246943354607, -0.011755316518247128, -0.02989245392382145, -0.029279800131917, 0.0013393849367275834, -0.008009186945855618, 0.026395216584205627, -0.0029117062222212553, 0.0003334502107463777, -0.005325630307197571, -0.00880691409111023, -0.0355595126748085, 0.009119623340666294, 0.0105172423645854, 0.0037301750853657722, -0.0203580129891634, 0.028156599029898643, 0.0047959391959011555, -0.025974014773964882, 0.026216525584459305, -0.011991443112492561, -0.0058266036212444305, -0.016796955838799477, -0.0020102739799767733, 0.00632119458168745, -0.012801934964954853, 0.007690095342695713, 0.01707775518298149, 0.009981169365346432, 0.006030821707099676, -0.018941247835755348, -0.004521520808339119, 0.016733137890696526, -0.010970352217555046, 0.0038769568782299757, 0.02532307058572769, -6.715870404150337e-05, 0.009432332590222359, -0.0024442379362881184, -0.0021969422232359648, -0.008730332367122173, -0.01569928228855133, 0.0007219436229206622, -0.004815084859728813, 0.03226649388670921, 0.00238041952252388, 0.007741149980574846, -0.0033664111979305744, -0.020051684230566025, -0.004304538946598768, 0.003580202115699649, 0.007709241006523371, -0.017269210889935493, 0.002938829129561782, 0.039184387773275375, 0.014103827066719532, -0.020728157833218575, -0.00883244164288044, -0.009936496615409851, -0.014869645237922668, 0.00781773217022419, -0.03213885426521301, -0.01906888373196125, -0.0005691787227988243, 0.027109980583190918, -0.005191612057387829, -0.020843030884861946, -0.017243683338165283, 0.007977277971804142, -0.02450619637966156, -0.01128306146711111, 0.0190050657838583, 0.015175973065197468, 0.04291137307882309, -0.002768115373328328, 0.0023947786539793015, 0.0366571843624115, 0.003583393059670925, -0.0038450476713478565, 0.020077211782336235, 0.004368357360363007, -0.011244770139455795, -0.02393183298408985, 0.002173010492697358, -0.03760169446468353, -0.042681626975536346, -0.003340883878991008, 0.016094954684376717, -0.004014166072010994, -0.00851335097104311, 0.014767535962164402, -0.008500587195158005, -0.01703946478664875, -0.009962024167180061, -0.006554131396114826, 0.018762556836009026, 0.027007870376110077, 0.017920156940817833, -0.01123838871717453, -0.00034142748336307704, 0.008889878168702126, 0.020638812333345413, -0.0025335834361612797, -0.020651575177907944, -0.0135932806879282, 0.0066690039820969105, -0.011761697940528393, -0.017473429441452026, -0.01324866246432066, 0.008398477919399738, -0.015163209289312363, -0.00952806044369936, 0.0003129086981061846, -0.006988095119595528, 0.01983470283448696, -0.0008100925479084253, -0.02243848703801632, 0.0002965552848763764, -0.013580516912043095, -0.016158772632479668, 0.0007067868136800826, 0.0016592737520113587, -0.022885214537382126, -0.00982800591737032, -0.0029707381036132574, -0.0008623437024652958, -0.017409609630703926, -0.00030951836379244924, -0.019592193886637688, -0.016835246235132217, -0.02384248748421669, 0.022629940882325172, 0.024263687431812286, -0.011072461493313313, -0.00349723850376904, -0.012935953214764595, 0.0033568383660167456, 0.007983659394085407, -0.0016736327670514584, 0.008749477565288544, -0.02654838003218174, -0.010319406166672707, 0.028182126581668854, -0.018788084387779236, -0.0212259404361248, 0.0285395085811615, 0.01975812017917633, 0.007402913644909859, -0.007562458980828524, 0.2281118482351303, -0.0022224695421755314, -0.03466605767607689, 0.045872535556554794, -0.009700369089841843, 0.039694931358098984, 0.04015442356467247, 0.0019145465921610594, 0.005663867108523846, -0.016158772632479668, -0.00924726016819477, 0.022285321727395058, -0.023676559329032898, 0.00627971300855279, 0.005204375833272934, -0.039286497980356216, -0.029535071924328804, -0.008615459315478802, 0.026931289583444595, -0.005325630307197571, -0.003924820572137833, -0.02382972277700901, -0.023523395881056786, -0.020817503333091736, 0.03341522067785263, -0.013108262792229652, -0.00495867570862174, 0.00699447700753808, -0.007473113480955362, -0.016911828890442848, -0.008264459669589996, 0.00853249616920948, 0.01846899278461933, 0.019541138783097267, -0.024825287982821465, -0.023663796484470367, -0.0034908566158264875, -0.004384311847388744, 0.027799217030405998, 0.034410785883665085, 0.002613356104120612, 0.0032004837412387133, -0.0042215753346681595, 0.01401448156684637, -0.0037525114603340626, 0.0033664111979305744, 0.0012787575833499432, -0.01963048428297043, 0.007849641144275665, 0.019975103437900543, -0.00955358799546957, -0.001535625895485282, 0.009074950590729713, 0.05304570496082306, 0.016643792390823364, -0.018098847940564156, 0.020089976489543915, 0.004164138808846474, 0.008494204841554165, 0.0014542576391249895, -0.017511719837784767, 0.04020547866821289, -0.008245314471423626, 0.009138769470155239, -0.01766488328576088, 0.016886301338672638, -0.047251008450984955, 0.022272558882832527, 0.005175657570362091, -0.019885757938027382, -0.00476083904504776, -0.0115638617426157, -0.022323613986372948, -0.02508055977523327, -0.03816329687833786, -0.007951750420033932, 0.01121924351900816, 0.03282809257507324, 0.038418568670749664, 0.016490628942847252, 0.0034876656718552113, 0.008104913868010044, -0.0074858772568404675, -0.007568840868771076, -0.013529462739825249, -0.007288040593266487, -0.0030696564354002476, 0.014231462962925434, 0.012170135043561459, 7.892518624430522e-05, -0.0010673596989363432, -0.020804740488529205, -0.0212259404361248, 0.0016959692584350705, 0.014627136290073395, 0.0005703753558918834, -0.005702157970517874, 0.014078299514949322, -0.0039120567962527275, -0.017537247389554977, -0.019592193886637688, 0.020166557282209396, 0.011359643191099167, -0.010127951391041279, -0.020230375230312347, -0.013682626187801361, -0.011155424639582634, -0.0019560283981263638, 0.02520819753408432, -0.0007642231648787856, -0.015941791236400604, -0.012131843715906143, -0.004856566432863474, -0.009291932918131351, -0.021404631435871124, 0.013542226515710354, 0.0031526200473308563, 0.009043041616678238, 0.029764818027615547, 0.007230604533106089, -0.021289758384227753, -0.010466188192367554, -0.0070455316454172134, -0.005676630884408951, -0.001825201092287898, -0.0381377674639225, -0.004521520808339119, -0.005864894483238459, -0.0017789328703656793, -0.0351766012609005, -0.004732121247798204, 0.010351315140724182, -0.00749225914478302, -0.01257857121527195, -0.016579974442720413, 0.017524482682347298, -0.020051684230566025, -0.045413047075271606, -0.013389062136411667, -0.00729442248120904, -0.00027880584821105003, -0.038444094359874725, -0.006586040370166302, -0.0033536474220454693, 0.013542226515710354, -0.016835246235132217, 0.016886301338672638, -0.005363921634852886, -0.019936811178922653, 0.005124602932482958, -0.010670406743884087, -0.013133789412677288, -0.00042399231460876763, 0.02033248543739319, 0.019477320834994316, 0.011097988113760948, 0.006598804146051407, -0.024148814380168915, -0.02381695993244648, 0.02106001228094101, -0.020549466833472252, 0.01646510139107704, 0.020804740488529205, -0.04020547866821289, -0.01638851873576641, 0.002190560335293412, -0.16082191467285156, 0.01917099393904209, 0.013363535515964031, 0.00203580129891634, 0.019962338730692863, 0.012680680491030216, 0.0018810420297086239, 0.0049012391828000546, -0.009955642744898796, -0.0008767027757130563, 0.02790132537484169, -0.009260023944079876, -0.010287497192621231, 0.004215193446725607, -0.012361588887870312, -0.040562860667705536, 0.009611023589968681, -0.009387659840285778, -0.0057851215824484825, 0.007013622205704451, 0.01461437251418829, -0.006573276594281197, 0.011474516242742538, -0.004014166072010994, -0.016069427132606506, 0.0038195205852389336, 0.0011295825242996216, 0.051411956548690796, -0.009559969417750835, -0.016120482236146927, 0.00012035717372782528, -0.016669319942593575, 0.03221543878316879, -0.006598804146051407, 0.01322313491255045, 0.022974560037255287, -0.008104913868010044, -0.030173255130648613, -0.028947943821549416, 0.004987393971532583, 0.015137681737542152, 0.03338969126343727, 0.007798586506396532, 0.005099075846374035, -0.0008116879616864026, 0.003141451859846711, 0.01435909979045391, -0.026778124272823334, 0.016758665442466736, -0.02172372303903103, 0.002160246716812253, -0.004192857071757317, -0.012495607137680054, 0.009732278995215893, -0.007402913644909859, 0.017294738441705704, 0.014537790790200233, 0.02917768992483616, 0.02989245392382145, 0.0052586211822927, -0.03607005625963211, 0.0021267421543598175, -0.001286734826862812, -0.022068340331315994, 0.006318003870546818, -0.005702157970517874, -0.01222757063806057, -0.002498483285307884, -0.04303900897502899, 0.022834159433841705, 0.0006848492776043713, -0.01831582933664322, 0.0033855566289275885, -0.014895172789692879, 0.0042183841578662395, 0.011429843492805958, -0.04074155166745186, -0.008628223091363907, 0.00699447700753808, 0.0106129702180624, -0.018609393388032913, 0.036555077880620956, -0.0285395085811615, 0.012527517043054104, 0.002362869679927826, -0.007753913756459951, -0.018698738887906075, -0.0007095788605511189, 0.0021666286047548056, 0.0036248748656362295, 0.027390779927372932, -0.023268122225999832, -0.028258707374334335, -0.009043041616678238, 0.027365252375602722, 0.03446183726191521, -0.0035482931416481733, 0.03458947688341141, -0.004735311958938837, 0.004212002735584974, -0.0030425337608903646, 0.016094954684376717, -0.01193400751799345, 0.017333028838038445, 0.028360817581415176, 0.025514524430036545, 0.022055577486753464, 0.004907621070742607, 0.04007784277200699, 0.0054787942208349705, -0.008934550918638706, -0.004515138920396566, 0.016069427132606506, 0.04038416966795921, 0.0005205173511058092, 0.021213175728917122, -0.005287339445203543, -0.027390779927372932, -0.003813138697296381, -0.001018698327243328, 0.03596794977784157, 0.019502848386764526, -0.017256446182727814, 0.010159860365092754, -0.005568139720708132, -0.01624811813235283, -0.09797373414039612, -0.024072231724858284, 0.02046012133359909, 0.022936267778277397, 0.0023197922855615616, 0.03525318577885628, 0.005363921634852886, 0.0122084254398942, 0.010408751666545868, 0.018022265285253525, -0.01915822923183441, -0.01909441128373146, 0.01197868026793003, 0.00948338769376278, 0.03696351498365402, -0.03129645437002182, -0.0026867471169680357, -0.018175428733229637, -0.02933085337281227, 0.007262513507157564, 0.016120482236146927, -0.023561686277389526, -0.013861317187547684, 0.00228309677913785, -0.01222757063806057, -0.014665426686406136, -0.022885214537382126, 0.012099934741854668, 0.003253133734688163, -0.008270841091871262, 0.007332713343203068, -0.030198782682418823, -0.02449343353509903, -0.030836964026093483, -0.0026037832722067833, -0.012023353017866611, -0.022897977381944656, 0.04829762876033783, 0.03058169037103653, -0.021647140383720398, 0.013440117239952087, 0.026190998032689095, 0.014091063290834427, -0.02782474458217621, -0.013976190239191055, -0.04148184135556221, -0.01777975633740425, -0.002873415360227227, -0.02375314198434353, -0.00140160764567554, 0.008073004893958569, -0.019847465679049492, -0.014818591065704823, 0.008047477342188358, 0.0009732278413139284, 0.01695011928677559, 0.009930115193128586, 0.0351766012609005, 0.0123041532933712, 0.005252239294350147, 0.004074793308973312, 0.008264459669589996, -0.011793606914579868, 0.007434822618961334, 0.01290404424071312, 0.026395216584205627, -0.0013689008774235845, 0.001979960361495614, 0.010395987890660763, -0.03538082167506218, -0.012425407767295837, 0.018864665180444717, -0.0072816587053239346, -0.024353032931685448, -0.04066497087478638, -0.003186124609783292, -0.02306390553712845, 0.01361880823969841, -0.0031047563534229994, -0.0062669492326676846, -0.018086083233356476, -0.009342987090349197, -0.02527201548218727, -0.013516698963940144, -0.000345814973115921, 0.0058266036212444305, -0.03379812836647034, -0.016758665442466736, -0.007926222868263721, -0.023459577932953835, 0.0025798515416681767, 0.042502935975790024, 0.023408522829413414, -0.01978364773094654, -0.011838279664516449, 0.008991987444460392, 0.000797328888438642, 0.0034908566158264875, 0.02575703337788582, 0.010389606468379498, -0.026063360273838043, 0.005012921057641506, -0.05370941385626793, 0.03762722387909889, 0.030760381370782852, -0.00696894945576787, -0.004170520696789026, 0.009323841892182827, 0.012527517043054104, -0.0008312322897836566, 0.014078299514949322, 0.004550239071249962, -0.008155968971550465, 0.0212259404361248, 0.0011120324488729239, -0.0007171572651714087, 0.0009373301290906966, -0.005635148845613003, 0.026216525584459305, 0.008085768669843674, 0.010025842115283012, 0.01841793768107891, -0.008085768669843674, 0.00712211336940527, 0.01638851873576641, 0.007300804369151592, -0.010249205864965916, 0.004818275570869446, -0.012125462293624878, 0.01056829746812582, -0.01502280868589878, 0.007907077670097351, 0.018762556836009026, -0.024646596983075142, -0.0015922646271064878, 0.03688693046569824, -0.013025298714637756, -0.016209827736020088, -0.020715394988656044, 0.008092150092124939, 0.00459172111004591, 0.024199869483709335, -0.003628065809607506, -0.015290845185518265, 0.020868558436632156, -0.001971983117982745, 0.004559811670333147, 0.02584637887775898, -0.014410153962671757, -0.007907077670097351, 0.014142117463052273, 0.006183985620737076, 0.010810806415975094, 0.025642160326242447, -0.02031972073018551, -0.009623787365853786, -0.0006274128681980073, -0.02582085132598877, 0.005185230169445276, 0.029688235372304916, 0.01701393723487854, -0.003208460984751582, 0.0135932806879282, 0.011653207242488861, 0.015252554789185524, -0.004524711985141039, 0.009910969994962215, 0.004534284584224224, -0.014129353687167168, 0.004556620959192514, 0.006617949344217777, -0.012310534715652466, -0.014167645014822483, 0.009323841892182827, 0.026727071031928062, -0.016911828890442848, 0.007371004205197096, -0.007268895395100117, 0.00474169384688139, 0.02439132332801819, -0.006445640232414007, 0.02647179737687111, -0.006783877033740282, -0.0060276309959590435, -0.0355595126748085, 0.004141802433878183, 0.006592422258108854, -0.015124917961657047, -0.009119623340666294, 0.023625504225492477, -0.047276537865400314, -0.008073004893958569, -0.011736170388758183, -0.0037716568913310766, -0.014895172789692879, 0.006075494457036257, -0.0053703030571341515, 0.01905612088739872, 0.00015824924048501998, -0.011136279441416264, -0.02109830267727375, 0.0394907146692276, -0.011761697940528393, -0.004084365908056498, -0.0021458875853568316, -0.0005939083057455719, -0.0409712977707386, 0.017996737733483315, -0.007307186257094145, -0.0342065654695034, -0.002102810423821211, 0.0028191697783768177, 0.015227027237415314, 0.006611567456275225, 0.010230060666799545, -0.005268194247037172, -0.0021586513612419367, 0.00850696861743927, -0.010510860942304134, -0.016860773786902428, -0.031653836369514465, 0.003478093072772026, -0.007804968394339085, 0.005727685056626797, 0.01772870123386383, 0.0004906025715172291, 0.005600048694759607, 0.005497939884662628, 0.03405340388417244, -0.01364433579146862, 0.01467819046229124, 0.0024522151798009872, -0.0039120567962527275, -0.012425407767295837, 0.020549466833472252, -0.014665426686406136, -0.016146009787917137, 0.006445640232414007, 0.013669862411916256, 0.01646510139107704, -0.02579532377421856, 0.04944635555148125, -0.007409295532852411, -0.010313024744391441, 0.013376299291849136, 0.02592296153306961, 0.0409712977707386, 0.02665048837661743, 0.029790345579385757, -0.013159316964447498, -0.0177159383893013, 0.017256446182727814, -0.01121286116540432, 0.009425951167941093, -0.013172080740332603, -0.026318633928894997, 0.008698423393070698, 0.005424548871815205, -0.020549466833472252, -0.02252783253788948, 0.009253641590476036, 0.02324259653687477, -0.012055261991918087, 0.023970123380422592, 0.0011583006707951427, 0.001814032904803753, 0.0032036746852099895, -0.003950347658246756, -0.023548923432826996, -0.0005779537605121732, -0.024212632328271866, -0.00614888546988368, -0.02108553983271122, -0.03607005625963211, -0.015367427840828896, 0.007020004093647003, 0.0004981809761375189, 0.0029468063730746508, -0.019924048334360123, 0.02527201548218727, 0.02389354072511196, 0.01501004584133625, -0.0014359100023284554, -0.016579974442720413, -0.008692041970789433, 0.027569470927119255, -0.022974560037255287, -0.024799760431051254, -0.016567209735512733, -0.023472340777516365] \ No newline at end of file +[0.01700117439031601, 0.01225309818983078, 0.020791975781321526, -0.02795238047838211, -0.018035028129816055, 0.012565807439386845, -0.02856503613293171, 0.015571645461022854, -0.018175428733229637, -0.01703946478664875, -0.01052362471818924, 0.020728157833218575, 0.024952923879027367, -0.0007131685852073133, 0.0017629783833399415, 0.024225397035479546, 0.022157685831189156, 0.015239791013300419, 0.0077283866703510284, -0.008455914445221424, -0.02986692637205124, 0.013095499016344547, 0.010581061244010925, 0.010925679467618465, 0.01577586494386196, -0.006222276482731104, 0.006014867220073938, -0.011493661440908909, 0.01086824294179678, -0.01635022833943367, 0.009355750866234303, 0.01627364568412304, -0.02657390758395195, -0.00511183962225914, -0.009400423616170883, -0.01501004584133625, 0.00039327976992353797, -0.01774146594107151, 0.008270841091871262, 0.0051022665575146675, 0.004690639209002256, 0.025055034086108208, 0.0010139120277017355, -0.014882409013807774, -0.01292318943887949, 0.0028925607912242413, 0.01086824294179678, -0.016618264839053154, -0.010210915468633175, 0.013631572015583515, 0.03379812836647034, 0.011799989268183708, 0.03055616468191147, -0.002496887929737568, -0.034487366676330566, -0.011104370467364788, -0.023038377985358238, -0.013363535515964031, 0.02529754303395748, -0.006962568033486605, 0.0271865613758564, 0.004642775747925043, -0.0022033241111785173, 0.01905612088739872, -0.0021155739668756723, 0.003160597290843725, -0.004585339222103357, 0.024148814380168915, -0.010210915468633175, -0.004042884334921837, 0.031730420887470245, 0.013950662687420845, -0.004923575557768345, 0.006739204283803701, 4.5520340790972114e-05, -0.013899608515202999, -0.00012614070146810263, -0.02999456413090229, -0.03004561737179756, 0.010255588218569756, 0.01530360896140337, -0.009438714943826199, -0.017205392941832542, 0.014920700341463089, 0.010044988244771957, 0.02120041288435459, -0.009585496969521046, 0.009732278995215893, -0.011474516242742538, 0.009330224245786667, 0.012342443689703941, 0.002898942679166794, 0.012833843939006329, -0.010453424416482449, -0.008264459669589996, 0.008219786919653416, -0.0005707741947844625, 0.011225624941289425, -0.012048879638314247, -0.028233179822564125, -0.013350771740078926, -0.024161579087376595, -0.0035100020468235016, -0.00959826074540615, -0.0012939143925905228, 0.01294233463704586, 0.003446183865889907, 0.008455914445221424, 0.01905612088739872, 0.0011846256675198674, -0.008730332367122173, -0.011136279441416264, 0.021506739780306816, -0.03867384046316147, -0.0057595944963395596, -0.01458884496241808, 0.00786240492016077, -0.003695074934512377, -0.014282518066465855, -6.162447243696079e-05, 0.04010336846113205, 0.026076124981045723, 0.016848010942339897, -0.013235898688435555, 0.027441835030913353, 0.018609393388032913, -0.04102235287427902, -0.006346722133457661, -0.005488366819918156, -0.000912600546143949, 0.023970123380422592, 0.014946226961910725, -0.007326331455260515, 0.001604230492375791, -0.005727685056626797, 0.01324866246432066, -0.018864665180444717, 0.014167645014822483, 0.009451478719711304, -8.690246613696218e-05, 0.0004574968770612031, 0.020217612385749817, -0.0033057837281376123, -0.014180408790707588, -0.012342443689703941, 0.026803651824593544, 0.02591019682586193, 0.025629397481679916, 0.007262513507157564, -0.007830495946109295, 0.01564822718501091, -0.0016528918640688062, 0.016784191131591797, 0.01775422878563404, 0.005265003070235252, 0.0163629911839962, -0.015571645461022854, 0.0002582643646746874, 0.006353104021400213, -0.0146399000659585, -0.01901783049106598, 0.0012540280586108565, 0.022808631882071495, -0.011180952191352844, 0.013810263015329838, 0.03073485568165779, 0.023638268932700157, -0.03065827302634716, 0.008660132065415382, 0.009662078693509102, -0.0238680150359869, 0.017856337130069733, -0.02925427258014679, 0.02797790803015232, 0.01834135688841343, 0.02109830267727375, -0.00426305690780282, -0.010044988244771957, 0.007619895506650209, -0.006215894594788551, -0.023408522829413414, -0.008372950367629528, 0.007032767869532108, -0.01495899073779583, 0.00097960967104882, 0.009087714366614819, -0.0034717111848294735, -0.014997282065451145, 0.026139942929148674, -0.04569384455680847, 0.02182583138346672, 0.009298314340412617, -0.00647435849532485, 0.012910425662994385, -0.6633010506629944, -0.019375212490558624, 0.012112698517739773, -0.014690954238176346, 0.01019815169274807, 0.001219725701957941, 0.014218699187040329, 0.02787579782307148, -0.009049423970282078, 0.011870188638567924, -0.025029506534337997, 0.00632119458168745, -0.028462925925850868, -0.01758830063045025, -0.01530360896140337, -0.016005609184503555, 0.0010306643089279532, 0.016873536631464958, 0.0031143291853368282, 0.0008431982132606208, -0.017167100682854652, 0.030326418578624725, 0.01971982978284359, 0.017294738441705704, 0.005807457957416773, -0.0015005258610472083, 0.012170135043561459, -0.03737194836139679, -0.018558338284492493, -0.00629885820671916, 0.0004082371888216585, 0.011359643191099167, -0.01698840968310833, 0.0022735241800546646, 0.0393630787730217, -0.037805914878845215, 0.001448673545382917, 0.0017103282734751701, 0.005293721333146095, -0.0011822325177490711, 0.0098726786673069, 0.005909567233175039, 0.02859056182205677, 0.011774461716413498, 0.018711501732468605, 0.008736714720726013, 0.03599347546696663, -0.006116976495832205, -0.00287820165976882, -0.011034170165657997, 0.009700369089841843, -0.0043268753215670586, -0.02053670398890972, -0.002890965435653925, -0.003982257097959518, -0.010670406743884087, 0.029662707820534706, 0.005092693958431482, -0.007785822730511427, -0.008321896195411682, -0.009298314340412617, 0.011046933941543102, -0.019949575886130333, -0.005032066721469164, -0.007690095342695713, 0.02726314403116703, -0.03349180147051811, 0.015150445513427258, -0.005249048583209515, 0.0031143291853368282, 0.021442921832203865, -0.001498132711276412, -0.002498483285307884, -0.010140715166926384, 0.007115731481462717, 0.007690095342695713, 0.028386345133185387, -0.008321896195411682, -0.004607675597071648, -0.0011008642613887787, 0.01970706693828106, -0.019336920231580734, 0.010402370244264603, 0.012061643414199352, 0.01535466406494379, -0.01836688444018364, -0.014563317410647869, 0.006330767646431923, -0.009189823642373085, -0.0038354750722646713, -0.0026197379920631647, 0.041175514459609985, -0.0008615459664724767, 0.0005616003181785345, 0.006930658593773842, -0.0013401826145127416, -0.007077440619468689, -0.012399880215525627, 0.01695011928677559, -0.016809718683362007, 0.022629940882325172, 0.003516383934766054, 0.028947943821549416, -0.015520591288805008, 0.016197064891457558, -0.011653207242488861, -0.018162665888667107, 0.02864161692559719, 0.024761470034718513, -0.03121987357735634, 0.025603869929909706, -0.0004327672941144556, -0.01829030178487301, 0.0028095971792936325, 0.005265003070235252, -0.01569928228855133, -0.00881329644471407, 0.002217683242633939, -0.00915791466832161, -0.00731995003297925, 0.003427038434892893, 0.024646596983075142, 0.016758665442466736, -0.016018373891711235, 0.005399021320044994, 0.01627364568412304, 0.011787225492298603, -0.020804740488529205, -0.004671493545174599, -0.009642933495342731, -0.01564822718501091, -0.0037684659473598003, 0.0028000243473798037, -0.002669197041541338, 0.005006539169698954, 0.021940704435110092, 0.033721547573804855, -0.006764731369912624, -0.008309132419526577, -0.0068413130939006805, -0.006254185456782579, -0.0017534055514261127, 0.0030792290344834328, 0.004010975360870361, -0.01762659288942814, -0.017269210889935493, -0.009164296090602875, -0.0029324472416192293, -0.04278373345732689, -0.0078432597219944, 0.0023277695290744305, -0.02246401272714138, -0.018698738887906075, 0.012693444266915321, -0.01255942601710558, 0.0006844504387117922, 0.005552185233682394, -0.028309762477874756, -0.02591019682586193, -0.007919841445982456, 0.02389354072511196, 0.02864161692559719, -0.035151075571775436, 0.017294738441705704, 0.018941247835755348, -0.004655539058148861, -0.0342065654695034, 0.008028332144021988, -0.020038921386003494, -0.026676015928387642, 0.012061643414199352, -0.01632470078766346, 0.009962024167180061, 0.0018969966331496835, -0.011066079139709473, 0.02917768992483616, -0.01709051989018917, -0.014103827066719532, -0.010759752243757248, 0.0010498097399249673, 0.003666356671601534, 0.00647435849532485, 0.021940704435110092, 0.004582148045301437, 0.028845835477113724, -0.017498955130577087, 0.010370460338890553, 0.008640986867249012, -0.01832859218120575, 0.009362133219838142, 0.015099391341209412, 0.010013078339397907, -0.01188933476805687, -0.0006318003870546818, -0.002650051610544324, -0.0279268529266119, -0.006222276482731104, 0.008564405143260956, 0.027365252375602722, 0.0146399000659585, 0.022349141538143158, 0.010415133088827133, -0.005667057819664478, 0.009993933141231537, 0.011040552519261837, 0.00044393548159860075, 0.014754772186279297, -0.0342065654695034, 0.030862491577863693, 0.014920700341463089, 0.014091063290834427, -0.003015410853549838, 0.010638497769832611, -0.0009086119243875146, 0.0076581863686442375, 0.0313730388879776, 0.02381695993244648, 0.00887711439281702, 0.007185931783169508, 0.006416921969503164, 0.004381120670586824, 0.003928011283278465, -0.0029723336920142174, 0.0053032939322292805, -0.020562229678034782, 0.01188933476805687, 0.014346336014568806, 0.01979641243815422, 0.0021171695552766323, -0.028309762477874756, -0.02596125192940235, -0.004042884334921837, 0.003650402184575796, 0.005060784984380007, 0.013759207911789417, 0.0004367559449747205, 0.013567754067480564, 0.0004475252644624561, -0.016848010942339897, -0.008315513841807842, 0.013210371136665344, 0.0020246331114321947, 0.01530360896140337, -0.006681767757982016, 0.04160948097705841, -0.011940388940274715, 0.04564278945326805, 0.002227255841717124, -0.0038067568093538284, 0.00029416210600174963, -0.0017230919329449534, -0.003283447353169322, -0.04227318987250328, 0.005775548983365297, -0.004942721221596003, -0.017269210889935493, 0.008979223668575287, -0.007256131619215012, -0.006962568033486605, 0.023357467725872993, 0.011787225492298603, 0.027339724823832512, 0.0073773860931396484, 0.004732121247798204, 0.02442961558699608, -0.014473971910774708, -0.015992846339941025, 0.013503935188055038, 0.0014765940140932798, -0.01197868026793003, -0.005539421457797289, -0.014167645014822483, 0.011851043440401554, -0.013708153739571571, -0.0007199493120424449, -0.013350771740078926, 0.007479495368897915, -0.025514524430036545, -0.009623787365853786, 0.0006892367964610457, -0.005226712208241224, -0.05631319805979729, -0.00407160259783268, 0.032343074679374695, -0.005676630884408951, -0.011397934518754482, 0.01091291569173336, 0.01770317368209362, -0.024225397035479546, 0.012323298491537571, 0.020919611677527428, -0.0054787942208349705, -0.027671581134200096, -0.0017422373639419675, -0.01222757063806057, -0.004467275459319353, 0.0005775549216195941, 0.0065349857322871685, -0.01186380721628666, -0.012757262215018272, 0.01197868026793003, -0.00042399231460876763, -0.004808702971786261, 0.01635022833943367, 0.0231277234852314, 0.021596085280179977, 0.0009078141883946955, -0.01569928228855133, -0.008334659971296787, -0.035814784467220306, 0.01978364773094654, -0.026242051273584366, -0.008200641721487045, -0.002393183298408985, -0.0071093495935201645, 0.013491171412169933, 0.005427739582955837, -0.002066114917397499, 0.03412998467683792, 0.016886301338672638, -0.019643248990178108, -0.01322313491255045, -0.018685974180698395, -0.020115502178668976, 0.08786492794752121, 0.0034621383529156446, 0.0020230375230312347, 0.008353805169463158, 0.0007821720791980624, -0.0021091920789331198, -0.011078842915594578, 0.006231849081814289, -0.0016433191485702991, -0.015967318788170815, -0.009674842469394207, 0.0005328821134753525, 0.010510860942304134, 0.015278082340955734, 0.00023433253227267414, 0.024340270087122917, -0.008979223668575287, -0.04063944146037102, -0.020077211782336235, -0.01229777093976736, -0.007115731481462717, 0.0043524024076759815, -0.0043268753215670586, 0.048655010759830475, 0.007262513507157564, 0.017996737733483315, 0.03658060356974602, 0.002764924429357052, 0.009642933495342731, -0.004955484997481108, 0.0014143713051453233, 0.0016640600515529513, 0.009400423616170883, -0.004342829808592796, -0.0056128124706447124, -0.005475603509694338, -0.018660448491573334, 0.004984202794730663, 0.013899608515202999, 0.0039790659211575985, 0.008289987221360207, -0.007747531868517399, -0.005746830720454454, -0.03453842177987099, 0.007696477230638266, 0.0013673054054379463, 0.008609077893197536, 0.03451289236545563, 0.012770025990903378, -0.008743096143007278, 0.00952167809009552, -0.005188421346247196, -0.0072816587053239346, -0.018137138336896896, -0.014793063513934612, -0.0010785278864204884, -0.017154337838292122, -0.0101790064945817, 0.004732121247798204, -0.0010202937992289662, -0.0026197379920631647, -0.011174570769071579, 0.004827848169952631, -0.020626049488782883, 0.010778897441923618, -0.02190241403877735, -0.0022224695421755314, -0.014001717790961266, -0.045157771557569504, -0.0011216051643714309, 0.003055297303944826, -0.05513894185423851, -0.04811893776059151, -0.0014662236208096147, 0.03895464166998863, 6.167432729853317e-05, 0.027007870376110077, -0.005797885358333588, 0.016796955838799477, 0.01501004584133625, 0.014665426686406136, -0.005963812582194805, -0.05095246806740761, -0.011340497992932796, -0.004205620847642422, 0.013121025636792183, 0.023319177329540253, -0.016784191131591797, 0.012489225715398788, 0.02388077788054943, 0.030913546681404114, 0.012106316164135933, 0.03586583957076073, -0.003227606415748596, 0.01904335618019104, -0.00262931059114635, -0.006037203595042229, 0.01982193998992443, 0.004406648222357035, -0.016656555235385895, 0.007556077092885971, -0.004843803122639656, 0.01264877151697874, 0.008909023366868496, 0.0010043391957879066, -0.003956729546189308, 0.0007287242915481329, -0.0012077598366886377, -0.016771428287029266, -0.02382972277700901, 0.022668231278657913, -0.005644721444696188, 0.0002389194560237229, -0.025399651378393173, -0.016171537339687347, 0.034334201365709305, 0.033696021884679794, 0.025425178930163383, -0.012725353240966797, 0.0005125401075929403, -0.02518266998231411, -0.03180700168013573, -0.016133246943354607, 0.017996737733483315, 0.0037078384775668383, 0.015507827512919903, 0.012061643414199352, -0.00788793247193098, -0.03859725967049599, -0.005092693958431482, -0.001545198610983789, -0.003733365796506405, -8.216595597332343e-05, -0.013669862411916256, -0.012170135043561459, -0.0002642473264131695, -0.0025511332787573338, 0.007639041170477867, -0.009138769470155239, 0.011206479743123055, -0.006790258456021547, -0.019400738179683685, -0.01982193998992443, -0.0005388651043176651, -0.006834931205958128, -0.03793355077505112, 0.014882409013807774, 0.00047424915828742087, 0.008258077315986156, -0.008149586617946625, -0.004674684721976519, -0.009119623340666294, -0.012584952637553215, 0.0015962532488629222, -0.02388077788054943, 0.0015428054612129927, -0.02996903657913208, -0.018571102991700172, 0.02527201548218727, 0.029662707820534706, 0.03405340388417244, 0.019298629835247993, 0.007926222868263721, 0.02037077583372593, -0.006732822395861149, -0.02448066882789135, 0.0015571645926684141, -0.014384626410901546, -0.02519543282687664, 0.0022815014235675335, 0.018647683784365654, 0.0014989303890615702, -0.017958447337150574, 0.0072816587053239346, -0.00955358799546957, 0.009457860141992569, 0.013746445067226887, -0.01696288213133812, -0.006981713231652975, -0.024340270087122917, 0.006764731369912624, -0.01700117439031601, -0.009387659840285778, -0.0007925425306893885, -0.00989820621907711, -0.02869267202913761, 0.028871363028883934, 0.009240878745913506, -0.0024936969857662916, -0.006771113257855177, 0.03185805678367615, 0.009942878969013691, 0.022655468434095383, -0.001411180361174047, 0.0064679766073822975, -0.022298086434602737, -0.02255335822701454, 0.002768115373328328, -0.010153478942811489, 0.006675385870039463, 0.010159860365092754, -0.00018975949205923826, 0.015035572461783886, -0.011314970441162586, 0.009304696694016457, 0.013095499016344547, -0.018213719129562378, 0.026854706928133965, 0.004275820683687925, -0.011436224915087223, 0.010044988244771957, -0.01123200636357069, -0.02588466927409172, -0.024327505379915237, -0.0022846923675388098, -0.0020501604303717613, -0.04360060766339302, 0.01119371596723795, -0.002680365229025483, -0.044698283076286316, 0.006751967594027519, 0.01495899073779583, 0.023548923432826996, 0.019426265731453896, 0.0156865194439888, 0.013261426240205765, -0.0018618965987116098, -0.011831898242235184, -0.015278082340955734, -0.01086824294179678, -0.006522221956402063, 0.039082277566194534, -0.010970352217555046, 0.00751140434294939, -0.014448445290327072, -0.024927396327257156, -0.00955358799546957, -0.009630169719457626, -0.013503935188055038, 0.018137138336896896, -0.0077666775323450565, 0.010274733416736126, -0.0013872485142201185, 7.713030208833516e-05, -0.008430386893451214, 0.035840313881635666, -0.03318547457456589, -0.006637095008045435, -0.020243139937520027, -0.014473971910774708, -0.00852611381560564, -0.009055805392563343, -0.009910969994962215, 0.02520819753408432, 0.01911993883550167, -0.015571645461022854, -0.030377473682165146, 0.0022495922166854143, -0.002322983229532838, -0.008251695893704891, -0.02382972277700901, -0.008545259945094585, -0.02242572233080864, -0.001526850974187255, 0.0018363692797720432, 0.012546662241220474, 0.018022265285253525, 0.0023756332229822874, -0.006404158193618059, 0.02665048837661743, -0.011168188415467739, 0.0017693601548671722, 0.010664024390280247, 0.015967318788170815, -0.004294966347515583, -0.0030967791099101305, -0.01627364568412304, 0.02795238047838211, -0.01401448156684637, -0.012163752689957619, 0.026829179376363754, -0.023982886224985123, -0.007830495946109295, -0.007958131842315197, -0.005992530845105648, -0.013286953791975975, -0.02856503613293171, 0.016133246943354607, -0.011755316518247128, -0.02989245392382145, -0.029279800131917, 0.0013393849367275834, -0.008009186945855618, 0.026395216584205627, -0.0029117062222212553, 0.0003334502107463777, -0.005325630307197571, -0.00880691409111023, -0.0355595126748085, 0.009119623340666294, 0.0105172423645854, 0.0037301750853657722, -0.0203580129891634, 0.028156599029898643, 0.0047959391959011555, -0.025974014773964882, 0.026216525584459305, -0.011991443112492561, -0.0058266036212444305, -0.016796955838799477, -0.0020102739799767733, 0.00632119458168745, -0.012801934964954853, 0.007690095342695713, 0.01707775518298149, 0.009981169365346432, 0.006030821707099676, -0.018941247835755348, -0.004521520808339119, 0.016733137890696526, -0.010970352217555046, 0.0038769568782299757, 0.02532307058572769, -6.715870404150337e-05, 0.009432332590222359, -0.0024442379362881184, -0.0021969422232359648, -0.008730332367122173, -0.01569928228855133, 0.0007219436229206622, -0.004815084859728813, 0.03226649388670921, 0.00238041952252388, 0.007741149980574846, -0.0033664111979305744, -0.020051684230566025, -0.004304538946598768, 0.003580202115699649, 0.007709241006523371, -0.017269210889935493, 0.002938829129561782, 0.039184387773275375, 0.014103827066719532, -0.020728157833218575, -0.00883244164288044, -0.009936496615409851, -0.014869645237922668, 0.00781773217022419, -0.03213885426521301, -0.01906888373196125, -0.0005691787227988243, 0.027109980583190918, -0.005191612057387829, -0.020843030884861946, -0.017243683338165283, 0.007977277971804142, -0.02450619637966156, -0.01128306146711111, 0.0190050657838583, 0.015175973065197468, 0.04291137307882309, -0.002768115373328328, 0.0023947786539793015, 0.0366571843624115, 0.003583393059670925, -0.0038450476713478565, 0.020077211782336235, 0.004368357360363007, -0.011244770139455795, -0.02393183298408985, 0.002173010492697358, -0.03760169446468353, -0.042681626975536346, -0.003340883878991008, 0.016094954684376717, -0.004014166072010994, -0.00851335097104311, 0.014767535962164402, -0.008500587195158005, -0.01703946478664875, -0.009962024167180061, -0.006554131396114826, 0.018762556836009026, 0.027007870376110077, 0.017920156940817833, -0.01123838871717453, -0.00034142748336307704, 0.008889878168702126, 0.020638812333345413, -0.0025335834361612797, -0.020651575177907944, -0.0135932806879282, 0.0066690039820969105, -0.011761697940528393, -0.017473429441452026, -0.01324866246432066, 0.008398477919399738, -0.015163209289312363, -0.00952806044369936, 0.0003129086981061846, -0.006988095119595528, 0.01983470283448696, -0.0008100925479084253, -0.02243848703801632, 0.0002965552848763764, -0.013580516912043095, -0.016158772632479668, 0.0007067868136800826, 0.0016592737520113587, -0.022885214537382126, -0.00982800591737032, -0.0029707381036132574, -0.0008623437024652958, -0.017409609630703926, -0.00030951836379244924, -0.019592193886637688, -0.016835246235132217, -0.02384248748421669, 0.022629940882325172, 0.024263687431812286, -0.011072461493313313, -0.00349723850376904, -0.012935953214764595, 0.0033568383660167456, 0.007983659394085407, -0.0016736327670514584, 0.008749477565288544, -0.02654838003218174, -0.010319406166672707, 0.028182126581668854, -0.018788084387779236, -0.0212259404361248, 0.0285395085811615, 0.01975812017917633, 0.007402913644909859, -0.007562458980828524, 0.2281118482351303, -0.0022224695421755314, -0.03466605767607689, 0.045872535556554794, -0.009700369089841843, 0.039694931358098984, 0.04015442356467247, 0.0019145465921610594, 0.005663867108523846, -0.016158772632479668, -0.00924726016819477, 0.022285321727395058, -0.023676559329032898, 0.00627971300855279, 0.005204375833272934, -0.039286497980356216, -0.029535071924328804, -0.008615459315478802, 0.026931289583444595, -0.005325630307197571, -0.003924820572137833, -0.02382972277700901, -0.023523395881056786, -0.020817503333091736, 0.03341522067785263, -0.013108262792229652, -0.00495867570862174, 0.00699447700753808, -0.007473113480955362, -0.016911828890442848, -0.008264459669589996, 0.00853249616920948, 0.01846899278461933, 0.019541138783097267, -0.024825287982821465, -0.023663796484470367, -0.0034908566158264875, -0.004384311847388744, 0.027799217030405998, 0.034410785883665085, 0.002613356104120612, 0.0032004837412387133, -0.0042215753346681595, 0.01401448156684637, -0.0037525114603340626, 0.0033664111979305744, 0.0012787575833499432, -0.01963048428297043, 0.007849641144275665, 0.019975103437900543, -0.00955358799546957, -0.001535625895485282, 0.009074950590729713, 0.05304570496082306, 0.016643792390823364, -0.018098847940564156, 0.020089976489543915, 0.004164138808846474, 0.008494204841554165, 0.0014542576391249895, -0.017511719837784767, 0.04020547866821289, -0.008245314471423626, 0.009138769470155239, -0.01766488328576088, 0.016886301338672638, -0.047251008450984955, 0.022272558882832527, 0.005175657570362091, -0.019885757938027382, -0.00476083904504776, -0.0115638617426157, -0.022323613986372948, -0.02508055977523327, -0.03816329687833786, -0.007951750420033932, 0.01121924351900816, 0.03282809257507324, 0.038418568670749664, 0.016490628942847252, 0.0034876656718552113, 0.008104913868010044, -0.0074858772568404675, -0.007568840868771076, -0.013529462739825249, -0.007288040593266487, -0.0030696564354002476, 0.014231462962925434, 0.012170135043561459, 7.892518624430522e-05, -0.0010673596989363432, -0.020804740488529205, -0.0212259404361248, 0.0016959692584350705, 0.014627136290073395, 0.0005703753558918834, -0.005702157970517874, 0.014078299514949322, -0.0039120567962527275, -0.017537247389554977, -0.019592193886637688, 0.020166557282209396, 0.011359643191099167, -0.010127951391041279, -0.020230375230312347, -0.013682626187801361, -0.011155424639582634, -0.0019560283981263638, 0.02520819753408432, -0.0007642231648787856, -0.015941791236400604, -0.012131843715906143, -0.004856566432863474, -0.009291932918131351, -0.021404631435871124, 0.013542226515710354, 0.0031526200473308563, 0.009043041616678238, 0.029764818027615547, 0.007230604533106089, -0.021289758384227753, -0.010466188192367554, -0.0070455316454172134, -0.005676630884408951, -0.001825201092287898, -0.0381377674639225, -0.004521520808339119, -0.005864894483238459, -0.0017789328703656793, -0.0351766012609005, -0.004732121247798204, 0.010351315140724182, -0.00749225914478302, -0.01257857121527195, -0.016579974442720413, 0.017524482682347298, -0.020051684230566025, -0.045413047075271606, -0.013389062136411667, -0.00729442248120904, -0.00027880584821105003, -0.038444094359874725, -0.006586040370166302, -0.0033536474220454693, 0.013542226515710354, -0.016835246235132217, 0.016886301338672638, -0.005363921634852886, -0.019936811178922653, 0.005124602932482958, -0.010670406743884087, -0.013133789412677288, -0.00042399231460876763, 0.02033248543739319, 0.019477320834994316, 0.011097988113760948, 0.006598804146051407, -0.024148814380168915, -0.02381695993244648, 0.02106001228094101, -0.020549466833472252, 0.01646510139107704, 0.020804740488529205, -0.04020547866821289, -0.01638851873576641, 0.002190560335293412, -0.16082191467285156, 0.01917099393904209, 0.013363535515964031, 0.00203580129891634, 0.019962338730692863, 0.012680680491030216, 0.0018810420297086239, 0.0049012391828000546, -0.009955642744898796, -0.0008767027757130563, 0.02790132537484169, -0.009260023944079876, -0.010287497192621231, 0.004215193446725607, -0.012361588887870312, -0.040562860667705536, 0.009611023589968681, -0.009387659840285778, -0.0057851215824484825, 0.007013622205704451, 0.01461437251418829, -0.006573276594281197, 0.011474516242742538, -0.004014166072010994, -0.016069427132606506, 0.0038195205852389336, 0.0011295825242996216, 0.051411956548690796, -0.009559969417750835, -0.016120482236146927, 0.00012035717372782528, -0.016669319942593575, 0.03221543878316879, -0.006598804146051407, 0.01322313491255045, 0.022974560037255287, -0.008104913868010044, -0.030173255130648613, -0.028947943821549416, 0.004987393971532583, 0.015137681737542152, 0.03338969126343727, 0.007798586506396532, 0.005099075846374035, -0.0008116879616864026, 0.003141451859846711, 0.01435909979045391, -0.026778124272823334, 0.016758665442466736, -0.02172372303903103, 0.002160246716812253, -0.004192857071757317, -0.012495607137680054, 0.009732278995215893, -0.007402913644909859, 0.017294738441705704, 0.014537790790200233, 0.02917768992483616, 0.02989245392382145, 0.0052586211822927, -0.03607005625963211, 0.0021267421543598175, -0.001286734826862812, -0.022068340331315994, 0.006318003870546818, -0.005702157970517874, -0.01222757063806057, -0.002498483285307884, -0.04303900897502899, 0.022834159433841705, 0.0006848492776043713, -0.01831582933664322, 0.0033855566289275885, -0.014895172789692879, 0.0042183841578662395, 0.011429843492805958, -0.04074155166745186, -0.008628223091363907, 0.00699447700753808, 0.0106129702180624, -0.018609393388032913, 0.036555077880620956, -0.0285395085811615, 0.012527517043054104, 0.002362869679927826, -0.007753913756459951, -0.018698738887906075, -0.0007095788605511189, 0.0021666286047548056, 0.0036248748656362295, 0.027390779927372932, -0.023268122225999832, -0.028258707374334335, -0.009043041616678238, 0.027365252375602722, 0.03446183726191521, -0.0035482931416481733, 0.03458947688341141, -0.004735311958938837, 0.004212002735584974, -0.0030425337608903646, 0.016094954684376717, -0.01193400751799345, 0.017333028838038445, 0.028360817581415176, 0.025514524430036545, 0.022055577486753464, 0.004907621070742607, 0.04007784277200699, 0.0054787942208349705, -0.008934550918638706, -0.004515138920396566, 0.016069427132606506, 0.04038416966795921, 0.0005205173511058092, 0.021213175728917122, -0.005287339445203543, -0.027390779927372932, -0.003813138697296381, -0.001018698327243328, 0.03596794977784157, 0.019502848386764526, -0.017256446182727814, 0.010159860365092754, -0.005568139720708132, -0.01624811813235283, -0.09797373414039612, -0.024072231724858284, 0.02046012133359909, 0.022936267778277397, 0.0023197922855615616, 0.03525318577885628, 0.005363921634852886, 0.0122084254398942, 0.010408751666545868, 0.018022265285253525, -0.01915822923183441, -0.01909441128373146, 0.01197868026793003, 0.00948338769376278, 0.03696351498365402, -0.03129645437002182, -0.0026867471169680357, -0.018175428733229637, -0.02933085337281227, 0.007262513507157564, 0.016120482236146927, -0.023561686277389526, -0.013861317187547684, 0.00228309677913785, -0.01222757063806057, -0.014665426686406136, -0.022885214537382126, 0.012099934741854668, 0.003253133734688163, -0.008270841091871262, 0.007332713343203068, -0.030198782682418823, -0.02449343353509903, -0.030836964026093483, -0.0026037832722067833, -0.012023353017866611, -0.022897977381944656, 0.04829762876033783, 0.03058169037103653, -0.021647140383720398, 0.013440117239952087, 0.026190998032689095, 0.014091063290834427, -0.02782474458217621, -0.013976190239191055, -0.04148184135556221, -0.01777975633740425, -0.002873415360227227, -0.02375314198434353, -0.00140160764567554, 0.008073004893958569, -0.019847465679049492, -0.014818591065704823, 0.008047477342188358, 0.0009732278413139284, 0.01695011928677559, 0.009930115193128586, 0.0351766012609005, 0.0123041532933712, 0.005252239294350147, 0.004074793308973312, 0.008264459669589996, -0.011793606914579868, 0.007434822618961334, 0.01290404424071312, 0.026395216584205627, -0.0013689008774235845, 0.001979960361495614, 0.010395987890660763, -0.03538082167506218, -0.012425407767295837, 0.018864665180444717, -0.0072816587053239346, -0.024353032931685448, -0.04066497087478638, -0.003186124609783292, -0.02306390553712845, 0.01361880823969841, -0.0031047563534229994, -0.0062669492326676846, -0.018086083233356476, -0.009342987090349197, -0.02527201548218727, -0.013516698963940144, -0.000345814973115921, 0.0058266036212444305, -0.03379812836647034, -0.016758665442466736, -0.007926222868263721, -0.023459577932953835, 0.0025798515416681767, 0.042502935975790024, 0.023408522829413414, -0.01978364773094654, -0.011838279664516449, 0.008991987444460392, 0.000797328888438642, 0.0034908566158264875, 0.02575703337788582, 0.010389606468379498, -0.026063360273838043, 0.005012921057641506, -0.05370941385626793, 0.03762722387909889, 0.030760381370782852, -0.00696894945576787, -0.004170520696789026, 0.009323841892182827, 0.012527517043054104, -0.0008312322897836566, 0.014078299514949322, 0.004550239071249962, -0.008155968971550465, 0.0212259404361248, 0.0011120324488729239, -0.0007171572651714087, 0.0009373301290906966, -0.005635148845613003, 0.026216525584459305, 0.008085768669843674, 0.010025842115283012, 0.01841793768107891, -0.008085768669843674, 0.00712211336940527, 0.01638851873576641, 0.007300804369151592, -0.010249205864965916, 0.004818275570869446, -0.012125462293624878, 0.01056829746812582, -0.01502280868589878, 0.007907077670097351, 0.018762556836009026, -0.024646596983075142, -0.0015922646271064878, 0.03688693046569824, -0.013025298714637756, -0.016209827736020088, -0.020715394988656044, 0.008092150092124939, 0.00459172111004591, 0.024199869483709335, -0.003628065809607506, -0.015290845185518265, 0.020868558436632156, -0.001971983117982745, 0.004559811670333147, 0.02584637887775898, -0.014410153962671757, -0.007907077670097351, 0.014142117463052273, 0.006183985620737076, 0.010810806415975094, 0.025642160326242447, -0.02031972073018551, -0.009623787365853786, -0.0006274128681980073, -0.02582085132598877, 0.005185230169445276, 0.029688235372304916, 0.01701393723487854, -0.003208460984751582, 0.0135932806879282, 0.011653207242488861, 0.015252554789185524, -0.004524711985141039, 0.009910969994962215, 0.004534284584224224, -0.014129353687167168, 0.004556620959192514, 0.006617949344217777, -0.012310534715652466, -0.014167645014822483, 0.009323841892182827, 0.026727071031928062, -0.016911828890442848, 0.007371004205197096, -0.007268895395100117, 0.00474169384688139, 0.02439132332801819, -0.006445640232414007, 0.02647179737687111, -0.006783877033740282, -0.0060276309959590435, -0.0355595126748085, 0.004141802433878183, 0.006592422258108854, -0.015124917961657047, -0.009119623340666294, 0.023625504225492477, -0.047276537865400314, -0.008073004893958569, -0.011736170388758183, -0.0037716568913310766, -0.014895172789692879, 0.006075494457036257, -0.0053703030571341515, 0.01905612088739872, 0.00015824924048501998, -0.011136279441416264, -0.02109830267727375, 0.0394907146692276, -0.011761697940528393, -0.004084365908056498, -0.0021458875853568316, -0.0005939083057455719, -0.0409712977707386, 0.017996737733483315, -0.007307186257094145, -0.0342065654695034, -0.002102810423821211, 0.0028191697783768177, 0.015227027237415314, 0.006611567456275225, 0.010230060666799545, -0.005268194247037172, -0.0021586513612419367, 0.00850696861743927, -0.010510860942304134, -0.016860773786902428, -0.031653836369514465, 0.003478093072772026, -0.007804968394339085, 0.005727685056626797, 0.01772870123386383, 0.0004906025715172291, 0.005600048694759607, 0.005497939884662628, 0.03405340388417244, -0.01364433579146862, 0.01467819046229124, 0.0024522151798009872, -0.0039120567962527275, -0.012425407767295837, 0.020549466833472252, -0.014665426686406136, -0.016146009787917137, 0.006445640232414007, 0.013669862411916256, 0.01646510139107704, -0.02579532377421856, 0.04944635555148125, -0.007409295532852411, -0.010313024744391441, 0.013376299291849136, 0.02592296153306961, 0.0409712977707386, 0.02665048837661743, 0.029790345579385757, -0.013159316964447498, -0.0177159383893013, 0.017256446182727814, -0.01121286116540432, 0.009425951167941093, -0.013172080740332603, -0.026318633928894997, 0.008698423393070698, 0.005424548871815205, -0.020549466833472252, -0.02252783253788948, 0.009253641590476036, 0.02324259653687477, -0.012055261991918087, 0.023970123380422592, 0.0011583006707951427, 0.001814032904803753, 0.0032036746852099895, -0.003950347658246756, -0.023548923432826996, -0.0005779537605121732, -0.024212632328271866, -0.00614888546988368, -0.02108553983271122, -0.03607005625963211, -0.015367427840828896, 0.007020004093647003, 0.0004981809761375189, 0.0029468063730746508, -0.019924048334360123, 0.02527201548218727, 0.02389354072511196, 0.01501004584133625, -0.0014359100023284554, -0.016579974442720413, -0.008692041970789433, 0.027569470927119255, -0.022974560037255287, -0.024799760431051254, -0.016567209735512733, -0.023472340777516365] diff --git a/thirdparty/BUILD.bazel b/thirdparty/BUILD.bazel new file mode 100644 index 0000000..996cee9 --- /dev/null +++ b/thirdparty/BUILD.bazel @@ -0,0 +1 @@ +# Empty. diff --git a/thirdparty/cccl.BUILD.bazel b/thirdparty/cccl.BUILD.bazel new file mode 100644 index 0000000..39e235a --- /dev/null +++ b/thirdparty/cccl.BUILD.bazel @@ -0,0 +1,27 @@ +"""Build file for cccl.""" + +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "libcudacxx", + exposed_hdrs = glob(["libcudacxx/include/**/*"]), + exposed_angled_includes = [ + "libcudacxx/include", + "libcudacxx/include/cuda/std/detail", + ], + visibility = ["//visibility:public"], +) + +ll_library( + name = "thrust", + exposed_hdrs = glob(["thrust/thrust/**/*"]), + exposed_angled_includes = ["thrust"], + visibility = ["//visibility:public"], +) + +ll_library( + name = "cub", + exposed_hdrs = glob(["cub/cub/**/*"]), + exposed_angled_includes = ["cub"], + visibility = ["//visibility:public"], +) diff --git a/thirdparty/cutlass.BUILD.bazel b/thirdparty/cutlass.BUILD.bazel new file mode 100644 index 0000000..bda9301 --- /dev/null +++ b/thirdparty/cutlass.BUILD.bazel @@ -0,0 +1,17 @@ +"""Build file for cutlass.""" + +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "cutlass", + exposed_hdrs = glob(["include/cutlass/**/*"]), + exposed_angled_includes = ["include"], + visibility = ["//visibility:public"], +) + +ll_library( + name = "cute", + exposed_hdrs = glob(["include/cute/**/*"]), + exposed_angled_includes = ["include"], + visibility = ["//visibility:public"], +) diff --git a/thirdparty/cuvs.BUILD.bazel b/thirdparty/cuvs.BUILD.bazel new file mode 100644 index 0000000..a9a9e33 --- /dev/null +++ b/thirdparty/cuvs.BUILD.bazel @@ -0,0 +1,106 @@ +"""Buildfile for cuvs.""" + +load( + "@lucene-cuvs//thirdparty:global_defs.bzl", + "LUCENE_CUVS_GLOBAL_COMPILE_FLAGS", + "LUCENE_CUVS_GLOBAL_DEFINES", + "LUCENE_CUVS_OFFLOAD_SM89", +) +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "cuvs", + compile_flags = LUCENE_CUVS_GLOBAL_COMPILE_FLAGS + LUCENE_CUVS_OFFLOAD_SM89, + hdrs = glob([ + "cpp/src/**/*.cuh", + "cpp/src/**/*.h", + ]), + experimental_device_intrinsics = [ + "@raft//:cpp/scripts/__clang_cuda_additional_intrinsics.h", + ], + exposed_hdrs = glob(["cpp/include/**/*"]), + exposed_angled_includes = ["cpp/include"], + includes = ["cpp/src/distance/detail"], + compilation_mode = "cuda_nvptx_nvcc", + visibility = ["//visibility:public"], + defines = LUCENE_CUVS_GLOBAL_DEFINES, + deps = [ + "@raft", + "@rmm", + "@spdlog", + "@fmt", + "@cutlass", + "@cutlass//:cute", + "@cccl//:libcudacxx", + "@cccl//:cub", + "@cccl//:thrust", + ], + # TODO(aaronmondal): Make all of these compile. + srcs = [ + # "cpp/src/distance/detail/pairwise_matrix/dispatch_canberra_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_canberra_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_correlation_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_correlation_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_cosine_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_cosine_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hamming_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hamming_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hellinger_expanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hellinger_expanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_jensen_shannon_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_jensen_shannon_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_kl_divergence_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_kl_divergence_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l1_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l1_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_expanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_expanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l_inf_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l_inf_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_lp_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_lp_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_rbf.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_russel_rao_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_russel_rao_float_float_float_int.cu", + # "cpp/src/distance/distance.cu", + # "cpp/src/distance/pairwise_distance.cu", + # "cpp/src/neighbors/brute_force_index.cu", + # "cpp/src/neighbors/brute_force.cu", + "cpp/src/neighbors/cagra_build_float.cpp", + "cpp/src/neighbors/cagra_build_int8.cpp", + "cpp/src/neighbors/cagra_build_uint8.cpp", + "cpp/src/neighbors/cagra_optimize.cpp", + "cpp/src/neighbors/cagra_search_float.cpp", + "cpp/src/neighbors/cagra_search_int8.cpp", + "cpp/src/neighbors/cagra_search_uint8.cpp", + "cpp/src/neighbors/cagra_serialize_float.cpp", + "cpp/src/neighbors/cagra_serialize_int8.cpp", + "cpp/src/neighbors/cagra_serialize_uint8.cpp", + "cpp/src/neighbors/ivf_flat_index.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_build_float_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_build_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_build_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_extend_float_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_extend_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_extend_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_search_float_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_search_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_search_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_serialize_float_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_serialize_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_flat/ivf_flat_serialize_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq_index.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_build_float_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_build_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_build_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_extend_float_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_extend_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_extend_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_search_float_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_search_int8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq/ivf_pq_search_uint8_t_int64_t.cpp", + "cpp/src/neighbors/ivf_pq_serialize.cpp", + ], +) diff --git a/thirdparty/fmt.BUILD.bazel b/thirdparty/fmt.BUILD.bazel new file mode 100644 index 0000000..515adf1 --- /dev/null +++ b/thirdparty/fmt.BUILD.bazel @@ -0,0 +1,10 @@ +"""Build file for fmt.""" + +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "fmt", + exposed_hdrs = glob(["include/fmt/*.h"]), + exposed_angled_includes = ["include"], + visibility = ["//visibility:public"], +) diff --git a/thirdparty/global_defs.bzl b/thirdparty/global_defs.bzl new file mode 100644 index 0000000..af4a92e --- /dev/null +++ b/thirdparty/global_defs.bzl @@ -0,0 +1,38 @@ +"""Global defines commonly used in all dependencies.""" + +LUCENE_CUVS_OFFLOAD_SM89 = [ + # When using clang, use this instead: + # "--offload-arch=sm_89", + "--gpu-architecture=sm_89", + '-DCUTLASS_NVCC_ARCHS="89"', +] + +LUCENE_CUVS_GLOBAL_COMPILE_FLAGS = [ + "-std=c++17", + "-O3", + + # These flags assume NVCC as device compiler invoking clang for host + # compilation. + "--extended-lambda", + "--expt-relaxed-constexpr", + "-Xcompiler", + "-fopenmp", +] + +NVCC_COMPILE_FLAGS = [ + "--extended-lambda", +] + +LUCENE_CUVS_GLOBAL_DEFINES = [ + "CUDA_API_PER_THREAD_DEFAULT_STREAM", + + # We expect to run on x86_64 for now. + "RAFT_SYSTEM_LITTLE_ENDIAN=1", + + # CUDA prevents the use of libc++ by default. We know what we're doing. + # Enable this when using clang as device compiler. + # "_ALLOW_UNSUPPORTED_LIBCPP", + + # This enables the `cuda::mr` namespace required by recent versions of rmm. + "LIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE", +] diff --git a/thirdparty/raft.BUILD.bazel b/thirdparty/raft.BUILD.bazel new file mode 100644 index 0000000..c5fc6c5 --- /dev/null +++ b/thirdparty/raft.BUILD.bazel @@ -0,0 +1,330 @@ +"""Build file for raft.""" + +load( + "@lucene-cuvs//thirdparty:global_defs.bzl", + "LUCENE_CUVS_GLOBAL_COMPILE_FLAGS", + "LUCENE_CUVS_GLOBAL_DEFINES", + "LUCENE_CUVS_OFFLOAD_SM89", +) +load("@rules_ll//ll:defs.bzl", "ll_library") + +exports_files(["cpp/scripts/__clang_cuda_additional_intrinsics.h"]) + +ll_library( + name = "raft", + compile_flags = LUCENE_CUVS_GLOBAL_COMPILE_FLAGS + LUCENE_CUVS_OFFLOAD_SM89 + ["-fopenmp"], + compilation_mode = "cuda_nvptx_nvcc", + experimental_device_intrinsics = [ + "cpp/scripts/__clang_cuda_additional_intrinsics.h", + ], + angled_includes = [ + "cpp/include", + ], + includes = [ + "cpp/src/neighbors/detail/cagra", + "cpp/src/raft_runtime/distance", + ], + defines = LUCENE_CUVS_GLOBAL_DEFINES, + exposed_hdrs = glob(["cpp/include/**/*"]), + exposed_angled_includes = ["cpp/include"], + hdrs = glob(["cpp/src/include/**/*"]) + [ + "cpp/src/raft_runtime/cluster/cluster_cost.cuh", + "cpp/src/raft_runtime/cluster/update_centroids.cuh", + "cpp/src/neighbors/detail/cagra/search_single_cta.cuh", + "cpp/src/neighbors/detail/cagra/search_multi_cta.cuh", + "cpp/src/raft_runtime/distance/fused_distance_min_arg.hpp", + + # TODO(aaronmondal): Including this header named "common.cuh` is risky + # because there is another one with the same name in + # raft. We might want to change this upstream to + # avoid accidentally including the wrong header. For + # now it seems to work. + "cpp/src/raft_runtime/random/common.cuh", + ], + visibility = ["//visibility:public"], + deps = [ + "@rmm", + "@fmt", + "@spdlog", + "@cutlass", + "@cutlass//:cute", + "@cccl//:cub", + "@cccl//:thrust", + "@cccl//:libcudacxx", + "@llvm-project//openmp", + ], + # TODO(aaronmondal): Upstream fixes until everything we need compiles. + srcs = [ + # "cpp/src/core/logger.cpp", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_canberra_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_canberra_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_correlation_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_correlation_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_cosine_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_cosine_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hamming_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hamming_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hellinger_expanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_hellinger_expanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_jensen_shannon_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_jensen_shannon_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_kl_divergence_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_kl_divergence_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l1_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l1_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_expanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_expanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l2_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l_inf_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_l_inf_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_lp_unexpanded_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_lp_unexpanded_float_float_float_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_rbf.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_russel_rao_double_double_double_int.cu", + # "cpp/src/distance/detail/pairwise_matrix/dispatch_russel_rao_float_float_float_int.cu", + # "cpp/src/distance/distance.cu", + # "cpp/src/distance/fused_l2_nn.cu", + # "cpp/src/distance/fused_distance_nn.cu", + # "cpp/src/linalg/detail/coalesced_reduction.cu", + # "cpp/src/matrix/detail/select_k_double_int64_t.cu", + # "cpp/src/matrix/detail/select_k_double_uint32_t.cu", + # "cpp/src/matrix/detail/select_k_float_int64_t.cu", + # "cpp/src/matrix/detail/select_k_float_uint32_t.cu", + # "cpp/src/matrix/detail/select_k_float_int32.cu", + # "cpp/src/matrix/detail/select_k_half_int64_t.cu", + # "cpp/src/matrix/detail/select_k_half_uint32_t.cu", + # "cpp/src/neighbors/ball_cover.cu", + # "cpp/src/neighbors/brute_force_fused_l2_knn_float_int64_t.cu", + # "cpp/src/neighbors/brute_force_knn_int64_t_float_int64_t.cu", + # "cpp/src/neighbors/brute_force_knn_int64_t_float_uint32_t.cu", + # "cpp/src/neighbors/brute_force_knn_int_float_int.cu", + # "cpp/src/neighbors/brute_force_knn_uint32_t_float_uint32_t.cu", + # "cpp/src/neighbors/brute_force_knn_index_float.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_float_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_float_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_float_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_float_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_half_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_half_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_half_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_half_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_int8_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_int8_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_int8_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_int8_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_uint8_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_uint8_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_uint8_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_multi_cta_uint8_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_float_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_float_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_float_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_float_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_half_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_half_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_half_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_half_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_int8_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_int8_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_int8_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_int8_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_uint8_uint32_dim128_t8.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_uint8_uint32_dim256_t16.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_uint8_uint32_dim512_t32.cu", + # "cpp/src/neighbors/detail/cagra/search_single_cta_uint8_uint32_dim1024_t32.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_int8_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_uint8_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_float_uint64_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_multi_cta_half_uint64_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_int8_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_uint8_uint32_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_float_uint64_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim128_t8_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim128_t8_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim256_t16_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim256_t16_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim512_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim512_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim1024_t32_8pq_2subd_half.cu", + # "cpp/src/neighbors/detail/cagra/q_search_single_cta_half_uint64_dim1024_t32_8pq_4subd_half.cu", + # "cpp/src/neighbors/detail/ivf_flat_interleaved_scan_float_float_int64_t.cu", + # "cpp/src/neighbors/detail/ivf_flat_interleaved_scan_half_half_int64_t.cu", + # "cpp/src/neighbors/detail/ivf_flat_interleaved_scan_int8_t_int32_t_int64_t.cu", + # "cpp/src/neighbors/detail/ivf_flat_interleaved_scan_uint8_t_uint32_t_int64_t.cu", + # "cpp/src/neighbors/detail/ivf_flat_search.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_float_float.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_float_fp8_false.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_float_fp8_true.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_float_half.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_half_fp8_false.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_half_fp8_true.cu", + # "cpp/src/neighbors/detail/ivf_pq_compute_similarity_half_half.cu", + # "cpp/src/neighbors/detail/refine_host_float_float.cpp", + # "cpp/src/neighbors/detail/refine_host_half_float.cpp", + # "cpp/src/neighbors/detail/refine_host_int8_t_float.cpp", + # "cpp/src/neighbors/detail/refine_host_uint8_t_float.cpp", + # "cpp/src/neighbors/ivf_flat_build_float_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_build_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_build_uint8_t_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_extend_float_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_extend_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_extend_uint8_t_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_search_float_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_search_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivf_flat_search_uint8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_build_float_int64_t.cu", + # "cpp/src/neighbors/ivfpq_build_half_int64_t.cu", + # "cpp/src/neighbors/ivfpq_build_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_build_uint8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_extend_float_int64_t.cu", + # "cpp/src/neighbors/ivfpq_extend_half_int64_t.cu", + # "cpp/src/neighbors/ivfpq_extend_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_extend_uint8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_search_float_int64_t.cu", + # "cpp/src/neighbors/ivfpq_search_half_int64_t.cu", + # "cpp/src/neighbors/ivfpq_search_int8_t_int64_t.cu", + # "cpp/src/neighbors/ivfpq_search_uint8_t_int64_t.cu", + # "cpp/src/neighbors/refine_float_float.cu", + # "cpp/src/neighbors/refine_half_float.cu", + # "cpp/src/neighbors/refine_int8_t_float.cu", + # "cpp/src/neighbors/refine_uint8_t_float.cu", + # "cpp/src/raft_runtime/cluster/cluster_cost_double.cu", + # "cpp/src/raft_runtime/cluster/cluster_cost_float.cu", + # "cpp/src/raft_runtime/cluster/kmeans_fit_double.cu", + # "cpp/src/raft_runtime/cluster/kmeans_fit_float.cu", + # "cpp/src/raft_runtime/cluster/kmeans_init_plus_plus_double.cu", + # "cpp/src/raft_runtime/cluster/kmeans_init_plus_plus_float.cu", + # "cpp/src/raft_runtime/cluster/update_centroids_double.cu", + # "cpp/src/raft_runtime/cluster/update_centroids_float.cu", + # "cpp/src/raft_runtime/distance/fused_distance_min_arg.cu", + # "cpp/src/raft_runtime/distance/fused_l2_min_arg.cu", + # "cpp/src/raft_runtime/distance/pairwise_distance.cu", + # "cpp/src/raft_runtime/matrix/select_k_float_int64_t.cu", + # "cpp/src/raft_runtime/neighbors/brute_force_knn_int64_t_float.cu", + + # TODO(aaronmondal): These are the ones we're actually interested in. + "cpp/src/raft_runtime/neighbors/cagra_build.cu", + "cpp/src/raft_runtime/neighbors/cagra_search.cu", + "cpp/src/raft_runtime/neighbors/cagra_serialize.cu", + + # "cpp/src/raft_runtime/neighbors/eps_neighborhood.cu", + # #cpp/ "$<$:src/raft_runtime/neighbors/hnsw.cpp>", + # "cpp/src/raft_runtime/neighbors/ivf_flat_build.cu", + # "cpp/src/raft_runtime/neighbors/ivf_flat_search.cu", + # "cpp/src/raft_runtime/neighbors/ivf_flat_serialize.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_build.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_deserialize.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_search_float_int64_t.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_search_int8_t_int64_t.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_search_uint8_t_int64_t.cu", + # "cpp/src/raft_runtime/neighbors/ivfpq_serialize.cu", + # "cpp/src/raft_runtime/neighbors/refine_d_int64_t_float.cu", + # "cpp/src/raft_runtime/neighbors/refine_d_int64_t_int8_t.cu", + # "cpp/src/raft_runtime/neighbors/refine_d_int64_t_uint8_t.cu", + # "cpp/src/raft_runtime/neighbors/refine_h_int64_t_float.cu", + # "cpp/src/raft_runtime/neighbors/refine_h_int64_t_int8_t.cu", + # "cpp/src/raft_runtime/neighbors/refine_h_int64_t_uint8_t.cu", + # "cpp/src/raft_runtime/random/rmat_rectangular_generator_int64_double.cu", + # "cpp/src/raft_runtime/random/rmat_rectangular_generator_int64_float.cu", + # "cpp/src/raft_runtime/random/rmat_rectangular_generator_int_double.cu", + # "cpp/src/raft_runtime/random/rmat_rectangular_generator_int_float.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_eps_pass_euclidean.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_2d_dist.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_2d_euclidean.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_2d_haversine.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_3d_dist.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_3d_euclidean.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_one_3d_haversine.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_2d_dist.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_2d_euclidean.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_2d_haversine.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_3d_dist.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_3d_euclidean.cu", + # "cpp/src/spatial/knn/detail/ball_cover/registers_pass_two_3d_haversine.cu", + # "cpp/src/spatial/knn/detail/fused_l2_knn_int32_t_float.cu", + # "cpp/src/spatial/knn/detail/fused_l2_knn_int64_t_float.cu", + # "cpp/src/spatial/knn/detail/fused_l2_knn_uint32_t_float.cu", + ], +) diff --git a/thirdparty/rmm.BUILD.bazel b/thirdparty/rmm.BUILD.bazel new file mode 100644 index 0000000..d6e5ef4 --- /dev/null +++ b/thirdparty/rmm.BUILD.bazel @@ -0,0 +1,10 @@ +"""Build file for rmm.""" + +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "rmm", + exposed_hdrs = glob(["include/rmm/**/*"]), + exposed_angled_includes = ["include"], + visibility = ["//visibility:public"], +) diff --git a/thirdparty/spdlog.BUILD.bazel b/thirdparty/spdlog.BUILD.bazel new file mode 100644 index 0000000..8f3955e --- /dev/null +++ b/thirdparty/spdlog.BUILD.bazel @@ -0,0 +1,10 @@ +"""Build file for spdlog.""" + +load("@rules_ll//ll:defs.bzl", "ll_library") + +ll_library( + name = "spdlog", + exposed_hdrs = glob(["include/spdlog/**/*"]), + exposed_angled_includes = ["include"], + visibility = ["//visibility:public"], +)