[INFO] updating cached repository https://github.com/copumpkin/rustnapshotter [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9a1d0f5ef94cec679c4235eef0d08584875bb787 [INFO] testing copumpkin/rustnapshotter against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcopumpkin%2Frustnapshotter" "/workspace/builds/worker-4/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/copumpkin/rustnapshotter on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/copumpkin/rustnapshotter [INFO] finished tweaking git repo https://github.com/copumpkin/rustnapshotter [INFO] tweaked toml for git repo https://github.com/copumpkin/rustnapshotter written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/copumpkin/rustnapshotter already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9b6e60bdee0d562f12b3b0a0a87ed80ef7871a6e293b815c3633be8388ec5e57 [INFO] running `"docker" "start" "-a" "9b6e60bdee0d562f12b3b0a0a87ed80ef7871a6e293b815c3633be8388ec5e57"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling serde v1.0.88 [INFO] [stderr] Compiling openssl v0.10.16 [INFO] [stderr] Compiling tokio-sync v0.1.1 [INFO] [stderr] Compiling openssl-sys v0.9.40 [INFO] [stderr] Compiling want v0.0.6 [INFO] [stderr] Compiling tokio-executor v0.1.6 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling rusoto_core v0.36.0 [INFO] [stderr] Compiling crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling crossbeam-channel v0.3.8 [INFO] [stderr] Compiling bytes v0.4.11 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Compiling tokio-current-thread v0.1.4 [INFO] [stderr] Compiling tokio-timer v0.2.10 [INFO] [stderr] Compiling crossbeam-deque v0.6.3 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling tokio-io v0.1.11 [INFO] [stderr] Compiling http v0.1.15 [INFO] [stderr] Compiling native-tls v0.2.2 [INFO] [stderr] Compiling tokio-codec v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling parking_lot v0.7.1 [INFO] [stderr] Compiling tokio-reactor v0.1.8 [INFO] [stderr] Compiling crossbeam v0.6.0 [INFO] [stderr] Compiling tokio-threadpool v0.1.11 [INFO] [stderr] Compiling tokio-tcp v0.1.3 [INFO] [stderr] Compiling tokio-udp v0.1.3 [INFO] [stderr] Compiling tokio-uds v0.2.5 [INFO] [stderr] Compiling h2 v0.1.16 [INFO] [stderr] Compiling tokio-fs v0.1.5 [INFO] [stderr] Compiling tokio v0.1.15 [INFO] [stderr] Compiling serde_derive v1.0.88 [INFO] [stderr] Compiling tokio-core v0.1.17 [INFO] [stderr] Compiling hyper v0.12.24 [INFO] [stderr] Compiling serde_json v1.0.38 [INFO] [stderr] Compiling chrono v0.4.6 [INFO] [stderr] Compiling serde_urlencoded v0.5.4 [INFO] [stderr] Compiling hyper-tls v0.3.1 [INFO] [stderr] Compiling rusoto_credential v0.15.0 [INFO] [stderr] Compiling rusoto_iam v0.36.0 [INFO] [stderr] Compiling rusoto_s3 v0.36.0 [INFO] [stderr] Compiling rusoto_sts v0.36.0 [INFO] [stderr] Compiling rustnapshotter v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `IntoFuture`, `LoopFn` [INFO] [stderr] --> src/main.rs:18:23 [INFO] [stderr] | [INFO] [stderr] 18 | use futures::future::{IntoFuture, Future, ok, FutureResult, loop_fn, Loop, LoopFn}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CredentialsError`, `HttpDispatchError`, `RusotoFuture` [INFO] [stderr] --> src/main.rs:19:39 [INFO] [stderr] | [INFO] [stderr] 19 | use rusoto_core::{Region, HttpClient, RusotoFuture, CredentialsError, HttpDispatchError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GetAccountAuthorizationDetailsError` [INFO] [stderr] --> src/main.rs:21:73 [INFO] [stderr] | [INFO] [stderr] 21 | use rusoto_iam::{Iam, IamClient, GetAccountAuthorizationDetailsRequest, GetAccountAuthorizationDetailsError, ListEntitiesForPolicyRequest}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:166:41 [INFO] [stderr] | [INFO] [stderr] 166 | ... Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | Err(err) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/main.rs:248:18 [INFO] [stderr] | [INFO] [stderr] 248 | for (k, v) in state.roles.iter_mut().chain(state.users.iter_mut()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:270:13 [INFO] [stderr] | [INFO] [stderr] 270 | Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scheduler` [INFO] [stderr] --> src/main.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | fn snapshot_iam(scheduler: Scheduler, iam_client: IamClient) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `error` [INFO] [stderr] --> src/main.rs:336:11 [INFO] [stderr] | [INFO] [stderr] 336 | Err(error) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | state.users[user_arn]["groups"].push(state.group_arns[k].clone()); [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: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 35s [INFO] running `"docker" "inspect" "9b6e60bdee0d562f12b3b0a0a87ed80ef7871a6e293b815c3633be8388ec5e57"` [INFO] running `"docker" "rm" "-f" "9b6e60bdee0d562f12b3b0a0a87ed80ef7871a6e293b815c3633be8388ec5e57"` [INFO] [stdout] 9b6e60bdee0d562f12b3b0a0a87ed80ef7871a6e293b815c3633be8388ec5e57 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b1bafa112bf3a6677e560a6824f4b507ee7f6b2e3c4e387c6bc9bb1f99dfd066 [INFO] running `"docker" "start" "-a" "b1bafa112bf3a6677e560a6824f4b507ee7f6b2e3c4e387c6bc9bb1f99dfd066"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling rustnapshotter v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `IntoFuture`, `LoopFn` [INFO] [stderr] --> src/main.rs:18:23 [INFO] [stderr] | [INFO] [stderr] 18 | use futures::future::{IntoFuture, Future, ok, FutureResult, loop_fn, Loop, LoopFn}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CredentialsError`, `HttpDispatchError`, `RusotoFuture` [INFO] [stderr] --> src/main.rs:19:39 [INFO] [stderr] | [INFO] [stderr] 19 | use rusoto_core::{Region, HttpClient, RusotoFuture, CredentialsError, HttpDispatchError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GetAccountAuthorizationDetailsError` [INFO] [stderr] --> src/main.rs:21:73 [INFO] [stderr] | [INFO] [stderr] 21 | use rusoto_iam::{Iam, IamClient, GetAccountAuthorizationDetailsRequest, GetAccountAuthorizationDetailsError, ListEntitiesForPolicyRequest}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:166:41 [INFO] [stderr] | [INFO] [stderr] 166 | ... Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | Err(err) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/main.rs:248:18 [INFO] [stderr] | [INFO] [stderr] 248 | for (k, v) in state.roles.iter_mut().chain(state.users.iter_mut()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:270:13 [INFO] [stderr] | [INFO] [stderr] 270 | Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scheduler` [INFO] [stderr] --> src/main.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | fn snapshot_iam(scheduler: Scheduler, iam_client: IamClient) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `error` [INFO] [stderr] --> src/main.rs:336:11 [INFO] [stderr] | [INFO] [stderr] 336 | Err(error) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | state.users[user_arn]["groups"].push(state.group_arns[k].clone()); [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: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.06s [INFO] running `"docker" "inspect" "b1bafa112bf3a6677e560a6824f4b507ee7f6b2e3c4e387c6bc9bb1f99dfd066"` [INFO] running `"docker" "rm" "-f" "b1bafa112bf3a6677e560a6824f4b507ee7f6b2e3c4e387c6bc9bb1f99dfd066"` [INFO] [stdout] b1bafa112bf3a6677e560a6824f4b507ee7f6b2e3c4e387c6bc9bb1f99dfd066 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 5b9e7740dd203a6a93343fb120cb29908a6dbc6556c29ed0f6917b66b8416575 [INFO] running `"docker" "start" "-a" "5b9e7740dd203a6a93343fb120cb29908a6dbc6556c29ed0f6917b66b8416575"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused imports: `IntoFuture`, `LoopFn` [INFO] [stderr] --> src/main.rs:18:23 [INFO] [stderr] | [INFO] [stderr] 18 | use futures::future::{IntoFuture, Future, ok, FutureResult, loop_fn, Loop, LoopFn}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CredentialsError`, `HttpDispatchError`, `RusotoFuture` [INFO] [stderr] --> src/main.rs:19:39 [INFO] [stderr] | [INFO] [stderr] 19 | use rusoto_core::{Region, HttpClient, RusotoFuture, CredentialsError, HttpDispatchError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GetAccountAuthorizationDetailsError` [INFO] [stderr] --> src/main.rs:21:73 [INFO] [stderr] | [INFO] [stderr] 21 | use rusoto_iam::{Iam, IamClient, GetAccountAuthorizationDetailsRequest, GetAccountAuthorizationDetailsError, ListEntitiesForPolicyRequest}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:166:41 [INFO] [stderr] | [INFO] [stderr] 166 | ... Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:236:25 [INFO] [stderr] | [INFO] [stderr] 236 | Err(err) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/main.rs:248:18 [INFO] [stderr] | [INFO] [stderr] 248 | for (k, v) in state.roles.iter_mut().chain(state.users.iter_mut()) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/main.rs:270:13 [INFO] [stderr] | [INFO] [stderr] 270 | Err(err) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scheduler` [INFO] [stderr] --> src/main.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | fn snapshot_iam(scheduler: Scheduler, iam_client: IamClient) { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `error` [INFO] [stderr] --> src/main.rs:336:11 [INFO] [stderr] | [INFO] [stderr] 336 | Err(error) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | state.users[user_arn]["groups"].push(state.group_arns[k].clone()); [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: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rustnapshotter-aace1b5188aec0f6 [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "5b9e7740dd203a6a93343fb120cb29908a6dbc6556c29ed0f6917b66b8416575"` [INFO] running `"docker" "rm" "-f" "5b9e7740dd203a6a93343fb120cb29908a6dbc6556c29ed0f6917b66b8416575"` [INFO] [stdout] 5b9e7740dd203a6a93343fb120cb29908a6dbc6556c29ed0f6917b66b8416575