[INFO] cloning repository https://github.com/vz443/rustyinternals-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vz443/rustyinternals-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvz443%2Frustyinternals-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvz443%2Frustyinternals-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eb5bac28ba84aa86e110e427f0a068a1a6180f33 [INFO] checking vz443/rustyinternals-cli against master#9e293ae9f8abecb0be5105787d181518c9012a19 for pr-146440-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvz443%2Frustyinternals-cli" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/vz443/rustyinternals-cli [INFO] finished tweaking git repo https://github.com/vz443/rustyinternals-cli [INFO] tweaked toml for git repo https://github.com/vz443/rustyinternals-cli written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/vz443/rustyinternals-cli on toolchain 9e293ae9f8abecb0be5105787d181518c9012a19 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/vz443/rustyinternals-cli 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" "+9e293ae9f8abecb0be5105787d181518c9012a19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e2e06afd2a774983591de87e406ca6edc732bdfe4e661de98574c4537e0e6c2b [INFO] running `Command { std: "docker" "start" "-a" "e2e06afd2a774983591de87e406ca6edc732bdfe4e661de98574c4537e0e6c2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e2e06afd2a774983591de87e406ca6edc732bdfe4e661de98574c4537e0e6c2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e2e06afd2a774983591de87e406ca6edc732bdfe4e661de98574c4537e0e6c2b", kill_on_drop: false }` [INFO] [stdout] e2e06afd2a774983591de87e406ca6edc732bdfe4e661de98574c4537e0e6c2b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b65124a145398f5f2069a254894366ae3e4eb10a2d10041b79d342425344e6b [INFO] running `Command { std: "docker" "start" "-a" "0b65124a145398f5f2069a254894366ae3e4eb10a2d10041b79d342425344e6b", kill_on_drop: false }` [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking rustyinternals-cli v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `NtHeaderCode` [INFO] [stdout] --> src/reader/optheaderreader.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{diagnostics::{diagnosticcodes::{NtHeaderCode, OptHeaderCode}, diagnostics::{Diagnostic, DiagnosticCode, DiagnosticSink, L... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NtHeaderCode` [INFO] [stdout] --> src/reader/optheaderreader.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{diagnostics::{diagnosticcodes::{NtHeaderCode, OptHeaderCode}, diagnostics::{Diagnostic, DiagnosticCode, DiagnosticSink, L... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pehandler.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut pointer = fileheader.end_of_file_header_pointer as usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `optheader` [INFO] [stdout] --> src/pehandler.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | let optheader = OptionalHeader::parse(buf, &fileheader); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optheader` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pehandler.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut pointer = fileheader.end_of_file_header_pointer as usize; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `optheader` [INFO] [stdout] --> src/pehandler.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | let optheader = OptionalHeader::parse(buf, &fileheader); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optheader` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `buf`, `dos`, and `file` are never read [INFO] [stdout] --> src/pehandler.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PeFile { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 18 | buf: Vec, [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | dos: DosHeader, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | file: FileHeader, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `characteristics` is never read [INFO] [stdout] --> src/headers/fileheader.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct FileHeader { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 33 | characteristics: Characteristics, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `signature`, `fileheader`, and `optionalheader` are never read [INFO] [stdout] --> src/headers/ntheader.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct NtHeader { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | signature: Signature, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | fileheader: FileHeader, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | optionalheader: OptionalHeader, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data_directory` and `end_of_optional_header_pointer` are never read [INFO] [stdout] --> src/headers/optionalheader.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct OptionalHeader { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | data_directory: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 36 | end_of_optional_header_pointer: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/headers/optionalheader.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct OptionalHeaderPe32Plus { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] 40 | magic: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | major_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | minor_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 43 | size_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 44 | size_of_initialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | size_of_uninitialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | address_of_entry_point: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | base_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | base_of_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | image_base: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 50 | section_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | file_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 52 | major_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | minor_operationg_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | major_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | minor_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | major_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | minor_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | win32_version_value: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | size_of_image: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | size_of_headers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | check_sum: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 62 | subsystem: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 63 | dll_characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | size_of_stack_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | size_of_stack_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | size_of_heap_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | size_of_heap_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | loader_flags: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 69 | number_of_rva_and_sizes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | data_directory: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `buf`, `dos`, and `file` are never read [INFO] [stdout] --> src/pehandler.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PeFile { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 18 | buf: Vec, [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | dos: DosHeader, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | file: FileHeader, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `characteristics` is never read [INFO] [stdout] --> src/headers/fileheader.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct FileHeader { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 33 | characteristics: Characteristics, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `signature`, `fileheader`, and `optionalheader` are never read [INFO] [stdout] --> src/headers/ntheader.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct NtHeader { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | signature: Signature, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | fileheader: FileHeader, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | optionalheader: OptionalHeader, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data_directory` and `end_of_optional_header_pointer` are never read [INFO] [stdout] --> src/headers/optionalheader.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct OptionalHeader { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | data_directory: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 36 | end_of_optional_header_pointer: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/headers/optionalheader.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct OptionalHeaderPe32Plus { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] 40 | magic: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | major_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | minor_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 43 | size_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 44 | size_of_initialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | size_of_uninitialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | address_of_entry_point: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | base_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | base_of_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | image_base: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 50 | section_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | file_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 52 | major_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | minor_operationg_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | major_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | minor_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | major_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | minor_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | win32_version_value: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | size_of_image: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | size_of_headers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | check_sum: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 62 | subsystem: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 63 | dll_characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | size_of_stack_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | size_of_stack_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | size_of_heap_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | size_of_heap_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | loader_flags: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 69 | number_of_rva_and_sizes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | data_directory: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.62s [INFO] running `Command { std: "docker" "inspect" "0b65124a145398f5f2069a254894366ae3e4eb10a2d10041b79d342425344e6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b65124a145398f5f2069a254894366ae3e4eb10a2d10041b79d342425344e6b", kill_on_drop: false }` [INFO] [stdout] 0b65124a145398f5f2069a254894366ae3e4eb10a2d10041b79d342425344e6b