pub(crate) fn read_binary(input: &[u8]) -> (u32, u32) {
assert!(
input.len() >= 8,
"read_binary called with {} bytes; expected at least 8 bytes",
input.len()
);
let a = u32::from_le_bytes([input[0], input[1], input[2], input[3]]);
let b = u32::from_le_bytes([input[4], input[5], input[6], input[7]]);
(a, b)
}