[INFO] cloning repository https://github.com/Nintorac/symbolic_music
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nintorac/symbolic_music" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNintorac%2Fsymbolic_music", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNintorac%2Fsymbolic_music'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 80ad71187f357102ecef2ca74e864c4c5c07d1c5
[INFO] checking Nintorac/symbolic_music against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNintorac%2Fsymbolic_music" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Nintorac/symbolic_music
[INFO] finished tweaking git repo https://github.com/Nintorac/symbolic_music
[INFO] tweaked toml for git repo https://github.com/Nintorac/symbolic_music written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Nintorac/symbolic_music on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Nintorac/symbolic_music 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a48f5b09ad6a01b5ebb62b37f3a796684a2d1d2599b6e43ba10859dd5cbbe869
[INFO] running `Command { std: "docker" "start" "-a" "a48f5b09ad6a01b5ebb62b37f3a796684a2d1d2599b6e43ba10859dd5cbbe869", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a48f5b09ad6a01b5ebb62b37f3a796684a2d1d2599b6e43ba10859dd5cbbe869", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a48f5b09ad6a01b5ebb62b37f3a796684a2d1d2599b6e43ba10859dd5cbbe869", kill_on_drop: false }`
[INFO] [stdout] a48f5b09ad6a01b5ebb62b37f3a796684a2d1d2599b6e43ba10859dd5cbbe869
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84c14140a6f2ca12363b38c060f3f8372c289e496263730c142fcd5fcc03c84c
[INFO] running `Command { std: "docker" "start" "-a" "84c14140a6f2ca12363b38c060f3f8372c289e496263730c142fcd5fcc03c84c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling pyo3-build-config v0.24.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking midly v0.5.3
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling pyo3-ffi v0.24.2
[INFO] [stderr]    Compiling pyo3-macros-backend v0.24.2
[INFO] [stderr]    Compiling pyo3 v0.24.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pyo3-macros v0.24.2
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking symbolic_music v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/aria/py_abs_tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/aria/py_abs_tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[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: `abs_tokenizer::*` and `tokenizer::Tokenizer`
[INFO] [stdout]  --> src/aria/test_midi_dict.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{midi_types::*, midi_loader::*, abs_tokenizer::*, tokenizer::Tokenizer};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::*`
[INFO] [stdout]  --> src/aria/test_abs_tokenizer.rs:1:46
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{midi_types::*, abs_tokenizer::*, config::*, midi_loader::*, tokenizer::{Tokenizer, BaseTokenizer}};
[INFO] [stdout]   |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::midi_types::Token`
[INFO] [stdout]  --> src/aria/test_units.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::midi_types::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/aria/test_aria_utils_parity.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:191:63
[INFO] [stdout]     |
[INFO] [stdout] 191 |             dict.set_item("note_msgs", self.note_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:192:65
[INFO] [stdout]     |
[INFO] [stdout] 192 |             dict.set_item("tempo_msgs", self.tempo_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:193:75
[INFO] [stdout]     |
[INFO] [stdout] 193 |             dict.set_item("instrument_msgs", self.instrument_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:194:65
[INFO] [stdout]     |
[INFO] [stdout] 194 |             dict.set_item("pedal_msgs", self.pedal_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:195:63
[INFO] [stdout]     |
[INFO] [stdout] 195 |             dict.set_item("meta_msgs", self.meta_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:197:61
[INFO] [stdout]     |
[INFO] [stdout] 197 |             dict.set_item("metadata", self.metadata.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |             dict.into_py(py)
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:343:40
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 "tick" => Ok(self.tick.into_py(py)),
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 "pitch" => Ok(self.pitch.into_py(py)),
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:345:42
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 "start" => Ok(self.start.into_py(py)),
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:346:38
[INFO] [stdout]     |
[INFO] [stdout] 346 |                 "end" => Ok(self.end.into_py(py)),
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:347:48
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 "velocity" => Ok(self.velocity.into_py(py)),
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:348:46
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 "channel" => Ok(self.channel.into_py(py)),
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:349:56
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 "msg_type" => Ok(self.msg_type.clone().into_py(py)),
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:352:44
[INFO] [stdout]     |
[INFO] [stdout] 352 |                     let obj = self.clone().into_py(py);
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:14:44
[INFO] [stdout]    |
[INFO] [stdout] 14 |             Token::Special(s) => s.clone().into_py(py),
[INFO] [stdout]    |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:15:82
[INFO] [stdout]    |
[INFO] [stdout] 15 |             Token::Prefix(p1, p2, p3) => (format!("{}:{}:{}", p1, p2, p3), 0, 0).into_py(py),
[INFO] [stdout]    |                                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:16:97
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Token::Note(instrument, pitch, velocity) => (instrument.clone(), *pitch, *velocity).into_py(py),
[INFO] [stdout]    |                                                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:17:70
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Token::Onset(_, time) => ("onset".to_string(), *time, 0).into_py(py),
[INFO] [stdout]    |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:18:71
[INFO] [stdout]    |
[INFO] [stdout] 18 |             Token::Duration(_, time) => ("dur".to_string(), *time, 0).into_py(py),
[INFO] [stdout]    |                                                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:19:70
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Token::Drum(_, pitch) => ("drum".to_string(), *pitch, 0).into_py(py),
[INFO] [stdout]    |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:191:63
[INFO] [stdout]     |
[INFO] [stdout] 191 |             dict.set_item("note_msgs", self.note_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:192:65
[INFO] [stdout]     |
[INFO] [stdout] 192 |             dict.set_item("tempo_msgs", self.tempo_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:193:75
[INFO] [stdout]     |
[INFO] [stdout] 193 |             dict.set_item("instrument_msgs", self.instrument_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:194:65
[INFO] [stdout]     |
[INFO] [stdout] 194 |             dict.set_item("pedal_msgs", self.pedal_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:195:63
[INFO] [stdout]     |
[INFO] [stdout] 195 |             dict.set_item("meta_msgs", self.meta_msgs.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:197:61
[INFO] [stdout]     |
[INFO] [stdout] 197 |             dict.set_item("metadata", self.metadata.clone().into_py(py)).unwrap();
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |             dict.into_py(py)
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:343:40
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 "tick" => Ok(self.tick.into_py(py)),
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 "pitch" => Ok(self.pitch.into_py(py)),
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:345:42
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 "start" => Ok(self.start.into_py(py)),
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:346:38
[INFO] [stdout]     |
[INFO] [stdout] 346 |                 "end" => Ok(self.end.into_py(py)),
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:347:48
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 "velocity" => Ok(self.velocity.into_py(py)),
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:348:46
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 "channel" => Ok(self.channel.into_py(py)),
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:349:56
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 "msg_type" => Ok(self.msg_type.clone().into_py(py)),
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]    --> src/aria/py_midi_types.rs:352:44
[INFO] [stdout]     |
[INFO] [stdout] 352 |                     let obj = self.clone().into_py(py);
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:14:44
[INFO] [stdout]    |
[INFO] [stdout] 14 |             Token::Special(s) => s.clone().into_py(py),
[INFO] [stdout]    |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:15:82
[INFO] [stdout]    |
[INFO] [stdout] 15 |             Token::Prefix(p1, p2, p3) => (format!("{}:{}:{}", p1, p2, p3), 0, 0).into_py(py),
[INFO] [stdout]    |                                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:16:97
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Token::Note(instrument, pitch, velocity) => (instrument.clone(), *pitch, *velocity).into_py(py),
[INFO] [stdout]    |                                                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:17:70
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Token::Onset(_, time) => ("onset".to_string(), *time, 0).into_py(py),
[INFO] [stdout]    |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:18:71
[INFO] [stdout]    |
[INFO] [stdout] 18 |             Token::Duration(_, time) => ("dur".to_string(), *time, 0).into_py(py),
[INFO] [stdout]    |                                                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `pyo3::IntoPy::into_py`: `IntoPy` is going to be replaced by `IntoPyObject`. See the migration guide (https://pyo3.rs/v0.23.0/migration) for more information.
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:19:70
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Token::Drum(_, pitch) => ("drum".to_string(), *pitch, 0).into_py(py),
[INFO] [stdout]    |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/aria/config.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_idx`
[INFO] [stdout]   --> src/aria/midi_loader.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for (track_idx, track) in smf.tracks.iter().enumerate() {
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn python_to_token(py: Python, py_obj: &Bound<PyAny>) -> PyResult<Token> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remove_preceding_silence`
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:75:51
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tokenize(&self, py_midi_dict: &PyMidiDict, remove_preceding_silence: Option<bool>) -> PyResult<Vec<PyObject>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remove_preceding_silence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/aria/config.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_idx`
[INFO] [stdout]   --> src/aria/midi_loader.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for (track_idx, track) in smf.tracks.iter().enumerate() {
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_track_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py`
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn python_to_token(py: Python, py_obj: &Bound<PyAny>) -> PyResult<Token> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_py`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remove_preceding_silence`
[INFO] [stdout]   --> src/aria/py_abs_tokenizer.rs:75:51
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn tokenize(&self, py_midi_dict: &PyMidiDict, remove_preceding_silence: Option<bool>) -> PyResult<Vec<PyObject>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remove_preceding_silence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `midi_dict`
[INFO] [stdout]    --> src/aria/test_midi_dict.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let midi_dict = load_midi_from_file(&load_path).expect("Failed to load MIDI file");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_midi_dict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:132:14
[INFO] [stdout]     |
[INFO] [stdout] 132 |         for (i, inst_msg) in midi_dict.instrument_msgs.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrument`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:134:25
[INFO] [stdout]     |
[INFO] [stdout] 134 |             if let Some(instrument) = program_to_instrument(inst_msg.data) {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels_used`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let channels_used: std::collections::HashSet<i32> = midi_dict.note_msgs.iter().map(|msg| msg.channel).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:150:14
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for (i, token) in tokens.iter().take(20).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for (i, token) in tokens.iter().take(20).enumerate() {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         for token in &prefix_tokens {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconstructed`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let reconstructed = tokenizer.detokenize(&tokens).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels_used`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:225:17
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let channels_used: std::collections::HashSet<i32> = midi_dict_1.note_msgs.iter().map(|msg| msg.channel).collect();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix_tokens`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |             let prefix_tokens: Vec<_> = tokens.iter().filter(|t| {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_10_tokens`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:309:21
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 let last_10_tokens: Vec<_> = tokens.iter().rev().take(10).collect();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_10_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |                         for i in recon_len..orig_len {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:336:29
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         for i in orig_len..recon_len {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unk_tok`
[INFO] [stdout]    --> src/aria/test_abs_tokenizer.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |             let unk_tok = tokenizer.get_unk_tok();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unk_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ms`
[INFO] [stdout]   --> src/aria/test_units.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let ms = (seconds * 1000.0).round() as i32;
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration_ms`
[INFO] [stdout]   --> src/aria/test_units.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let duration_ms = (duration_seconds * 1000.0).round() as i32;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aria/test_units.rs:134:18
[INFO] [stdout]     |
[INFO] [stdout] 134 |             for (i, token) in tokens.iter().take(20).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/aria/test_units.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |             for (i, token) in tokens.iter().take(20).enumerate() {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quantized`
[INFO] [stdout]    --> src/aria/test_units.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let quantized = tokenizer.quantize_dur(val);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quantized`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/aria/test_units.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let result = BaseTokenizer::find_closest_int(value, &quantizations);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/aria/test_aria_utils_parity.rs:166:67
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let json_tokens: Vec<Value> = tokens.iter().enumerate().map(|(idx, token)| {
[INFO] [stdout]     |                                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.87s
[INFO] running `Command { std: "docker" "inspect" "84c14140a6f2ca12363b38c060f3f8372c289e496263730c142fcd5fcc03c84c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84c14140a6f2ca12363b38c060f3f8372c289e496263730c142fcd5fcc03c84c", kill_on_drop: false }`
[INFO] [stdout] 84c14140a6f2ca12363b38c060f3f8372c289e496263730c142fcd5fcc03c84c
