[INFO] fetching crate kamino_lending_interface 0.1.0... [INFO] testing kamino_lending_interface-0.1.0 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate kamino_lending_interface 0.1.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate kamino_lending_interface 0.1.0 [INFO] finished tweaking crates.io crate kamino_lending_interface 0.1.0 [INFO] tweaked toml for crates.io crate kamino_lending_interface 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kamino_lending_interface 0.1.0 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 174 packages to latest compatible versions [INFO] [stderr] Adding borsh v0.10.4 (available: v1.5.7) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding solana-program v1.18.26 (available: v3.0.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.16) [INFO] [stderr] Adding zeroize v1.3.0 (available: v1.8.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9ad7d7c2e71899994529b7333b0f8a14df81022857d1ea5bc33f41ebfa83c69a [INFO] running `Command { std: "docker" "start" "-a" "9ad7d7c2e71899994529b7333b0f8a14df81022857d1ea5bc33f41ebfa83c69a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9ad7d7c2e71899994529b7333b0f8a14df81022857d1ea5bc33f41ebfa83c69a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ad7d7c2e71899994529b7333b0f8a14df81022857d1ea5bc33f41ebfa83c69a", kill_on_drop: false }` [INFO] [stdout] 9ad7d7c2e71899994529b7333b0f8a14df81022857d1ea5bc33f41ebfa83c69a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30708a36fa08b8467ff617da0a93742ea9cd80898d89c8d685915b7320deca4c [INFO] running `Command { std: "docker" "start" "-a" "30708a36fa08b8467ff617da0a93742ea9cd80898d89c8d685915b7320deca4c", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.100 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling zeroize v1.3.0 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling ark-std v0.4.0 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.18.26 [INFO] [stderr] Compiling bitmaps v2.1.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling borsh v1.5.7 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling solana-frozen-abi v1.18.26 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling wasm-bindgen v0.2.100 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling sized-chunks v0.6.5 [INFO] [stderr] Compiling solana-sdk-macro v1.18.26 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling solana-program v1.18.26 [INFO] [stderr] Compiling bytemuck v1.23.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling serde_bytes v0.11.17 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling bitflags v2.9.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling pbkdf2 v0.4.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hmac v0.8.1 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling hmac-drbg v0.3.0 [INFO] [stderr] Compiling curve25519-dalek v3.2.1 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling tiny-bip39 v0.8.2 [INFO] [stderr] Compiling borsh-derive v1.5.7 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling borsh v0.10.4 [INFO] [stderr] Compiling borsh v0.9.3 [INFO] [stderr] Compiling ark-serialize v0.4.2 [INFO] [stderr] Compiling ark-ff v0.4.2 [INFO] [stderr] Compiling ark-poly v0.4.2 [INFO] [stderr] Compiling ark-ec v0.4.2 [INFO] [stderr] Compiling ark-bn254 v0.4.0 [INFO] [stderr] Compiling light-poseidon v0.2.0 [INFO] [stderr] Compiling kamino_lending_interface v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:5:41 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Eq, Error, num_derive::FromPrimitive, PartialEq)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KaminoLendingError` [INFO] [stdout] 6 | pub enum KaminoLendingError { [INFO] [stdout] | ------------------ `KaminoLendingError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.66s [INFO] running `Command { std: "docker" "inspect" "30708a36fa08b8467ff617da0a93742ea9cd80898d89c8d685915b7320deca4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30708a36fa08b8467ff617da0a93742ea9cd80898d89c8d685915b7320deca4c", kill_on_drop: false }` [INFO] [stdout] 30708a36fa08b8467ff617da0a93742ea9cd80898d89c8d685915b7320deca4c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4662f2e995c15e5bb4ce20c426e6868853a2d99afc00591efc9cc6aca8e6e4c9 [INFO] running `Command { std: "docker" "start" "-a" "4662f2e995c15e5bb4ce20c426e6868853a2d99afc00591efc9cc6aca8e6e4c9", kill_on_drop: false }` [INFO] [stderr] Compiling kamino_lending_interface v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:5:41 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Eq, Error, num_derive::FromPrimitive, PartialEq)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KaminoLendingError` [INFO] [stdout] 6 | pub enum KaminoLendingError { [INFO] [stdout] | ------------------ `KaminoLendingError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:5:41 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Eq, Error, num_derive::FromPrimitive, PartialEq)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KaminoLendingError` [INFO] [stdout] 6 | pub enum KaminoLendingError { [INFO] [stdout] | ------------------ `KaminoLendingError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.82s [INFO] running `Command { std: "docker" "inspect" "4662f2e995c15e5bb4ce20c426e6868853a2d99afc00591efc9cc6aca8e6e4c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4662f2e995c15e5bb4ce20c426e6868853a2d99afc00591efc9cc6aca8e6e4c9", kill_on_drop: false }` [INFO] [stdout] 4662f2e995c15e5bb4ce20c426e6868853a2d99afc00591efc9cc6aca8e6e4c9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 39d4df17345b0fb48fc1dd131a4115a4fac458c09395637ec56645c9ba4a63b7 [INFO] running `Command { std: "docker" "start" "-a" "39d4df17345b0fb48fc1dd131a4115a4fac458c09395637ec56645c9ba4a63b7", kill_on_drop: false }` [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/errors.rs:5:41 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Copy, Debug, Eq, Error, num_derive::FromPrimitive, PartialEq)] [INFO] [stderr] | ^------------------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KaminoLendingError` [INFO] [stderr] 6 | pub enum KaminoLendingError { [INFO] [stderr] | ------------------ `KaminoLendingError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `kamino_lending_interface` (lib) generated 1 warning [INFO] [stderr] warning: `kamino_lending_interface` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kamino_lending_interface-13127427a2e37815) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Doc-tests kamino_lending_interface [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "39d4df17345b0fb48fc1dd131a4115a4fac458c09395637ec56645c9ba4a63b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "39d4df17345b0fb48fc1dd131a4115a4fac458c09395637ec56645c9ba4a63b7", kill_on_drop: false }` [INFO] [stdout] 39d4df17345b0fb48fc1dd131a4115a4fac458c09395637ec56645c9ba4a63b7