[INFO] cloning repository https://github.com/dullfig/ternary-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dullfig/ternary-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdullfig%2Fternary-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdullfig%2Fternary-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99fc7303d26ff1227e7b64f84097296706637748
[INFO] documenting dullfig/ternary-rs against 1.99.0-beta.1 for beta-rustdoc-1.99-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdullfig%2Fternary-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dullfig/ternary-rs
[INFO] finished tweaking git repo https://github.com/dullfig/ternary-rs
[INFO] tweaked toml for git repo https://github.com/dullfig/ternary-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dullfig/ternary-rs on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dullfig/ternary-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0
[INFO] running `Command { std: "docker" "start" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ternary-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]  Documenting ternary-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]  --> src/ops/matmul.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! - w = +1 → accumulator += x[i]
[INFO] [stdout]   |                                 ^ no item named `i` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]  --> src/ops/matmul.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! - w = -1 → accumulator -= x[i]
[INFO] [stdout]   |                                 ^ no item named `i` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/ops/matmul.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |            ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i,j`
[INFO] [stdout]   --> src/ops/matmul.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |                        ^^^ no item named `i,j` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `j`
[INFO] [stdout]   --> src/ops/matmul.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |                                 ^ no item named `j` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1:0`
[INFO] [stdout]   --> src/compute/avx2.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | ///   bits [1:0] = w0, bits [3:2] = w1, bits [5:4] = w2, bits [7:6] = w3
[INFO] [stdout]    |             ^^^ invalid path separator
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `3:2`
[INFO] [stdout]   --> src/compute/avx2.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 | ///   bits [1:0] = w0, bits [3:2] = w1, bits [5:4] = w2, bits [7:6] = w3
[INFO] [stdout]    |                              ^^^ invalid path separator
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `5:4`
[INFO] [stdout]   --> src/compute/avx2.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 | ///   bits [1:0] = w0, bits [3:2] = w1, bits [5:4] = w2, bits [7:6] = w3
[INFO] [stdout]    |                                               ^^^ invalid path separator
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `7:6`
[INFO] [stdout]   --> src/compute/avx2.rs:40:64
[INFO] [stdout]    |
[INFO] [stdout] 40 | ///   bits [1:0] = w0, bits [3:2] = w1, bits [5:4] = w2, bits [7:6] = w3
[INFO] [stdout]    |                                                                ^^^ invalid path separator
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:36
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                    ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                           ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                                  ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `intermediate_size`
[INFO] [stdout]   --> src/layers/swiglu.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |     /// BitNet b1.58 uses this — shape is [intermediate_size].
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^ no item named `intermediate_size` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `f32`
[INFO] [stdout]   --> src/ops/quantize.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// Dequantize to a new Vec<f32>.
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// Dequantize to a new `Vec<f32>`.
[INFO] [stdout]    |                         +        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.10s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: naga v24.0.0, wgpu v24.0.5, wgpu-core v24.0.5, wgpu-hal v24.0.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 10`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ternary_rs/index.html and 5 other files
[INFO] running `Command { std: "docker" "inspect" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking naga v24.0.0
[INFO] [stderr]     Checking wgpu-hal v24.0.4
[INFO] [stderr]     Checking wgpu-core v24.0.5
[INFO] [stderr]     Checking wgpu v24.0.5
[INFO] [stderr]  Documenting ternary-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]  --> src/ops/matmul.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! - w = +1 → accumulator += x[i]
[INFO] [stdout]   |                                 ^ no item named `i` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]  --> src/ops/matmul.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! - w = -1 → accumulator -= x[i]
[INFO] [stdout]   |                                 ^ no item named `i` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/ops/matmul.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |            ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i,j`
[INFO] [stdout]   --> src/ops/matmul.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |                        ^^^ no item named `i,j` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `j`
[INFO] [stdout]   --> src/ops/matmul.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 | /// Output[i] = (Σ_j W[i,j] * x[j]) * activation_scale * weight_scale
[INFO] [stdout]    |                                 ^ no item named `j` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:36
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                    ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                           ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `i`
[INFO] [stdout]   --> src/compute/mod.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |     /// Element-wise multiply: out[i] = a[i] * b[i].
[INFO] [stdout]    |                                                  ^ no item named `i` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `f32`
[INFO] [stdout]   --> src/ops/quantize.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// Dequantize to a new Vec<f32>.
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// Dequantize to a new `Vec<f32>`.
[INFO] [stdout]    |                         +        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.91s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: naga v24.0.0, wgpu v24.0.5, wgpu-core v24.0.5, wgpu-hal v24.0.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 10`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ternary_rs/index.html
[INFO] running `Command { std: "docker" "inspect" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0", kill_on_drop: false }`
[INFO] [stdout] 89e21176778a8c2b3ea8ca622667eff8fe4b9235e4db91e5ceca6f86e0baf2c0
