[INFO] cloning repository https://github.com/nkoppel/rustyglot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nkoppel/rustyglot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Frustyglot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Frustyglot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 663d787895aabab7551952a63743f7ad230b3f3a [INFO] testing nkoppel/rustyglot against master#432e145bd5a974c5b6f4dd9b352891bd7502b69d for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Frustyglot" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nkoppel/rustyglot on toolchain 432e145bd5a974c5b6f4dd9b352891bd7502b69d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nkoppel/rustyglot [INFO] finished tweaking git repo https://github.com/nkoppel/rustyglot [INFO] tweaked toml for git repo https://github.com/nkoppel/rustyglot written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/nkoppel/rustyglot already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 13f69b6bbbb073dda9dc1ab5965a81aa0a9a25312d4bf3cc027aa345a8136de9 [INFO] running `Command { std: "docker" "start" "-a" "13f69b6bbbb073dda9dc1ab5965a81aa0a9a25312d4bf3cc027aa345a8136de9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "13f69b6bbbb073dda9dc1ab5965a81aa0a9a25312d4bf3cc027aa345a8136de9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13f69b6bbbb073dda9dc1ab5965a81aa0a9a25312d4bf3cc027aa345a8136de9", kill_on_drop: false }` [INFO] [stdout] 13f69b6bbbb073dda9dc1ab5965a81aa0a9a25312d4bf3cc027aa345a8136de9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef996eaffa0ef0d512ec7b26a439d1bc16bcca9fa2fbb823eeb1effb5948b880 [INFO] running `Command { std: "docker" "start" "-a" "ef996eaffa0ef0d512ec7b26a439d1bc16bcca9fa2fbb823eeb1effb5948b880", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling shakmaty v0.19.0 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling arrayvec v0.7.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling btoi v0.4.2 [INFO] [stderr] Compiling pgn-reader v0.18.0 [INFO] [stderr] Compiling book-builder v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/conversions.rs:304:9 [INFO] [stdout] | [INFO] [stdout] 304 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RANDOM_PIECE` [INFO] [stdout] --> src/conversions.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / const RANDOM_PIECE: [u64; 768] = [ [INFO] [stdout] 18 | | 0x9D39247E33776D41, 0x2AF7398005AAA5C7, 0x44DB015024623547, 0x9C15F73E62A76AE2, [INFO] [stdout] 19 | | 0x75834465489C0C89, 0x3290AC3A203001BF, 0x0FBBAD1F61042279, 0xE83A908FF2FB60CA, [INFO] [stdout] 20 | | 0x0D7E765D58755C10, 0x1A083822CEAFE02D, 0x9605D5F0E25EC3B0, 0xD021FF5CD13A2ED5, [INFO] [stdout] ... | [INFO] [stdout] 209 | | 0x5FA7867CAF35E149, 0x56986E2EF3ED091B, 0x917F1DD5F8886C61, 0xD20D8C88C8FFE65F, [INFO] [stdout] 210 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RANDOM_CASTLE` [INFO] [stdout] --> src/conversions.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | / const RANDOM_CASTLE: [u64; 4] = [ [INFO] [stdout] 212 | | 0x31D71DCE64B2C310, 0xF165B587DF898190, 0xA57E6339DD2CF3A0, 0x1EF6E6DBB1961EC9, [INFO] [stdout] 213 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RANDOM_ENPASSANT` [INFO] [stdout] --> src/conversions.rs:214:1 [INFO] [stdout] | [INFO] [stdout] 214 | / const RANDOM_ENPASSANT: [u64; 8] = [ [INFO] [stdout] 215 | | 0x70CC73D90BC26E24, 0xE21A6B35DF0C3AD7, 0x003A93D8B2806962, 0x1C99DED33CB890A1, [INFO] [stdout] 216 | | 0xCF3145DE0ADD4289, 0xD0E4427A5514FB72, 0x77C621CC9FB3A483, 0x67A34DAC4356550B, [INFO] [stdout] 217 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RANDOM_TURN` [INFO] [stdout] --> src/conversions.rs:218:1 [INFO] [stdout] | [INFO] [stdout] 218 | const RANDOM_TURN: u64 = 0xF8D626AAAF278509; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `book_hash` [INFO] [stdout] --> src/conversions.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn book_hash(board: Chess) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_book_move` [INFO] [stdout] --> src/conversions.rs:262:8 [INFO] [stdout] | [INFO] [stdout] 262 | pub fn to_book_move(mov: Uci) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SQ_MASK` [INFO] [stdout] --> src/conversions.rs:279:1 [INFO] [stdout] | [INFO] [stdout] 279 | const SQ_MASK: u16 = (1 << 6) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `from_book_move` [INFO] [stdout] --> src/conversions.rs:283:8 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn from_book_move(mov: u16) -> Uci { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pgn.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_args` [INFO] [stdout] --> src/pgn.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn set_args(&mut self, args: &[String]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pgn.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_filter` [INFO] [stdout] --> src/pgn.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | fn with_filter(filter: PgnFilter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `into_game` [INFO] [stdout] --> src/pgn.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | fn into_game(self) -> PgnGame { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_games` [INFO] [stdout] --> src/pgn.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn read_games(filter: PgnFilter, read: R) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_games` [INFO] [stdout] --> src/pgn.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn write_games(w: &mut W, games: &[PgnGame]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.46s [INFO] running `Command { std: "docker" "inspect" "ef996eaffa0ef0d512ec7b26a439d1bc16bcca9fa2fbb823eeb1effb5948b880", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef996eaffa0ef0d512ec7b26a439d1bc16bcca9fa2fbb823eeb1effb5948b880", kill_on_drop: false }` [INFO] [stdout] ef996eaffa0ef0d512ec7b26a439d1bc16bcca9fa2fbb823eeb1effb5948b880 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61cae4b5b605cc97a831293c68ab448f9dc0d197bd9839c7d364ee0e409a835f [INFO] running `Command { std: "docker" "start" "-a" "61cae4b5b605cc97a831293c68ab448f9dc0d197bd9839c7d364ee0e409a835f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling book-builder v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pgn.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_args` [INFO] [stdout] --> src/pgn.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn set_args(&mut self, args: &[String]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pgn.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_filter` [INFO] [stdout] --> src/pgn.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | fn with_filter(filter: PgnFilter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `into_game` [INFO] [stdout] --> src/pgn.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | fn into_game(self) -> PgnGame { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_games` [INFO] [stdout] --> src/pgn.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn read_games(filter: PgnFilter, read: R) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_games` [INFO] [stdout] --> src/pgn.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn write_games(w: &mut W, games: &[PgnGame]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.99s [INFO] running `Command { std: "docker" "inspect" "61cae4b5b605cc97a831293c68ab448f9dc0d197bd9839c7d364ee0e409a835f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61cae4b5b605cc97a831293c68ab448f9dc0d197bd9839c7d364ee0e409a835f", kill_on_drop: false }` [INFO] [stdout] 61cae4b5b605cc97a831293c68ab448f9dc0d197bd9839c7d364ee0e409a835f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a1f1ea07fc1617d4dd32a0d071a30d84621f39309b236a58ecd897e298c3016d [INFO] running `Command { std: "docker" "start" "-a" "a1f1ea07fc1617d4dd32a0d071a30d84621f39309b236a58ecd897e298c3016d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/pgn.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_args` [INFO] [stderr] --> src/pgn.rs:141:12 [INFO] [stderr] | [INFO] [stderr] 141 | pub fn set_args(&mut self, args: &[String]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/pgn.rs:175:8 [INFO] [stderr] | [INFO] [stderr] 175 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `with_filter` [INFO] [stderr] --> src/pgn.rs:182:8 [INFO] [stderr] | [INFO] [stderr] 182 | fn with_filter(filter: PgnFilter) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `into_game` [INFO] [stderr] --> src/pgn.rs:189:8 [INFO] [stderr] | [INFO] [stderr] 189 | fn into_game(self) -> PgnGame { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_games` [INFO] [stderr] --> src/pgn.rs:273:8 [INFO] [stderr] | [INFO] [stderr] 273 | pub fn read_games(filter: PgnFilter, read: R) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `write_games` [INFO] [stderr] --> src/pgn.rs:281:8 [INFO] [stderr] | [INFO] [stderr] 281 | pub fn write_games(w: &mut W, games: &[PgnGame]) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.33s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/book_builder-7b686b18d7f85724) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test conversions::tests::t_book_move ... ok [INFO] [stdout] test conversions::tests::t_hash ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a1f1ea07fc1617d4dd32a0d071a30d84621f39309b236a58ecd897e298c3016d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1f1ea07fc1617d4dd32a0d071a30d84621f39309b236a58ecd897e298c3016d", kill_on_drop: false }` [INFO] [stdout] a1f1ea07fc1617d4dd32a0d071a30d84621f39309b236a58ecd897e298c3016d