[INFO] fetching crate grrs 0.1.0... [INFO] testing grrs-0.1.0 against 1.60.0 for beta-1.61-1 [INFO] extracting crate grrs 0.1.0 into /workspace/builds/worker-29/source [INFO] validating manifest of crates.io crate grrs 0.1.0 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate grrs 0.1.0 [INFO] finished tweaking crates.io crate grrs 0.1.0 [INFO] tweaked toml for crates.io crate grrs 0.1.0 written to /workspace/builds/worker-29/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7844059ed3f95de1ff9af698eaae2774d1c0f11cfbf36f51ac9ce50051997ff8 [INFO] running `Command { std: "docker" "start" "-a" "7844059ed3f95de1ff9af698eaae2774d1c0f11cfbf36f51ac9ce50051997ff8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7844059ed3f95de1ff9af698eaae2774d1c0f11cfbf36f51ac9ce50051997ff8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7844059ed3f95de1ff9af698eaae2774d1c0f11cfbf36f51ac9ce50051997ff8", kill_on_drop: false }` [INFO] [stdout] 7844059ed3f95de1ff9af698eaae2774d1c0f11cfbf36f51ac9ce50051997ff8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3f74d97f6fc4ae30538bbae0f5dc82ea69f1e6c6c5e11643033367c57e7d875f [INFO] running `Command { std: "docker" "start" "-a" "3f74d97f6fc4ae30538bbae0f5dc82ea69f1e6c6c5e11643033367c57e7d875f", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling libc v0.2.123 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling unicode-segmentation v1.9.0 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling escargot v0.3.1 [INFO] [stderr] Compiling predicates-core v1.0.3 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling difference v2.0.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling termtree v0.2.4 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling fastrand v1.7.0 [INFO] [stderr] Compiling predicates-tree v1.0.5 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling tempfile v3.3.0 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling float-cmp v0.8.0 [INFO] [stderr] Compiling regex v1.5.5 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling predicates v1.0.8 [INFO] [stderr] Compiling structopt-derive v0.2.18 [INFO] [stderr] Compiling structopt v0.2.18 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling exitfailure v0.5.1 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling assert_cmd v0.10.2 [INFO] [stderr] Compiling grrs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | writer: &mut std::io::Write, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - writer: &mut std::io::Write, [INFO] [stdout] 7 + writer: &mut dyn std::io::Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 18.87s [INFO] running `Command { std: "docker" "inspect" "3f74d97f6fc4ae30538bbae0f5dc82ea69f1e6c6c5e11643033367c57e7d875f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f74d97f6fc4ae30538bbae0f5dc82ea69f1e6c6c5e11643033367c57e7d875f", kill_on_drop: false }` [INFO] [stdout] 3f74d97f6fc4ae30538bbae0f5dc82ea69f1e6c6c5e11643033367c57e7d875f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 871ed8ec0df215fb0092696d02f4f0ac32e4f10c3c9a1720f05cd0d26cc30567 [INFO] running `Command { std: "docker" "start" "-a" "871ed8ec0df215fb0092696d02f4f0ac32e4f10c3c9a1720f05cd0d26cc30567", kill_on_drop: false }` [INFO] [stderr] Compiling grrs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | writer: &mut std::io::Write, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - writer: &mut std::io::Write, [INFO] [stdout] 7 + writer: &mut dyn std::io::Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | writer: &mut std::io::Write, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - writer: &mut std::io::Write, [INFO] [stdout] 7 + writer: &mut dyn std::io::Write, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> tests/cli.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> tests/cli.rs:8:42 [INFO] [stdout] | [INFO] [stdout] 8 | fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 - fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stdout] 8 + fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> tests/cli.rs:19:45 [INFO] [stdout] | [INFO] [stdout] 19 | fn find_content_in_file() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - fn find_content_in_file() -> Result<(), Box> { [INFO] [stdout] 19 + fn find_content_in_file() -> Result<(), Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | grrs::find_matches("lorem ipsum\ndolor sit amet", "lorem", &mut result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.28s [INFO] running `Command { std: "docker" "inspect" "871ed8ec0df215fb0092696d02f4f0ac32e4f10c3c9a1720f05cd0d26cc30567", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "871ed8ec0df215fb0092696d02f4f0ac32e4f10c3c9a1720f05cd0d26cc30567", kill_on_drop: false }` [INFO] [stdout] 871ed8ec0df215fb0092696d02f4f0ac32e4f10c3c9a1720f05cd0d26cc30567 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b37e0b304d4eca7cbb0ca7f56453e05ae9a1e6914da90f79418efbc83ae7af5c [INFO] running `Command { std: "docker" "start" "-a" "b37e0b304d4eca7cbb0ca7f56453e05ae9a1e6914da90f79418efbc83ae7af5c", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] running 0 tests [INFO] [stderr] --> src/lib.rs:7:18 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] 7 | writer: &mut std::io::Write, [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 1 test [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] test find_a_match ... ok [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] [INFO] [stderr] = note: for more information, see [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] help: use `dyn` [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 7 - writer: &mut std::io::Write, [INFO] [stdout] running 2 tests [INFO] [stderr] 7 + writer: &mut dyn std::io::Write, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `grrs` (lib) generated 1 warning [INFO] [stderr] warning: `grrs` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | grrs::find_matches("lorem ipsum\ndolor sit amet", "lorem", &mut result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> tests/cli.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> tests/cli.rs:8:42 [INFO] [stderr] | [INFO] [stderr] 8 | fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 8 - fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stderr] 8 + fn file_doesnt_exist() -> Result<(), Box> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> tests/cli.rs:19:45 [INFO] [stderr] | [INFO] [stderr] 19 | fn find_content_in_file() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 - fn find_content_in_file() -> Result<(), Box> { [INFO] [stderr] 19 + fn find_content_in_file() -> Result<(), Box> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `grrs` (bin "grrs" test) generated 1 warning [INFO] [stderr] warning: `grrs` (test "cli") generated 3 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.54s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/grrs-8ca37e3ac56f2d3e) [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/grrs-ab94d12120a41050) [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-2a3ae59e8eae091f) [INFO] [stdout] test find_content_in_file ... ok [INFO] [stderr] Doc-tests grrs [INFO] [stdout] test file_doesnt_exist ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.13s [INFO] [stdout] [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" "b37e0b304d4eca7cbb0ca7f56453e05ae9a1e6914da90f79418efbc83ae7af5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b37e0b304d4eca7cbb0ca7f56453e05ae9a1e6914da90f79418efbc83ae7af5c", kill_on_drop: false }` [INFO] [stdout] b37e0b304d4eca7cbb0ca7f56453e05ae9a1e6914da90f79418efbc83ae7af5c