[INFO] cloning repository https://github.com/Thermatix/cpu_emulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Thermatix/cpu_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThermatix%2Fcpu_emulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThermatix%2Fcpu_emulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3e4aafaf480cd0342b562d011c0f9d9d2b87b638
[INFO] testing Thermatix/cpu_emulator against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThermatix%2Fcpu_emulator" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Thermatix/cpu_emulator
[INFO] finished tweaking git repo https://github.com/Thermatix/cpu_emulator
[INFO] tweaked toml for git repo https://github.com/Thermatix/cpu_emulator written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Thermatix/cpu_emulator on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Thermatix/cpu_emulator 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f4d540173c2a39ac82a629c9bf6dff4b12697afc5a75655a0c722be0a47f22e1
[INFO] running `Command { std: "docker" "start" "-a" "f4d540173c2a39ac82a629c9bf6dff4b12697afc5a75655a0c722be0a47f22e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f4d540173c2a39ac82a629c9bf6dff4b12697afc5a75655a0c722be0a47f22e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4d540173c2a39ac82a629c9bf6dff4b12697afc5a75655a0c722be0a47f22e1", kill_on_drop: false }`
[INFO] [stdout] f4d540173c2a39ac82a629c9bf6dff4b12697afc5a75655a0c722be0a47f22e1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9578d9cd7a9f1e6e79998685814f56bba1b67ebe65a8b7a5c098a6b86009d2be
[INFO] running `Command { std: "docker" "start" "-a" "9578d9cd7a9f1e6e79998685814f56bba1b67ebe65a8b7a5c098a6b86009d2be", kill_on_drop: false }`
[INFO] [stderr]    Compiling cpu_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TryFrom`
[INFO] [stdout]  --> src/processor.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::{From, TryFrom};
[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: `BYTE`
[INFO] [stdout]  --> src/processor.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::opcodes::{BYTE, NIBBLE, OPCODELENGTH, OpCode};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:127:27
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:129:31
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 (0xE, x, 0x9, 0xE) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:131:23
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 (0xF, x, 0x0, 0x7) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 (0xF, x, 0x0, 0xA) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 (0xF, x, 0x1, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 (0xF, x, 0x1, 0x8) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 (0xF, x, 0x1, 0xE) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 (0xF, x, 0x2, 0x9) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 (0xF, x, 0x3, 0x3) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:138:23
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 (0xF, x, 0x5, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:139:23
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 (0xF, x, 0x6, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE` is never used
[INFO] [stdout]  --> src/rand.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const BASE: u32 = 0b0_01111110_00000000000000000000000;
[INFO] [stdout]   |       ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fake` is never used
[INFO] [stdout]  --> src/rand.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn fake(seed: u8) -> f32 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NamedRegister` is never used
[INFO] [stdout]  --> src/processor.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     enum NamedRegister {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `back_to_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CPU` is never constructed
[INFO] [stdout]   --> src/processor.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DecodedOpcode` is never used
[INFO] [stdout]   --> src/processor.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type DecodedOpcode = (u8, u8, u8, u8);
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/processor.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl CPU {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout]  59 |     pub fn copy_to_mem(&mut self, loc: usize, data: &[OpCode]) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn raw_copy_to_mem(&mut self, loc: usize, data: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn add_to_mem(&mut self, loc: usize, oc: &OpCode) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn raw_add_to_mem(&mut self, loc: usize, high: u8, low: u8) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn read_opcode(&self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn decode(&mut self, code: u16) -> DecodedOpcode {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn run(&mut self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn set_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn or_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn and_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn xor_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn add_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn  sub_xy(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn  shift_right(&mut self, x: &usize, _y: &usize) {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn  sub_yx(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn  shift_left(&mut self, x: &usize, _y: &usize) {
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn goto(&mut self, addr: Address) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn skip_x_eq_nn(&mut self, x: &usize, nn: ByteConstant) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn skip_x_neq_nn(&mut self, x: &usize, nn: ByteConstant) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn skip_x_eq_y(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn set_x_to_nn(&mut self, x: &usize, nn: ByteConstant) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn add_nn_to_x(&mut self, x: &usize, nn: ByteConstant) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn skip_x_neq_y(&mut self, x: &usize, y: &usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     fn set_i_to_nnn(&mut self, addr: Address) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn call(&mut self, addr: Address) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn ret(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPCODELENGTH` is never used
[INFO] [stdout]  --> src/opcodes.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const OPCODELENGTH: usize = 2;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] running `Command { std: "docker" "inspect" "9578d9cd7a9f1e6e79998685814f56bba1b67ebe65a8b7a5c098a6b86009d2be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9578d9cd7a9f1e6e79998685814f56bba1b67ebe65a8b7a5c098a6b86009d2be", kill_on_drop: false }`
[INFO] [stdout] 9578d9cd7a9f1e6e79998685814f56bba1b67ebe65a8b7a5c098a6b86009d2be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b194e5f02bf547201b8e51eb0e513c703f8a371c8364d19237a29d33e7a98ba
[INFO] running `Command { std: "docker" "start" "-a" "9b194e5f02bf547201b8e51eb0e513c703f8a371c8364d19237a29d33e7a98ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling cpu_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TryFrom`
[INFO] [stdout]  --> src/processor.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::{From, TryFrom};
[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: `BYTE`
[INFO] [stdout]  --> src/processor.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::opcodes::{BYTE, NIBBLE, OPCODELENGTH, OpCode};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NIBBLE`
[INFO] [stdout]  --> src/tests.rs:1:60
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{processor, address::Address, opcodes::{OpCode, NIBBLE, BYTE}};
[INFO] [stdout]   |                                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:127:27
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]    --> src/processor.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]    --> src/processor.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]    --> src/processor.rs:129:31
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 (0xE, x, 0x9, 0xE) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:131:23
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 (0xF, x, 0x0, 0x7) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:132:23
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 (0xF, x, 0x0, 0xA) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 (0xF, x, 0x1, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 (0xF, x, 0x1, 0x8) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 (0xF, x, 0x1, 0xE) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 (0xF, x, 0x2, 0x9) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 (0xF, x, 0x3, 0x3) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:138:23
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 (0xF, x, 0x5, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/processor.rs:139:23
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 (0xF, x, 0x6, 0x5) => unimplemented!(),
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE` is never used
[INFO] [stdout]  --> src/rand.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const BASE: u32 = 0b0_01111110_00000000000000000000000;
[INFO] [stdout]   |       ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fake` is never used
[INFO] [stdout]  --> src/rand.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn fake(seed: u8) -> f32 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.76s
[INFO] running `Command { std: "docker" "inspect" "9b194e5f02bf547201b8e51eb0e513c703f8a371c8364d19237a29d33e7a98ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b194e5f02bf547201b8e51eb0e513c703f8a371c8364d19237a29d33e7a98ba", kill_on_drop: false }`
[INFO] [stdout] 9b194e5f02bf547201b8e51eb0e513c703f8a371c8364d19237a29d33e7a98ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 008c93b35f3ed3ea544ec8b3a3fe189181758385d26ec482402572bc5fb92cd2
[INFO] running `Command { std: "docker" "start" "-a" "008c93b35f3ed3ea544ec8b3a3fe189181758385d26ec482402572bc5fb92cd2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `TryFrom`
[INFO] [stderr]  --> src/processor.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::convert::{From, TryFrom};
[INFO] [stderr]   |                          ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BYTE`
[INFO] [stderr]  --> src/processor.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::opcodes::{BYTE, NIBBLE, OPCODELENGTH, OpCode};
[INFO] [stderr]   |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NIBBLE`
[INFO] [stderr]  --> src/tests.rs:1:60
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{processor, address::Address, opcodes::{OpCode, NIBBLE, BYTE}};
[INFO] [stderr]   |                                                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n1`
[INFO] [stderr]    --> src/processor.rs:127:23
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n2`
[INFO] [stderr]    --> src/processor.rs:127:27
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n3`
[INFO] [stderr]    --> src/processor.rs:127:31
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 (0xB, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n1`
[INFO] [stderr]    --> src/processor.rs:128:23
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n2`
[INFO] [stderr]    --> src/processor.rs:128:27
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n3`
[INFO] [stderr]    --> src/processor.rs:128:31
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 (0xC, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n1`
[INFO] [stderr]    --> src/processor.rs:129:23
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n2`
[INFO] [stderr]    --> src/processor.rs:129:27
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n3`
[INFO] [stderr]    --> src/processor.rs:129:31
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 (0xD, n1, n2, n3) => unimplemented!(),
[INFO] [stderr]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:130:23
[INFO] [stderr]     |
[INFO] [stderr] 130 |                 (0xE, x, 0x9, 0xE) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:131:23
[INFO] [stderr]     |
[INFO] [stderr] 131 |                 (0xF, x, 0x0, 0x7) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:132:23
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 (0xF, x, 0x0, 0xA) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:133:23
[INFO] [stderr]     |
[INFO] [stderr] 133 |                 (0xF, x, 0x1, 0x5) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:134:23
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 (0xF, x, 0x1, 0x8) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |                 (0xF, x, 0x1, 0xE) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:136:23
[INFO] [stderr]     |
[INFO] [stderr] 136 |                 (0xF, x, 0x2, 0x9) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:137:23
[INFO] [stderr]     |
[INFO] [stderr] 137 |                 (0xF, x, 0x3, 0x3) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:138:23
[INFO] [stderr]     |
[INFO] [stderr] 138 |                 (0xF, x, 0x5, 0x5) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/processor.rs:139:23
[INFO] [stderr]     |
[INFO] [stderr] 139 |                 (0xF, x, 0x6, 0x5) => unimplemented!(),
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BASE` is never used
[INFO] [stderr]  --> src/rand.rs:1:7
[INFO] [stderr]   |
[INFO] [stderr] 1 | const BASE: u32 = 0b0_01111110_00000000000000000000000;
[INFO] [stderr]   |       ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `fake` is never used
[INFO] [stderr]  --> src/rand.rs:3:4
[INFO] [stderr]   |
[INFO] [stderr] 3 | fn fake(seed: u8) -> f32 {
[INFO] [stderr]   |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cpu_emulator` (bin "cpu_emulator" test) generated 24 warnings (run `cargo fix --bin "cpu_emulator" -p cpu_emulator --tests` to apply 22 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cpu_emulator-3fdd106dac21dac7)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::test_memory_copy ... ok
[INFO] [stdout] test tests::test_memory_vs_raw ... ok
[INFO] [stdout] test tests::test_raw_memory_copy ... ok
[INFO] [stdout] test tests::test_add_nn_to_x ... FAILED
[INFO] [stdout] test tests::test_goto ... FAILED
[INFO] [stdout] test tests::test_add_opcode has been running for over 60 seconds
[INFO] [stdout] test tests::test_call_and_return has been running for over 60 seconds
[INFO] [stdout] test tests::test_set_x_to_nn has been running for over 60 seconds
[INFO] [stdout] test tests::test_shift_left has been running for over 60 seconds
[INFO] [stdout] test tests::test_shift_right has been running for over 60 seconds
[INFO] [stdout] test tests::test_skip_if_x_e_eql_y has been running for over 60 seconds
[INFO] [stdout] test tests::test_skip_if_x_e_neql_y has been running for over 60 seconds
[INFO] [stdout] test tests::test_skip_if_x_eql_nn has been running for over 60 seconds
[INFO] [stdout] test tests::test_skip_if_x_ne_eql_nn has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "008c93b35f3ed3ea544ec8b3a3fe189181758385d26ec482402572bc5fb92cd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "008c93b35f3ed3ea544ec8b3a3fe189181758385d26ec482402572bc5fb92cd2", kill_on_drop: false }`
[INFO] [stdout] 008c93b35f3ed3ea544ec8b3a3fe189181758385d26ec482402572bc5fb92cd2
