[INFO] cloning repository https://github.com/cnsr/rust-snake [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cnsr/rust-snake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnsr%2Frust-snake", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnsr%2Frust-snake'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3f6de6d6dd85c6a9e61c2922de331bac962fc947 [INFO] testing cnsr/rust-snake against master#0d13f6afeba4935499abe0c9a07426c94492c94e for pr-96025 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcnsr%2Frust-snake" "/workspace/builds/worker-100/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-100/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cnsr/rust-snake on toolchain 0d13f6afeba4935499abe0c9a07426c94492c94e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/cnsr/rust-snake [INFO] finished tweaking git repo https://github.com/cnsr/rust-snake [INFO] tweaked toml for git repo https://github.com/cnsr/rust-snake written to /workspace/builds/worker-100/source/Cargo.toml [INFO] crate git repo https://github.com/cnsr/rust-snake already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 925451c6cb0b174d35eac005dc00d25b0700c6accea598b7a4468377754ff6a1 [INFO] running `Command { std: "docker" "start" "-a" "925451c6cb0b174d35eac005dc00d25b0700c6accea598b7a4468377754ff6a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "925451c6cb0b174d35eac005dc00d25b0700c6accea598b7a4468377754ff6a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "925451c6cb0b174d35eac005dc00d25b0700c6accea598b7a4468377754ff6a1", kill_on_drop: false }` [INFO] [stdout] 925451c6cb0b174d35eac005dc00d25b0700c6accea598b7a4468377754ff6a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00970109edbae21b50bbf0315b7db9b34b8cf26423f760d1b302f7c3be239cd6 [INFO] running `Command { std: "docker" "start" "-a" "00970109edbae21b50bbf0315b7db9b34b8cf26423f760d1b302f7c3be239cd6", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling sdl2 v0.32.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling sdl2-sys v0.32.6 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling c2-chacha v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling snake v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `sdl2::render::TextureQuery` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use sdl2::render::TextureQuery; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SnakeSegment` [INFO] [stdout] --> src/lib/snake.rs:1:48 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::lib::types::{Cell, SnakeHead, Grid, SnakeSegment, Food}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lib::grid_init` [INFO] [stdout] --> src/lib/snake.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::lib::grid_init; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dimensions` [INFO] [stdout] --> src/lib/snake.rs:7:54 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn change_grid(mut grid: Grid, head: &SnakeHead, dimensions: (u32, u32)) -> Grid{ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dimensions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell_color` [INFO] [stdout] --> src/lib/snake.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | let cell_color: Cell = Cell{red: 0_u8, green: 196_u8, blue: 0_u8}; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cell_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `direction` [INFO] [stdout] --> src/lib/snake.rs:49:56 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn draw_body(head: &mut SnakeHead, mut grid: Grid, direction: (i32, i32)) -> Grid { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib/types.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let mut newvec = vec.to_vec(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib/snake.rs:64:35 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn draw_food(food: &mut Food, mut grid: Grid) -> Grid { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut event_pump: EventPump = sdl_context.event_pump().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut direction: (i32, i32) = (1,0); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let mut debug_text = format!("x {:?} y {:?} len {:?} seg {:?} fx {:?} fy {:?}", [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | canvas.copy(&texture, None, Some(target)); [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] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.snake.e61069a3-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf.3xqzejbego248rzi.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/librand-bf28377944e1472c.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-5766f6056ba04338.rlib" "/opt/rustwide/target/debug/deps/libc2_chacha-09322bbd4ace18ba.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-7ffbc896c270f9dc.rlib" "/opt/rustwide/target/debug/deps/librand_core-85565df61af4d038.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-9c308aca5f70544d.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-81c3651d70dd4895.rlib" "/opt/rustwide/target/debug/deps/libsdl2-b5e068de181bee05.rlib" "/opt/rustwide/target/debug/deps/librand-8131612e42f9a101.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-7471cadbc336a1e6.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-2834c6c9975fd946.rlib" "/opt/rustwide/target/debug/deps/librand_hc-7d82f4601a805bf2.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-81fcaa9536f0542d.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-9a57256bab0accff.rlib" "/opt/rustwide/target/debug/deps/librand_core-78a41ab4e441eb16.rlib" "/opt/rustwide/target/debug/deps/librand_os-82e9c3d04b9a1139.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-f85db5560f5e9cc3.rlib" "/opt/rustwide/target/debug/deps/librand_core-7af04c7ffb9ea391.rlib" "/opt/rustwide/target/debug/deps/libsdl2_sys-d93f7848c8638b71.rlib" "/opt/rustwide/target/debug/deps/libbitflags-6d05264d59b50f7f.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b33cd6b8ee13db74.rlib" "/opt/rustwide/target/debug/deps/liblibc-d842210b13d51fe0.rlib" "/opt/rustwide/target/debug/deps/libnum-a643975c9c2950d4.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-4f09fc5b7a7c5f4d.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-e8384955f9ea3288.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-42b70c2c1196e6f9.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-443e20b28eeed844.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-3e337470e099b116.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-10a87791239bd676.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-0e6cad6dd623d38e.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-9d05dd05a4d51b33.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-a60ff138fe1adfad.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-0e9344458c09713e.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-939385b13e387309.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e3ce420901586b53.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-546bece8dd1bea42.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9b358af16d7d7aa1.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-554cd499fe1a3b52.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-fbad2f5de5fb5cb2.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8fec8a74c706e4b4.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-020914c5936c5f85.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-4896c4057dc9553a.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-2a6a2797f7a73818.rlib" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-0e3656b1fda5fd7b.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-1f103368fa522bc0.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lSDL2_ttf" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/0d13f6afeba4935499abe0c9a07426c94492c94e/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/snake-4a1eccc3e4cbeabf" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -lSDL2_ttf [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `snake` due to 2 previous errors; 12 warnings emitted [INFO] running `Command { std: "docker" "inspect" "00970109edbae21b50bbf0315b7db9b34b8cf26423f760d1b302f7c3be239cd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00970109edbae21b50bbf0315b7db9b34b8cf26423f760d1b302f7c3be239cd6", kill_on_drop: false }` [INFO] [stdout] 00970109edbae21b50bbf0315b7db9b34b8cf26423f760d1b302f7c3be239cd6