[INFO] cloning repository https://github.com/JimLynchCodes/Quackers-Frontend-v3
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JimLynchCodes/Quackers-Frontend-v3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJimLynchCodes%2FQuackers-Frontend-v3", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJimLynchCodes%2FQuackers-Frontend-v3'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7dee54b9d0da3f266e93b4d5104f8d1ba4a01fa
[INFO] checking JimLynchCodes/Quackers-Frontend-v3 against try#438eb4c1a1c3841523d7f672601e8adbe04cff28 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJimLynchCodes%2FQuackers-Frontend-v3" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JimLynchCodes/Quackers-Frontend-v3
[INFO] finished tweaking git repo https://github.com/JimLynchCodes/Quackers-Frontend-v3
[INFO] tweaked toml for git repo https://github.com/JimLynchCodes/Quackers-Frontend-v3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JimLynchCodes/Quackers-Frontend-v3 on toolchain 438eb4c1a1c3841523d7f672601e8adbe04cff28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JimLynchCodes/Quackers-Frontend-v3 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" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11bdd3002ca57f54c67831542cb5bc71ca49f7c2089a5c4616e45476811160f3
[INFO] running `Command { std: "docker" "start" "-a" "11bdd3002ca57f54c67831542cb5bc71ca49f7c2089a5c4616e45476811160f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11bdd3002ca57f54c67831542cb5bc71ca49f7c2089a5c4616e45476811160f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11bdd3002ca57f54c67831542cb5bc71ca49f7c2089a5c4616e45476811160f3", kill_on_drop: false }`
[INFO] [stdout] 11bdd3002ca57f54c67831542cb5bc71ca49f7c2089a5c4616e45476811160f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f6735daf03710d82471c4b39b27e9deb1795c251a6312f633221cbb5637fcbd
[INFO] running `Command { std: "docker" "start" "-a" "9f6735daf03710d82471c4b39b27e9deb1795c251a6312f633221cbb5637fcbd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.88
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling syn v2.0.82
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]    Compiling typeid v1.0.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling uuid v1.11.0
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking bevy_ptr v0.14.2
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.1.31
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking bevy_tasks v0.14.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]    Compiling wgpu-hal v0.21.1
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking accesskit v0.14.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]    Compiling wgpu-core v0.21.1
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]    Compiling bevy_macro_utils v0.14.2
[INFO] [stderr]    Compiling encase_derive_impl v0.8.0
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking file-id v0.2.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking fdeflate v0.3.5
[INFO] [stderr]    Compiling wgpu v0.20.1
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]     Checking const_panic v0.2.10
[INFO] [stderr]     Checking constgebra v0.1.4
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]    Compiling blake3 v1.5.4
[INFO] [stderr]     Checking png v0.17.14
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]     Checking ruzstd v0.7.2
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]     Checking radsort v0.1.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking svg_fmt v0.4.3
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking ttf-parser v0.25.0
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]    Compiling winit v0.30.5
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling cmake v0.1.51
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]     Checking grid v0.14.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling aws-lc-sys v0.22.0
[INFO] [stderr]     Checking taffy v0.5.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.95
[INFO] [stderr]    Compiling aws-lc-rs v1.10.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.95
[INFO] [stderr]     Checking rustls-pki-types v1.10.0
[INFO] [stderr]     Checking mirai-annotations v1.12.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.95
[INFO] [stderr]    Compiling rustls v0.23.15
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking mint v0.5.9
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling anyhow v1.0.90
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking webpki-roots v0.26.6
[INFO] [stderr]     Checking ringbuf v0.3.3
[INFO] [stderr]     Checking atomic-arena v0.1.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking bevy_shapes v0.0.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking assert-impl v0.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.14.2
[INFO] [stderr]    Compiling bevy_reflect_derive v0.14.2
[INFO] [stderr]    Compiling bevy_ecs_macros v0.14.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling bevy_derive v0.14.2
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]    Compiling encase_derive v0.8.0
[INFO] [stderr]    Compiling bevy_asset_macros v0.14.2
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking image v0.25.4
[INFO] [stderr]    Compiling bevy_encase_derive v0.14.2
[INFO] [stderr]    Compiling bevy_render_macros v0.14.2
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.4
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.4
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.4
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.14.2
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]    Compiling bevy_state_macros v0.14.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.95
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking js-sys v0.3.72
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.45
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking bevy_utils v0.14.2
[INFO] [stderr]     Checking erased-serde v0.4.5
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking wgpu-types v0.20.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking naga v0.20.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]     Checking notify-debouncer-full v0.3.2
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking bevy_reflect v0.14.2
[INFO] [stderr]     Checking encase v0.8.0
[INFO] [stderr]     Checking hexasphere v12.0.0
[INFO] [stderr]     Checking bevy_mikktspace v0.14.2
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking gilrs-core v0.5.15
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking rodio v0.18.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking polling v3.7.3
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking kira v0.8.7
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bevy_ecs v0.14.2
[INFO] [stderr]     Checking bevy_math v0.14.2
[INFO] [stderr]     Checking tokio v1.40.0
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking bevy_color v0.14.3
[INFO] [stderr]     Checking naga_oil v0.14.0
[INFO] [stderr]     Checking accesskit_winit v0.20.4
[INFO] [stderr]     Checking bevy_app v0.14.2
[INFO] [stderr]     Checking bevy_core v0.14.2
[INFO] [stderr]     Checking bevy_hierarchy v0.14.2
[INFO] [stderr]     Checking bevy_time v0.14.2
[INFO] [stderr]     Checking bevy_a11y v0.14.2
[INFO] [stderr]     Checking bevy_asset v0.14.2
[INFO] [stderr]     Checking bevy_transform v0.14.2
[INFO] [stderr]     Checking bevy_window v0.14.2
[INFO] [stderr]     Checking bevy_input v0.14.2
[INFO] [stderr]     Checking bevy_log v0.14.2
[INFO] [stderr]     Checking bevy_state v0.14.2
[INFO] [stderr]     Checking bevy_diagnostic v0.14.2
[INFO] [stderr]     Checking bevy_audio v0.14.2
[INFO] [stderr]     Checking bevy_gilrs v0.14.2
[INFO] [stderr]     Checking bevy_winit v0.14.2
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking bevy_render v0.14.2
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking ewebsock v0.7.0
[INFO] [stderr]     Checking bevy_core_pipeline v0.14.2
[INFO] [stderr]     Checking bevy_scene v0.14.2
[INFO] [stderr]     Checking bevy_animation v0.14.2
[INFO] [stderr]     Checking bevy_sprite v0.14.2
[INFO] [stderr]     Checking bevy_pbr v0.14.2
[INFO] [stderr]     Checking bevy_text v0.14.2
[INFO] [stderr]     Checking bevy_ui v0.14.2
[INFO] [stderr]     Checking bevy_gizmos v0.14.2
[INFO] [stderr]     Checking bevy_gltf v0.14.2
[INFO] [stderr]     Checking bevy_dev_tools v0.14.2
[INFO] [stderr]     Checking bevy_internal v0.14.2
[INFO] [stderr]     Checking bevy_dylib v0.14.2
[INFO] [stderr]     Checking bevy v0.14.2
[INFO] [stderr]     Checking bevy_kira_audio v0.20.0
[INFO] [stderr]     Checking virtual_joystick v2.3.0
[INFO] [stderr]     Checking iyes_perf_ui v0.3.0
[INFO] [stderr]     Checking quackers-beta v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Commands`, `Entity`, `ResMut`, `With`, `asset::AssetServer`, and `utils::info`
[INFO] [stdout]  --> src/demo/level.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...}, asset::AssetServer, prelude::{Res, Commands, Component, Entity, EventReader, PerspectiveProjection, Query, ResMut, Resource, With, World}, utils::info, w...
[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 imports: `LIME` and `RED`
[INFO] [stdout]  --> src/demo/player.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::color::palettes::css::{LIME, RED};
[INFO] [stdout]   |                                  ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_kira_audio::AudioControl`
[INFO] [stdout]   --> src/demo/player.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bevy_kira_audio::AudioControl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioPlugin`, `SpatialScale`, and `prelude::*`
[INFO] [stdout]  --> src/demo/other_player.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     audio::{AudioPlugin, SpatialScale},
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     prelude::*,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player_animation::PlayerAnimationState`
[INFO] [stdout]   --> src/demo/other_player.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     player_animation::PlayerAnimationState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageLoaderSettings` and `ImageSampler`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     render::texture::{ImageLoaderSettings, ImageSampler},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `audio::SoundEffect`, `movement::MovementController`, and `player::PlayerAssets`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     audio::SoundEffect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     demo::{movement::MovementController, player::PlayerAssets},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OtherPlayerMovedWsReceived`, `OtherPlayerQuackedWsReceived`, and `player::QuackAudio`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     player::QuackAudio,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     websocket_connect::{OtherPlayerMovedWsReceived, OtherPlayerQuackedWsReceived},
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::info`
[INFO] [stdout]  --> src/demo/cracker.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::{prelude::*, utils::info};
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/demo/websocket_connect.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `time::Duration`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WsEvent` and `WsMessage`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 | use ewebsock::{WsEvent, WsMessage};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UnboundedReceiver`, `UnboundedSender`, and `unbounded`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 | use futures::channel::mpsc::{unbounded, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures::spawn_local`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PerfUiPlugin` and `entries::PerfUiBundle`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:311:20
[INFO] [stdout]     |
[INFO] [stdout] 311 | use iyes_perf_ui::{entries::PerfUiBundle, PerfUiPlugin};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:314:68
[INFO] [stdout]     |
[INFO] [stdout] 314 | use tungstenite::{connect, http::Response, stream::MaybeTlsStream, Message, WebSocket};
[INFO] [stdout]     |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/demo/websocket_join_msg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LIME` and `RED`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::color::palettes::css::{LIME, RED};
[INFO] [stdout]   |                                  ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageLoaderSettings` and `ImageSampler`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::render::texture::{ImageLoaderSettings, ImageSampler};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoystickFloating`, `JoystickInvisible`, `NoAction`, `VirtualJoystickEvent`, `VirtualJoystickPlugin`, and `create_joystick`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     create_joystick, JoystickFloating, JoystickInvisible, NoAction, VirtualJoystickEvent,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     VirtualJoystickPlugin,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BUTTON_TEXT` and `NODE_BACKGROUND`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::theme::palette::{BUTTON_TEXT, NODE_BACKGROUND};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::theme::widgets::Containers`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::theme::widgets::Containers;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NewJoinerDataWithAllPlayers` and `unpack_duck_color`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::demo::other_player::{unpack_duck_color, NewJoinerDataWithAllPlayers};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `asset_tracking::LoadResource`, `movement::MovementController`, `player_animation::PlayerAnimation`, and `screens::Screen`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     asset_tracking::LoadResource,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     demo::{movement::MovementController, player_animation::PlayerAnimation},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     screens::Screen,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MoveCrackersBevyEvent`, `OtherPlayerJoinedWsReceived`, and `YouJoinedWsReceived`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     MoveCrackersBevyEvent, OtherPlayerJoinedWsReceived, WebSocketClient, YouJoinedWsReceived
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `audio::Music`
[INFO] [stdout]  --> src/screens/gameplay.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 |     asset_tracking::LoadResource, audio::Music, demo::{level::spawn_level as spawn_level_command, websocket_join_msg::JoinRequestEvent},
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Commands`, `Entity`, `ResMut`, `With`, `asset::AssetServer`, and `utils::info`
[INFO] [stdout]  --> src/demo/level.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...}, asset::AssetServer, prelude::{Res, Commands, Component, Entity, EventReader, PerspectiveProjection, Query, ResMut, Resource, With, World}, utils::info, w...
[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 imports: `LIME` and `RED`
[INFO] [stdout]  --> src/demo/player.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::color::palettes::css::{LIME, RED};
[INFO] [stdout]   |                                  ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_kira_audio::AudioControl`
[INFO] [stdout]   --> src/demo/player.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bevy_kira_audio::AudioControl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioPlugin`, `SpatialScale`, and `prelude::*`
[INFO] [stdout]  --> src/demo/other_player.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     audio::{AudioPlugin, SpatialScale},
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     prelude::*,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player_animation::PlayerAnimationState`
[INFO] [stdout]   --> src/demo/other_player.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     player_animation::PlayerAnimationState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageLoaderSettings` and `ImageSampler`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     render::texture::{ImageLoaderSettings, ImageSampler},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `audio::SoundEffect`, `movement::MovementController`, and `player::PlayerAssets`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     audio::SoundEffect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     demo::{movement::MovementController, player::PlayerAssets},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OtherPlayerMovedWsReceived`, `OtherPlayerQuackedWsReceived`, and `player::QuackAudio`
[INFO] [stdout]   --> src/demo/other_player_animation.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     player::QuackAudio,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     websocket_connect::{OtherPlayerMovedWsReceived, OtherPlayerQuackedWsReceived},
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::info`
[INFO] [stdout]  --> src/demo/cracker.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::{prelude::*, utils::info};
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/demo/websocket_connect.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `time::Duration`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WsEvent` and `WsMessage`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 | use ewebsock::{WsEvent, WsMessage};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UnboundedReceiver`, `UnboundedSender`, and `unbounded`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 | use futures::channel::mpsc::{unbounded, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen_futures::spawn_local`
[INFO] [stdout]   --> src/demo/websocket_connect.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use wasm_bindgen_futures::spawn_local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PerfUiPlugin` and `entries::PerfUiBundle`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:311:20
[INFO] [stdout]     |
[INFO] [stdout] 311 | use iyes_perf_ui::{entries::PerfUiBundle, PerfUiPlugin};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:314:68
[INFO] [stdout]     |
[INFO] [stdout] 314 | use tungstenite::{connect, http::Response, stream::MaybeTlsStream, Message, WebSocket};
[INFO] [stdout]     |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/demo/websocket_join_msg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LIME` and `RED`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::color::palettes::css::{LIME, RED};
[INFO] [stdout]   |                                  ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageLoaderSettings` and `ImageSampler`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::render::texture::{ImageLoaderSettings, ImageSampler};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoystickFloating`, `JoystickInvisible`, `NoAction`, `VirtualJoystickEvent`, `VirtualJoystickPlugin`, and `create_joystick`
[INFO] [stdout]  --> src/demo/websocket_quack_msg.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     create_joystick, JoystickFloating, JoystickInvisible, NoAction, VirtualJoystickEvent,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     VirtualJoystickPlugin,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BUTTON_TEXT` and `NODE_BACKGROUND`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::theme::palette::{BUTTON_TEXT, NODE_BACKGROUND};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::theme::widgets::Containers`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::theme::widgets::Containers;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NewJoinerDataWithAllPlayers` and `unpack_duck_color`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::demo::other_player::{unpack_duck_color, NewJoinerDataWithAllPlayers};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `asset_tracking::LoadResource`, `movement::MovementController`, `player_animation::PlayerAnimation`, and `screens::Screen`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     asset_tracking::LoadResource,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     demo::{movement::MovementController, player_animation::PlayerAnimation},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     screens::Screen,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MoveCrackersBevyEvent`, `OtherPlayerJoinedWsReceived`, and `YouJoinedWsReceived`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     MoveCrackersBevyEvent, OtherPlayerJoinedWsReceived, WebSocketClient, YouJoinedWsReceived
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `audio::Music`
[INFO] [stdout]  --> src/screens/gameplay.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 |     asset_tracking::LoadResource, audio::Music, demo::{level::spawn_level as spawn_level_command, websocket_join_msg::JoinRequestEvent},
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     background_color: Color::rgb(1.0, 1.0, 1.0).into(),
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 .insert(BackgroundColor(Color::rgb(1.0, 1.0, 1.0)))
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:47:51
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...                   color: Color::rgb(0.1, 0.1, 0.1),
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     background_color: Color::rgb(1.0, 1.0, 1.0).into(),
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 .insert(BackgroundColor(Color::rgb(1.0, 1.0, 1.0)))
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `bevy::prelude::Color::rgb`: Use `Color::srgb` instead
[INFO] [stdout]   --> src/screens/credits.rs:47:51
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...                   color: Color::rgb(0.1, 0.1, 0.1),
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/demo/player.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     mut commands: Commands,
[INFO] [stdout]    |     ----^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/demo/player.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     mut commands: Commands,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/demo/player.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     mut commands: Commands,
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kira_audio`
[INFO] [stdout]    --> src/demo/player.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     kira_audio: Res<Audio>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kira_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asset_server`
[INFO] [stdout]    --> src/demo/player.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quack_audio_source`
[INFO] [stdout]    --> src/demo/player.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Some(quack_audio_source) = audio_assets.get(&quack_audio.sound_handle) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quack_audio_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]    --> src/demo/player.rs:337:41
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         .with_children(|parent| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kira_audio`
[INFO] [stdout]    --> src/demo/other_player.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 |     kira_audio: Res<Audio>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kira_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/demo/score.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]     |     ----^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_offset`
[INFO] [stdout]    --> src/demo/score.rs:579:17
[INFO] [stdout]     |
[INFO] [stdout] 579 |             let y_offset = 30.0; // Adjust this value for the desired spacing
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/demo/score.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 |     fn new(content: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:502:21
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let message = MyMessage::new("Hello, WebSocket!".to_string());
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:504:21
[INFO] [stdout]     |
[INFO] [stdout] 504 |                 let json_message = build_join_request_msg("foo".to_string());
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mut commands: Commands,
[INFO] [stdout]    |     ----^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mut commands: Commands,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ev`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     for ev in ev_join_request.read() {
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_ev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/screens/gameplay.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[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/screens/gameplay.rs:50:48
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                                                ----^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/screens/gameplay.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `music`
[INFO] [stdout]   --> src/screens/gameplay.rs:50:48
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_music`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SilentModePopup` is never constructed
[INFO] [stdout]   --> src/demo/level.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct SilentModePopup;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid` and `player_points` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct NewJoinerDataWithAllPlayers {
[INFO] [stdout]     |            --------------------------- fields in this struct
[INFO] [stdout] 108 |     pub player_uuid: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub player_points: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewJoinerDataWithAllPlayers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveRequestData` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct MoveRequestData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_friendly_name`, `color`, and `old_y_position` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct MoveResponseData {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 130 |     pub player_uuid: String,
[INFO] [stdout] 131 |     pub player_friendly_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub color: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 133 |     pub old_x_position: f32,
[INFO] [stdout] 134 |     pub old_y_position: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MoveResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid`, `player_friendly_name`, and `quack_pitch` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct QuackResponseData {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 146 |     pub player_uuid: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 147 |     pub player_friendly_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub quack_pitch: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QuackResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Listener` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Listener;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OtherMovedReceivedWsMsg` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct OtherMovedReceivedWsMsg {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stopped` is never read
[INFO] [stdout]    --> src/demo/other_player.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct Emitter {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 303 |     stopped: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorTextComponent` is never constructed
[INFO] [stdout]  --> src/demo/score.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ErrorTextComponent;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YourLeaderboardPlaceText` is never constructed
[INFO] [stdout]   --> src/demo/score.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct YourLeaderboardPlaceText;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `your_points` is never read
[INFO] [stdout]   --> src/demo/score.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct LeaderboardUpdateData {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 42 |     pub your_points: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LeaderboardUpdateData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_OFFSET` is never used
[INFO] [stdout]   --> src/demo/score.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const TABLE_OFFSET: u32 = 30;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]    --> src/demo/score.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | struct Score {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 491 |     name: String,
[INFO] [stdout] 492 |     value: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `C2SActionTypes` is never used
[INFO] [stdout]   --> src/demo/websocket_connect.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum C2SActionTypes {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid`, `player_friendly_name`, `old_cracker_x_position`, `old_cracker_y_position`, and `old_cracker_point_value` are never read
[INFO] [stdout]   --> src/demo/websocket_connect.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct GotCrackerResponseData {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 90 |     pub player_uuid: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 91 |     pub player_friendly_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |
[INFO] [stdout] 93 |     pub old_cracker_x_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub old_cracker_y_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub old_cracker_point_value: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GotCrackerResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `you_got_crackers` is never read
[INFO] [stdout]    --> src/demo/websocket_connect.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct MoveCrackersBevyEvent {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub you_got_crackers: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MoveCrackersBevyEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendMessageConfig` is never constructed
[INFO] [stdout]    --> src/demo/websocket_connect.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | struct SendMessageConfig {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransformData` is never constructed
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TransformData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct JoinRequestEvent(pub String);
[INFO] [stdout]    |            ---------------- ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_gameplay_music` is never used
[INFO] [stdout]   --> src/screens/gameplay.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_music` is never used
[INFO] [stdout]   --> src/screens/gameplay.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn stop_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |              ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:99:14
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |              ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn ui_root(&mut self) -> EntityCommands;
[INFO] [stdout]     |                ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn ui_root(&mut self) -> EntityCommands<'_>;
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:168:16
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn ui_root(&mut self) -> EntityCommands {
[INFO] [stdout]     |                ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn ui_root(&mut self) -> EntityCommands<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands;
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_>;
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:197:25
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands {
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:203:25
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands {
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/demo/player.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     mut commands: Commands,
[INFO] [stdout]    |     ----^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/demo/player.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     mut commands: Commands,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/demo/player.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     mut commands: Commands,
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kira_audio`
[INFO] [stdout]    --> src/demo/player.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     kira_audio: Res<Audio>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kira_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asset_server`
[INFO] [stdout]    --> src/demo/player.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quack_audio_source`
[INFO] [stdout]    --> src/demo/player.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Some(quack_audio_source) = audio_assets.get(&quack_audio.sound_handle) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quack_audio_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]    --> src/demo/player.rs:337:41
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         .with_children(|parent| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kira_audio`
[INFO] [stdout]    --> src/demo/other_player.rs:545:5
[INFO] [stdout]     |
[INFO] [stdout] 545 |     kira_audio: Res<Audio>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kira_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/demo/score.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]     |     ----^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_offset`
[INFO] [stdout]    --> src/demo/score.rs:579:17
[INFO] [stdout]     |
[INFO] [stdout] 579 |             let y_offset = 30.0; // Adjust this value for the desired spacing
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/demo/score.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 |     fn new(content: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:502:21
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let message = MyMessage::new("Hello, WebSocket!".to_string());
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_message`
[INFO] [stdout]    --> src/demo/websocket_connect.rs:504:21
[INFO] [stdout]     |
[INFO] [stdout] 504 |                 let json_message = build_join_request_msg("foo".to_string());
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mut commands: Commands,
[INFO] [stdout]    |     ----^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mut commands: Commands,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ev`
[INFO] [stdout]   --> src/demo/websocket_quack_msg.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     for ev in ev_join_request.read() {
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_ev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/screens/gameplay.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[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/screens/gameplay.rs:50:48
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                                                ----^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]   --> src/screens/gameplay.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `music`
[INFO] [stdout]   --> src/screens/gameplay.rs:50:48
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_music`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SilentModePopup` is never constructed
[INFO] [stdout]   --> src/demo/level.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct SilentModePopup;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid` and `player_points` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct NewJoinerDataWithAllPlayers {
[INFO] [stdout]     |            --------------------------- fields in this struct
[INFO] [stdout] 108 |     pub player_uuid: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub player_points: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewJoinerDataWithAllPlayers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveRequestData` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct MoveRequestData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_friendly_name`, `color`, and `old_y_position` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct MoveResponseData {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 130 |     pub player_uuid: String,
[INFO] [stdout] 131 |     pub player_friendly_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub color: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 133 |     pub old_x_position: f32,
[INFO] [stdout] 134 |     pub old_y_position: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MoveResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid`, `player_friendly_name`, and `quack_pitch` are never read
[INFO] [stdout]    --> src/demo/other_player.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct QuackResponseData {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 146 |     pub player_uuid: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 147 |     pub player_friendly_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub quack_pitch: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QuackResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Listener` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Listener;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OtherMovedReceivedWsMsg` is never constructed
[INFO] [stdout]    --> src/demo/other_player.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct OtherMovedReceivedWsMsg {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stopped` is never read
[INFO] [stdout]    --> src/demo/other_player.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct Emitter {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 303 |     stopped: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorTextComponent` is never constructed
[INFO] [stdout]  --> src/demo/score.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ErrorTextComponent;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YourLeaderboardPlaceText` is never constructed
[INFO] [stdout]   --> src/demo/score.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct YourLeaderboardPlaceText;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `your_points` is never read
[INFO] [stdout]   --> src/demo/score.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct LeaderboardUpdateData {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 42 |     pub your_points: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LeaderboardUpdateData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_OFFSET` is never used
[INFO] [stdout]   --> src/demo/score.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const TABLE_OFFSET: u32 = 30;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]    --> src/demo/score.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | struct Score {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 491 |     name: String,
[INFO] [stdout] 492 |     value: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `C2SActionTypes` is never used
[INFO] [stdout]   --> src/demo/websocket_connect.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum C2SActionTypes {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_uuid`, `player_friendly_name`, `old_cracker_x_position`, `old_cracker_y_position`, and `old_cracker_point_value` are never read
[INFO] [stdout]   --> src/demo/websocket_connect.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct GotCrackerResponseData {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 90 |     pub player_uuid: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 91 |     pub player_friendly_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |
[INFO] [stdout] 93 |     pub old_cracker_x_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub old_cracker_y_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub old_cracker_point_value: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GotCrackerResponseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `you_got_crackers` is never read
[INFO] [stdout]    --> src/demo/websocket_connect.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct MoveCrackersBevyEvent {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub you_got_crackers: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MoveCrackersBevyEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendMessageConfig` is never constructed
[INFO] [stdout]    --> src/demo/websocket_connect.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | struct SendMessageConfig {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransformData` is never constructed
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TransformData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/demo/websocket_join_msg.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct JoinRequestEvent(pub String);
[INFO] [stdout]    |            ---------------- ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_gameplay_music` is never used
[INFO] [stdout]   --> src/screens/gameplay.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn play_gameplay_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_music` is never used
[INFO] [stdout]   --> src/screens/gameplay.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn stop_music(mut commands: Commands, mut music: ResMut<GameplayMusic>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands;
[INFO] [stdout]    |              ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands<'_>;
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn button(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |               ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn header(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/theme/widgets.rs:99:14
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands {
[INFO] [stdout]    |              ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn label(&mut self, text: impl Into<String>) -> EntityCommands<'_> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:164:16
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn ui_root(&mut self) -> EntityCommands;
[INFO] [stdout]     |                ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn ui_root(&mut self) -> EntityCommands<'_>;
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:168:16
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn ui_root(&mut self) -> EntityCommands {
[INFO] [stdout]     |                ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn ui_root(&mut self) -> EntityCommands<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands;
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_>;
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:197:25
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands {
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/theme/widgets.rs:203:25
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands {
[INFO] [stdout]     |                         ^^^^^^^^^                ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn spawn<B: Bundle>(&mut self, bundle: B) -> EntityCommands<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 11m 30s
[INFO] running `Command { std: "docker" "inspect" "9f6735daf03710d82471c4b39b27e9deb1795c251a6312f633221cbb5637fcbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f6735daf03710d82471c4b39b27e9deb1795c251a6312f633221cbb5637fcbd", kill_on_drop: false }`
[INFO] [stdout] 9f6735daf03710d82471c4b39b27e9deb1795c251a6312f633221cbb5637fcbd
