[INFO] fetching crate field-project 0.1.0... [INFO] checking field-project-0.1.0 against master#5ad98b4026d5172f27615b105658bc8bfd677be8 for pr-129422 [INFO] extracting crate field-project 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate field-project 0.1.0 on toolchain 5ad98b4026d5172f27615b105658bc8bfd677be8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ad98b4026d5172f27615b105658bc8bfd677be8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate field-project 0.1.0 [INFO] finished tweaking crates.io crate field-project 0.1.0 [INFO] tweaked toml for crates.io crate field-project 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate crates.io crate field-project 0.1.0 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" "+5ad98b4026d5172f27615b105658bc8bfd677be8" "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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5ad98b4026d5172f27615b105658bc8bfd677be8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 927fc94cc69fd6a9a506075a53f041c929442c2b6ecd4ea0dbd20f13e8ef2a99 [INFO] running `Command { std: "docker" "start" "-a" "927fc94cc69fd6a9a506075a53f041c929442c2b6ecd4ea0dbd20f13e8ef2a99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "927fc94cc69fd6a9a506075a53f041c929442c2b6ecd4ea0dbd20f13e8ef2a99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "927fc94cc69fd6a9a506075a53f041c929442c2b6ecd4ea0dbd20f13e8ef2a99", kill_on_drop: false }` [INFO] [stdout] 927fc94cc69fd6a9a506075a53f041c929442c2b6ecd4ea0dbd20f13e8ef2a99 [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5ad98b4026d5172f27615b105658bc8bfd677be8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f9a0309beb8dbd17cd3be9ffdf43da99e8e2e90d2048b86ad26963a58b60f9e9 [INFO] running `Command { std: "docker" "start" "-a" "f9a0309beb8dbd17cd3be9ffdf43da99e8e2e90d2048b86ad26963a58b60f9e9", kill_on_drop: false }` [INFO] [stderr] Checking field-project v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/pin.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | type Output<'a, Field: 'a> where Self: 'a = Pin<&'a Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] = note: `#[warn(deprecated_where_clause_location)]` on by default [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 8 - type Output<'a, Field: 'a> where Self: 'a = Pin<&'a Field>; [INFO] [stdout] 8 + type Output<'a, Field: 'a> = Pin<&'a Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/pin.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | type OutputMut<'a, Field: 'a> where Self: 'a = Pin<&'a mut Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 18 - type OutputMut<'a, Field: 'a> where Self: 'a = Pin<&'a mut Field>; [INFO] [stdout] 18 + type OutputMut<'a, Field: 'a> = Pin<&'a mut Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/maybe_uninit.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | type Output<'a, Field: 'a> where Self: 'a = &'a MaybeUninit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 6 - type Output<'a, Field: 'a> where Self: 'a = &'a MaybeUninit; [INFO] [stdout] 6 + type Output<'a, Field: 'a> = &'a MaybeUninit where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/maybe_uninit.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | type OutputMut<'a, Field: 'a> where Self: 'a = &'a mut MaybeUninit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 16 - type OutputMut<'a, Field: 'a> where Self: 'a = &'a mut MaybeUninit; [INFO] [stdout] 16 + type OutputMut<'a, Field: 'a> = &'a mut MaybeUninit where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 22 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 22 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:33:32 [INFO] [stdout] | [INFO] [stdout] 33 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 33 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 33 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:43:35 [INFO] [stdout] | [INFO] [stdout] 43 | type OutputMut<'a, Field: 'a> where Self: 'a = T::OutputMut<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 43 - type OutputMut<'a, Field: 'a> where Self: 'a = T::OutputMut<'a, Field>; [INFO] [stdout] 43 + type OutputMut<'a, Field: 'a> = T::OutputMut<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 54 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 54 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_associated_types)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/pin.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | type Output<'a, Field: 'a> where Self: 'a = Pin<&'a Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] = note: `#[warn(deprecated_where_clause_location)]` on by default [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 8 - type Output<'a, Field: 'a> where Self: 'a = Pin<&'a Field>; [INFO] [stdout] 8 + type Output<'a, Field: 'a> = Pin<&'a Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/pin.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | type OutputMut<'a, Field: 'a> where Self: 'a = Pin<&'a mut Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 18 - type OutputMut<'a, Field: 'a> where Self: 'a = Pin<&'a mut Field>; [INFO] [stdout] 18 + type OutputMut<'a, Field: 'a> = Pin<&'a mut Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/maybe_uninit.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | type Output<'a, Field: 'a> where Self: 'a = &'a MaybeUninit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 6 - type Output<'a, Field: 'a> where Self: 'a = &'a MaybeUninit; [INFO] [stdout] 6 + type Output<'a, Field: 'a> = &'a MaybeUninit where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/maybe_uninit.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | type OutputMut<'a, Field: 'a> where Self: 'a = &'a mut MaybeUninit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 16 - type OutputMut<'a, Field: 'a> where Self: 'a = &'a mut MaybeUninit; [INFO] [stdout] 16 + type OutputMut<'a, Field: 'a> = &'a mut MaybeUninit where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 22 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 22 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:33:32 [INFO] [stdout] | [INFO] [stdout] 33 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 33 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 33 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:43:35 [INFO] [stdout] | [INFO] [stdout] 43 | type OutputMut<'a, Field: 'a> where Self: 'a = T::OutputMut<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 43 - type OutputMut<'a, Field: 'a> where Self: 'a = T::OutputMut<'a, Field>; [INFO] [stdout] 43 + type OutputMut<'a, Field: 'a> = T::OutputMut<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> src/lib.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 54 - type Output<'a, Field: 'a> where Self: 'a = T::Output<'a, Field>; [INFO] [stdout] 54 + type Output<'a, Field: 'a> = T::Output<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_associated_types)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> examples/volatile_ref.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | type Output<'a, Field: 'a> where Self: 'a = VolatileRef<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] = note: `#[warn(deprecated_where_clause_location)]` on by default [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 61 - type Output<'a, Field: 'a> where Self: 'a = VolatileRef<'a, Field>; [INFO] [stdout] 61 + type Output<'a, Field: 'a> = VolatileRef<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> examples/volatile_ref.rs:72:32 [INFO] [stdout] | [INFO] [stdout] 72 | type Output<'a, Field: 'a> where Self: 'a = VolatileMut<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 72 - type Output<'a, Field: 'a> where Self: 'a = VolatileMut<'a, Field>; [INFO] [stdout] 72 + type Output<'a, Field: 'a> = VolatileMut<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: where clause not allowed here [INFO] [stdout] --> examples/volatile_ref.rs:82:35 [INFO] [stdout] | [INFO] [stdout] 82 | type OutputMut<'a, Field: 'a> where Self: 'a = VolatileMut<'a, Field>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #89122 for more information [INFO] [stdout] help: move it to the end of the type declaration [INFO] [stdout] | [INFO] [stdout] 82 - type OutputMut<'a, Field: 'a> where Self: 'a = VolatileMut<'a, Field>; [INFO] [stdout] 82 + type OutputMut<'a, Field: 'a> = VolatileMut<'a, Field> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable [INFO] [stdout] --> examples/volatile_ref.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_associated_types)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/volatile_ref.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let mut v = unsafe { VolatileMut::new(&mut Foo::default()) }; [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: field `reg2` is never read [INFO] [stdout] --> examples/volatile_ref.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 92 | struct Foo { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 93 | reg1: u32, [INFO] [stdout] 94 | reg2: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Foo` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] running `Command { std: "docker" "inspect" "f9a0309beb8dbd17cd3be9ffdf43da99e8e2e90d2048b86ad26963a58b60f9e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9a0309beb8dbd17cd3be9ffdf43da99e8e2e90d2048b86ad26963a58b60f9e9", kill_on_drop: false }` [INFO] [stdout] f9a0309beb8dbd17cd3be9ffdf43da99e8e2e90d2048b86ad26963a58b60f9e9