1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-19 12:58:13 +00:00

feat(core): ask for 20/33 words to unlock backup

Unlocking repeated backup is only possible with SLIP-39 extendable
backup which contains shares of 20 or 33 words. It is UI bug to have the
user choose from all options (12, 18, 20, 24, 33). This commit reduces
the choices when unlocking repeated backup to (20, 33) for all models.
This commit is contained in:
obrusvit 2024-08-09 22:34:20 +02:00 committed by Vít Obrusník
parent 11b923959a
commit 9e18e72a2c
12 changed files with 623 additions and 407 deletions

View File

@ -0,0 +1 @@
Reduce the choices to select wordcount when unlocking repeated backup to 20 or 33.

View File

@ -1,5 +1,5 @@
use crate::{
error::Error,
error::{value_error, Error},
io::BinaryData,
micropython::{
buffer::{hexlify_bytes, StrBuffer},
@ -162,6 +162,41 @@ impl ParagraphSource<'static> for PropsList {
}
}
/// RecoveryType as defined in `common/protob/messages-management.proto`,
/// used as arguments coming from micropython into rust world for layouts or
/// flows.
pub enum RecoveryType {
Normal = 0,
DryRun = 1,
UnlockRepeatedBackup = 2,
}
// Converting `Obj` into `RecoveryType` enum
#[cfg(feature = "micropython")]
impl TryFrom<Obj> for RecoveryType {
type Error = Error;
fn try_from(obj: Obj) -> Result<Self, Self::Error> {
let val = u32::try_from(obj)?;
let this = Self::try_from(val)?;
Ok(this)
}
}
// Converting `u32` to `RecoveryType`
impl TryFrom<u32> for RecoveryType {
type Error = Error;
fn try_from(value: u32) -> Result<Self, Self::Error> {
match value {
0 => Ok(RecoveryType::Normal),
1 => Ok(RecoveryType::DryRun),
2 => Ok(RecoveryType::UnlockRepeatedBackup),
_ => Err(value_error!(c"Invalid RecoveryType")),
}
}
}
pub extern "C" fn upy_disable_animation(disable: Obj) -> Obj {
let block = || {
set_animation_disabled(disable.try_into()?);

View File

@ -1,6 +1,6 @@
use crate::ui::{
component::{Component, Event, EventCtx},
geometry::{Alignment2D, Offset, Rect},
geometry::{Alignment, Alignment2D, Offset, Rect},
shape::Renderer,
};
@ -29,8 +29,12 @@ impl BinarySelection {
) -> Self {
Self {
buttons_area: Rect::zero(),
button_left: Button::new(left_content).styled(left_style),
button_right: Button::new(right_content).styled(right_style),
button_left: Button::new(left_content)
.styled(left_style)
.with_text_align(Alignment::Center),
button_right: Button::new(right_content)
.styled(right_style)
.with_text_align(Alignment::Center),
}
}
}

View File

@ -2,39 +2,104 @@ use crate::ui::{
component::{Component, Event, EventCtx},
geometry::{Alignment, Grid, GridCellSpan, Rect},
model_mercury::{
component::button::{Button, ButtonMsg},
theme,
component::{
button::{Button, ButtonContent, ButtonMsg},
BinarySelection, BinarySelectionMsg,
},
cshape, theme,
},
shape::Renderer,
};
const NUMBERS: [u32; 5] = [12, 18, 20, 24, 33];
const LABELS: [&str; 5] = ["12", "18", "20", "24", "33"];
const CELLS: [(usize, usize); 5] = [(0, 0), (0, 2), (1, 0), (1, 2), (2, 1)];
pub struct SelectWordCount {
button: [Button; NUMBERS.len()],
}
pub enum SelectWordCountMsg {
Selected(u32),
}
// We allow large_enum_variant here because the code is simpler and the larger
// variant (ValueKeypad) predates the smaller one.
#[allow(clippy::large_enum_variant)]
pub enum SelectWordCount {
All(ValueKeypad),
Multishare(BinarySelection),
}
impl SelectWordCount {
pub fn new() -> Self {
SelectWordCount {
button: LABELS.map(|t| {
Button::with_text(t.into())
.styled(theme::button_keyboard())
.with_text_align(Alignment::Center)
}),
}
pub fn new_all() -> Self {
Self::All(ValueKeypad::new())
}
pub fn new_multishare() -> Self {
Self::Multishare(BinarySelection::new(
ButtonContent::Text("20".into()),
ButtonContent::Text("33".into()),
theme::button_keyboard(),
theme::button_keyboard(),
))
}
}
impl Component for SelectWordCount {
type Msg = SelectWordCountMsg;
fn place(&mut self, bounds: Rect) -> Rect {
match self {
SelectWordCount::All(full_selector) => full_selector.place(bounds),
SelectWordCount::Multishare(bin_selector) => bin_selector.place(bounds),
}
}
fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> {
match self {
SelectWordCount::All(full_selector) => full_selector.event(ctx, event),
SelectWordCount::Multishare(bin_selector) => {
if let Some(m) = bin_selector.event(ctx, event) {
return match m {
BinarySelectionMsg::Left => Some(SelectWordCountMsg::Selected(20)),
BinarySelectionMsg::Right => Some(SelectWordCountMsg::Selected(33)),
};
}
None
}
}
}
fn paint(&mut self) {
unimplemented!()
}
fn render<'s>(&'s self, target: &mut impl Renderer<'s>) {
match self {
SelectWordCount::All(full_selector) => full_selector.render(target),
SelectWordCount::Multishare(bin_selector) => bin_selector.render(target),
}
}
}
pub struct ValueKeypad {
button: [Button; Self::NUMBERS.len()],
keypad_area: Rect,
}
impl ValueKeypad {
const NUMBERS: [u32; 5] = [12, 18, 20, 24, 33];
const LABELS: [&'static str; 5] = ["12", "18", "20", "24", "33"];
const CELLS: [(usize, usize); 5] = [(0, 0), (0, 2), (1, 0), (1, 2), (2, 1)];
fn new() -> Self {
ValueKeypad {
button: Self::LABELS.map(|t| {
Button::with_text(t.into())
.styled(theme::button_keyboard())
.with_text_align(Alignment::Center)
}),
keypad_area: Rect::zero(),
}
}
}
impl Component for ValueKeypad {
type Msg = SelectWordCountMsg;
fn place(&mut self, bounds: Rect) -> Rect {
let n_rows: usize = 3;
let n_cols: usize = 4;
@ -43,19 +108,20 @@ impl Component for SelectWordCount {
n_rows as i16 * theme::BUTTON_HEIGHT + (n_rows as i16 - 1) * theme::BUTTON_SPACING,
);
let grid = Grid::new(bounds, n_rows, n_cols).with_spacing(theme::BUTTON_SPACING);
for (btn, (x, y)) in self.button.iter_mut().zip(CELLS) {
for (btn, (x, y)) in self.button.iter_mut().zip(Self::CELLS) {
btn.place(grid.cells(GridCellSpan {
from: (x, y),
to: (x, y + 1),
}));
}
self.keypad_area = grid.area;
bounds
}
fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> {
for (i, btn) in self.button.iter_mut().enumerate() {
if let Some(ButtonMsg::Clicked) = btn.event(ctx, event) {
return Some(SelectWordCountMsg::Selected(NUMBERS[i]));
return Some(SelectWordCountMsg::Selected(Self::NUMBERS[i]));
}
}
None
@ -71,6 +137,8 @@ impl Component for SelectWordCount {
for btn in self.button.iter() {
btn.render(target)
}
cshape::KeyboardOverlay::new(self.keypad_area).render(target);
}
}
@ -78,5 +146,16 @@ impl Component for SelectWordCount {
impl crate::trace::Trace for SelectWordCount {
fn trace(&self, t: &mut dyn crate::trace::Tracer) {
t.component("SelectWordCount");
match self {
SelectWordCount::All(full_selector) => t.child("all", full_selector),
SelectWordCount::Multishare(bin_selector) => t.child("multi-share", bin_selector),
}
}
}
#[cfg(feature = "ui_debug")]
impl crate::trace::Trace for ValueKeypad {
fn trace(&self, t: &mut dyn crate::trace::Tracer) {
t.component("ValueKeypad");
}
}

View File

@ -15,7 +15,7 @@ use crate::{
base::{DecisionBuilder as _, StateChange},
FlowMsg, FlowState, SwipeFlow,
},
layout::obj::LayoutObj,
layout::{obj::LayoutObj, util::RecoveryType},
},
};
@ -27,10 +27,6 @@ use super::super::{
theme,
};
const RECOVERY_TYPE_NORMAL: u32 = 0;
const RECOVERY_TYPE_DRY_RUN: u32 = 1;
const RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP: u32 = 2;
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum ContinueRecoveryBeforeShares {
Main,
@ -111,27 +107,24 @@ pub extern "C" fn new_continue_recovery(n_args: usize, args: *const Obj, kwargs:
impl ContinueRecoveryBeforeShares {
fn new_obj(_args: &[Obj], kwargs: &Map) -> Result<Obj, error::Error> {
let first_screen: bool = kwargs.get(Qstr::MP_QSTR_first_screen)?.try_into()?;
let recovery_type: u32 = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let text: TString = kwargs.get(Qstr::MP_QSTR_text)?.try_into()?; // #shares entered
let subtext: Option<TString> = kwargs.get(Qstr::MP_QSTR_subtext)?.try_into_option()?; // #shares remaining
let (title, cancel_btn, cancel_title, cancel_intro) =
if recovery_type == RECOVERY_TYPE_NORMAL {
(
TR::recovery__title,
TR::recovery__title_cancel_recovery,
TR::recovery__title_cancel_recovery,
TR::recovery__wanna_cancel_recovery,
)
} else {
// dry-run
(
TR::recovery__title_dry_run,
TR::recovery__cancel_dry_run,
TR::recovery__title_cancel_dry_run,
TR::recovery__wanna_cancel_dry_run,
)
};
let (title, cancel_btn, cancel_title, cancel_intro) = match recovery_type {
RecoveryType::Normal => (
TR::recovery__title,
TR::recovery__title_cancel_recovery,
TR::recovery__title_cancel_recovery,
TR::recovery__wanna_cancel_recovery,
),
_ => (
TR::recovery__title_dry_run,
TR::recovery__cancel_dry_run,
TR::recovery__title_cancel_dry_run,
TR::recovery__wanna_cancel_dry_run,
),
};
let mut pars = ParagraphVecShort::new();
let footer_instruction;

View File

@ -48,7 +48,7 @@ use crate::{
layout::{
obj::{ComponentMsgObj, LayoutObj, ATTACH_TYPE_OBJ},
result::{CANCELLED, CONFIRMED, INFO},
util::{upy_disable_animation, ConfirmBlob, PropsList},
util::{upy_disable_animation, ConfirmBlob, PropsList, RecoveryType},
},
model_mercury::{
component::{check_homescreen_format, SwipeContent},
@ -1038,10 +1038,16 @@ extern "C" fn new_show_checklist(n_args: usize, args: *const Obj, kwargs: *mut M
}
extern "C" fn new_select_word_count(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj {
let block = move |_args: &[Obj], _kwargs: &Map| {
let block = move |_args: &[Obj], kwargs: &Map| {
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let content = if matches!(recovery_type, RecoveryType::UnlockRepeatedBackup) {
SelectWordCount::new_multishare()
} else {
SelectWordCount::new_all()
};
let obj = LayoutObj::new(Frame::left_aligned(
TR::recovery__num_of_words.into(),
SelectWordCount::new(),
content,
))?;
Ok(obj.into())
};
@ -1658,8 +1664,9 @@ pub static mp_module_trezorui2: Module = obj_module! {
/// def select_word_count(
/// *,
/// recovery_type: RecoveryType,
/// ) -> LayoutObj[int | str]: # TT returns int
/// """Select mnemonic word count from (12, 18, 20, 24, 33)."""
/// ) -> LayoutObj[int | str]: # merucry returns int
/// """Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
/// For unlocking a repeated backup, select from 20 or 33."""
Qstr::MP_QSTR_select_word_count => obj_fn_kw!(0, new_select_word_count).as_obj(),
/// def show_group_share_success(

View File

@ -49,7 +49,7 @@ use crate::{
layout::{
obj::{ComponentMsgObj, LayoutObj, ATTACH_TYPE_OBJ},
result::{CANCELLED, CONFIRMED, INFO},
util::{upy_disable_animation, ConfirmBlob},
util::{upy_disable_animation, ConfirmBlob, RecoveryType},
},
model_tr::component::check_homescreen_format,
},
@ -234,9 +234,6 @@ impl ComponentMsgObj for super::component::bl_confirm::Confirm<'_> {
}
}
const RECOVERY_TYPE_DRY_RUN: u32 = 1;
const RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP: u32 = 2;
/// Function to create and call a `ButtonPage` dialog based on paginable content
/// (e.g. `Paragraphs` or `FormattedText`).
/// Has optional title (supply empty `TString` for that) and hold-to-confirm
@ -1404,7 +1401,7 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
let block = move |_args: &[Obj], kwargs: &Map| {
let description: TString = kwargs.get(Qstr::MP_QSTR_description)?.try_into()?;
let button: TString<'static> = kwargs.get(Qstr::MP_QSTR_button)?.try_into()?;
let recovery_type: u32 = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let show_info: bool = kwargs.get(Qstr::MP_QSTR_show_info)?.try_into()?;
let mut paragraphs = ParagraphVecShort::new();
@ -1422,8 +1419,8 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
}
let title = match recovery_type {
RECOVERY_TYPE_DRY_RUN => TR::recovery__title_dry_run,
RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP => TR::recovery__title_dry_run,
RecoveryType::DryRun => TR::recovery__title_dry_run,
RecoveryType::UnlockRepeatedBackup => TR::recovery__title_dry_run,
_ => TR::recovery__title,
};
@ -1439,13 +1436,19 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
}
extern "C" fn new_select_word_count(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj {
let block = |_args: &[Obj], _kwargs: &Map| {
let block = |_args: &[Obj], kwargs: &Map| {
let title: TString = TR::word_count__title.into();
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let choices: Vec<TString<'static>, 5> = ["12", "18", "20", "24", "33"]
.map(|num| num.into())
.into_iter()
.collect();
let choices: Vec<TString<'static>, 5> = {
let nums: &[&str] = if matches!(recovery_type, RecoveryType::UnlockRepeatedBackup) {
&["20", "33"]
} else {
&["12", "18", "20", "24", "33"]
};
nums.iter().map(|&num| num.into()).collect()
};
let obj = LayoutObj::new(
Frame::new(title, SimpleChoice::new(choices, false)).with_title_centered(),
@ -1985,9 +1988,10 @@ pub static mp_module_trezorui2: Module = obj_module! {
/// def select_word_count(
/// *,
/// recovery_type: RecoveryType, # unused on TR
/// ) -> LayoutObj[int | str]:
/// """Select mnemonic word count from (12, 18, 20, 24, 33)."""
/// recovery_type: RecoveryType,
/// ) -> LayoutObj[int | str]: # TR returns str
/// """Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
/// For unlocking a repeated backup, select from 20 or 33."""
Qstr::MP_QSTR_select_word_count => obj_fn_kw!(0, new_select_word_count).as_obj(),
/// def show_group_share_success(

View File

@ -7,23 +7,38 @@ use crate::ui::{
},
shape::Renderer,
};
const NUMBERS: [u32; 5] = [12, 18, 20, 24, 33];
const LABELS: [&str; 5] = ["12", "18", "20", "24", "33"];
const CELLS: [(usize, usize); 5] = [(0, 0), (0, 2), (0, 4), (1, 0), (1, 2)];
pub struct SelectWordCount {
button: [Button; NUMBERS.len()],
}
use heapless::Vec;
pub enum SelectWordCountMsg {
Selected(u32),
}
pub struct SelectWordCount {
keypad: ValueKeypad,
}
impl SelectWordCount {
pub fn new() -> Self {
SelectWordCount {
button: LABELS.map(|t| Button::with_text(t.into()).styled(theme::button_pin())),
const NUMBERS_ALL: [u32; 5] = [12, 18, 20, 24, 33];
const LABELS_ALL: [&'static str; 5] = ["12", "18", "20", "24", "33"];
const CELLS_ALL: [(usize, usize); 5] = [(0, 0), (0, 2), (0, 4), (1, 0), (1, 2)];
const NUMBERS_MULTISHARE: [u32; 2] = [20, 33];
const LABELS_MULTISHARE: [&'static str; 2] = ["20", "33"];
const CELLS_MULTISHARE: [(usize, usize); 2] = [(0, 0), (0, 2)];
pub fn new_all() -> Self {
Self {
keypad: ValueKeypad::new(&Self::NUMBERS_ALL, &Self::LABELS_ALL, &Self::CELLS_ALL),
}
}
pub fn new_multishare() -> Self {
Self {
keypad: ValueKeypad::new(
&Self::NUMBERS_MULTISHARE,
&Self::LABELS_MULTISHARE,
&Self::CELLS_MULTISHARE,
),
}
}
}
@ -31,36 +46,78 @@ impl SelectWordCount {
impl Component for SelectWordCount {
type Msg = SelectWordCountMsg;
fn place(&mut self, bounds: Rect) -> Rect {
self.keypad.place(bounds)
}
fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> {
self.keypad.event(ctx, event)
}
fn paint(&mut self) {
self.keypad.paint()
}
fn render<'s>(&'s self, target: &mut impl Renderer<'s>) {
self.keypad.render(target)
}
}
type ValueKeyPacked = (Button, u32, (usize, usize)); // (Button, number, cell)
pub struct ValueKeypad {
buttons: Vec<ValueKeyPacked, 5>,
}
impl ValueKeypad {
fn new(numbers: &[u32], labels: &[&'static str], cells: &[(usize, usize)]) -> Self {
let mut buttons = Vec::new();
for ((&number, &label), &cell) in numbers.iter().zip(labels).zip(cells).take(5) {
unwrap!(buttons.push((
Button::with_text(label.into()).styled(theme::button_pin()),
number,
cell
)));
}
Self { buttons }
}
}
impl Component for ValueKeypad {
type Msg = SelectWordCountMsg;
fn place(&mut self, bounds: Rect) -> Rect {
let (_, bounds) = bounds.split_bottom(2 * theme::BUTTON_HEIGHT + theme::BUTTON_SPACING);
let grid = Grid::new(bounds, 2, 6).with_spacing(theme::BUTTON_SPACING);
for (btn, (x, y)) in self.button.iter_mut().zip(CELLS) {
for (btn, _, (x, y)) in self.buttons.iter_mut() {
btn.place(grid.cells(GridCellSpan {
from: (x, y),
to: (x, y + 1),
from: (*x, *y),
to: (*x, *y + 1),
}));
}
bounds
}
fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option<Self::Msg> {
for (i, btn) in self.button.iter_mut().enumerate() {
for (i, (btn, _, _)) in self.buttons.iter_mut().enumerate() {
if let Some(ButtonMsg::Clicked) = btn.event(ctx, event) {
return Some(SelectWordCountMsg::Selected(NUMBERS[i]));
return Some(SelectWordCountMsg::Selected(self.buttons[i].1));
}
}
None
}
fn paint(&mut self) {
for btn in self.button.iter_mut() {
btn.paint()
for btn in self.buttons.iter_mut() {
btn.0.paint()
}
}
fn render<'s>(&'s self, target: &mut impl Renderer<'s>) {
for btn in self.button.iter() {
btn.render(target)
for btn in self.buttons.iter() {
btn.0.render(target)
}
}
}
@ -69,5 +126,13 @@ impl Component for SelectWordCount {
impl crate::trace::Trace for SelectWordCount {
fn trace(&self, t: &mut dyn crate::trace::Tracer) {
t.component("SelectWordCount");
t.child("keypad", &self.keypad);
}
}
#[cfg(feature = "ui_debug")]
impl crate::trace::Trace for ValueKeypad {
fn trace(&self, t: &mut dyn crate::trace::Tracer) {
t.component("ValueKeypad");
}
}

View File

@ -52,7 +52,7 @@ use crate::{
layout::{
obj::{ComponentMsgObj, LayoutObj, ATTACH_TYPE_OBJ},
result::{CANCELLED, CONFIRMED, INFO},
util::{upy_disable_animation, ConfirmBlob, PropsList},
util::{upy_disable_animation, ConfirmBlob, PropsList, RecoveryType},
},
model_tt::component::check_homescreen_format,
},
@ -317,9 +317,6 @@ impl ComponentMsgObj for super::component::bl_confirm::Confirm<'_> {
}
}
const RECOVERY_TYPE_DRY_RUN: u32 = 1;
const RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP: u32 = 2;
extern "C" fn new_confirm_action(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj {
let block = move |_args: &[Obj], kwargs: &Map| {
let title: TString = kwargs.get(Qstr::MP_QSTR_title)?.try_into()?;
@ -1375,7 +1372,7 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
let title: TString = kwargs.get(Qstr::MP_QSTR_title)?.try_into()?;
let description: TString = kwargs.get(Qstr::MP_QSTR_description)?.try_into()?;
let button: TString = kwargs.get(Qstr::MP_QSTR_button)?.try_into()?;
let recovery_type: u32 = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let info_button: bool = kwargs.get_or(Qstr::MP_QSTR_info_button, false)?;
let paragraphs = Paragraphs::new([
@ -1385,8 +1382,8 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
.with_spacing(theme::RECOVERY_SPACING);
let notification = match recovery_type {
RECOVERY_TYPE_DRY_RUN => TR::recovery__title_dry_run.into(),
RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP => TR::recovery__title_dry_run.into(),
RecoveryType::DryRun => TR::recovery__title_dry_run.into(),
RecoveryType::UnlockRepeatedBackup => TR::recovery__title_dry_run.into(),
_ => TR::recovery__title.into(),
};
@ -1416,10 +1413,10 @@ extern "C" fn new_confirm_recovery(n_args: usize, args: *const Obj, kwargs: *mut
extern "C" fn new_select_word_count(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj {
let block = move |_args: &[Obj], kwargs: &Map| {
let recovery_type: u32 = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let recovery_type: RecoveryType = kwargs.get(Qstr::MP_QSTR_recovery_type)?.try_into()?;
let title: TString = match recovery_type {
RECOVERY_TYPE_DRY_RUN => TR::recovery__title_dry_run.into(),
RECOVERY_TYPE_UNLOCK_REPEATED_BACKUP => TR::recovery__title_dry_run.into(),
RecoveryType::DryRun => TR::recovery__title_dry_run.into(),
RecoveryType::UnlockRepeatedBackup => TR::recovery__title_dry_run.into(),
_ => TR::recovery__title.into(),
};
@ -1428,10 +1425,16 @@ extern "C" fn new_select_word_count(n_args: usize, args: *const Obj, kwargs: *mu
TR::recovery__num_of_words,
));
let content = if matches!(recovery_type, RecoveryType::UnlockRepeatedBackup) {
SelectWordCount::new_multishare()
} else {
SelectWordCount::new_all()
};
let obj = LayoutObj::new(Frame::left_aligned(
theme::label_title(),
title,
Dialog::new(paragraphs, SelectWordCount::new()),
Dialog::new(paragraphs, content),
))?;
Ok(obj.into())
};
@ -2068,7 +2071,8 @@ pub static mp_module_trezorui2: Module = obj_module! {
/// *,
/// recovery_type: RecoveryType,
/// ) -> LayoutObj[int | str]: # TT returns int
/// """Select mnemonic word count from (12, 18, 20, 24, 33)."""
/// """Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
/// For unlocking a repeated backup, select from 20 or 33."""
Qstr::MP_QSTR_select_word_count => obj_fn_kw!(0, new_select_word_count).as_obj(),
/// def show_group_share_success(

View File

@ -460,8 +460,9 @@ def flow_continue_recovery(
def select_word_count(
*,
recovery_type: RecoveryType,
) -> LayoutObj[int | str]: # TT returns int
"""Select mnemonic word count from (12, 18, 20, 24, 33)."""
) -> LayoutObj[int | str]: # merucry returns int
"""Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
For unlocking a repeated backup, select from 20 or 33."""
# rust/src/ui/model_mercury/layout.rs
@ -1016,9 +1017,10 @@ def confirm_recovery(
# rust/src/ui/model_tr/layout.rs
def select_word_count(
*,
recovery_type: RecoveryType, # unused on TR
) -> LayoutObj[int | str]:
"""Select mnemonic word count from (12, 18, 20, 24, 33)."""
recovery_type: RecoveryType,
) -> LayoutObj[int | str]: # TR returns str
"""Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
For unlocking a repeated backup, select from 20 or 33."""
# rust/src/ui/model_tr/layout.rs
@ -1567,7 +1569,8 @@ def select_word_count(
*,
recovery_type: RecoveryType,
) -> LayoutObj[int | str]: # TT returns int
"""Select mnemonic word count from (12, 18, 20, 24, 33)."""
"""Select a mnemonic word count from the options: 12, 18, 20, 24, or 33.
For unlocking a repeated backup, select from 20 or 33."""
# rust/src/ui/model_tt/layout.rs

View File

@ -65,42 +65,63 @@ def select_number_of_words(
wait: bool = True,
unlock_repeated_backup=False,
) -> None:
if wait:
debug.wait_layout()
if debug.model in (models.T2T1,):
TR.assert_equals(debug.read_layout().text_content(), "recovery__num_of_words")
# click the number
word_option_offset = 6
word_options = (12, 18, 20, 24, 33)
index = word_option_offset + word_options.index(
num_of_words
) # raises if num of words is invalid
coords = buttons.grid34(index % 3, index // 3)
layout = debug.click(coords, wait=True)
elif debug.model in (models.T2B1,):
layout = debug.press_right(wait=True)
TR.assert_equals(layout.title(), "word_count__title")
def select_tt() -> "LayoutContent":
# click the button from ValuePad
if unlock_repeated_backup:
coords_map = {20: buttons.grid34(0, 2), 33: buttons.grid34(1, 2)}
else:
coords_map = {
12: buttons.grid34(0, 2),
18: buttons.grid34(1, 2),
20: buttons.grid34(2, 2),
24: buttons.grid34(0, 3),
33: buttons.grid34(1, 3),
}
coords = coords_map.get(num_of_words)
if coords is None:
raise ValueError("Invalid num_of_words")
return debug.click(coords, wait=True)
def select_tr() -> "LayoutContent":
# navigate to the number and confirm it
word_options = (12, 18, 20, 24, 33)
word_options = (20, 33) if unlock_repeated_backup else (12, 18, 20, 24, 33)
index = word_options.index(num_of_words)
for _ in range(index):
debug.press_right(wait=True)
layout = debug.press_middle(wait=True)
elif debug.model in (models.T3T1,):
if num_of_words == 12:
coords = buttons.grid34(0, 1)
elif num_of_words == 18:
coords = buttons.grid34(2, 1)
elif num_of_words == 20:
coords = buttons.grid34(0, 2)
elif num_of_words == 24:
coords = buttons.grid34(2, 2)
elif num_of_words == 33:
coords = buttons.grid34(1, 3)
return debug.press_middle(wait=True)
def select_mercury() -> "LayoutContent":
# click the button from ValuePad
if unlock_repeated_backup:
coords_map = {20: buttons.MERCURY_NO, 33: buttons.MERCURY_YES}
else:
coords_map = {
12: buttons.grid34(0, 1),
18: buttons.grid34(2, 1),
20: buttons.grid34(0, 2),
24: buttons.grid34(2, 2),
33: buttons.grid34(1, 3),
}
coords = coords_map.get(num_of_words)
if coords is None:
raise ValueError("Invalid num_of_words")
layout = debug.click(coords, wait=True)
return debug.click(coords, wait=True)
if wait:
debug.wait_layout()
if debug.model in (models.T2T1,):
TR.assert_equals(debug.read_layout().text_content(), "recovery__num_of_words")
layout = select_tt()
elif debug.model in (
models.T2B1,
models.T3B1,
):
layout = debug.press_right(wait=True)
TR.assert_equals(layout.title(), "word_count__title")
layout = select_tr()
elif debug.model in (models.T3T1,):
layout = select_mercury()
else:
raise ValueError("Unknown model")

View File

@ -757,7 +757,7 @@
"T2B1_cs_test_recovery.py::test_recovery_bip39": "986b3645dbaaebc733e0aaf2c129b986a4cc573248e6a7ba7096d03d364b92cc",
"T2B1_cs_test_recovery.py::test_recovery_bip39_previous_word": "76c051617b6212b5f53f676c29d55fd0852218edaff74017cda4ff3e791082cd",
"T2B1_cs_test_recovery.py::test_recovery_slip39_basic": "f4b42fd8aa1d0c1d06f52a903a26c244039c4f2c3aa3d577266d0a9acfbfbaf8",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup": "92d8193ef1b311c1dc4ebde518d47e541ccc6da2c59fd2e17794a8dc52de6c6d",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup": "e2624137c4885a5a5dbda6ea4cca36c5025e03313854029c183dd41229e6dc5e",
"T2B1_cs_test_reset_bip39.py::test_reset_bip39": "fa1f66ecb995b4152fd0cc4e4670cfc0f2b5a6c632a2645d1f3d01c05f7a037e",
"T2B1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "0ca14e255f36cb736fcb3d90024fb2c00e346313dcac2d9e20c379368e60d4a9",
"T2B1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "2157c3b2777af219ee4cf1358a15b6aa0a9a1bf629d4bff0586d2848344a2baa",
@ -803,7 +803,7 @@
"T2B1_de_test_recovery.py::test_recovery_bip39": "658711dfc1780e026b9ce4057dbdf04fb969ee84bf5f35bf172c93a59133e7d7",
"T2B1_de_test_recovery.py::test_recovery_bip39_previous_word": "ceae77d5d1da1916c1072cd2c2e18dccfe5e97c9b05225dd1f09dcb0617b1bde",
"T2B1_de_test_recovery.py::test_recovery_slip39_basic": "e3dbc1a321425e9051712967d00f7b685d571b066f0b4d88c6face859b8044d6",
"T2B1_de_test_repeated_backup.py::test_repeated_backup": "2965aa84918242f250520d48a233bd0ba6ac71c2bb7653929733d152f7312349",
"T2B1_de_test_repeated_backup.py::test_repeated_backup": "350148ddc405a699fc8e0a89f1554838796177cb77436e9e808422175e350cf2",
"T2B1_de_test_reset_bip39.py::test_reset_bip39": "75c87592c3a77f3bd9df77e415cb8e7652ea686789968d4090254f7f53a90e61",
"T2B1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "699f62c2f6477b0fe504ace63132269cf07c1a0687a005e22b2719830fa57d72",
"T2B1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "f48eebda84373ac7ae9a9f047cd12aeb8daae65c239f6434b72df378f44c501b",
@ -851,7 +851,7 @@
"T2B1_en_test_recovery.py::test_recovery_bip39": "96b513e7c2044b4ee00a922e5e3d746c9008f116881ba328fbfecfb479835b10",
"T2B1_en_test_recovery.py::test_recovery_bip39_previous_word": "e4e8a7fbcb779d36491d08ae03cc7105b5f956ff2679f2621db427a7a3056cbf",
"T2B1_en_test_recovery.py::test_recovery_slip39_basic": "0156d5bb87a8a38deac15a51d100ddfb3ed0bec3c5d683fa54862f391e43a7a1",
"T2B1_en_test_repeated_backup.py::test_repeated_backup": "2f9f45a81d516df73bcf65716ec78b1566a7c78899da25e01239c9c73691d7bb",
"T2B1_en_test_repeated_backup.py::test_repeated_backup": "d507d5785935faf4b2798b5540cc57c668554bb7543463240e289fcd0b7b77e3",
"T2B1_en_test_reset_bip39.py::test_reset_bip39": "2ed2a2957c618130654925f9b6c3ef0ef4c9281dd5fd96b0c3859da8a0b759e5",
"T2B1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "ff7a9903ed4c88f8b784de9eee6aca82a6604e7750f035de91f6c8e0f9e64cfd",
"T2B1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "9a9d78e8f7730dad9dae7dce628239a1e983a7770afb313b2d0edf78c4255c1c",
@ -897,7 +897,7 @@
"T2B1_es_test_recovery.py::test_recovery_bip39": "d6428d52286874bd35e8b5581bae4dee184d4b2563f7065064c637d2f3e18426",
"T2B1_es_test_recovery.py::test_recovery_bip39_previous_word": "b6f0df37e7f59b65a78641ed2d464238fe408709c7d6d8e29c268f61b443dbca",
"T2B1_es_test_recovery.py::test_recovery_slip39_basic": "1878e6255b3eb3797fcf568e62ae415b021fc046ca59071906aae50c214039d3",
"T2B1_es_test_repeated_backup.py::test_repeated_backup": "1be678e94f2da89ecee7a3810ce3b4881cd74fec22eee9466c61b2c571784e5d",
"T2B1_es_test_repeated_backup.py::test_repeated_backup": "44445f4dc5b91dd3f073a1f7b17c1d8bd2c7ddc7d949849ba83b53413e0d80b6",
"T2B1_es_test_reset_bip39.py::test_reset_bip39": "8731fd3a8c11ae495533954daed17869c20ebbd8894fca2ab60df65d5d527451",
"T2B1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "faa00c96fe873ca23bced4e1eda899d18d3e1a7838351bdd0f913a961f03c8dd",
"T2B1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "8d4d9fab34aae28efbb9064c7f6e238d9dda67281f4d605e559142bda39b21d6",
@ -943,7 +943,7 @@
"T2B1_fr_test_recovery.py::test_recovery_bip39": "a5170bb705000dda24f7e9106298c829c3cb389b4b5f5307e4d3bd4789417f3f",
"T2B1_fr_test_recovery.py::test_recovery_bip39_previous_word": "d996fac24e730456a2c860f22b60f5d469476066d39741171f0b1fdb91e3b168",
"T2B1_fr_test_recovery.py::test_recovery_slip39_basic": "82af3fea0b8bb00eb27e8c7f001fb1acdf211a2a4908ee681a4245fb80f333b1",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup": "81fc606b3cd21d9f4081c04ead25aba8f5670c764f6099a58978fe05b8cef87a",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup": "e6b8b0c99b90b4f436d58c3fc29ec772c51e7bfc9bd43bb3e328d7d1f0c44c65",
"T2B1_fr_test_reset_bip39.py::test_reset_bip39": "d52b12d3857e40aa36df40447bcc65c07e9aa11eb33a172d265df8149b0868dc",
"T2B1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "3eda1d5af4e53c8982e06dcb9c84b5e3f3bc6aea4b4e3f90db189fc3d464155d",
"T2B1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "f96d564a0550ec845f78de7d90b48728b142daa2071d6dc9fdb06edef0c8b219",
@ -2265,10 +2265,10 @@
"T2B1_cs_test_protection_levels.py::test_unlocked": "5d5cc20901d361b4957aea0e4c44a630db7ab8d7de0dfac4bc9058ecf26b6fee",
"T2B1_cs_test_protection_levels.py::test_verify_message_t2": "5139e2170feab7f553d3128ac0e03582c4d1417c6752408d1637595ae3bcc81f",
"T2B1_cs_test_protection_levels.py::test_wipe_device": "a22ffe67f254e33437a3465b85546622ac1c01430eb598065f0fca6e8d4fa530",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup": "cefed0c8e56a59812d88f5604ad46379ad13b2f2f16e4b135c92d70c3b18bd68",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "61c26e7fd7f212dd781b21afde9bf08566d43cf7189a9fae49be1b0bf8a6a0d2",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "a4d8b45720afa77c78e365e34ee726a2e9ca88555e30b6cdd98d8e150f2516bc",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "d4cbf5834c82d85b997b26eabdbc26460ec845dca5633bf2a683fa8c0cd3341a",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup": "a0b6efe247c1aa3540b496c44a781f766b962bd0c6ff5da1d6dab212be510458",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "7660e1cff4bbb8e82c9f622b7e97fec8d4cfca69fbcc3991588071add5f43d7b",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "be5676d3668901a2b9db08845bbc3e3c81b7c5cd3f04818444c78bd6d70b315a",
"T2B1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "1c091fef79888c1c4b7f03c7497c9a12d1267b0725a06eb5274466b0fe64877f",
"T2B1_cs_test_session.py::test_cannot_resume_ended_session": "9693b9b07c3ff5108d3d30096ff1ce9988f22465fb85eac2ab68f6ef62ddc995",
"T2B1_cs_test_session.py::test_clear_session": "dd3da407a5324351fa6cf3a7e52b234671d47202c07867cc8fd00fefa9ed33be",
"T2B1_cs_test_session.py::test_derive_cardano_empty_session": "9693b9b07c3ff5108d3d30096ff1ce9988f22465fb85eac2ab68f6ef62ddc995",
@ -3629,10 +3629,10 @@
"T2B1_de_test_protection_levels.py::test_unlocked": "c37426e06d6301c72c1f2110ea040b92ca1eb5190055696d14be2730fea13013",
"T2B1_de_test_protection_levels.py::test_verify_message_t2": "ed21d6e6e9faf5746a845dd7e506b0f8cb1a854bf279adf0c8e1f0101cbf3554",
"T2B1_de_test_protection_levels.py::test_wipe_device": "a9a44ce394801cbd06c6f4394fc0fb2e32bbcee9e165168f475c7317987d926f",
"T2B1_de_test_repeated_backup.py::test_repeated_backup": "ab53bcee65220ff380eca54f99ebdaf2619af3f1b8061ae5b3c2008ce00dac62",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_cancel": "4836c674b8992e65f8aff0ffd7c193dcd3d1c5281fd769adc724587416da6fa2",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "6eeb94829e05211f2ab5a6ac56111afefd1772848b7b588c61c08648d8eb9f9d",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "adb22bb54fc2ba127e6f32f7e75541b85af3babe23155ba7c7df9d35f32861fa",
"T2B1_de_test_repeated_backup.py::test_repeated_backup": "71c4da86452ebb39b78d71c91bf370d940952685274e11f1fd7eacc1f03dc2ef",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_cancel": "0dbed525a45f2acea9dfafaa309846e6dc71ac4a0513a670b0ac8ca08b21604c",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "87ec74e08e032076e43531238118e7eed8a24102dd8193825afd5e47c16a1949",
"T2B1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "38f9dfddd8852ca784f0327efae83b1d0bbfbe19d933838ef020c3880116fb68",
"T2B1_de_test_session.py::test_cannot_resume_ended_session": "9bdb526d0b64a91e862ec4ba7ced36adf20382a193c8f0c5788a70564aeac23a",
"T2B1_de_test_session.py::test_clear_session": "3063aa83a1e4c5de6b8e69367809eb1f05863068856dcceeec4ad9410b5c798f",
"T2B1_de_test_session.py::test_derive_cardano_empty_session": "9bdb526d0b64a91e862ec4ba7ced36adf20382a193c8f0c5788a70564aeac23a",
@ -4993,10 +4993,10 @@
"T2B1_en_test_protection_levels.py::test_unlocked": "95cba1775050d4d6bf7dc3417eb05f814147d930667feda07f65c22e0c528499",
"T2B1_en_test_protection_levels.py::test_verify_message_t2": "4f225a4839c5d31e527c34a4af320e6ac1cb611ede3018bc0effe14eb43a72b5",
"T2B1_en_test_protection_levels.py::test_wipe_device": "ea9872538ce4f61462eeac4880f9635eebc2bf9220c54ec3e210b773cda55440",
"T2B1_en_test_repeated_backup.py::test_repeated_backup": "c3836c45134044d56255ad14ae1d0c980e7a5ce422b6fea3065f4c20f24fecc5",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_cancel": "9352d7ddb859cddae1917b781a9766890a4eca74d21e21068b3c356563842577",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "dccd21b7361c560ea159b30396567b208437d7d9a5bde0fa559f4631288252de",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "91ccbd13e8f5a928243d93dd8fc4b1c535b900f219d981f6b6a68dec9f861ff7",
"T2B1_en_test_repeated_backup.py::test_repeated_backup": "feee62e02f5679f28fa928382122fdc2814d7941f101d7841243dce0cdf178ae",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_cancel": "da5218f7195e6e1cab7b95a2a2465e60978bd4d1140e7f8d3d7b814b44c04043",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "1bbda0ea8a6bc5bf77f77682d35ec8f0d125eb5e7217d7eb527b5f04db5f6b5a",
"T2B1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "f3ecf16e519cd36d585486f388166361fcf5040802ce64da5895cd55c4bb7a35",
"T2B1_en_test_session.py::test_cannot_resume_ended_session": "8c801bd0142e5c1ad4aad50b34c7debb1b8f17a2e0a87eb7f95531b9fd15e095",
"T2B1_en_test_session.py::test_clear_session": "779c42d2d2c288f8486356395b9bc204fa0ff773f723c6caf4066126e38e531f",
"T2B1_en_test_session.py::test_derive_cardano_empty_session": "8c801bd0142e5c1ad4aad50b34c7debb1b8f17a2e0a87eb7f95531b9fd15e095",
@ -6357,10 +6357,10 @@
"T2B1_es_test_protection_levels.py::test_unlocked": "85cbf192ba305b14f491ebad97b6fe0b63990d473d520a8035efa5089ced1921",
"T2B1_es_test_protection_levels.py::test_verify_message_t2": "5a4bdaee180485d9e08ee5fdb0f5d5317e3d0df6601e1b5f30561f957b9a50eb",
"T2B1_es_test_protection_levels.py::test_wipe_device": "a11c4318f3eca399c953ef595ac7fc81b5e4aee4845765a9f103796d8bb74926",
"T2B1_es_test_repeated_backup.py::test_repeated_backup": "4a6546707f8a41d371787f9b24e8795e5163db29db94ae7cf041d6b44ab1cca3",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_cancel": "0a32bb4735a4dc91f7f0dde82b90d3ee638a4e09e123ce56d1a3d29a997cfa39",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "6d5ea29095c545051660f16572ee99c90858fe929b2e2603767fec79344a920f",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "55663e2a46c14f682c5e5a893c5526cd0fb4a645d8bc484ef6aa68a51ea7abb3",
"T2B1_es_test_repeated_backup.py::test_repeated_backup": "9b0ebafe8e17c11dbb24bdf95dc230f6ef9c5be29e178f93e8d5061b460db046",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_cancel": "ec41b85ade2fba738b810b1b3a35e812fdd645f9266c3fcb7191ef803ca02ea8",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "8a8ed93312503227b580368870d575b47af570cba5b1e3a71d63c9f6e7e91bee",
"T2B1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "8b3b91c5f21c4814398ea5b0f16be2fd35a57036730c17a441b18241dbfd114c",
"T2B1_es_test_session.py::test_cannot_resume_ended_session": "5e88affdb4b3898af738bfabb224b94e674c0d5b8bd6ea4f73a601c972f5858c",
"T2B1_es_test_session.py::test_clear_session": "6fbffc0958c6514ea65c5ce81ecf2cdc5f2ac8965aa68d8584d5ab30a93d7b82",
"T2B1_es_test_session.py::test_derive_cardano_empty_session": "5e88affdb4b3898af738bfabb224b94e674c0d5b8bd6ea4f73a601c972f5858c",
@ -7721,10 +7721,10 @@
"T2B1_fr_test_protection_levels.py::test_unlocked": "7f59e3db07b56dd4ad8f18954d9ff157ca544e1b94b00be1b55aedd5f9805d89",
"T2B1_fr_test_protection_levels.py::test_verify_message_t2": "651a5f37e406cbd5f4751d16a4d430d2a8fd3d3b222f3e27695342ed03dc9182",
"T2B1_fr_test_protection_levels.py::test_wipe_device": "012fe61fb16333d582486d7f30349df6c5f902f50830d9f5995f1dc88e23b124",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup": "3f582035d0aa130a00212c26a4166980750c33490980b7aee93fa8794066c9a8",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "9611c82053799095ab589e03ed1fd658b50ba4a252013b4a81143c3b5a6da33a",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "36252557b9c53e47246fb3d0995eb8afff80d88ebaea4a3a1429e607412e9f17",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "b35674d97b30c15b0a87dcb91f11ca52e15d4e9788687d6df3a8e9a309c04d32",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup": "2dd056735372c5f1351629daa6731151de9cfc67b38e96f561383fff147e9f7a",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "e813c44112061d58db3150a9333047a76a9948517236235999768b5e8a3683d4",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "fc7d74fab127f02de7e3ab97dcae5d7b3670635bc0bf515c0e70a435d3814097",
"T2B1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "31096ae6b628c0fe0f35c58c7c01abedf153ae1e6c0051ffb8f32597e0438a1b",
"T2B1_fr_test_session.py::test_cannot_resume_ended_session": "3bbca7f9b0cc44dd18b1fb71d34dec0542b8ac69e022cf4cd1f2792a41b4fb20",
"T2B1_fr_test_session.py::test_clear_session": "9aca31bd4e8408f98819944f81951eed96dec078fe5ce7d10269f922faf984f9",
"T2B1_fr_test_session.py::test_derive_cardano_empty_session": "3bbca7f9b0cc44dd18b1fb71d34dec0542b8ac69e022cf4cd1f2792a41b4fb20",
@ -7821,7 +7821,7 @@
"T2T1_cs_test_recovery.py::test_recovery_bip39": "f2166fb9da2954b3ba3d45a8387ea2f54fbc5ba368dc8a3bae052605da85422e",
"T2T1_cs_test_recovery.py::test_recovery_bip39_previous_word": "9090fb71903ebf09d2f355eca6148089234c968663a6fbc7ef8b3da83cb68d10",
"T2T1_cs_test_recovery.py::test_recovery_slip39_basic": "2fd13d2bfec6a17af56fff6e74298a1d22eccc162382909741c4f3153887cee2",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup": "f0ddd5bcceb74cec9cc7c399d557c40cbc01037ec692e78690624a68df5c8564",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup": "ad53f4d869a6a9cea833fcea372ad3d257ebc14b2509e4aee8df8e7cf4d9b190",
"T2T1_cs_test_reset_bip39.py::test_reset_bip39": "5674d27b155c782f45f5a3f5c6cb8b23f581b2346372cec20b3e36e7e944521e",
"T2T1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "bd5e78258e3530b21730dc2a5ca021ebe3a0879bb7fdae9819f43e14b2985c40",
"T2T1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "5e459400560e5e8e7917639366757bad7adfa7627874bcf3f531925e643043d1",
@ -7870,7 +7870,7 @@
"T2T1_de_test_recovery.py::test_recovery_bip39": "8eb3c0dfe5209acd644ab4d95e24852f2056adae2d023b25ce6c2de74638a099",
"T2T1_de_test_recovery.py::test_recovery_bip39_previous_word": "8d67f14a44e211a22189fc96947f9ea6aae558162076757fa26f8c55477dad5b",
"T2T1_de_test_recovery.py::test_recovery_slip39_basic": "2fabf58b8ebca83403c9d6a361009116c6d25791c489af35c87d03c5a9093442",
"T2T1_de_test_repeated_backup.py::test_repeated_backup": "448e6cb792f1f2081e83accea479ff910023df654bbb00f4186674d8934b300c",
"T2T1_de_test_repeated_backup.py::test_repeated_backup": "488f2fc153b1fa8d897782f4f645a6b45a1505b70de97e35bad0f9b289a89d26",
"T2T1_de_test_reset_bip39.py::test_reset_bip39": "2c19504e49aefdf5c54d157b618763cf366f0a18cb1b488938d6ee7f0d6a78bf",
"T2T1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "2cbf4015d5c53c9703adbe8f1c0bf0c6ae2b35745a5f44b78a34a141d2738b44",
"T2T1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "431af5b02a95639be50c28c7788bc1d854a0972cf09675286104ab2518e635ff",
@ -7919,7 +7919,7 @@
"T2T1_en_test_recovery.py::test_recovery_bip39": "0246dc05c08fc0f59685314448ac43bbd95599d85b252abc31d258d435a98dec",
"T2T1_en_test_recovery.py::test_recovery_bip39_previous_word": "db9efe6d9c0e6e61dfa028e93f5eda6f9257cb8be5e1d1f36ac71e4f328f8355",
"T2T1_en_test_recovery.py::test_recovery_slip39_basic": "186037afb1c137cba14536c50f3ba854a10c289aa9792df59847e385671d5221",
"T2T1_en_test_repeated_backup.py::test_repeated_backup": "9d24a9538f3e10de96f5115db283813eccf6a5c471d9e9997a93c8a8b359b6c6",
"T2T1_en_test_repeated_backup.py::test_repeated_backup": "23dfe62956199c456e7d765670c3ed1dd4b326670b438a4f324850839f87f4c4",
"T2T1_en_test_reset_bip39.py::test_reset_bip39": "05255b352fde7646a698b74808b3de04350353ad7d8f7b2568a14967956c8bc8",
"T2T1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "46e964c0d9a2530a156ae7e72265a917d55931cd4fd0e1087e48a49b3f100375",
"T2T1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "fcf15ef196fde1120248e0b16a8f2d464f5f539a5c7529f80a8a855e2721f107",
@ -7968,7 +7968,7 @@
"T2T1_es_test_recovery.py::test_recovery_bip39": "9cefbfa32e60aa0e9fc3f0ecdecb15bdd1a42ca90437629e3800f48a873ade71",
"T2T1_es_test_recovery.py::test_recovery_bip39_previous_word": "531bf101fe9f9d80a702816f490dea8dc5bf2f179460721f2a9d28322c153ec7",
"T2T1_es_test_recovery.py::test_recovery_slip39_basic": "3078b430c266dfc210f8f5e6a0b3f65659036354851c311769da3565c70039c2",
"T2T1_es_test_repeated_backup.py::test_repeated_backup": "d94bd04bfbc22fda7951e5f0e05e9978099412409db1c7ab01583ad83ad94275",
"T2T1_es_test_repeated_backup.py::test_repeated_backup": "06cccc616ce9e080c58cec05c2abdd9a07b9c6f5308fbf2e261391d1ca4a038b",
"T2T1_es_test_reset_bip39.py::test_reset_bip39": "2707d73e704b5dd08ac93498aa4cd578be2694c87f3987f5b1332352a7b49e42",
"T2T1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "cca940a1d92e19585b70f921d41dcbdb2b9559cf82612c4cc18ace2386cbd11c",
"T2T1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "1eae37cc70471fcf46f49dc3b3324618c76ab9778bc8f1f2edec0c483505ebe4",
@ -8017,7 +8017,7 @@
"T2T1_fr_test_recovery.py::test_recovery_bip39": "f59eb22db3a6b211b3dfca235479c21871138c2d3b0b771d69ec63cad3d804fb",
"T2T1_fr_test_recovery.py::test_recovery_bip39_previous_word": "299c2e3e7647113d7711c1c61e5f14bbb7abe7f3992b83e5ab6bed7306e5d316",
"T2T1_fr_test_recovery.py::test_recovery_slip39_basic": "da87f2762c9713ad50993f6862bb34da82f4f5dc4e8a2696f2956dd3e0abceda",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup": "9a280efe2de3c20a7332adca64a4d40bb009bce8dd70421f9be01970901703e9",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup": "bf82b45a4fb648a29802de9d9df3c0f4215f3bf4444d8136a9ffbfe3b010b69b",
"T2T1_fr_test_reset_bip39.py::test_reset_bip39": "c1bcf2768d4ac54af417ad7468ba40c13c16c80cdfcf24d455e96199043dfb6d",
"T2T1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "c2cbedf1d60c5945d8c2500010137e8d29ccfc40f9be7a860f6c9d6d0933bc70",
"T2T1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "ad49d9bb88c4b720471ee7c7d01c93f1000fac1d9c1c4395bd543dcea9f83e4a",
@ -9413,10 +9413,10 @@
"T2T1_cs_test_protection_levels.py::test_unlocked": "b26429bc0d7a5e1356f97b7c577eb1df0dd6af527ab445f4e08bf79cdb654ab7",
"T2T1_cs_test_protection_levels.py::test_verify_message_t2": "8c40df7255a897dc11da0ddcaa5c74a5e24e1d53fa92874d3bd7ed24938bce54",
"T2T1_cs_test_protection_levels.py::test_wipe_device": "1b1e26b8af57813dfb5fb69a44ee9473c0471430ef69616fd46a908991704209",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup": "50e5a98d3c7b9bffcb60153c241fc4c90d51c113ec04dd9cf3e2e61ed8b745e3",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "0a2486beab2317d2c2ad317d33d803301af2e5efc16ff6a63061a922e8070a51",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "e991c45da9878e6a1d4d78d73cd1e6b1bce34581826cb1769921385886ac698b",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "d6ee4f8c0829daf0ef04bfa055160ae27bf691d1f5fbf138706c6ff2585e17f5",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup": "78090f695f044002f57fec5f0446613ee39ad948652961ce9cbd1a9ca8345160",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "597b790619de662770acbbe05366245fb4798728869c2d70bc020b3ce7c792f5",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "b0c153a68202fd491bad0f37220327cb4e64af2c15379a1d4a9333c9a81493dd",
"T2T1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "aa859432b693c76c744a78ef6fe10500a4e7b491c4a4d955798a2e369f3fc0b0",
"T2T1_cs_test_sdcard.py::test_sd_format": "589bc39a9dfdc478d92fbe118e7df14f24a3456965e5cf8a40210d198d2cb6e6",
"T2T1_cs_test_sdcard.py::test_sd_no_format": "3ba9a245bd44511b17d97932de2143ddd9ac0e2b63dd5f573a82779990c446fc",
"T2T1_cs_test_sdcard.py::test_sd_protect_unlock": "02cd293e8d502f3354cf35a222b8b7b5eb3a9c10cc41f631772215d8acd6e313",
@ -10857,10 +10857,10 @@
"T2T1_de_test_protection_levels.py::test_unlocked": "6cf68efc83e357e1dcc04b35afbdabb677a4db2062b02dcee205ebdcf3d4bcf5",
"T2T1_de_test_protection_levels.py::test_verify_message_t2": "38633ab6b696c42571ee1fc78bda65b4fa8bfacaa4f780bfcd59b9199a32df36",
"T2T1_de_test_protection_levels.py::test_wipe_device": "f5e7ac6eb69be6988971f5f01038f5bee01f8c320a5ee344277c465ec82c77d8",
"T2T1_de_test_repeated_backup.py::test_repeated_backup": "db003c214a5c904b5a528f4b1339999f620e30f52a16e92c41698ec2183b9cc6",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_cancel": "7ac417a8027f47010e620b97cf92e99642a1e6715964e4f99add410911aaf58f",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "cfa94e9a80f9bdd5f416dd0084df6809e0c95e81b591f186a48bbac7ca17fd78",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "2d46cb617a2c6724d8930ac84af6f95bf336c5aecfe5cf619abdff7202d946c9",
"T2T1_de_test_repeated_backup.py::test_repeated_backup": "aa421a9e0a71eb894c7cf9d6b1d22650c6344fcfd4c6cd0af34c5f30ef6e5384",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_cancel": "e863e59c5068bce7ef8dcd336b4995c02cda44eb8ddc4b9f75fe11fad1f2f204",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "80ec5b23748a5d0bce0bb6b5308e72973b234ba360b9e8815f4973868c8c0310",
"T2T1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "252033a809b0a3930f3b3873f8d0f9cd14cca717dc2c3908868b1eaeca1aed13",
"T2T1_de_test_sdcard.py::test_sd_format": "90df1a6177d74d3bb27e235f9142f7523c4978b2a45c339e319c5aadc4bc330a",
"T2T1_de_test_sdcard.py::test_sd_no_format": "3d0bc9d38a1d1ad8eba878d6ed1038eb8ba78e74a6e3385b65ea29f07794ea22",
"T2T1_de_test_sdcard.py::test_sd_protect_unlock": "c7d60b81900d00d13bae9dc5d8c51751816326a114fc6df5fcf8cfe706476d20",
@ -12301,10 +12301,10 @@
"T2T1_en_test_protection_levels.py::test_unlocked": "ab65da2ea346b0f54de6b527d06b3b5b84b106af7c8a520ac7816141ecedf220",
"T2T1_en_test_protection_levels.py::test_verify_message_t2": "df42b13fa758144fb18f66704fa0e43d61722dedc954be3394b1e29f67f103b1",
"T2T1_en_test_protection_levels.py::test_wipe_device": "96fa9b5cd96c7172c60f8e991c5afa4f8caf911561be11b32a10c1f0a984d704",
"T2T1_en_test_repeated_backup.py::test_repeated_backup": "10bafd2c400e291a33cb1b234acae4885fdf4e9619fbf1411d0270e530f31854",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_cancel": "421f1c311a3aa522d97178cb771bfb17c5746a8434cb85914f7244fc7a7e614c",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "a1a84c031fbdae140735699cee7305f603cc447e7157e6e32bc4f665bd951b2c",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "b9c6fef7822f8aff7a42e2c9631e9722c9dd4d6af3e681e6d60b80e690a3882e",
"T2T1_en_test_repeated_backup.py::test_repeated_backup": "3f1d0d71b808d6b19ec09a145a471ae867b2b4e8713b1e63d0e1bb94f594d863",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_cancel": "3c06f80595f7a4ef2c9bd4b0f9d9e31f35664d0b169aed7aac2dc4401e3962ba",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "6e8132c2c884109d42142241f516b1110c369a1942712b56f009c38e85368168",
"T2T1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "322f57edbd335bb2b75f47d6fc2102a3596a505edd47277e1024b06792aee39e",
"T2T1_en_test_sdcard.py::test_sd_format": "88e466d3626b9863f8fe1da739e8552541ab4610016478d496cd7e4440ee9e55",
"T2T1_en_test_sdcard.py::test_sd_no_format": "14511e3d3ee535d97287d8ade25101e8c16db17c1dc5d3151b91e5e8eba61ba5",
"T2T1_en_test_sdcard.py::test_sd_protect_unlock": "bee2b8b705eed3ad0cecf1d79f97dedf9b5c28929b9121659ae660c959a27ec3",
@ -13763,10 +13763,10 @@
"T2T1_es_test_protection_levels.py::test_unlocked": "e7c8ed3c1bb4f3beb20b7d6fa396bab7136830a4608a2940067edc7fb42bb10f",
"T2T1_es_test_protection_levels.py::test_verify_message_t2": "9e6f782063e9ad8000aca54256a9d33e95df623735ff8c4a05cad352f816d766",
"T2T1_es_test_protection_levels.py::test_wipe_device": "37eb71e1c71e2d6511ed41f0276dcbd964bd9e85fa2d2ab627e306eccc243853",
"T2T1_es_test_repeated_backup.py::test_repeated_backup": "20976c80742ed7056323dfe8d8db04d6fbb9dc45bb848fc01114b9166d06bd41",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_cancel": "a15d4acfd9782a1c43471292e9658b51b6921bbdbf3905b58539d5fc27f530df",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "f0464acd8704ab703483e2f370520c7a2e79208562902d34fa7b4463f5b70efc",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "67492dd57cb547c9988e528b5bd03d0a7833535c6834e4c34cf6d2f550bb8e9a",
"T2T1_es_test_repeated_backup.py::test_repeated_backup": "d872af5f197a3c1e8f5203a0f3fabddfcdc5d7f2c0a0c4748d09c987fd614c54",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_cancel": "346b66969cf24b00b7f0f0d00d8226307df939537fb3e8c6049b7aa1b5f0f7e6",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "ba09556514bd3285fd8565d027ca1870e4009843bfc4a49b19056158adb6a36f",
"T2T1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "2237229a0a623bd2d9b5bf840cddc22379d0b1a1e18c98a5766c7dcf5da8db55",
"T2T1_es_test_sdcard.py::test_sd_format": "c04913d3290b82ff60f8c7303c94f6f015142489b3b0c0f719bce8d01e7e31bd",
"T2T1_es_test_sdcard.py::test_sd_no_format": "307242047f19b261c47bbb5a7c2813fac42420a064ae97c8b05de27f746a9b7f",
"T2T1_es_test_sdcard.py::test_sd_protect_unlock": "6318330ebb141e486a46e2399f39cef35775c8dfaa37bf14e6848b2a6a4fe030",
@ -15207,10 +15207,10 @@
"T2T1_fr_test_protection_levels.py::test_unlocked": "d790632d2fbdb9d39484953f8c35cb1cb27609c8bf745c14b88449da9b84b734",
"T2T1_fr_test_protection_levels.py::test_verify_message_t2": "a207a1b801df070ecf7e05a790958f0dba2a77a447238ced39c5f3ff8ca04998",
"T2T1_fr_test_protection_levels.py::test_wipe_device": "9703f5d61609675156a2acf09414ff23bb2eba18b94942bbddb50397f7c57050",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup": "85a60c26d35d293b9010ee8367d16e8424cbe934c13eb3285d00c14b576f0fb2",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "fd1df231056175632804a5c54ba41b963b5a16a69e9e268aca0029f7d2debb47",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "ba29d13b736a17081847c3f11fb30ae9a7d3c2cf69def8825e522f60e4d21f4b",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "f4f1f50273a878ac439eb704f07bda6d4dca006c74c33a76bb12c511246e4956",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup": "78ee19e195b874973c5f8180e71f6e63bb69610f8b395f41215346a8940dfad1",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "dfd554435e400f508ccb06b0a54e84cee26bd33fbef81f586869027c064b403f",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "947a181d9056fa5a51b7d9ae2ddab54a8c426162b8abfe1b932de041348f9608",
"T2T1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "92c0cbdd553b90033da6eeef1909f82d8d3e0be4e7937247181c7a4108421cb3",
"T2T1_fr_test_sdcard.py::test_sd_format": "844e3271ac6ddf52ce0d38ab2a081ec3b9871f3e5afc80ea420d167ca9b69145",
"T2T1_fr_test_sdcard.py::test_sd_no_format": "28930db57ccfe8bd016be50b62fe6ff6ec0f22e6a0258e772a18135c948827b6",
"T2T1_fr_test_sdcard.py::test_sd_protect_unlock": "84a1aede2a48386c5e83988ff158586cf5d14418f7a090f8edbde461cb3af9da",
@ -15282,9 +15282,9 @@
"T3T1_cs_test_autolock.py::test_autolock_interrupts_passphrase": "aa7e12d0fc686046e24460dd1e025540c910427b7efda5f7730baeda6a1605fa",
"T3T1_cs_test_autolock.py::test_autolock_interrupts_signing": "43293b55a181cc8f65a4b5252909a0a46582ae9db33686bc24e8e34760490a0b",
"T3T1_cs_test_autolock.py::test_autolock_passphrase_keyboard": "41ecf1502524f1ea58f60bd6bcb41783262b1e95dbbc74768817725212a1878f",
"T3T1_cs_test_autolock.py::test_dryrun_enter_word_slowly": "dedee62f34cb9fb82b76b57229afdeb633cad520ee417f8379ed40728aa48ddd",
"T3T1_cs_test_autolock.py::test_dryrun_locks_at_number_of_words": "662fdecae7643270921e0c96105ad326d5421693d0f92471494f4af31a31e751",
"T3T1_cs_test_autolock.py::test_dryrun_locks_at_word_entry": "6b09e1ad5594138a7f01ef8f1e89adbc3b52e112421eb295e296dde22e7e0bfb",
"T3T1_cs_test_autolock.py::test_dryrun_enter_word_slowly": "7cff83e81c85e72e532b89891db91915987df5801c0b6a7198c559bca049eff3",
"T3T1_cs_test_autolock.py::test_dryrun_locks_at_number_of_words": "b97dce7803bd5fe63d5c283b86ca2200bc9b9877aef3f78718fc7835089b56f8",
"T3T1_cs_test_autolock.py::test_dryrun_locks_at_word_entry": "a9285840118c65ef6e2db200c3198970ed810aff0eaf5f6ad3d647ba72af9f09",
"T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "3727ab4838230367640d950c272e18bc14e2c63fcb0f8d5528d3b2f739ac3c69",
"T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "1e326613e4c4d7c71475d27fd5358c89289132980c884f531cf2860a05c4abea",
"T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "2baa8ce83175e16f4af030652109dec4051822858e396c2157e3bb066285ac7a",
@ -15317,10 +15317,10 @@
"T3T1_cs_test_pin.py::test_pin_short": "d47d5d042fcafcfd35e3893c9f230fffcb174a2d10198e7e0c78907b5777142a",
"T3T1_cs_test_pin.py::test_wipe_code_same_as_pin": "6d615ea3421738485484b14e305a8c3f159bdf82925329e98b87bff0890e4366",
"T3T1_cs_test_pin.py::test_wipe_code_setup": "3566f17ed11804872e11694e5c5a8da8cfbae335ad1a2a4b10cc1f48da04cab5",
"T3T1_cs_test_recovery.py::test_recovery_bip39": "0b4ded4093e543b29799e950c3d56b8ef4c03493709a94f12e3a1b245128dbf2",
"T3T1_cs_test_recovery.py::test_recovery_bip39_previous_word": "6f2ca2bb7d573126aa25c4a70fffea973670c6865d79bbeaad8deb8736efcca5",
"T3T1_cs_test_recovery.py::test_recovery_slip39_basic": "758f8c529232f37caaa4adc3caa57382d93ee0323b924a11bbd1ef484e7d7d2b",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup": "814b4b08d026372e5a8c922c814847f06742d5f27e769e0bc0cfc50dbe1899bc",
"T3T1_cs_test_recovery.py::test_recovery_bip39": "882758bb205cf0e7044633579f54e612c4b54c78427b4ddf2959567097fe3c39",
"T3T1_cs_test_recovery.py::test_recovery_bip39_previous_word": "54f20590f44d03bf725a2f7dd5e6b701fbaa4c79650e6d1e9a9c5b6ce3bbc055",
"T3T1_cs_test_recovery.py::test_recovery_slip39_basic": "e36e91a9f03a307d42fdc7fd70028abdd80609de4199aaaff22312cfa1370b9c",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup": "546c14daec665a137c05c645cc5107ffec77aa2d16892c6276960fcbbc676c78",
"T3T1_cs_test_reset_bip39.py::test_reset_bip39": "93d1941ad5ce363252b3365b47bd10eb933d9f2a96d12cc518fd904a9e193e37",
"T3T1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "834bc00d7405a9061bd0e579bc9ef9bac81d0098e26d8465533e1ef2f5cc109b",
"T3T1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "b99576c0410bbcc38c27c681ad365df30f69829369bca07bc9c137289ccd1b13",
@ -15331,9 +15331,9 @@
"T3T1_de_test_autolock.py::test_autolock_interrupts_passphrase": "a3e97d19a9b9e966091b25801ad44bfc09d2ca02cf6ed540825a287fc77a353d",
"T3T1_de_test_autolock.py::test_autolock_interrupts_signing": "26a5707dbb0a5c6e9149af85c6af56dc62a91cfdf93085b188159306c8932c5e",
"T3T1_de_test_autolock.py::test_autolock_passphrase_keyboard": "6ff4145d8507d852fd5d9ead68dfe26bdc69b4a9638231dd5bf33b7f1f96dca7",
"T3T1_de_test_autolock.py::test_dryrun_enter_word_slowly": "68c3185780d8976ede424a042d7a9bf093c1825d8049babb0a406bb5ae7a33b0",
"T3T1_de_test_autolock.py::test_dryrun_locks_at_number_of_words": "d7ad4444a3691a2c5891a1d6e5fb142540915048968a9381a09b227beaaad8e2",
"T3T1_de_test_autolock.py::test_dryrun_locks_at_word_entry": "966025defcd879d831ef6b7a1bf0331f62d4f1d9a27872dafd3c9ba72d49cef2",
"T3T1_de_test_autolock.py::test_dryrun_enter_word_slowly": "a57575ede01f3ed97e0b701061772b6742d5df7df8b8a2e14e60e0702320a7f2",
"T3T1_de_test_autolock.py::test_dryrun_locks_at_number_of_words": "3087c9a7481b296cd5c48283ec5f4b69ae251fc421ab2b445324362f3f0665db",
"T3T1_de_test_autolock.py::test_dryrun_locks_at_word_entry": "fca850436a8d2d4c22ef25a01e186afde094ef375818e95126153c5e4aa605a2",
"T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "cfb48403af7b3c67c51606072fa1be83497252a9d13ff56318b72f142833e8ac",
"T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "7d31d671fbe5c8cb76e58cff256648599db82d8a55c35c01b6a5db801d7ea6a9",
"T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "e271367931f483a13c2e19bb346673bfe19d973c494c8324b894fb2430c79da7",
@ -15366,10 +15366,10 @@
"T3T1_de_test_pin.py::test_pin_short": "43c58c441cbe7c6b62483812b9c88ed3376286d1e00ce931e49f92b44d744959",
"T3T1_de_test_pin.py::test_wipe_code_same_as_pin": "561db133f0d612048fd08b46d438a4a500e064d3088055c9364a5660afb01103",
"T3T1_de_test_pin.py::test_wipe_code_setup": "e20e2c935c654931b9786df91908aa544d2736e06eb78cb0ef54d44604d5aeae",
"T3T1_de_test_recovery.py::test_recovery_bip39": "f15dd2779fe059da83e5c3384e3c882fb1f11a4fc77ad2cac2cca87ce6ff48c7",
"T3T1_de_test_recovery.py::test_recovery_bip39_previous_word": "c025bd7d5e6f4609241b1dc17663a91d59f242635905d67d6be0c06ed961b3bc",
"T3T1_de_test_recovery.py::test_recovery_slip39_basic": "9c132785b4d7f79f09ad2469d5f8e427a9b67617c77b297b7d1ddd2c4c3ddb72",
"T3T1_de_test_repeated_backup.py::test_repeated_backup": "b612d5a6af5bb306b0c399ecea31fe86985d03f6f95ae954598e45f5540e1244",
"T3T1_de_test_recovery.py::test_recovery_bip39": "cce5d2b179fe78993870a787d46c885bd7bb0e1c2a52025cc5438890e13ca1ec",
"T3T1_de_test_recovery.py::test_recovery_bip39_previous_word": "c3ef749dea89d1402aff85fd1d7761f1db39ab8bcbaffad9a4bf3d293a1b9e7e",
"T3T1_de_test_recovery.py::test_recovery_slip39_basic": "72eba7f0171638f0a021da53fb0032ff501a20ffe8adf4653eb3cbaa3ed66d91",
"T3T1_de_test_repeated_backup.py::test_repeated_backup": "d6bf433f3b0602f64c59f22a930368a9821e1591e95f2a48fcb8f08af73d6953",
"T3T1_de_test_reset_bip39.py::test_reset_bip39": "8d05181934d3331c81e7b81b94baa24a8f4db336d29e1e7f650b42b38c0c3484",
"T3T1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "bcf7bf99d44844a13b7b473c3aa0cdbdef229013f41a11a0db681a2c8d5a20fc",
"T3T1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "c5a72423a04b26d01fa930faf4c300e18fcba8303580e479b52bbbbf0d654c7c",
@ -15380,9 +15380,9 @@
"T3T1_en_test_autolock.py::test_autolock_interrupts_passphrase": "b77e0edc22959c2d16a403b1742e911e27c7eb2da10736a5969d66583fd04d4c",
"T3T1_en_test_autolock.py::test_autolock_interrupts_signing": "f1b5162e62e0fc8de8b0096111da724a0852236c4d5f539ec81c5270376e00b5",
"T3T1_en_test_autolock.py::test_autolock_passphrase_keyboard": "7278bf0c1a5344022802e0381d38e837abe00ab413a863345dd36c94a629c330",
"T3T1_en_test_autolock.py::test_dryrun_enter_word_slowly": "a4053424e407160dda2095cebac34065565afb4201092e1b80a702a2536cdefd",
"T3T1_en_test_autolock.py::test_dryrun_locks_at_number_of_words": "36114e7a5d1f1e35206dbfd3d129b7816b4b240faa2ce243dc6e16a57d764f28",
"T3T1_en_test_autolock.py::test_dryrun_locks_at_word_entry": "7bf68edf1ffc0d6d01503f25d2266d3c5ba0d856d28c44ae592b3947761bc12a",
"T3T1_en_test_autolock.py::test_dryrun_enter_word_slowly": "037901a841bb06b764261627e979c1f38f2a260c9a7ca65d1b17b03329ee52a8",
"T3T1_en_test_autolock.py::test_dryrun_locks_at_number_of_words": "6af62735f4dd42984c1a5dfa2e31401314f4b4dbe4ea9ee0c7ee2b4b8adb564c",
"T3T1_en_test_autolock.py::test_dryrun_locks_at_word_entry": "74eba0323f3105c6ceaf701543e6d095721c9cbbd5a2657d9fa8f81a6a28d5b4",
"T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "cb4de4d6d805de1ebce4910d503da207879185c978b4cb66a56f146fd2e96af1",
"T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "f7d6a0803004d5fcb548430e67a07b277b10be9315d574d875813ad0662cc3c8",
"T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "898f8c5921c5e6fc3d297c375f4e380886bc56a9dea04b5b1a8c028a8b599db6",
@ -15415,10 +15415,10 @@
"T3T1_en_test_pin.py::test_pin_short": "79796966e4367b6d6d13acd229ecc9f13bb2b00cd030bf854184d94176f1e6eb",
"T3T1_en_test_pin.py::test_wipe_code_same_as_pin": "19435c69b4111ee84d73ec996aec7150c3d0c8492203d3aacd96a64a9facc2da",
"T3T1_en_test_pin.py::test_wipe_code_setup": "ab34c35e04c86f39b8ebd6da3b48a7eb3b28cf8eabbcb4cbe17fc788ea7f14f4",
"T3T1_en_test_recovery.py::test_recovery_bip39": "d80025a0c9f7c2d888eaad44e5771ae073063ecbd4a59d6e8be6141f2ad1ca0c",
"T3T1_en_test_recovery.py::test_recovery_bip39_previous_word": "c580851c236bbb8f8a7d11fb0555f76ebf0d24560231548aa041c5260fbd2589",
"T3T1_en_test_recovery.py::test_recovery_slip39_basic": "ef3cbbc66db078e7db645f1b7e1609a5741fc71823a1ce4105414f0a348ef214",
"T3T1_en_test_repeated_backup.py::test_repeated_backup": "3a551f8b623311790b430aae9769edd544e448ec97679bb7921791f049927bbd",
"T3T1_en_test_recovery.py::test_recovery_bip39": "4f67e7ab62623c431124aa1a4f1104ae64b4e28d2e3205db0067b9ab7ba1c8e8",
"T3T1_en_test_recovery.py::test_recovery_bip39_previous_word": "6ab852a2003bd6b55cdda7e6909812b2370656cd89574f5c09f53abf80e1d437",
"T3T1_en_test_recovery.py::test_recovery_slip39_basic": "7c426d5d7f9768d827b8da902d2350372ecd492aee0537bba2ec117db09ef7f0",
"T3T1_en_test_repeated_backup.py::test_repeated_backup": "87e544f6813cc437f9a7aecf9938b92b1cb88feb6eb2aae7482ff92b0d180d9d",
"T3T1_en_test_reset_bip39.py::test_reset_bip39": "38af86057d4d922c371d9957d05e8f0974f9a1a27589c3f286a409a8f7b03ae2",
"T3T1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "b04c36cfb930c793b4ecdb568da122dfffd0e9206e2671d557759aba0096717d",
"T3T1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "d5f933a53b426e452b8007edb64c3e05526e68e8f7246377f708349a1fc09d62",
@ -15429,9 +15429,9 @@
"T3T1_es_test_autolock.py::test_autolock_interrupts_passphrase": "dcd00ffe9769bd57777fd0480b86020b2c1d837f901853516a3fe50fbbc6410d",
"T3T1_es_test_autolock.py::test_autolock_interrupts_signing": "3f9070f1b83a17e4a428eeab7b056cf088dc421f21d7819f92dd07d63ac66cd0",
"T3T1_es_test_autolock.py::test_autolock_passphrase_keyboard": "2855527c9d14d1bbd0ad8603a52a320fd2cb2071537ba6fee13bf9e5a326d961",
"T3T1_es_test_autolock.py::test_dryrun_enter_word_slowly": "91a394679fb03f54f591307c09ca3af442985dd90042de2b26abae981a1062e1",
"T3T1_es_test_autolock.py::test_dryrun_locks_at_number_of_words": "8c9e39c583899fe215ae1b4e71d66ba42181246fa976da63f4bed172d1c9bf76",
"T3T1_es_test_autolock.py::test_dryrun_locks_at_word_entry": "1bca8c9c7f748d36edbbe2eb5ddb161d26d3130e7afd03325450a8b14531bb69",
"T3T1_es_test_autolock.py::test_dryrun_enter_word_slowly": "5e07534bca56bbd5d97800ec22dbf3b009f130fc3a774b60cf51095209e7b820",
"T3T1_es_test_autolock.py::test_dryrun_locks_at_number_of_words": "024000bca4b7b82790117a3b7859de16201c198bd64dac4ed7727aa3ecf88430",
"T3T1_es_test_autolock.py::test_dryrun_locks_at_word_entry": "c1602712a5829b7cd37e9d9a40b1e66aac661f8001459e089d5db023faca6a69",
"T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "9d6a6457adb90933b06a63a33be99cca3aa8d2a8d314547ac2bb4c144f2f4782",
"T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "73eb055845fd5e29d8f188e549f2b95c2e1bd9e3e13b38d40a14fd3515eca7f6",
"T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "03fc313148f107de5e8d15ca6c8012ca94d7cc16febeaf2f581c6824247e4445",
@ -15464,10 +15464,10 @@
"T3T1_es_test_pin.py::test_pin_short": "21a6007121daa2808055f1fd035f00d1b4e5e1b51f4f1bce286f781bb24cc825",
"T3T1_es_test_pin.py::test_wipe_code_same_as_pin": "951f98ebd0dde31c123c7d93eb98af5d0bf5147f2bd28a3014ba26d8bda58d5d",
"T3T1_es_test_pin.py::test_wipe_code_setup": "edfe089762dabc918417ca26916a6ad1d0377b8617255c169384ef8728c17381",
"T3T1_es_test_recovery.py::test_recovery_bip39": "4ab6e088de9d60283c6a9bedcd39a9447cb484c0dcc3792351c620f129903078",
"T3T1_es_test_recovery.py::test_recovery_bip39_previous_word": "8ce954ae8e00a8d60dc94aba2b4a332ffafbe343efb4be18ef6f400d8f7d7b39",
"T3T1_es_test_recovery.py::test_recovery_slip39_basic": "77ee2df1a216bbd3a040523ec0904384653f5bda080e77059b99715b6a297cad",
"T3T1_es_test_repeated_backup.py::test_repeated_backup": "4713a3a4d39b6a7e8bf764dfc7c57fa454ecf4b1a253981262a2241d2fb11c5a",
"T3T1_es_test_recovery.py::test_recovery_bip39": "69dfc45940f98afe124de12fe4ed342ac82169541b9c8e722f23f5e86514c307",
"T3T1_es_test_recovery.py::test_recovery_bip39_previous_word": "245efb4eb0f239f49752b34a10edb645a8e86c26e375a255e2afb2d819a83a5f",
"T3T1_es_test_recovery.py::test_recovery_slip39_basic": "9cb23d7e230ffb07f4974a98f3fecae8254e08a3af68cf1db719400aa89823ec",
"T3T1_es_test_repeated_backup.py::test_repeated_backup": "60fe849c1b1309e0f330c6fbe905fc5bbf8a9d7402ea79a8b857775cc362cc7a",
"T3T1_es_test_reset_bip39.py::test_reset_bip39": "0dcc22c287bd99765d79d3d393d287cfc70002213aea2679b5db004efe5da319",
"T3T1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "09f477495c1948dbcca337fca741fb720f18155387d79690ce6fc4b4e908c99a",
"T3T1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "a876586c9321ebbeec3cedfa926573b5f4fa42b0fb3969d781a3d0830e4dce10",
@ -15478,9 +15478,9 @@
"T3T1_fr_test_autolock.py::test_autolock_interrupts_passphrase": "f2c4df9d57c5581f92bfa0a41b296d4765abcaac1be016e161242cf88b04a7a5",
"T3T1_fr_test_autolock.py::test_autolock_interrupts_signing": "7cfb7eb316e587770c9859ea9ca84844fdd398cf018492d41860e343b3132ded",
"T3T1_fr_test_autolock.py::test_autolock_passphrase_keyboard": "f7897f611cb0b149feab055d6ef8e35765c42a364938fad9839d5cc25d24ea3c",
"T3T1_fr_test_autolock.py::test_dryrun_enter_word_slowly": "5082a965b4ba4fe2372fe280326d05e376be3e521143d820547c541f61f0361b",
"T3T1_fr_test_autolock.py::test_dryrun_locks_at_number_of_words": "c97f5c38ea479cc17c1e48fd77d7c7f71a8ae69725d2038d779ba0a308a03ba9",
"T3T1_fr_test_autolock.py::test_dryrun_locks_at_word_entry": "8105547c44bb473bca255c9f5f6f6e9116dad0ef2e1d21e216f7a63020a6c8fe",
"T3T1_fr_test_autolock.py::test_dryrun_enter_word_slowly": "d226bbf65da2021a057ee1e3ec99b548475d2fa4a102cfa5e86c84a728103cf1",
"T3T1_fr_test_autolock.py::test_dryrun_locks_at_number_of_words": "11a16599f57bd8a4969112cfd9a349df836f0eee99d5ae04b5c6a239868ed234",
"T3T1_fr_test_autolock.py::test_dryrun_locks_at_word_entry": "b05a4d9eb62c4cf9faa83965851e4440847d68e28c5118de449d6af15b4d8666",
"T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "b1ea7d079c24e6411bedcc213b5686b8181d34c1218de2d3ddec6ed0ff2d5347",
"T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "cebdffc0d599eefbefa4ec6b420defd3c3b9b2a3f764a1ea956d9c0dc3c7416b",
"T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "452069108c2b3285efd6f7c0d9bb4ac4a50090e8c229b4aeaee0d730b7911776",
@ -15513,10 +15513,10 @@
"T3T1_fr_test_pin.py::test_pin_short": "f727f318a1334890b62ec8670e55a3eb68d4e14448cccafe8e7882c34df1cc87",
"T3T1_fr_test_pin.py::test_wipe_code_same_as_pin": "9fbf63afaf25ceec9a0b8d17ec83c0a7a39c7b106ac13519ac196474a083a31d",
"T3T1_fr_test_pin.py::test_wipe_code_setup": "943ea3640d21ae0a79655035e2aa0722cc7b79f6a9e17bef39afd9ac1c327549",
"T3T1_fr_test_recovery.py::test_recovery_bip39": "ad346e6b6f0dab29d4240f7495cb92b1546b8f545477ec02c03e6f25545adb47",
"T3T1_fr_test_recovery.py::test_recovery_bip39_previous_word": "996f0fed4bb82ab3c815e5697fe4ac5c81e241da08fcc2de5bf59a0105911691",
"T3T1_fr_test_recovery.py::test_recovery_slip39_basic": "ae737b02fa5dcbcb89d4996f81305ba07d0cc13aeec289045b94402074a09576",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup": "2bf3386dee3dd696764a4f5f59eaf76072b833cadc9c7a79496ac722c21458c9",
"T3T1_fr_test_recovery.py::test_recovery_bip39": "9516139d536357d5e536ceab84b2514a1507b508bbef69099cd2ad8017b0c98d",
"T3T1_fr_test_recovery.py::test_recovery_bip39_previous_word": "580451fa5e29258ec413812437f1cc9798cd6ca8ab18bc379022ed86faa110bb",
"T3T1_fr_test_recovery.py::test_recovery_slip39_basic": "c172808a37da03bce6767da476c69da6e37437769712f5452875e468dca0e3aa",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup": "c9235d472ef674eeda30d57817e199ced9c7276ab5ba90b2aa5b4cac35f32bb1",
"T3T1_fr_test_reset_bip39.py::test_reset_bip39": "7c0ec2b343c28d167670e90cde9e41e007cc0a892042b1a846347ebb06a7a791",
"T3T1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "046b4d4f6c9ca3491a9bdcecd25ae80d4ecc41c189dc9640331ffeb5dab40030",
"T3T1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "6e81831b32542ba19822375c2c7c780de6130136f77f39f4022ee43be6bbbc59",
@ -16497,38 +16497,38 @@
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "e333c4ca5bad56f95c92048d50f9de86ba17177f57345eb1d215f1d5f46d7027",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "e333c4ca5bad56f95c92048d50f9de86ba17177f57345eb1d215f1d5f46d7027",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "e333c4ca5bad56f95c92048d50f9de86ba17177f57345eb1d215f1d5f46d7027",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "1476b23a156d18a90e7a56204510d723b6fa1eb582bc22b6ed59ea2b4ead5c2d",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "187bca6b6f353f91e42574ff535b4604a4c0890d2d0226a8c80f77b97aac8a20",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "3f5a4e237c5971dfa94f34efab47e78107e64c48e32efee232c195ec521f7329",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "2e83a174861abcc5955f1666deac05515672dc9bd924fb3e3d6ab4c642aa26fd",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "9187dc7038789e65bacfa9c9d9bb615461f3a433ca7ad0db1030e230d9ca1dd5",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "950452c88676bd7ba39b59edcedda3083a6bc2368475a76007cda0d0de1394bd",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "e333c4ca5bad56f95c92048d50f9de86ba17177f57345eb1d215f1d5f46d7027",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "4234000f40333ced5b8068fd2b8633b15bf88f0206fb673039b0e05387cffbba",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "f3fcebcbac5a7abe60462bd657dc77a9137c32b29b19609d04cb6266f5358ab5",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "d0e14e7722b2d7f9d727ab4af4ef7e19afd2ef6f09ee0e80886daefab218d13a",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "37588374cde99b3bcc5dbec1e8f57c05c2f60a9bb10d28ffadee96452a887ed8",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "e05d68b6225137131c65431de9f299d42c1935c9b025b382a9d934fb86ce7ed3",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "1f056dcb4beb161afd044629b293c399546f7f7cf31ce61450107189c54eef77",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "e87339e08ff810fb1a0e907582a7340789451ec07f487f6772b451357dc92e14",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "fbbe5f2836e291893fc4137107901f8937e04fe79c5bc06512ff61d5026e1d20",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "07decacae90519da51684f858516f5fdb689218c8531368e708d00ba4a03058c",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "a297ac7480990a01cffd0567560c142a7650e3d6f3b1c818a744eec830279ed7",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "7a39162cc834b301dc86280bbc21bc21bfae04e5abe23a1cca57139e19e8e5ac",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "cc154d22097faf0097af5574264c4fc27e07e3fa7fbd4a0506a238d69fe065da",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort": "d0e14e7722b2d7f9d727ab4af4ef7e19afd2ef6f09ee0e80886daefab218d13a",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "2dc8f1cf38765eedf49143837fb82e7e46c53ab0ea0b3df94ce95e80c833c121",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "77cf9ff6c2fa032843a09450dc373403f1cd6129a793a0df7d53481b207d2a61",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "ea98bf3281a2611fff3c51e1dd0147b23b04e331c44dc2313e5862225851cb55",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "739277758ac2a3b52ee1e96359ae130066f7416509c7c1356cdfba6997ad5ba2",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "afa9da7a4cbe7c87e7bd0da8b72b17fcad675664484a16cb95e0ac6e91a97ddf",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "2b62a6daa1174785d184438b8ee2b2263fd4260384e410eb320d8e8edd1e620c",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "7f19643de036437664eaaca2760283c3873027ea8bd6d41b5ad00b75b3f588ae",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "2382e5688c9948d3169ac223ac095968097dfaa6fb005a6b456c44fb3fa2adca",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "ced06cd994fbf388757abfeecb6861607e69ac04b9f63645e3b0d43a14f347d8",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "22e9c26c999518f181422b52d59890d22386a882d78b310c9e47393d7baed214",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "c51b1c529aee20d879802aa8a1140b14be2f4dce9bf5dc1c3c7c61b372085838",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "2f1959704c7070bfb99dc9055557833162a58bf13a0da471c204bc70156fc9cb",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "139c4026e0187291bc3714796de4ce3bd012082c58f0f105722c8c1d34e1c2a3",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "0d926628d631a76f1360c031e1567c7860d5f211f86a81d6d5f8afb1c95cd1ef",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "58f1a9515c1f84d84a538008f382f0a9427d5f3e815cb3ee05b0d9d705274457",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "f7e0cfa306afae47c36cc8198db16a91849ec7404a43941fe633c8f153c673bc",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "49e3412248fc7ca76cbd6528ee3f4ca749d78c028aa4d3e51579dc6c51d69504",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "ed334101589cfec7cae59834a90c2486d508280544cf8809222878290a64b66f",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "6d9208b12161b618b05c80d05d49bf04d673aed7974c7cff5e7597dace4df2e9",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "e79d91fa2ccdb845bc38996174b22d2f35ceddba90a1a967ef46ef4b37d5c999",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "f207194fc64f068391f521c2069ef1fcf55c581c1c241c49c620f9462557fcf1",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "ad415d9e066ae572abc1e81df83758f1eb884aa75d33464ad5cf393edd17c2ac",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "e8a1825029d6cd6fccf2d9433df5153cc7494c00350c0cab09300fc05bff8a87",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "06b9b90d151e8eb32f824b25c379e38dccd2732592a9d54cbe963b75b88cef24",
"T3T1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "908dfde70e1269935c7add3c2edaea223724fc78bc8e030e5aeb08dd4fd0ec9f",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "65a86c715390ceca75c9eb2f56a54bf85e2b915489bc080ca45f15a69c5dc55d",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort": "49e3412248fc7ca76cbd6528ee3f4ca749d78c028aa4d3e51579dc6c51d69504",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "21f4ef0952f4b3f4233e181d61fcbd247f9ed5e32771f8161cf78c01c0cb2811",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "6a826cbfed9fa8a7e53efeec8d5bc57b74068ec67fbb2b4d8c772164f43665dd",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "3aaa4161cb7dba6fcd6c9506692a742ef55a19a0ced31be30db3b78ae0014f28",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "b1ff20d176a10a093c21b8ca6012713e8af95b7f6215de06f0e3fcb0467b3b7d",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "8643012df73a05cb9be16e894a3b58549e007879aa02f417d2078fb41fbc6dc1",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "db46f8b5425fd9a14a2efaac43fb31723bf42c306a96f82b6dc949945011052f",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "c4f418b268c2a605288d5db1ddd1b657c77c05c89977b2024bf5d33cc83cd11c",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "bafad7fe09bd423bb3d65634e2cd841e664abdbf1a4586e8811562078f5ba7ff",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "7a4535b34b91211ba27aa992c54c9a93fb4e40c4fe8a549f78afdd1f2c3dcdcf",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "7cf76db89a805a690fae4e500dc14eb31443e1ed2d1ce3594582ebab7c3d2c3c",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "6aa1dede61477b9c9b09228fe0fd85ccfdaa3db5e59ff70a1abf234072352db2",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "168c5790ef3459394c588db76cc9cb57af8ad2118a6c1b991a83772174d414a1",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "73cb63d0838a44e06a2f4031a48d54318dd7d4f77b921708e074ec25fd49476d",
"T3T1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "ccddd116f59eb0049db899e09a5717d1f4ef6bb1498e352c991ac19910f1e414",
"T3T1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "2a42ba32c22a866cfc71ad4386b8f22c6384bb0658c535429e4b14ab9bd7c9ea",
"T3T1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "d597af898dab4d882e83691035b4203273196ecbcceccf76ad817ea93d47d456",
"T3T1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "fdd564ba45c56687218b9f023c24a74ac1f2a6f5b821f4f0f27ae3b5dfa24d7d",
@ -16541,9 +16541,9 @@
"T3T1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "93cf9d74f37b647c900e59be98a7f05ec73e03964058ea9325890b440f3c4c9f",
"T3T1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "dab6c78840b4079303b01360b886fdf3f7d9983289b4cf5d785e9b97aae492a6",
"T3T1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "10baab4b3cae026f6e2382cbbfd6c0bcbf37e27b57957bebe8a6d2067a6dacae",
"T3T1_cs_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "29a537c67cdb93e39b0f92b2cfeaf120ccd843680d13d19a57955f799c4f27d0",
"T3T1_cs_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "fa31902ff0145ec23e5171b754b11678facd590d413fbd36c565074765de981d",
"T3T1_cs_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "12cb46c5d48bdc342e97345d13d347ee027ca184d4a2c2abe3db2e3890410991",
"T3T1_cs_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "dfc535ca81c0d2f662d096fe1ea08a6f63a8a819cfc05a8d8e7bd6bc271c7a9e",
"T3T1_cs_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "22052ab39e9bbcdcd20016b23bbad5ed2d7d5fadef4d2c9415bc9ef6e4c6cb4b",
"T3T1_cs_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "51a60b40e08fdd275c754a3a989cd37dbe8d2bdad218d0a97fd6f69525079514",
"T3T1_cs_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "53134494ba83ce570e51c70a2ed11fc99e8e4bfaa4a736a630c495688cf7b1a5",
"T3T1_cs_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "0d06176a67ce460fad6fd8269caab5854cc43f4bb557f1debd35647d9cf2e255",
"T3T1_cs_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "e7e51faede48870e1abd2cd7948d49c36b048c58613de2995d3fa1db785a0860",
@ -16810,10 +16810,10 @@
"T3T1_cs_test_protection_levels.py::test_unlocked": "4489e8907a840ef83289f4ce45146dd4ed59d26502af93eed4e379b073842eda",
"T3T1_cs_test_protection_levels.py::test_verify_message_t2": "d806653a6d4bd2b71c8b2c1995f56875115783f53c43be220e026419df16c1a1",
"T3T1_cs_test_protection_levels.py::test_wipe_device": "4bd90276272d0a3ef71aad24bf5facf72bae079751373abfd007258740346367",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup": "c83b4f4563fdacf5688416eab3bf0eefec5352243e0432f3fb92a71760b81425",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "9f3174335248eb1936cefa08998332f426fa146ef741199c58f21e01f8110bf2",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "72ceac61ff59e497157a15bb0075bc916bf8620a36c5329900761c69b5a8ba13",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "d71ada53b400796e0efd336f707b5e134f57b29f313f53559b6323cb3db603c8",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup": "d14ec553c75818f9bda9700e948e4c806fe8865c6242f2a8e347556808b504f4",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "bfb2ba599d2774868a6907b7bf87c70e695175ca30e3f7b76519053d486a3c54",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "076b6b365e3099cbef5ef34c8f35533488ed87ab45c7a582dbb3f1920ed6a5d6",
"T3T1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "24bcf8758f11057c898d56478e386300592dd606ac3d27cbe7fa3671f9a9f5db",
"T3T1_cs_test_sdcard.py::test_sd_format": "76c7fed29920e2339f0f29cb9545474bbda504712ad06ac0c44d8d767448a35f",
"T3T1_cs_test_sdcard.py::test_sd_no_format": "bd5b7504a75426fb6b9ec89d23c9332fb3010db2b6c58cd95f41670bec65a846",
"T3T1_cs_test_sdcard.py::test_sd_protect_unlock": "19cb5bfc1eafb2aad10f899040705034f5bbaa0104aeb455c08cbaea044ad4a6",
@ -17839,38 +17839,38 @@
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "e70bebe8aa868999dc88c44f04d136bbdae30a0abc1af2ed4740bb516b60a202",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "e70bebe8aa868999dc88c44f04d136bbdae30a0abc1af2ed4740bb516b60a202",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "e70bebe8aa868999dc88c44f04d136bbdae30a0abc1af2ed4740bb516b60a202",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "16f8e8a7e18e34903d9534488670013f54b223363958629009bd11bf27a801ab",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "02248b8a17ece7d52309cb68afc8097e9933fe2783c51bd68beaf4698659118f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "1787582af6123f848c73d642276a4219c95584df17951b2d98642b93cd2383e5",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "fdbd032655a3d8d2d413f4741c25088aa13e7b4dd7f5d0c0b01bda91de066df8",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "680b4174c506e98b1e8eb34054a19c0fe473f8cfadf8baca713bb8610db3432f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "06cdd3a7497a1ff17d8db4c58aee97ee8768f7a9d3d3407a32d8338ceea2a780",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "e70bebe8aa868999dc88c44f04d136bbdae30a0abc1af2ed4740bb516b60a202",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "e238d30e6b5acc12760d929fef34ef5933d08e1a356c44694a672cd6082da409",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "f5bf5c36a726d6a0ec39b9c9083da897236ec3f02ebf822437a9f0a6e6ad2700",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "e95fd1e2af99ed5f414e9897edc5fd9b3dae3a998e3789eb1b2644903db06450",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "0cbee1252ade888ca4f37e5394a76d89e8475b93dfc013b2e20106e077231cd0",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "99fa22729f4501bf4336a955a70f4cf4e7b1d392bfd3f0f072252ca91851036e",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "385ff622b271ff1e604a41d971fda52f3983e4cdb5adcef1c64ae9e8c557c7ab",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "dccfb22149a25b31bfeb83cf575932260611492b61892fb57b616fd0837cc7e3",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "5159157e7dfb73d9e3c6754d75acf9dc3b1059185fbdc6ab1e1dbd61ee242574",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "95d3547140e8bd520ad60bd283bfed122a8ec82a32be690ae79c82647f1e7bbc",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "1299dd54c76679f5bbb601cec60b10ff836adfc52c066d4c3055d2ec3600672b",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "885e73d58e4e734b4580c7ec1df060f5b3b691105ff02b407baab578aac61e18",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "3f998578def08ade20f821a9e1decee9534f29223910c44d56b3f48e98561270",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort": "e95fd1e2af99ed5f414e9897edc5fd9b3dae3a998e3789eb1b2644903db06450",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "15742acda7adaa2f78280dde78975e00296a08483275721a6c8371cd25c0b619",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "42f88340ac6d0e6d49efe699f778d9e9eb6bcfa3aa4c4dbf2e0d9cc1022940e3",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "b4c7f04c647934c0b644c408daedf4456a330e131a0b1452723eecf96e7b97ec",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "8100d7511051d92bf6c20f76de10c0f97327fe11a6281b34948c42e00b5b4b6d",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "c4357225caadac2ce0f207cef2abf93b3823f0a43405006913054dc9033775c9",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "4f8551f8abfed53604d162f9596213c30d3bdbedd7e0a01f91b7ff4602f5b599",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "525e129c0dbbdbe50f4c72e0d803b6847adb7b725fc9b29f1b4fb295b7051d19",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "f627a45fd1608c8bec05daefb43a7c126e6bf8f4872993057562e9206af4f100",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "034c76a0a5d48742cdd9042c658bcfa349509a8c7a283b032e02a7ebba826949",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "b06d99be344846d8af03cf89543870f17ee5825d492170dda8fdeda443bbaa4c",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "7c8da306cd26c5f1b71b086bf1a3950638a044de09f228642e3d61efd7dad28d",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "b9123cb405619c99dd1fa740f41343021f7642db499ef290cdb7e0d7b337e6eb",
"T3T1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "224d1b5bb2c250326d834ee6b584a023eba1ad5c1e070d69c6385f861d34e462",
"T3T1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "fbc46e8ea32dad57600f9f4d5e10cd8a60fcb54807e41432b811bfade913df12",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "66efc50681c22030b22350c626018b92c5f1bf6c3410312349ff3daaf5f8061f",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "1d85b1ef2213be3660a2d0e601cce58ebb885c487ef9fda53fc25d1566e16978",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "1a667966f6b56f270a1039f1b9f7ce31365606aaeed38c1fe8d9bcfa2de2e08a",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "25eb625a0cc452d50f12236188ff593aee080749fa0025ca67d83d8e7c5b8e3a",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "65afa19bf76b83a2fb3eda4588203ff3d32446ea633d7212d8c96fd14d47cc30",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "a808639585a771667959904721f269e65a53ef4c2471a4f8cb1fc7da069d6234",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "d585bf013c0c6526bd9dc17f33bb21c0de19e2d5e653159d5821921f32da2705",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "03437b32a72c828dbb6365be52090ca3bdabdc969cd8e238b88b8fff868b0417",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "aca43fcd50b60741f3dda0e06adb01d74c41cf92853368759c476e6fe55326a9",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "af836476467f13d07ca7689fef5e9703e85f0ec489c0f3528b5fa9ccc9531041",
"T3T1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "f238d4b9f4f6d13fb082a2b048a7aed6a3f25281ce637d973f3a3cdfedbb5909",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "2fc4b3a3ab644a339238a7291a162b1e1fbed9714cae4de49b7e1e10814af2bf",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort": "1a667966f6b56f270a1039f1b9f7ce31365606aaeed38c1fe8d9bcfa2de2e08a",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "aca67606c6264d09ee1ae6fdb1537be2404afded475dce43b291de78b968b297",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "8197e05d8a644832f50e03d1c1773e2dddbd7ee9b1caa49fd6be4f03f9edcc58",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "da74851a56e7e47f81c7088df43c07ea74ec532da9267d3d772b507b696213b5",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "95c672e6e3213320f54515fae118a81572cc7720e6598ae1fa516f1a779fd125",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "d04775cae8cc914c39c7cb593450d0ee4e447fd822b98e7eea8bc9d11cb60a1a",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "0aaeeda492c102fb67c447de43dfc0dbdc9a75a384d46a4f5d0a5d4c03d4a914",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "8de8e296ec2bbeac94daf30600948edce065d849148034ef7c661ec0df3f3b0a",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "538ab094a32b59810341c6a4ac8ad063c465a50fd5bc3f49ce6c89faae33f6f2",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "ffbdc754ba522fe002b154c7b3f75f8b844a8bbecbe1fcdd01ee5007582a8e7f",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "92d3b85b88f99fcb75707189458ad2e6a0dab00aab99284f38a97f35b3b28843",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "63bd8f6812ade28cbf3ea1ec2c40fc238e64cb0e2ac0be38b1ef0f21b1f31767",
"T3T1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "940e96515bf3a58404844395502a3f41c74458df97cd1fcbfd0a78156ffdb836",
"T3T1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "7df941dabce59246d82e377e5b5c00576d6d28e1235e4e3fbdad805f098d162b",
"T3T1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "3cde82437fec7d6f0159cd4634c26f915684720c920bd0b529c726be7eb86dee",
"T3T1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "946b7d98190e282f0a8545a7d11f143a5faa5645485f3c3f224ecbc783a7e55b",
"T3T1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "72cb3756c7947395bee9bc8560e4d3ea721d88a92c0069fd6a604702876f2021",
"T3T1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "1e1001aca0b3f59ca7addc8b93c142671b67028c7e3e8360559ac11f7cd26b8f",
@ -17883,9 +17883,9 @@
"T3T1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "b56cfbf3f21121954a8583b13dcbcf7f5dff51c64b3a2cf3edc4f28b216301dd",
"T3T1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "bc545316c3935bd35aabc53395b467a976221bc3eb4bc7d65722ea53c0352c46",
"T3T1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "68d37244d32d15ed45bb58d5de13190e4efda76d3687df6f537cc0584ac57108",
"T3T1_de_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "b4a7500f5e8604fec09cfda56a25cdcd5222d632c0d5a2d6a73b660021c7ee21",
"T3T1_de_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "65a20cc35914964c25bfeb87953e49b54eb04880e8a4185b38da1c7893cfc0dd",
"T3T1_de_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "0bdb85efebc3b8f60199f857dde6d98167ca977ff9881a81b1706c3b2ba8bb44",
"T3T1_de_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "ed391de49d754f06c61b09403ace14b9f8c3f16be2b6e880ee75ebe4e5561c97",
"T3T1_de_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "d9782997b85a4b50d4c37da26d1429de63dbd45b9cd87a6931892450123ab3ec",
"T3T1_de_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "131107ea0fcddcb7ad8d373ded7e348b62f35ca379c05ecfb4f4d03457020828",
"T3T1_de_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "1eb438ae73479824c347fdf888a840169c4c86bffa5d65fd259733e71dae4648",
"T3T1_de_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "e488904453ddb309d21c344a484d28bddfbedc212ecbc211b99ede63dde5a7cf",
"T3T1_de_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "b92b6fcb1e6a058ec189e1227ebd08236375441b3aa9955538a49879cb1faa47",
@ -18152,10 +18152,10 @@
"T3T1_de_test_protection_levels.py::test_unlocked": "47f6e4a3a24563faff2e25b3b28377298806494cdd8b9e90f2f3fc144baf9473",
"T3T1_de_test_protection_levels.py::test_verify_message_t2": "a35b3bc3572529dff2fbc9c2fb6d7eaa5bedd362330ceebffdd042bffa2524c1",
"T3T1_de_test_protection_levels.py::test_wipe_device": "ebb357b41fbdd0d78491a5864c12f347bea2c08f1b513caf30c45f6e612f2883",
"T3T1_de_test_repeated_backup.py::test_repeated_backup": "9a9731f9eb2e1a8a0bfdba9658e0d259e5f6cafe97925b0a9a92f6615d1257c5",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_cancel": "634885195e35e0001500a39b7c1f9f54ddea9ef1a9fb8b4edab45110559cf24c",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "f45eef18c613d9844ab1520d9cf50aa838e446a684e2844af38ca929af3580c1",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "1e905d67b52d1b6ebad061de36d8125c53c6d66d89840beed96bc53776d7f47e",
"T3T1_de_test_repeated_backup.py::test_repeated_backup": "dde863793cd82145844cf99373ca013f86a646c72ad7a09f94281c207d635c64",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_cancel": "a6359a110a2ce0bbc9f9d7bc89ff2af3cbc9600eb91f28879b3cb7a0672f40d9",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "fdd736f2c0a79b50a99fa0fa3feadb27a36998dad130b31404341ee35f30ad47",
"T3T1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "6bcb0adcbd49577d1ae09cd246bf7ae1c2dd60d17f89d0fb75bfd047b96d1d33",
"T3T1_de_test_sdcard.py::test_sd_format": "deadd27fee071017c0cc6e1ef67f8b7cffe94502daa8168b042d1301175477b5",
"T3T1_de_test_sdcard.py::test_sd_no_format": "61fe71d535c66495b219d4a64d0f08a2ec4831ed555ca261a6ecab56af9a2dac",
"T3T1_de_test_sdcard.py::test_sd_protect_unlock": "1cb949fd3c8d1b1169732dd79133fc25aec82caa6baf3cc54a585181cf825cf0",
@ -19181,38 +19181,38 @@
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "5133fce02dd881612fb121f919b85166d9edf574147fc18d5ab9812f01a17e3a",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "5133fce02dd881612fb121f919b85166d9edf574147fc18d5ab9812f01a17e3a",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "5133fce02dd881612fb121f919b85166d9edf574147fc18d5ab9812f01a17e3a",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "020bd1b8df3974676841ad8a299f672433240b7f50e3447f9d8c52f0edf4a408",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "f055ef228186a1b70a5b97541f4caf0f094905d3904b3131cf4f5f2e7dabf81b",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "72edd2c513bb99742064e23b596c79ad867ed6da097ffd3c445645fc2a381148",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "e010bcf79ea5995d6855843bcbf3af06e6a0a6be8bfb459729d63833c69c9714",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "4e6c01b71612b39e4f0a5bea2296050c01d5b236723ddfac729e20841b89b4cd",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "b2c2e7716c5cf4c86ea420208306812667a864e3d5499def30b5331de2e8c7de",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "5133fce02dd881612fb121f919b85166d9edf574147fc18d5ab9812f01a17e3a",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "af5c899e45889f45e9b582e3f25e97a3f4821c55a3ffa3b246462d2f0f63fdf7",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "c3c77394b680e235008d1bf233b53621bcdb134c3d2fa7fd87a5707814ad23f0",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "0d3e7eb6389ea988a064d5a9d97c85cbec063751ba7d17c0d2e9cd368ca05fe4",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "c6c9343f64aa3c091a7989985b972cc62e7c4916382f18568c463155ddad8c4b",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "8a30caf810592fc11fd04afb647597587064f12fe571843260d0876d26a99c21",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "a26c6a8f38b12743573b9f0c2163eefa49fa7ef1a896be00c6dbd53b370543c6",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "d27521a191186a062201f1c5ac52eb6163c02510047736cbc889ced161f9166f",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "60f423c9e246c86472cfeadd7253033f7c1853ebb2eb583cf449ecff52ff723f",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "d4b3e64eaa0b2d06a43294846ccbb09d4fcc0915c51cf5f6de191276e3fa9259",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "7e06212f37fb48a60e95d46a4cc91ef252a1ee354f0ba082178b2a6a4e184abf",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "4d923a28d1447c38cecb32964c5ddef6dfbf1476f7b41c884e0b541629d6107c",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "f0cf1974b868ec8b4c811cb5e0ce04df59860c0e194e2b390d784a654b3ba8ee",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort": "0d3e7eb6389ea988a064d5a9d97c85cbec063751ba7d17c0d2e9cd368ca05fe4",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "538e6f1202fee8abe7e3d86fcadc27520b6a2ef864a8d2e7d8aec37a5d111cae",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "e2dac5442b83360440bda5bf903fb0976c228226ce448f3c22676306a85ddf78",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "1c5a0fbf469905267e7d3622530879d1ad52a5bd3aee3323b846d92831ed4631",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "974085c3c23e66f27272b53e4996bcfe907d2a9bb163d0f318edd9d915309557",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "b7e097fabb5d5ca4e7dcbf6c208e2925d90502f7dbd3274fb01c7576fddc7431",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "72ae0214d906bc7478bbf30089df9a57551fa4c58032c8d813a098e2c8f2d780",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "d1da48a5cefeaa041b0bac6f91341dfd88776815e335321e403726f28d729530",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "6b2d91c1a924554526e1dbd47509b116161624cc6c5135eae9b96760592df00a",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "c52e8703123c9a4f9f138779671d41550c5aebabef805fb878896b969f3ec0e8",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "7206fad05873b9d8b33423a3a455b9467143a98bb74df89ac626869c6f793e98",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "f5cd4384ddf453e4de4b49cbc1801202d521700ef10959b27215939017f6d2d0",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "e02bd958760ac51cdc92bfe98a7fe1bd352053ef022519901f12e342e3cdb5dd",
"T3T1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "bcf2d76c628d19cc576b84ae5ebf584b74b962671a8c0c60037c61f74b41bf23",
"T3T1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "adbe9651b01e32224dd318e6f0e2aca6ab83a3b0b283d621607412d95cfe5deb",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "d260a1a71f4dc9e7d25dc2019d93546f31c929e54bad7c8ddd67b412f8beb2f5",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "e048a104165c1198a0667ce599250f046fdcdd09e04d996a29b38c736f41ea92",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "805d5daa68c8a9c207a8837ed8e7b83d0e2222fca4d426279fd4bb17cb586de2",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "70e3db8ac70c4180d6e175e1ca9c5f16b4e6feda02bebd089017d50c96a739c1",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "7bfb4b3e48e3ba0bee295da744591c007c17baac9a55734ce08898e675ffcb09",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "f88637763806182278edec7a03716c042b683f5b06e44f3606684ac485b8a231",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "fb29b0dcf08f0ac969197d48ab9547850846959d09ac215aa5a831b2432e3d3b",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "e7748f6864c05f4a81677d0c70baf12c16eb3463f1f6f1f6caf99b89752318ca",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "f26e7ad1434f037331503f436e82780c7f3e4c9d6389b064680f1098d82fb2fc",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "ff9fd97ab6ca805596bba50ff532a5decded71da4888456d6bc4f6aa6992cc4a",
"T3T1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "49149d6d43bbf9fd59f92685569e541fc01a8765e60580518a9b75063bad89ba",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "a23cd874215a2944ef6282f9e396715d3f629b9afa3da0dd534049ce6cc323cd",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort": "805d5daa68c8a9c207a8837ed8e7b83d0e2222fca4d426279fd4bb17cb586de2",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "cec64e4e13982b23c774d42c9a24115c9c094a2043f62ce552f835d44980ba6f",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "d8b56051cde8e053a2d3c75953bcac3c45fecfc12536ed3baa7a6a42c1166ed4",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "2cfc8c32863e15366d6447803e9a31c7e77b42e1dc6c3592d0886c335fb4d008",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "d2e46d8d517cf3052a899488f82b9838f4e0c115a3c4bbd59cc1253106eb09ec",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "5c385ee9e701a7539fe4cad63dac4f7110faa31fdaf31600ecb97da3e91af1a9",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "66bf4c256e43055c1e889892ad1afd98de2eae4547c54ff511edac752874f530",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "cf6288ddf583f4d6e67752902e4e8d1e4ca7ca29a8898e653a2835433460d9fb",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "14d488f788fef46ec8c9965def8bf52226e42606ee4cabf826c38425a75aa899",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "3b65d06b4b67d723879cb25695e873f5edc2e900522ea686d8ad100dba312cd4",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "36bcdb8807cb4428cfd98d6c940405851dda8aa5eebdbde94e8a585871487de7",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "7ec6f953e50ba3e432980772e1e0bec11d833321785cbfee30d8afeb97de04ec",
"T3T1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "90ec78213094c5b3b41f2b42092dfb514ef177227530e702eaa06dd326664399",
"T3T1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "a9139167b7e7b73b535eab11b68f624f6a8ea68da0eddbcb3e33d58856a47f2b",
"T3T1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "35c5ff4c5c5c29e352ad85006dfbf90d842651e509400ff62d974a9caf773120",
"T3T1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "1eb695a3b031f8f14a1ddfe94490a6a1ddf12ac583044b58b78d20f0318e1468",
"T3T1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "540ed9c7f0444ba3ed47293cff06f305ecdae2adc82435b3bd04c3bfca2dbe5e",
"T3T1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "870d4a94a01af78e7f88fb3d635a556721103fcf0cc3f7ddffdbdfb88eea9226",
@ -19225,9 +19225,9 @@
"T3T1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "67c086b823f76aee0ea4d215d0f9e52cf2aafb44c9f2aff39c86aed33a3308b9",
"T3T1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "97f1a7d378ccb2f4fe73d8b06973998989773cff165e887098ebee7db1d47377",
"T3T1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "465fdd641e5a07060123ab705d6ec55fda4dd322a06daeb8bd6bb5559de9bbbe",
"T3T1_en_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "2c21a92e53c97629706b826d0ba6cff80b12423749fd05b433d270915d98ad33",
"T3T1_en_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "59e6be183a8f8a4ecfb52e832519efffa0d0cce1977eda6a6452514e9b4b391a",
"T3T1_en_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "b4c92c2509652e900c3f9176f6039c1634345bc59678fb93a96b70601433b4e2",
"T3T1_en_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "e20b84af701538780517d53d073961d8ff5767bde5e9bd81ec8ca11192e28001",
"T3T1_en_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "1aacaea071a015aacb7893eecea8236532bfdf76b81c77d35956dba4dd8c509c",
"T3T1_en_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "a1ac4556cf35b1d1ac37b631676b35f3881162d43975e221776a87ac4dfb0a25",
"T3T1_en_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "b3b93bdcdc089eeb9666fa68d97766014892366ac460d9d849494cf21c9c5577",
"T3T1_en_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "b71fb525c300fd204113534be4e3e7c06425d72d5d2e15065af72a774b0a6220",
"T3T1_en_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "88937dff65f3c61b47436aa69bab78b2227de21f177d8e525f195a370c5be157",
@ -19494,10 +19494,10 @@
"T3T1_en_test_protection_levels.py::test_unlocked": "93d9edc9f59c738f0cb083e96f464cae99fccadbd3768a1c2a11258d8eeda9e2",
"T3T1_en_test_protection_levels.py::test_verify_message_t2": "7f26c6d11d1b8f56fb290525490665942b25e8ca9357186c5e343f58a18b8860",
"T3T1_en_test_protection_levels.py::test_wipe_device": "2dc2c452d2907afc48d1d622ccd3ce692ab3633a0a6e425bdb19014c669a237d",
"T3T1_en_test_repeated_backup.py::test_repeated_backup": "b12734401aedc7756ccf09fe7dfb04bb82b2642a4f8c62893ae63fe90c1e3c24",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_cancel": "145964c6bf8672f1ad81d4786de757937627a1b64788405d4e681241731e0d93",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "07998e323ac92a6625ec8b0505ec99177cd4ebdc921309320e1a19972565654c",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "a1b3eee15f02b6cec258f349d42e2e2d6f7c535d9105b5f05c54465391b73507",
"T3T1_en_test_repeated_backup.py::test_repeated_backup": "7dd2db8eb237d09da5d39c24df80e7bb67c2af387a961d42b68c96d42e819e55",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_cancel": "766873853e735bd57ecd203943a9350f4d89f9f972a2db724ad874c89ea82939",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "35d0ffe626da37ea6784855cd9eb425ef0a1d870c9d23a152367971a09911cd4",
"T3T1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "118cc21dbcaeb3cf9e5ce910768e4b1ac77d41efafc37f692e7a6ccf6782d446",
"T3T1_en_test_sdcard.py::test_sd_format": "7be6fb799a7ec5d2a7812c8e0e57b09507ff1a33ae151d05ab8e7c627a2b0532",
"T3T1_en_test_sdcard.py::test_sd_no_format": "0ca70b53967f1f1121ab161b1000ffe5d8dcc85528142dbf5732949358a8d6f9",
"T3T1_en_test_sdcard.py::test_sd_protect_unlock": "06c5df1542420ab8f04e9e048042b475f28459607a5d8c9bf15bef9d0f320af8",
@ -20523,38 +20523,38 @@
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "a44ee27c95d20bca090bfe76b46e7fdbffb1f12802a0a80a87e3e22251b3fe90",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "a44ee27c95d20bca090bfe76b46e7fdbffb1f12802a0a80a87e3e22251b3fe90",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "a44ee27c95d20bca090bfe76b46e7fdbffb1f12802a0a80a87e3e22251b3fe90",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "5ff18179cbb0bc013220aabf5ba50bf780f1c2d9dd65305622666fea07583bd8",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "7e2969826adc99e358dbd4547277740eff6038790fb81c66dc2af3d1b481d083",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "d467eacfe212e8a7a42f5aa73cb7475282f997b55f99601ac3429969715f9d9f",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "e70137ea17c49aaeaac2769aa60585f62ea5259f406ccfc278509b03d066d7f5",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "d46e28ff26b78c00c596333488a894472527cae33f007d23f9d342d02e9ee02f",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "faae5cfa2f53ef68394fabe508f8b6d95b5c5b873532fed2572f8a74bac0c31d",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "a44ee27c95d20bca090bfe76b46e7fdbffb1f12802a0a80a87e3e22251b3fe90",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "5bcf14978edb212c74da1b0b2b31e5f6e905b59791c2388455aa0bf7795a02ef",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "023ba896d8710b10072030b9a96ba8cd171cad1210f1eb98245b79360313e3c2",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "303d5f8b8e25a8d129d144eee3b52d9be0ada15e6ce6e4ed31f729cb3bb0029b",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "29a3c2fc4310f95f3541b01ce5bcf6eb4fede1450e7d6ffe8781ff344f9968e6",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "77281552d202f793b256c72cb559b261fd125679d198b67e8d4ee1921a0010c8",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "ec3ff153ac63edc8ab2bf51189db2c123f96ce3cb49830ba87a768ba520e3786",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "2755f1fdac7d78331f17410296d86bb0af238170ed21416a28b6af4dee3ad106",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "09ed12059d0997eb98184c9341fbe7f50cbad85962d192fe5a5bb434df68bc47",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "140e3f86b43fbe07cb4d7ebb4c0ddc0bd122c7b85fc38fdca394a10394c02c35",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "25bd7e50c98e87aad33534b017ea396d07538e606c161a01ecff94ad3c85b034",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "0b680fe903564441ec085869975a68b10e3f45e4d3c16f3e8735118e03c0e03f",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "eb748eec0e1a4c92d0a4c17298cb452bc993b96a0e0bbf346944e6bef8cd7ed4",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort": "303d5f8b8e25a8d129d144eee3b52d9be0ada15e6ce6e4ed31f729cb3bb0029b",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "ea5eb133806e710b3363355bde10e5a9679ac0c69a5354abf0245ec4c4a841a4",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "b7652babe5b8a851b87db4749e0547e1f3a74f5bcd9f078468170bfa2beb10ac",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "d2a230a0a66d6356bdee423034e69b370b8ae0ade478850dd3330091f6ca0365",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "63f0d65d222ec878ba0f94b73652735cd0833e78bb7ea58de270e1c5b92dc39c",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "2d49cac8a811a16ea2ba9d987c2e3a3a2e53f8ad2b19f3fa2607d7a2230bd09e",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "f7f383fa8e25bf944d0c671fb701207b6458869d87b69927a741997a0905a511",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "76791cfbf0a40d11b403ad67e71bdf150d24aa58572e94d95c2ac8c9449b1a73",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "bb0422914cf05ed8b92b10b78441f73b2f086eafe14dfddbc07a830c68370dce",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "1937206bd2989e246e0013b468e209fc4addcd6bf486a74e9562db146fad7719",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "6105752f9d9906195764a898ea2d151b448f5e6924f8b0a58182fbd244f3c7ea",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "8fb8c916a2efa26be8c2b8ed2cbc16530fd9b10e09f4d5d9ee5ab5d42ddf8c90",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "8ccd8c6ac6e2b9800c1d63f4afca16279984882cdd3463a9fe434c3d25936f43",
"T3T1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "b5bda9a41c176f6f1b317c7401f65533905e6c2764f23da1931653c48782c640",
"T3T1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "25526e25d51f7f1a6b80423041a9a6462775356f04669f1f4f175cf071500ae5",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "b21b9b245a4b8beb1aa97b2ae215c728e4149164240a477e78b5d261c76bf20c",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "a7753a8d13c62a226921d061839d3db04304fbaee03e82222d23d6fbdb497bc6",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "1da3ba4f179f60728cbe012c56120b2b1adbfd777ee282b802ef7a44a7c53915",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "5da7f134310e41b1a304a86b2160c00ce2cbeb49e11af3a5f720d0800083f6e6",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "d809fa837f26ea930315af0e24ccd13555e13139dd73fbd20d97146e4912de87",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "bdc0c72734662bed63ee63143ecdb343bfd779e3983e96b13ae33816bcbb294a",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "bfcc90188c0e704f2b2ee4afd7c616e116493bf0f9ef08aeb006c8eae23e3130",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "c86b3f84b601aa162ebfa59e49f7a83ece8b3d03f780ca6cffba01e257f9e631",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "739e3359b4c0d22da0ce39c1949d36e50942fa6855941c19bb5ef8a33b10e63a",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "95dc3c3561517b60adb1c2021ea23b9ec11e6b63851e11b4586fbf1762bea32b",
"T3T1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "83bbf55f0a13974b9f7832554aa3019ae16d56555f017ecb5130c7594637e775",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "e046d946894f3308666456016642ae88826ddcfb4253e7d90f29e410b3dc14fe",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort": "1da3ba4f179f60728cbe012c56120b2b1adbfd777ee282b802ef7a44a7c53915",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "1f8540603708c55638db91f3cd3a186e096fcc2d98e34428de0d307f7e9f465a",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "aaafb3665ca17749efcf55d9b865560c9fc7037682cdc6b2eb27a2cb16e93b64",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "530ce8cf762cbb732a1f675fb1380821d8bb8951917d4d74b34047d952354633",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "cd39189f226230308eeba0acb69bc61a47b987d14ec467456f6210d396489da8",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "4197cae4a38a26edafa852b67130229801a3c4d25863a230dd09ca5182979931",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "00faa2c692dd39e72daa257ad1bd645a2658415b2809d8731b77107dfa6f6ad7",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "52f456554d9c47d36d8c7b4d259b627dcdde0feb9fc4e609e4d7c1fb182b7813",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "8aa1ce542df79cc78ac054fb39e02e229bfdb0d0170e3ce41d1443fb90651348",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "d0f14aac0036f48c58b433407f34bbbc16e1f15ecd5fb10cf15aaefcfa54e669",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "e5b21d6b8460d0f2bed297ef9152d75e698a669a73d62987f9eb520d15af9d70",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "6fb8edb7fd4a56732819f87a41e88b97569994cbb0f4c7f134b8d1bc92d4114f",
"T3T1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "fd601b7147e8f2e3503ef9336736b7234ecc352df68847f90a0950817571f83e",
"T3T1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "33284c233a9a67675d134734557ee231eb2d264780c3e79baef7ddbf5f482928",
"T3T1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "97ec29b2140ec2346a5177cb35c16594f81df2862f65ba165b641eb960ada2c2",
"T3T1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "365b2f206f400c5a1bd1063aabaf264273df4aa25c08c41a67993e48b12d5795",
"T3T1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "c22fe1803518906f0d67bee59f5b97534c63942d2bbc16f567d3e1ca8a27e509",
"T3T1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "e4d72560eba9680b3ee4ea7b09021cc95afb9dba779dc820ba4bf8538f369d59",
@ -20567,9 +20567,9 @@
"T3T1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "3b3f60eafa6ba55e31231dad66a5dca4243aa5b679282579fa08505d42e78ec3",
"T3T1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "adb553bf323a959262c38562c4e76e9d4257bda2ec3f1eae7107cc7add23c6f3",
"T3T1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "4047e344718b64d93dc7e76a77a40799c241e29f5ba84317391b06e5565ef261",
"T3T1_es_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "b5f1e44295ce5e72bf4c1c53b31c123892b26b8ac878f8e57c19381d1d608f4c",
"T3T1_es_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "3c419c359eb48c217e825704d4dab5f34de5c361a9a70acd57671193274dd3ff",
"T3T1_es_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "04750df0b17ff904462a696796c5f2e871606cc1d8086dc8845791b87fb2bcf4",
"T3T1_es_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "b28c48bbb5804deb9eb45efb1e7e1dde9c522272585890257300cfa34451266b",
"T3T1_es_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "cbd3d18ee092dbbc35aef9784ce0052e4393fad53635ce940b6460530b273359",
"T3T1_es_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "b4cc463379c199cfb9cde5233205f752539db811fac3f7cabcb5e9f3450f15d4",
"T3T1_es_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "1a8b04710690b8b55ca712b7aad50b643887e639335b031dc60ae5318a09604a",
"T3T1_es_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "d5ded293d44f50ca98484ad38ca49cd90a0662610d9420bd90e275a843cdb27c",
"T3T1_es_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "5d72847afacd0203138886c3a6f0fdcf0a7f0ad7ebadf6e2ff606b0c8d654304",
@ -20836,10 +20836,10 @@
"T3T1_es_test_protection_levels.py::test_unlocked": "fe43f2681f087deeb6ecc92501c4eff2d44a30e4ddfa7e2beccde954ae40cc0d",
"T3T1_es_test_protection_levels.py::test_verify_message_t2": "1d3351d9da92ff5014ca1a8a75211fa78d938828ac5990987a50fdf6888a2230",
"T3T1_es_test_protection_levels.py::test_wipe_device": "bd526c2186cbe66c01f2336f3eb48b7bf9c612c5c906b11395fbc30e5b5d9f94",
"T3T1_es_test_repeated_backup.py::test_repeated_backup": "0e50a0c0f8a4ef569d451f86089157f8e417ecd9a3ad7fcb203aa9a294ee9ff9",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_cancel": "da65eaa99fcd520acedf285eb0d9094025d35b758c399dd9358bb271c70f411f",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "c4fa4d14bc361d1aac63e4572d2a6e2bd5d966ffb7c6cda598e4fee1e4c9c0f4",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "851706810a37e3437230aaa7bad7e8ced0af3c832ddeea889226b574b337fe96",
"T3T1_es_test_repeated_backup.py::test_repeated_backup": "61d1f2b6253c191fbc8f1fe26ec80b8f7af5c31c908337c959cdebd4553fb617",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_cancel": "be00dd99130ddc7df16bb9dbabef10d8dfe9ec6df1751d1bbbea691ae9e150f3",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "9ca1fae13fcb52478b18731c36a0b9d35cd4f410fbc992399b6177c98394fa24",
"T3T1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "b9904b98abc32002a6b9d07788a8615fde2e3deca0fb373856be17f52e888b17",
"T3T1_es_test_sdcard.py::test_sd_format": "72f118c0af96c0efac42421ac361945413a8e956ba1715eb89daf6daa772d5aa",
"T3T1_es_test_sdcard.py::test_sd_no_format": "29396b71ce166f434a1a7c8ca2855e0f4432949533cd4fa822b8fe647cf3ee8c",
"T3T1_es_test_sdcard.py::test_sd_protect_unlock": "33fe33134d770ff08151fa7fbe46f0c1feb78a65a20dd52e6fd152f5be0237e3",
@ -21865,38 +21865,38 @@
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "6844430088a65e658ba478d88a3627156d42aaedb444e272757496c676593258",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "6844430088a65e658ba478d88a3627156d42aaedb444e272757496c676593258",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "6844430088a65e658ba478d88a3627156d42aaedb444e272757496c676593258",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "4d9a551b8aedce10efdb327478688229a97c4f25fb9e2ccaaefd66e7dd4967a1",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "e5f9b6583046b56616b2bb019d37e9a33e6192213bb6df858269b9dc6381c1ec",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "7adbf5c3587cb8f33dd9b134d6a3a78f48c715e91d0e450726a479e2fa1ce687",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "b03ba7414e247d9da39ebc650e254c4d78dc7ad623a4c6748b61834498c99e35",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "6dba1e788d99af0016e42c1592d489d35e1d6f62caf6cbd58f920223b7c0f5a0",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "48dd7de168be2797bb680b6e5627ef93e624e6f3323207358b2c99e6970b6e23",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "6844430088a65e658ba478d88a3627156d42aaedb444e272757496c676593258",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "24e2895bc6fe62454556e7ffc17c91fb2d482e182682061998a28e751137b96a",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "ff73723868fa85968729529443af81ec02c6e1967637c288c43bab6143db8c9d",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "72f4e5e0fd6831120136591ad268306b0406a78a29a50ec146b86bd6210905c3",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "2a624a785479bee226ad18857c9e10e5b84183ab9b4befa2e00eeff8d87f1217",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "337ffca4bd75ef71669292eed7ae25aa8fe785e7700fef20a195d5d153d72542",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "7fbb1b5ff9b0140b4b1cdf1e6e1aaecb1d5f83c1503dfe47bda72618e31bebd8",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "40bf5c8194fd746d64044cd95c2c6aa0562e9c755c7e2ebf49523c1331a5dbba",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "f4fe1e248b9dc8c9ef059e33305b806da5c55da332797865537839b4bacf6432",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "e3f89d8c87d54107d5edc25ee4fff0d70c9e80fa5feacf95cf1d903ae2aa9faf",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "bbc3d28d32dd8d54847cbb02b09edc2451492a3f0e193fe934aff6cc48c6a622",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "47b5a7273bb3cccd79817d2710b3f2b6eb302f5e1705aaab8f6d52db89a980c2",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "6204587e397eca636781391239ab6c8ff6699d58c66205ee3d9865a6d50106e4",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort": "72f4e5e0fd6831120136591ad268306b0406a78a29a50ec146b86bd6210905c3",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "f19738ebc18bb66e20a8bce6c9f3fece4d017e9de9392e7de169b42a9aed1db7",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "899c7f67fed9c7fe49ec0256025d3dc9a64e88f8bf1e23a51f1d13ff322bb3b7",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "d079e807d2a814e22fd2f8a6d1a7b4f552855b8604bd5dbdcca70f041a272f01",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "935853a14d308f64b42eb5954232ae957d6790852e6079cdb5cb85897225c3a3",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "4c081398b66d9abfbd614f7212f669a92532cdf42e071393c791d07538b08b41",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "7dc9f1d962683da973892213937656f171f6657dc9e71beef56b3ada78b668cc",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "4856c35ff7ee8cb94fe59e49faba8f29fe4e08354931e5aad107d8e3f09e1f83",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "b1d49b8bb76d1decb056feb13335ec9a58024e9d23c41f1dc8aed60d3b261f87",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "95024b5c27826bf4f3ff53bdba6c297550ac8c0e4ee90866ee94642cdab53857",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "cb0734a617bd6cb6154540a0cab05ac6233952807c9e906e2eadadc41676b304",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "52176c4c716fbb836a629029452345a8cefb64790801d80f3610b02d6a0ff782",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "8cc10f59d8f0385a8ef2480110998a9ff10f199f099ab02b2760db0c32af33d5",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "04f89551545d65b9253cd773123ac045f1898947fd667cbfdde280b0786f9552",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "629f2b6aef6b2697f165ca244bf142a3fcab1dcb5574062d4a81040a7cb527d5",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "3cfe69addcb64d994be21ac44481334aa4ac032ccc9964b6878ea6376d5acc10",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "fe12660d2ecee32ed8059a01a1f3c49871ff6b1bc65f19774c007cbeec115881",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "3c9a3e5b8a715953f0fdb94f921d8a456dc9bd0f8d302f6b6b7bc04e949c9a1d",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "72b4368fd8f503bf744388e434795732a909cb956d7bb7ad35f4f2546d9b9f20",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "0faa302548491b9370c3c7bc5523cc8b1225bb06b59fa71622776e50a8efb0d0",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "d2a9585a2bd83d75f21e2e0d4ca1026b159d6edb91a1ff54f04b67775a8da4c6",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "c2a537f28eac80fcf674c4f2c1f00c82dd618b06d5b030ad86cf5a7f54178c27",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "fc949c187da623bf33b5bfdb034d9933d3edd0551b4355f70c6347420989939d",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "e8a0a40d53e0f359d1b4178bbf14d7a372f4f56918819fdd9ed5806d515e1b7a",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "3c43ed6e7e58eabe8b7db49124c2ec0202fcfc3f50cb15449e24ffeb716c090d",
"T3T1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "08306b13088a2fcca5beaeb6b97c4071a149b399fb607b82e1c57352d4ba78e0",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "7eca9e95d1798c4762fd052d976eb080374b7e8cf96ce1fc01b7f9ad25717bcf",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort": "3c9a3e5b8a715953f0fdb94f921d8a456dc9bd0f8d302f6b6b7bc04e949c9a1d",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "b7543f548ad1a00b2eff274b2d3b8abc610c233a57f2f0c9a57cb02a9096e7e2",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "8a6808ee7668b9844b48e7c29e156bc2648657c4f3b906278c542902c03eed07",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "1af889cf5bf93ea3a24390a1fa19845dffb893953ecaa1fbe600ac379c3ab957",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "fc4a08e2fc1d61b3e862fb2f85a472027b6a8596267464b997cfc39fd986db8c",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "83256e9fe1da8f7ac78f6cc0d6a153944fcc3967309b48721b4acf2be832a822",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "c02dd0f69fca16cf99efe56184f7aabd0a4f12e490aa2a363029c8d3a83fc5cf",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "cd1d24d2b47ca8859c2bfa5bf94139fa27c0b9ab3ad4938776d42417f137b0ca",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "5feb8e79312b5174de550969f394a89d166d527db2d6a0b7855bbc5b5c179020",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "a59b769e92465f00a18354ebbd1fc72ac5de1812f641a2100939e4e018b8219a",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "35dadd6fea63256e24578ee5b78a79c3fc7fddd8f99c5ebbd3c3dda038145d81",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "0ab0c73f4dac97dfb272775e5d89a93a153199b678d2e22d6b709e5fa10da140",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "5aa9bf8ade52e7c7909ec98f72a1b6daae8960e0dd364ccebc4f8f437aeab5bd",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "0ba21f8a7dc2554235b60c92981b927d091b0a649f1ddb38bcb2a46b96c163fa",
"T3T1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "b4274e13a05ff1edc4d5b6cc5eb3e8707d218dfc9912e1ef804f7520600ef16b",
"T3T1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "a745724fa11eb6052ebcf1165182d77b2f3ba6d3e13426ffc4d36e3f4daeb518",
"T3T1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "855b6597092938e14055cc78e88ad5baccb14d6b573a2da27fc1a9089dd40584",
"T3T1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "2dcdc176124490bcb621f1e0e165a24fe04650d8eda69755330f559eebdebf19",
@ -21909,9 +21909,9 @@
"T3T1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "630dd24e47c14dce4cca477909f70b38921e4787c0865787b7ec3e11d87c785c",
"T3T1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "af4d8889d269d0bc5bed1e1530c055619a3ed4fb16077900f858ee5b7326bc18",
"T3T1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "ee1a08bb27a75e84223347a2d9f5c364328f94283b79d133b4b9239a1eb1ae30",
"T3T1_fr_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "4b929009e0e2893c7bbbc23fa107b9031a62c4ee4cd4c88ce346eb34e4dcd708",
"T3T1_fr_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "f603c8994bc5b44c99749f743345366b805d575ce47f6437afe1d3503da9b433",
"T3T1_fr_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "421c29861fdb209a3a6cf0ca6eabacb0c89ee09d136056a3c5f9246a186d0336",
"T3T1_fr_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "2a7b2533d3aad3a703f11a18efef6a75b877b6fae0fca0203df53a7723ca06f6",
"T3T1_fr_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "35fb3bcbcf695e36c43e863c11be1485a23b26cbe5453dc63e603b3888f2d1f6",
"T3T1_fr_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "9bd10fb917e2c5cc3f0588d9639a2d15a20527ee4300b0b8fea23de4fd22540b",
"T3T1_fr_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "469bec5aab906736578bbc249ff3e6eda95f1c7e29e6729f69acaa2cfa4d565b",
"T3T1_fr_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "f2ee63ccc245cc4ac50456bbb3b6d3f0769ca02923ce0e31b3cc64428d54c60b",
"T3T1_fr_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "6355a8725088cdbb252010ebe97897b4f8f0e6f783001ab3b4155292d817fa8b",
@ -22178,10 +22178,10 @@
"T3T1_fr_test_protection_levels.py::test_unlocked": "41aff29e00f12334bc5f4404403a86399c0bc3f3c7aa36619d13247918280d8e",
"T3T1_fr_test_protection_levels.py::test_verify_message_t2": "c7fb9d00a7a5519c050401b6b1181aafb2cee07aac911a1f69ca19bf4926bf45",
"T3T1_fr_test_protection_levels.py::test_wipe_device": "53279b977255d6d8874a592a5241f6a113e96442f871e96522ed8bf12fb05586",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup": "54de4457f35aaa869d5f45f1acbddab22962eab75ee82f3dbd918c041ebb77ad",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "72e12e6e6aeb25c0452cc502b6533be596ccdfe516280b9682573e29a3468abc",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "41537f31c77038bead3a8a630715b9e79009c75aaf71be8adc8b77cb6a10d7e4",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "e37628bd6f4856fed629fd406c6130a01833e49183e729cd4af49b403c784f71",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup": "f723b24f7710e6dcf2e647c51739507173db327c763efa9de421b9ecb50edfb4",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "f85117cf512774123c0d76f011423927a958856db577d33cb6a12e838fbb4b96",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "9ee89f8aa08b3fed5791f0f777060fc01bca4217ed77bdf5a61997044b368f6f",
"T3T1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "d660141ef88b49b7b18b1912f66c78329eeeaf780ca7113c5883b5d141e4dd2a",
"T3T1_fr_test_sdcard.py::test_sd_format": "d47e1612b47b28186d3517ccc686a4ddd4b60557c41446373e3f0f97f93d0105",
"T3T1_fr_test_sdcard.py::test_sd_no_format": "b2dd511b9d011aaaa01dca823466fa2dcf42a79b319f85c5a07b0e5ba99003e2",
"T3T1_fr_test_sdcard.py::test_sd_protect_unlock": "4ebf7f7adc1ba12f1977c97573f1489ec6d58b8e71d67213d521f1c790d4fabf",
@ -22240,9 +22240,9 @@
"T3T1_en_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptTempora-b3d21f4a": "e997cc958f7d7d262604e7728469f7a6952b60c0b1b3520252e3d58e49b41e66",
"T3T1_en_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.Strict-Safety-f1ff9c26": "a0879b23f779049abf46c42608ee7b841a0b8dc4ac83b85ac83a83e992068165",
"T3T1_en_test_shamir_persistence.py::test_abort": "1a5d5ef3d81710c7a0a113514ac287b37d6ab66f284bfe34353dddf634714ea5",
"T3T1_en_test_shamir_persistence.py::test_recovery_multiple_resets": "1c5d122bf2962438ac71eb20f0fd000494bc28a89c59aa397136da62d8d70901",
"T3T1_en_test_shamir_persistence.py::test_recovery_on_old_wallet": "6f24e04532cef5a0316795e18ebffe0e45cd5a52044e58d4bbee11006834cf56",
"T3T1_en_test_shamir_persistence.py::test_recovery_single_reset": "d75e7d84af3f78b4df3cd781b0d65d0dfba1ea6f31dcd6cdfce8bc4fb1456374",
"T3T1_en_test_shamir_persistence.py::test_recovery_multiple_resets": "ace0e626ddf56eeac716327fb92ea7a4bdaa155488f47d462ea371724d36acfc",
"T3T1_en_test_shamir_persistence.py::test_recovery_on_old_wallet": "89a5417c0f4dbdc2932ff705425306707d329bc65f8f9de5652f803c5d18a493",
"T3T1_en_test_shamir_persistence.py::test_recovery_single_reset": "1ee4f62b9967ed9a41575a96b1c115697a741dd3891953e4a96dfff800be203a",
"T3T1_en_test_wipe_code.py::test_wipe_code_activate_core": "aa4da89845a41383de2a091315a54b90996c1f71692adcfaa69886c35c4ad261"
}
}