From e93fd760e9ebd44c6b75928ad0e67f0c7634b72b Mon Sep 17 00:00:00 2001 From: Ajinkya Rajandekar Date: Thu, 4 Jan 2024 18:12:00 +0000 Subject: [PATCH 01/24] Add reject confirm screen for blindsigning flow --- app/src/apdu_sign.c | 80 +----------------- app/src/apdu_sign.h | 4 - app/src/ui_stream.h | 3 + app/src/ui_stream_nbgl.c | 71 +++++++++++++++- .../reject_review.png | Bin 5076 -> 8273 bytes .../rejected.png | Bin 0 -> 5076 bytes .../tbtl_review_1.png | Bin 13620 -> 16807 bytes .../test_parsing_errors/reject_review.png | Bin 5076 -> 8273 bytes .../test_parsing_errors/rejected.png | Bin 0 -> 5076 bytes tests/integration/stax/utils.py | 13 ++- 10 files changed, 79 insertions(+), 92 deletions(-) create mode 100644 tests/integration/stax/snapshots/test_blindsign_too_deep_rejections/rejected.png create mode 100644 tests/integration/stax/snapshots/test_parsing_errors/rejected.png diff --git a/app/src/apdu_sign.c b/app/src/apdu_sign.c index 90c7057fb..b1c0e4796 100644 --- a/app/src/apdu_sign.c +++ b/app/src/apdu_sign.c @@ -51,7 +51,6 @@ static void send_reject(int); static void send_continue(void); static void send_cancel(void); static void refill(void); -static void pass_from_clear_to_blind(void); static void stream_cb(tz_ui_cb_type_t); static void handle_first_apdu(command_t *); static void handle_first_apdu_clear(command_t *); @@ -151,82 +150,6 @@ send_continue(void) TZ_POSTAMBLE; } -#ifdef HAVE_NBGL - -static void -cancel_operation(uint8_t reject_code) -{ - TZ_PREAMBLE(("void")); - global.keys.apdu.sign.received_last_msg = true; - stream_cb(reject_code); - global.step = ST_IDLE; - nbgl_useCaseStatus("Transaction rejected", false, ui_home_init); - - TZ_POSTAMBLE; -} - -static void -cancel_operation_blindsign(void) -{ - cancel_operation(TZ_UI_STREAM_CB_BLINDSIGN_REJECT); -} - -static void -blindsign_splash(void) -{ - TZ_PREAMBLE(("void")); - nbgl_useCaseReviewStart( - &C_round_warning_64px, "Blind signing", - "This transaction can not be securely interpreted by Ledger Stax. It " - "might put your assets at risk.", - "Reject transaction", pass_from_clear_to_blind, - cancel_operation_blindsign); - - TZ_POSTAMBLE; -} - -static void -handle_blindsigning(bool confirm) -{ - TZ_PREAMBLE(("void")); - if (confirm) { - if (!N_settings.blindsigning) - toggle_blindsigning(); - nbgl_useCaseReviewStart(&C_round_check_64px, "Blind signing enabled", - NULL, "Reject transaction", blindsign_splash, - cancel_operation_blindsign); - - } else { - cancel_operation_blindsign(); - } - TZ_POSTAMBLE; -} - -void -switch_to_blindsigning(__attribute__((unused)) const char *err_type, - const char *err_code) -{ - TZ_PREAMBLE(("void")); - PRINTF("[DEBUG] refill_error: global.step = %d\n", global.step); - TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_CLEAR_SIGN); - global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; - global.step = ST_BLIND_SIGN; - if (N_settings.blindsigning) { - nbgl_useCaseReviewStart(&C_round_warning_64px, - "Blind signing required:\nParsing Error", - err_code, "Reject transaction", - blindsign_splash, cancel_operation_blindsign); - } else { - nbgl_useCaseChoice(&C_round_warning_64px, - "Enable blind signing to authorize this " - "transaction:\nParsing Error", - err_code, "Enable blind signing", - "Reject transaction", handle_blindsigning); - } - - TZ_POSTAMBLE; -} -#endif static void refill_blo_im_full(void) @@ -658,8 +581,7 @@ reviewChoice(bool confirm) if (confirm) { nbgl_useCaseStatus("TRANSACTION\nSIGNED", true, accept_blindsign_cb); } else { - nbgl_useCaseStatus("Transaction rejected", false, - reject_blindsign_cb); + tz_reject_ui(); } FUNC_LEAVE(); diff --git a/app/src/apdu_sign.h b/app/src/apdu_sign.h index b62094a0c..0880a6bed 100644 --- a/app/src/apdu_sign.h +++ b/app/src/apdu_sign.h @@ -66,7 +66,3 @@ typedef struct { } blind; } u; } apdu_sign_state_t; - -#ifdef HAVE_NBGL -void switch_to_blindsigning(const char *, const char *); -#endif diff --git a/app/src/ui_stream.h b/app/src/ui_stream.h index 7101dfcf4..a599e5d40 100644 --- a/app/src/ui_stream.h +++ b/app/src/ui_stream.h @@ -177,3 +177,6 @@ void tz_ui_stream_close(void); void tz_ui_stream(void); void tz_ui_stream_start(void); tz_ui_cb_type_t tz_ui_stream_get_cb_type(void); +#ifdef HAVE_NBGL +void tz_reject_ui(void); +#endif diff --git a/app/src/ui_stream_nbgl.c b/app/src/ui_stream_nbgl.c index ff3784439..388d3dc92 100644 --- a/app/src/ui_stream_nbgl.c +++ b/app/src/ui_stream_nbgl.c @@ -30,6 +30,7 @@ void tz_ui_stream_start(void); void drop_last_screen(void); void push_str(const char *, size_t, char **); +void switch_to_blindsigning(const char *, const char *); void tz_cancel_ui(void) @@ -54,7 +55,11 @@ tz_reject(void) global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; global.keys.apdu.sign.received_last_msg = true; - s->cb(TZ_UI_STREAM_CB_REJECT); + if (global.step == ST_BLIND_SIGN) { + s->cb(TZ_UI_STREAM_CB_BLINDSIGN_REJECT); + } else { + s->cb(TZ_UI_STREAM_CB_REJECT); + } global.step = ST_IDLE; nbgl_useCaseStatus("Transaction rejected", false, ui_home_init); @@ -73,6 +78,70 @@ tz_reject_ui(void) FUNC_LEAVE(); } +static void +start_blindsign(void) +{ + FUNC_ENTER(("void")); + + tz_ui_stream_t *s = &global.stream; + s->cb(TZ_UI_STREAM_CB_BLINDSIGN); + + FUNC_LEAVE(); +} + +static void +blindsign_splash(void) +{ + TZ_PREAMBLE(("void")); + nbgl_useCaseReviewStart( + &C_round_warning_64px, "Blind signing", + "This transaction can not be securely interpreted by Ledger Stax. It " + "might put your assets at risk.", + "Reject transaction", start_blindsign, tz_reject_ui); + + TZ_POSTAMBLE; +} + +static void +handle_blindsigning(bool confirm) +{ + TZ_PREAMBLE(("void")); + if (confirm) { + if (!N_settings.blindsigning) + toggle_blindsigning(); + nbgl_useCaseReviewStart(&C_round_check_64px, "Blind signing enabled", + NULL, "Reject transaction", blindsign_splash, + tz_reject_ui); + + } else { + tz_reject_ui(); + } + TZ_POSTAMBLE; +} + +void +switch_to_blindsigning(__attribute__((unused)) const char *err_type, + const char *err_code) +{ + TZ_PREAMBLE(("void")); + PRINTF("[DEBUG] refill_error: global.step = %d\n", global.step); + TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_CLEAR_SIGN); + global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; + global.step = ST_BLIND_SIGN; + if (N_settings.blindsigning) { + nbgl_useCaseReviewStart( + &C_round_warning_64px, "Blind signing required:\nParsing Error", + err_code, "Reject transaction", blindsign_splash, tz_reject_ui); + } else { + nbgl_useCaseChoice(&C_round_warning_64px, + "Enable blind signing to authorize this " + "transaction:\nParsing Error", + err_code, "Enable blind signing", + "Reject transaction", handle_blindsigning); + } + + TZ_POSTAMBLE; +} void expert_mode_splash(void) { diff --git a/tests/integration/stax/snapshots/test_blindsign_too_deep_rejections/reject_review.png b/tests/integration/stax/snapshots/test_blindsign_too_deep_rejections/reject_review.png index cebc8beded3da2cc390e824ea38eac4f84cbf349..babad9890872f63cb50017836f9fcc0163367cbd 100644 GIT binary patch literal 8273 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 literal 5076 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 diff --git a/tests/integration/stax/snapshots/test_parsing_errors/reject_review.png b/tests/integration/stax/snapshots/test_parsing_errors/reject_review.png index cebc8beded3da2cc390e824ea38eac4f84cbf349..babad9890872f63cb50017836f9fcc0163367cbd 100644 GIT binary patch literal 8273 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 literal 5076 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 UGkp&N{?_T8^9?-Ha2kdE7cFCueE Date: Fri, 5 Jan 2024 14:07:15 +0000 Subject: [PATCH 02/24] app: fix swap tests --- .github/workflows/swap.yml | 2 +- app/src/handle_swap.c | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/workflows/swap.yml b/.github/workflows/swap.yml index 69f993ba2..479379992 100644 --- a/.github/workflows/swap.yml +++ b/.github/workflows/swap.yml @@ -12,7 +12,7 @@ jobs: uses: functori/app-exchange/.github/workflows/reusable_swap_functional_tests.yml@ebc5932d939e2bad5eaf3d5e316626169da6ff23 with: repo_for_exchange: 'functori/app-exchange' - branch_for_exchange: 'ajinkyaraj-23@display-source-field' + branch_for_exchange: 'develop' branch_for_tezos: ${{ github.ref }} run_for_devices: '["nanos", "nanosp", "stax"]' test_filter: '"tezos_new"' diff --git a/app/src/handle_swap.c b/app/src/handle_swap.c index 7d4278801..c83bed8e6 100644 --- a/app/src/handle_swap.c +++ b/app/src/handle_swap.c @@ -33,8 +33,10 @@ #include "parser/num_parser.h" // based on app-exchange -#define TICKER_MAX_SIZE 9 +#define TICKER "XTZ" #define ADDRESS_MAX_SIZE 63 +/* the smallest unit is microtez */ +#define DECIMALS 6 /* Check check_address_parameters_t.address_to_check against specified * parameters. @@ -102,15 +104,6 @@ swap_handle_get_printable_amount(get_printable_amount_parameters_t *params) FUNC_ENTER(("params=%p", params)); uint64_t amount; - uint8_t decimals; - char ticker[TICKER_MAX_SIZE]; - - if (!swap_parse_config(params->coin_configuration, - params->coin_configuration_length, ticker, - sizeof(ticker), &decimals)) { - PRINTF("[ERROR] Fail to parse config\n"); - goto error; - } if (!swap_str_to_u64(params->amount, params->amount_length, &amount)) { PRINTF("[ERROR] Fail to parse amount\n"); @@ -119,13 +112,13 @@ swap_handle_get_printable_amount(get_printable_amount_parameters_t *params) if (!format_fpu64_trimmed(params->printable_amount, sizeof(params->printable_amount), amount, - decimals)) { + DECIMALS)) { PRINTF("[ERROR] Fail to print amount\n"); goto error; } strlcat(params->printable_amount, " ", sizeof(params->printable_amount)); - strlcat(params->printable_amount, ticker, + strlcat(params->printable_amount, TICKER, sizeof(params->printable_amount)); FUNC_LEAVE(); From aea6f3b02fa3831867acc8d62ec1ac2e542c49e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Mon, 8 Jan 2024 16:28:15 +0100 Subject: [PATCH 03/24] Swap: count the number of reveals seen in the operation --- app/src/handle_swap.c | 4 ++-- app/src/parser/operation_parser.c | 3 +++ app/src/parser/operation_state.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/handle_swap.c b/app/src/handle_swap.c index c83bed8e6..180a022e4 100644 --- a/app/src/handle_swap.c +++ b/app/src/handle_swap.c @@ -217,8 +217,8 @@ swap_check_validity(void) os_sched_exit(-1); G_swap_response_ready = true; - PRINTF("[DEBUG] batch_index = %u, tag=%d\n", op->batch_index, - op->last_tag); + PRINTF("[DEBUG] batch_index = %u, nb_reveal=%d, tag=%d\n", + op->batch_index, op->nb_reveal, op->last_tag); TZ_ASSERT(EXC_REJECT, op->batch_index == 1); TZ_ASSERT(EXC_REJECT, op->last_tag == TZ_OPERATION_TAG_TRANSACTION); TZ_ASSERT(EXC_REJECT, op->last_amount == G_swap_params.amount); diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 6654be925..22a82fa63 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -288,6 +288,7 @@ tz_operation_parser_init(tz_parser_state *state, uint16_t size, op->batch_index = 0; #ifdef HAVE_SWAP op->last_tag = TZ_OPERATION_TAG_END; + op->nb_reveal = 0; op->last_fee = 0; op->last_amount = 0; #endif // HAVE_SWAP @@ -403,6 +404,8 @@ tz_operation_parser_step(tz_parser_state *state) tz_must(tz_parser_read(state, &t)); #ifdef HAVE_SWAP op->last_tag = t; + if (t == TZ_OPERATION_TAG_REVEAL) + op->nb_reveal++; #endif // HAVE_SWAP for (d = tz_operation_descriptors; d->tag != TZ_OPERATION_TAG_END; d++) { diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index 3848236af..4ae37021c 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -157,6 +157,7 @@ typedef struct { uint16_t batch_index; // to print a sequence number #ifdef HAVE_SWAP tz_operation_tag last_tag; + uint16_t nb_reveal; uint64_t last_fee; uint64_t last_amount; #endif // HAVE_SWAP From 3a987ad3d578623a804447ea7c7920c1f4fffcaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Mon, 8 Jan 2024 16:29:24 +0100 Subject: [PATCH 04/24] Swap: allow one reveal before the transaction --- app/src/handle_swap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/handle_swap.c b/app/src/handle_swap.c index 180a022e4..14b01eb7e 100644 --- a/app/src/handle_swap.c +++ b/app/src/handle_swap.c @@ -219,7 +219,8 @@ swap_check_validity(void) PRINTF("[DEBUG] batch_index = %u, nb_reveal=%d, tag=%d\n", op->batch_index, op->nb_reveal, op->last_tag); - TZ_ASSERT(EXC_REJECT, op->batch_index == 1); + TZ_ASSERT(EXC_REJECT, op->nb_reveal <= 1); + TZ_ASSERT(EXC_REJECT, op->batch_index - op->nb_reveal == 1); TZ_ASSERT(EXC_REJECT, op->last_tag == TZ_OPERATION_TAG_TRANSACTION); TZ_ASSERT(EXC_REJECT, op->last_amount == G_swap_params.amount); TZ_ASSERT(EXC_REJECT, op->last_fee == G_swap_params.fee); From 14ef316c96f21984f64b87c1c6ef1ca26557d1d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Mon, 8 Jan 2024 16:33:39 +0100 Subject: [PATCH 05/24] Swap: do not check extra_id param anymore --- app/src/handle_swap.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/app/src/handle_swap.c b/app/src/handle_swap.c index c83bed8e6..a3e582eb8 100644 --- a/app/src/handle_swap.c +++ b/app/src/handle_swap.c @@ -58,17 +58,6 @@ swap_handle_check_address(check_address_parameters_t *params) goto error; } - if (params->extra_id_to_check == NULL) { - PRINTF("[ERROR] Extra id is null\n"); - goto error; - } - - if (params->extra_id_to_check[0] != '\0') { - PRINTF("[ERROR] Extra id is not empty: %s\n", - params->extra_id_to_check); - goto error; - } - char address[TZ_CAPTURE_BUFFER_SIZE] = {0}; // Always tz1 @@ -177,17 +166,6 @@ swap_copy_transaction_parameters(create_transaction_parameters_t *params) goto error; } - if (params->destination_address_extra_id == NULL) { - PRINTF("[ERROR] Destination address extra id is null\n"); - goto error; - } - - if (params->destination_address_extra_id[0] != '\0') { - PRINTF("[ERROR] Destination address extra id is not empty: %s\n", - params->destination_address_extra_id); - goto error; - } - os_explicit_zero_BSS_segment(); G_swap_transaction_result = ¶ms->result; From 4409c377bb182f092c7bdbf804bce39c10bc7e36 Mon Sep 17 00:00:00 2001 From: Ajinkya Rajandekar Date: Tue, 9 Jan 2024 17:50:54 +0000 Subject: [PATCH 06/24] Dont display any UI while processing swap transactions --- .github/workflows/swap.yml | 2 +- app/src/apdu_pubkey.c | 3 +- app/src/apdu_sign.c | 87 ++++++++++++++++++++++++++++---------- app/src/app_main.c | 12 +++++- app/src/globals.h | 1 + app/src/keys.c | 17 ++++++++ app/src/ui_stream_nbgl.c | 1 - 7 files changed, 95 insertions(+), 28 deletions(-) diff --git a/.github/workflows/swap.yml b/.github/workflows/swap.yml index 479379992..ffd20e233 100644 --- a/.github/workflows/swap.yml +++ b/.github/workflows/swap.yml @@ -12,7 +12,7 @@ jobs: uses: functori/app-exchange/.github/workflows/reusable_swap_functional_tests.yml@ebc5932d939e2bad5eaf3d5e316626169da6ff23 with: repo_for_exchange: 'functori/app-exchange' - branch_for_exchange: 'develop' + branch_for_exchange: 'ajinkyaraj-186@dont-display-UI-for-swap-on-tezos' branch_for_tezos: ${{ github.ref }} run_for_devices: '["nanos", "nanosp", "stax"]' test_filter: '"tezos_new"' diff --git a/app/src/apdu_pubkey.c b/app/src/apdu_pubkey.c index a80d7bb7f..e2dd49759 100644 --- a/app/src/apdu_pubkey.c +++ b/app/src/apdu_pubkey.c @@ -167,7 +167,8 @@ handle_apdu_get_public_key(command_t *cmd) bool prompt = cmd->ins == INS_PROMPT_PUBLIC_KEY; TZ_PREAMBLE(("cmd=%p", cmd)); - TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_IDLE); + TZ_ASSERT(EXC_UNEXPECTED_STATE, + global.step == ST_IDLE || global.step == ST_SWAP_SIGN); TZ_ASSERT(EXC_WRONG_PARAM, cmd->p1 == 0); // do not expose pks without prompt through U2F (permissionless legacy diff --git a/app/src/apdu_sign.c b/app/src/apdu_sign.c index b1c0e4796..365e5bf2a 100644 --- a/app/src/apdu_sign.c +++ b/app/src/apdu_sign.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_SWAP +#include +#endif + #include "apdu.h" #include "apdu_sign.h" #include "globals.h" @@ -158,8 +162,15 @@ refill_blo_im_full(void) size_t wrote = 0; TZ_PREAMBLE(("void")); - global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; +#ifdef HAVE_SWAP + if (G_called_from_swap) { + tz_parser_flush(st, global.line_buf, TZ_UI_STREAM_CONTENTS_SIZE); + // invoke refill until we consume entire msg. + TZ_SUCCEED(); + } +#endif + global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; #ifdef HAVE_BAGL if (st->field_info.is_field_complex && !N_settings.expert_mode) { tz_ui_stream_push(TZ_UI_STREAM_CB_NOCB, st->field_info.field_name, @@ -208,7 +219,6 @@ refill_blo_im_full(void) } #endif - tz_parser_flush_up_to(st, global.line_buf, TZ_UI_STREAM_CONTENTS_SIZE, wrote); TZ_POSTAMBLE; @@ -228,7 +238,12 @@ refill_blo_done(void) refill_blo_im_full(); TZ_SUCCEED(); } + global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; + if (global.step == ST_SWAP_SIGN) { + TZ_CHECK(sign_packet()); + TZ_SUCCEED(); + } #ifdef HAVE_BAGL tz_ui_stream_push_accept_reject(); #endif @@ -244,6 +259,11 @@ refill_error(void) TZ_PREAMBLE(("void")); global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; +#ifdef HAVE_SWAP + if (G_called_from_swap) { + TZ_FAIL(EXC_PARSE_ERROR); + } +#endif #ifdef HAVE_BAGL tz_ui_stream_push_all(TZ_UI_STREAM_CB_NOCB, "Parsing error", @@ -438,10 +458,11 @@ handle_first_apdu(command_t *cmd) */ global.keys.apdu.sign.tag = 0; - TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_CLEAR_SIGN); - TZ_CHECK(handle_first_apdu_clear(cmd)); + TZ_ASSERT(EXC_UNEXPECTED_STATE, + global.step == ST_CLEAR_SIGN || global.step == ST_SWAP_SIGN); + io_send_sw(SW_OK); global.keys.apdu.sign.step = SIGN_ST_WAIT_DATA; @@ -451,23 +472,36 @@ handle_first_apdu(command_t *cmd) static void handle_first_apdu_clear(__attribute__((unused)) command_t *cmd) { + TZ_PREAMBLE(("global.step=%d", global.step)); tz_parser_state *st = &global.keys.apdu.sign.u.clear.parser_state; global.keys.apdu.sign.u.clear.received_msg = false; - - tz_ui_stream_init(stream_cb); - + // NO ui display during swap. +#ifdef HAVE_SWAP + if (!G_called_from_swap) { +#endif + tz_ui_stream_init(stream_cb); + global.step = ST_CLEAR_SIGN; + if (global.step == ST_CLEAR_SIGN) { #ifdef TARGET_NANOS - tz_ui_stream_push(TZ_UI_STREAM_CB_NOCB, "Review operation", "", - TZ_UI_LAYOUT_HOME_PB, TZ_UI_ICON_EYE); + tz_ui_stream_push(TZ_UI_STREAM_CB_NOCB, "Review operation", "", + TZ_UI_LAYOUT_HOME_PB, TZ_UI_ICON_EYE); #elif defined(HAVE_BAGL) - tz_ui_stream_push(TZ_UI_STREAM_CB_NOCB, "Review", "operation", - TZ_UI_LAYOUT_HOME_PB, TZ_UI_ICON_EYE); + tz_ui_stream_push(TZ_UI_STREAM_CB_NOCB, "Review", "operation", + TZ_UI_LAYOUT_HOME_PB, TZ_UI_ICON_EYE); +#endif + } +#ifdef HAVE_SWAP + } else { + PRINTF("[DEBUG] If called from SWAP : global.step =%d\n", + global.step); + } #endif - tz_operation_parser_init(st, TZ_UNKNOWN_SIZE, false); tz_parser_refill(st, NULL, 0); tz_parser_flush(st, global.line_buf, TZ_UI_STREAM_CONTENTS_SIZE); + + TZ_POSTAMBLE; } static void @@ -503,7 +537,9 @@ handle_data_apdu(command_t *cmd) // clang-format off switch (global.step) { - case ST_CLEAR_SIGN: TZ_CHECK(handle_data_apdu_clear(cmd)); break; + case ST_CLEAR_SIGN: + case ST_SWAP_SIGN: + TZ_CHECK(handle_data_apdu_clear(cmd)); break; case ST_BLIND_SIGN: TZ_CHECK(handle_data_apdu_blind()); break; default: TZ_FAIL(EXC_UNEXPECTED_STATE); break; } @@ -531,10 +567,16 @@ handle_data_apdu_clear(command_t *cmd) if (PKT_IS_LAST(cmd)) tz_operation_parser_set_size( st, global.keys.apdu.sign.u.clear.total_length); - TZ_CHECK(refill()); - if (global.keys.apdu.sign.step == SIGN_ST_WAIT_USER_INPUT) - tz_ui_stream(); - + if (global.step == ST_SWAP_SIGN) { + do { + TZ_CHECK(refill()); + } while (global.step == ST_SWAP_SIGN); + } else { + TZ_CHECK(refill()); + if (global.keys.apdu.sign.step == SIGN_ST_WAIT_USER_INPUT + && global.step != ST_SWAP_SIGN) + tz_ui_stream(); + } TZ_POSTAMBLE; } @@ -685,19 +727,18 @@ handle_apdu_sign(command_t *cmd) TZ_ASSERT(EXC_WRONG_LENGTH_FOR_INS, cmd->lc <= MAX_APDU_SIZE); if (PKT_IS_FIRST(cmd)) { - TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_IDLE); + TZ_ASSERT(EXC_UNEXPECTED_STATE, + global.step == ST_IDLE || global.step == ST_SWAP_SIGN); memset(&global.keys, 0, sizeof(global.keys)); - - global.step = ST_CLEAR_SIGN; - TZ_CHECK(handle_first_apdu(cmd)); global.keys.apdu.sign.return_hash = return_hash; goto end; } - TZ_ASSERT(EXC_UNEXPECTED_STATE, - global.step == ST_BLIND_SIGN || global.step == ST_CLEAR_SIGN); + TZ_ASSERT(EXC_UNEXPECTED_STATE, global.step == ST_BLIND_SIGN + || global.step == ST_CLEAR_SIGN + || global.step == ST_SWAP_SIGN); TZ_ASSERT(EXC_INVALID_INS, return_hash == global.keys.apdu.sign.return_hash); TZ_CHECK(handle_data_apdu(cmd)); diff --git a/app/src/app_main.c b/app/src/app_main.c index 00726792d..c1505899a 100644 --- a/app/src/app_main.c +++ b/app/src/app_main.c @@ -24,7 +24,9 @@ #include #include #include - +#ifdef HAVE_SWAP +#include +#endif #include "apdu.h" #include "app_main.h" #include "globals.h" @@ -124,9 +126,15 @@ app_main(void) /* ST_ERROR implies that we are completely unknown and need to reset */ global.step = ST_ERROR; - for (;;) { TZ_PREAMBLE(("void")); +#ifdef HAVE_SWAP + if (G_called_from_swap) { + global.step = ST_SWAP_SIGN; + } + PRINTF("[SWAP] : G_called_from_swap = %d , global.step = %d", + G_called_from_swap, global.step); +#endif if (global.step == ST_ERROR) { global.step = ST_IDLE; ui_home_init(); diff --git a/app/src/globals.h b/app/src/globals.h index 2da08ad67..b0510da81 100644 --- a/app/src/globals.h +++ b/app/src/globals.h @@ -75,6 +75,7 @@ typedef enum { ST_CLEAR_SIGN, ST_BLIND_SIGN, ST_PROMPT, + ST_SWAP_SIGN, ST_ERROR } main_step_t; diff --git a/app/src/keys.c b/app/src/keys.c index 7dca80111..92bb8392b 100644 --- a/app/src/keys.c +++ b/app/src/keys.c @@ -163,6 +163,23 @@ public_key_hash(uint8_t *hash_out, size_t hash_out_size, TZ_POSTAMBLE; } +/** + * @brief Sign a hash with eddsa using the device seed derived from the + * specified bip32 path and seed key. + * + * @param[in] derivation_type Derivation type, ex. ED25519 + * + * @param[in] path Bip32 path to use for derivation. + * + * @param[in] hash Digest of the message to be signed. + * + * @param[in] hash_len Length of the digest in octets. + * + * @param[out] sig Buffer where to store the signature. + * + * @param[in] sig_len Length of the signature buffer, updated with + * signature length. + */ void sign(derivation_type_t derivation_type, const bip32_path_t *path, const uint8_t *hash, size_t hashlen, uint8_t *sig, size_t *siglen) diff --git a/app/src/ui_stream_nbgl.c b/app/src/ui_stream_nbgl.c index 388d3dc92..57b49dd1f 100644 --- a/app/src/ui_stream_nbgl.c +++ b/app/src/ui_stream_nbgl.c @@ -286,7 +286,6 @@ tz_ui_stream_init(void (*cb)(uint8_t)) nbgl_useCaseReviewStart(&C_tezos, "Review request to sign operation", NULL, "Reject request", tz_ui_review_start, tz_reject_ui); - FUNC_LEAVE(); } From 6f484aa8a7b74cc37cbbca723207581d3cf55507 Mon Sep 17 00:00:00 2001 From: Emma Turner Date: Fri, 5 Jan 2024 15:45:08 +0000 Subject: [PATCH 07/24] CI: use default app-exchange repo app-exchange workflow was updated to allow overriding of app repo --- .github/workflows/swap.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/swap.yml b/.github/workflows/swap.yml index ffd20e233..e690d74f0 100644 --- a/.github/workflows/swap.yml +++ b/.github/workflows/swap.yml @@ -1,18 +1,17 @@ -name: Swap feature tests +name: Swap functional tests on: workflow_dispatch: push: branches: - main + - develop pull_request: jobs: job_functional_tests: - uses: functori/app-exchange/.github/workflows/reusable_swap_functional_tests.yml@ebc5932d939e2bad5eaf3d5e316626169da6ff23 + uses: LedgerHQ/app-exchange/.github/workflows/reusable_swap_functional_tests.yml@develop with: - repo_for_exchange: 'functori/app-exchange' - branch_for_exchange: 'ajinkyaraj-186@dont-display-UI-for-swap-on-tezos' branch_for_tezos: ${{ github.ref }} - run_for_devices: '["nanos", "nanosp", "stax"]' - test_filter: '"tezos_new"' + repo_for_tezos: ${{ github.repository }} + test_filter: '"XTZ or xtz or Tezos or tezos"' From 54c4bacbeb5331e49f7a8378a86f4e80f4fc2952 Mon Sep 17 00:00:00 2001 From: Ajinkya Rajandekar Date: Wed, 10 Jan 2024 14:05:53 +0000 Subject: [PATCH 08/24] Fix infinite loop bug with swap_sign --- app/src/apdu_sign.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/apdu_sign.c b/app/src/apdu_sign.c index 365e5bf2a..6973f8085 100644 --- a/app/src/apdu_sign.c +++ b/app/src/apdu_sign.c @@ -261,6 +261,7 @@ refill_error(void) global.keys.apdu.sign.step = SIGN_ST_WAIT_USER_INPUT; #ifdef HAVE_SWAP if (G_called_from_swap) { + global.keys.apdu.sign.u.clear.received_msg = false; TZ_FAIL(EXC_PARSE_ERROR); } #endif @@ -570,7 +571,7 @@ handle_data_apdu_clear(command_t *cmd) if (global.step == ST_SWAP_SIGN) { do { TZ_CHECK(refill()); - } while (global.step == ST_SWAP_SIGN); + } while (global.keys.apdu.sign.u.clear.received_msg); } else { TZ_CHECK(refill()); if (global.keys.apdu.sign.step == SIGN_ST_WAIT_USER_INPUT From 33f71a1737c53e2b2190678a2071cae98bcc291e Mon Sep 17 00:00:00 2001 From: Ajinkya Rajandekar Date: Wed, 10 Jan 2024 15:33:29 +0000 Subject: [PATCH 09/24] use fork of ledger app-exchange --- .github/workflows/swap.yml | 3 ++- scripts/test_swap.sh | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/swap.yml b/.github/workflows/swap.yml index e690d74f0..3583b3775 100644 --- a/.github/workflows/swap.yml +++ b/.github/workflows/swap.yml @@ -12,6 +12,7 @@ jobs: job_functional_tests: uses: LedgerHQ/app-exchange/.github/workflows/reusable_swap_functional_tests.yml@develop with: + branch_for_exchange: 'develop' branch_for_tezos: ${{ github.ref }} repo_for_tezos: ${{ github.repository }} - test_filter: '"XTZ or xtz or Tezos or tezos"' + test_filter: '"tezos"' diff --git a/scripts/test_swap.sh b/scripts/test_swap.sh index 18face654..b5d397673 100755 --- a/scripts/test_swap.sh +++ b/scripts/test_swap.sh @@ -139,7 +139,7 @@ build_app_ethereum() { build_app_tezos() { _assert_tezos_repo - _build_side_app $1 "tezos_new" $APP_TEZOS_REPO/app + _build_side_app $1 "tezos" $APP_TEZOS_REPO/app } run_tests() { @@ -153,7 +153,7 @@ run_tests() { ledger-app-tezos-integration-tests -c \ "cd /app && \ pip install -r test/python/requirements.txt && \ - pytest test/python $*" + pip install protobuf==3.20.3 && pytest test/python $*" ) } @@ -163,7 +163,7 @@ run_tests_all() { device=$1 shift - run_tests --device $device -k "tezos_new" $* + run_tests --device $device -k "tezos" $* } update() { From 9890243de97b09913d6f2133b83fdad5238ae724 Mon Sep 17 00:00:00 2001 From: Ajinkya Rajandekar Date: Thu, 11 Jan 2024 16:01:54 +0000 Subject: [PATCH 10/24] Bump ledger-sdk version - ledger-sdk version changed to 3.12.0 - It resulted in nanosp sdk version change. - Nanosp snapshots updated due to change in font used in SDK --- .github/workflows/build.yml | 2 +- Makefile | 4 ++-- scripts/test_swap.sh | 2 +- .../nano/snapshots/nanosp/home.png | Bin 369 -> 368 bytes .../00002.png | Bin 735 -> 728 bytes .../00003.png | Bin 334 -> 330 bytes .../00004.png | Bin 391 -> 387 bytes .../00005.png | Bin 545 -> 542 bytes .../00007.png | Bin 545 -> 542 bytes .../00009.png | Bin 730 -> 728 bytes .../00011.png | Bin 730 -> 736 bytes .../00001.png | Bin 955 -> 955 bytes .../00002.png | Bin 1018 -> 1017 bytes .../00003.png | Bin 1136 -> 1137 bytes .../00004.png | Bin 1025 -> 1027 bytes .../00005.png | Bin 1035 -> 1031 bytes .../00006.png | Bin 650 -> 648 bytes .../nano/snapshots/nanosp/settings.png | Bin 386 -> 387 bytes .../settings_blind_signing_disabled.png | Bin 458 -> 456 bytes .../nanosp/settings_blind_signing_enabled.png | Bin 444 -> 443 bytes .../nanosp/settings_expert_mode_disabled.png | Bin 433 -> 431 bytes .../nanosp/settings_expert_mode_enabled.png | Bin 423 -> 421 bytes .../reject_from_blind/blind/00000.png | Bin 505 -> 501 bytes .../reject_from_blind/blind/00001.png | Bin 877 -> 878 bytes .../reject_from_blind/blind/00003.png | Bin 365 -> 366 bytes .../reject_from_blind/clear/00001.png | Bin 499 -> 499 bytes .../reject_from_blind/clear/00002.png | Bin 532 -> 530 bytes .../reject_from_clear/00001.png | Bin 499 -> 499 bytes .../reject_from_clear/00002.png | Bin 532 -> 530 bytes .../reject_from_clear/00003.png | Bin 365 -> 366 bytes .../test_blindsign_too_deep/blind/00000.png | Bin 505 -> 501 bytes .../test_blindsign_too_deep/blind/00001.png | Bin 886 -> 880 bytes .../test_blindsign_too_deep/clear/00001.png | Bin 471 -> 470 bytes .../test_blindsign_too_deep/clear/00002.png | Bin 532 -> 530 bytes .../test_blindsign_too_large/blind/00000.png | Bin 505 -> 501 bytes .../test_blindsign_too_large/blind/00001.png | Bin 877 -> 878 bytes .../test_blindsign_too_large/clear/00001.png | Bin 499 -> 499 bytes .../test_blindsign_too_large/clear/00002.png | Bin 532 -> 530 bytes .../test_ensure_always_clearsign/00002.png | Bin 735 -> 728 bytes .../test_ensure_always_clearsign/00003.png | Bin 334 -> 330 bytes .../test_ensure_always_clearsign/00004.png | Bin 391 -> 387 bytes .../test_ensure_always_clearsign/00005.png | Bin 352 -> 349 bytes .../test_ensure_always_clearsign/00006.png | Bin 730 -> 736 bytes .../test_ensure_always_clearsign/00007.png | Bin 545 -> 542 bytes .../test_ensure_always_clearsign/00011.png | Bin 745 -> 740 bytes .../one_byte_added_at_the_end/00002.png | Bin 718 -> 711 bytes .../one_byte_added_at_the_end/00003.png | Bin 340 -> 335 bytes .../one_byte_added_at_the_end/00004.png | Bin 421 -> 417 bytes .../one_byte_added_at_the_end/00005.png | Bin 400 -> 397 bytes .../one_byte_added_at_the_end/00006.png | Bin 730 -> 736 bytes .../one_byte_added_at_the_end/00007.png | Bin 545 -> 542 bytes .../one_byte_added_at_the_end/00010.png | Bin 506 -> 506 bytes .../one_byte_added_at_the_end/00011.png | Bin 482 -> 483 bytes .../one_byte_added_inside/00002.png | Bin 718 -> 711 bytes .../one_byte_added_inside/00003.png | Bin 340 -> 335 bytes .../one_byte_added_inside/00004.png | Bin 421 -> 417 bytes .../one_byte_added_inside/00005.png | Bin 400 -> 397 bytes .../one_byte_added_inside/00006.png | Bin 730 -> 736 bytes .../one_byte_added_inside/00007.png | Bin 506 -> 506 bytes .../one_byte_added_inside/00008.png | Bin 482 -> 483 bytes .../one_byte_removed_inside/00002.png | Bin 718 -> 711 bytes .../one_byte_removed_inside/00003.png | Bin 340 -> 335 bytes .../one_byte_removed_inside/00004.png | Bin 421 -> 417 bytes .../one_byte_removed_inside/00005.png | Bin 400 -> 397 bytes .../one_byte_removed_inside/00006.png | Bin 730 -> 736 bytes .../one_byte_removed_inside/00007.png | Bin 545 -> 542 bytes .../one_byte_removed_inside/00009.png | Bin 506 -> 506 bytes .../one_byte_removed_inside/00010.png | Bin 482 -> 483 bytes .../unknown_magic_bytes/00001.png | Bin 506 -> 506 bytes .../unknown_magic_bytes/00002.png | Bin 482 -> 483 bytes .../unknown_operation/00001.png | Bin 506 -> 506 bytes .../unknown_operation/00002.png | Bin 482 -> 483 bytes .../wrong_last_packet/00002.png | Bin 735 -> 728 bytes .../wrong_last_packet/00003.png | Bin 334 -> 330 bytes .../wrong_last_packet/00004.png | Bin 391 -> 387 bytes .../wrong_last_packet/00006.png | Bin 921 -> 907 bytes .../wrong_last_packet/00007.png | Bin 369 -> 368 bytes .../test_provide_pk/bip32_ed25519/00001.png | Bin 709 -> 708 bytes .../nanosp/test_provide_pk/ed25519/00001.png | Bin 725 -> 727 bytes .../test_provide_pk/secp256k1/00001.png | Bin 732 -> 731 bytes .../test_provide_pk/secp256r1/00001.png | Bin 728 -> 720 bytes .../reject_public_key/00001.png | Bin 725 -> 727 bytes .../reject_public_key/00003.png | Bin 365 -> 366 bytes .../reject_signing/00002.png | Bin 735 -> 728 bytes .../reject_signing/00003.png | Bin 334 -> 330 bytes .../reject_signing/00004.png | Bin 391 -> 387 bytes .../reject_signing/00005.png | Bin 352 -> 349 bytes .../reject_signing/00006.png | Bin 730 -> 736 bytes .../reject_signing/00007.png | Bin 545 -> 542 bytes .../reject_signing/00011.png | Bin 745 -> 740 bytes .../reject_signing/00015.png | Bin 365 -> 366 bytes .../snapshots/nanosp/test_reject_pk/00001.png | Bin 725 -> 727 bytes .../snapshots/nanosp/test_reject_pk/00003.png | Bin 365 -> 366 bytes .../nanosp/test_reject_transaction/00002.png | Bin 735 -> 728 bytes .../nanosp/test_reject_transaction/00003.png | Bin 334 -> 330 bytes .../nanosp/test_reject_transaction/00004.png | Bin 391 -> 387 bytes .../nanosp/test_reject_transaction/00005.png | Bin 352 -> 349 bytes .../nanosp/test_reject_transaction/00006.png | Bin 730 -> 736 bytes .../nanosp/test_reject_transaction/00007.png | Bin 545 -> 542 bytes .../nanosp/test_reject_transaction/00011.png | Bin 745 -> 740 bytes .../nanosp/test_reject_transaction/00015.png | Bin 365 -> 366 bytes .../nanosp/test_sign_ballot/00002.png | Bin 735 -> 728 bytes .../nanosp/test_sign_delegation/00002.png | Bin 726 -> 723 bytes .../nanosp/test_sign_delegation/00003.png | Bin 331 -> 329 bytes .../nanosp/test_sign_delegation/00004.png | Bin 410 -> 407 bytes .../nanosp/test_sign_delegation/00005.png | Bin 748 -> 754 bytes .../nanosp/test_sign_failing_noop/00001.png | Bin 455 -> 453 bytes .../test_sign_increase_paid_storage/00002.png | Bin 735 -> 728 bytes .../test_sign_increase_paid_storage/00003.png | Bin 334 -> 330 bytes .../test_sign_increase_paid_storage/00004.png | Bin 391 -> 387 bytes .../test_sign_increase_paid_storage/00006.png | Bin 730 -> 736 bytes .../nanosp/test_sign_origination/00002.png | Bin 735 -> 728 bytes .../nanosp/test_sign_origination/00003.png | Bin 334 -> 330 bytes .../nanosp/test_sign_origination/00004.png | Bin 391 -> 387 bytes .../nanosp/test_sign_origination/00005.png | Bin 367 -> 363 bytes .../nanosp/test_sign_origination/00007.png | Bin 545 -> 542 bytes .../nanosp/test_sign_origination/00009.png | Bin 545 -> 542 bytes .../nanosp/test_sign_origination/00010.png | Bin 408 -> 406 bytes .../nanosp/test_sign_proposals/00002.png | Bin 735 -> 728 bytes .../00002.png | Bin 735 -> 728 bytes .../00003.png | Bin 334 -> 330 bytes .../00004.png | Bin 391 -> 387 bytes .../00005.png | Bin 545 -> 542 bytes .../nanosp/test_sign_reveal/00002.png | Bin 735 -> 728 bytes .../nanosp/test_sign_reveal/00003.png | Bin 334 -> 330 bytes .../nanosp/test_sign_reveal/00004.png | Bin 391 -> 387 bytes .../nanosp/test_sign_reveal/00005.png | Bin 939 -> 933 bytes .../00002.png | Bin 735 -> 728 bytes .../00003.png | Bin 334 -> 330 bytes .../00004.png | Bin 391 -> 387 bytes .../00002.png | Bin 735 -> 728 bytes .../00003.png | Bin 334 -> 330 bytes .../00004.png | Bin 391 -> 387 bytes .../00006.png | Bin 921 -> 907 bytes .../00007.png | Bin 545 -> 542 bytes .../00008.png | Bin 846 -> 846 bytes .../00009.png | Bin 878 -> 877 bytes .../00010.png | Bin 882 -> 882 bytes .../00011.png | Bin 887 -> 887 bytes .../00012.png | Bin 962 -> 962 bytes .../00013.png | Bin 470 -> 471 bytes .../test_sign_sc_rollup_originate/00002.png | Bin 735 -> 728 bytes .../test_sign_sc_rollup_originate/00003.png | Bin 334 -> 330 bytes .../test_sign_sc_rollup_originate/00004.png | Bin 391 -> 387 bytes .../test_sign_sc_rollup_originate/00006.png | Bin 545 -> 542 bytes .../test_sign_sc_rollup_originate/00013.png | Bin 545 -> 542 bytes .../test_sign_sc_rollup_originate/00017.png | Bin 545 -> 542 bytes .../test_sign_set_consensus_key/00001.png | Bin 510 -> 510 bytes .../test_sign_set_consensus_key/00002.png | Bin 718 -> 718 bytes .../test_sign_set_consensus_key/00003.png | Bin 334 -> 330 bytes .../test_sign_set_consensus_key/00004.png | Bin 391 -> 387 bytes .../test_sign_set_consensus_key/00005.png | Bin 939 -> 933 bytes .../test_sign_set_deposit_limit/00001.png | Bin 488 -> 489 bytes .../test_sign_set_deposit_limit/00002.png | Bin 731 -> 725 bytes .../test_sign_set_deposit_limit/00003.png | Bin 342 -> 340 bytes .../test_sign_set_deposit_limit/00004.png | Bin 391 -> 387 bytes .../test_sign_set_deposit_limit/00005.png | Bin 434 -> 426 bytes .../test_sign_simple_transaction/00002.png | Bin 735 -> 728 bytes .../test_sign_simple_transaction/00003.png | Bin 335 -> 331 bytes .../test_sign_simple_transaction/00004.png | Bin 391 -> 387 bytes .../test_sign_simple_transaction/00005.png | Bin 374 -> 366 bytes .../test_sign_simple_transaction/00006.png | Bin 730 -> 736 bytes .../nanosp/test_sign_transaction/00002.png | Bin 718 -> 711 bytes .../nanosp/test_sign_transaction/00003.png | Bin 340 -> 335 bytes .../nanosp/test_sign_transaction/00004.png | Bin 421 -> 417 bytes .../nanosp/test_sign_transaction/00005.png | Bin 400 -> 397 bytes .../nanosp/test_sign_transaction/00006.png | Bin 730 -> 736 bytes .../nanosp/test_sign_transaction/00007.png | Bin 545 -> 542 bytes .../test_sign_transfer_ticket/00002.png | Bin 735 -> 728 bytes .../test_sign_transfer_ticket/00003.png | Bin 334 -> 330 bytes .../test_sign_transfer_ticket/00004.png | Bin 391 -> 387 bytes .../test_sign_transfer_ticket/00005.png | Bin 545 -> 542 bytes .../test_sign_transfer_ticket/00007.png | Bin 545 -> 542 bytes .../test_sign_transfer_ticket/00009.png | Bin 730 -> 728 bytes .../test_sign_transfer_ticket/00011.png | Bin 730 -> 736 bytes .../test_sign_with_another_seed/00002.png | Bin 718 -> 711 bytes .../test_sign_with_another_seed/00003.png | Bin 340 -> 335 bytes .../test_sign_with_another_seed/00004.png | Bin 421 -> 417 bytes .../test_sign_with_another_seed/00005.png | Bin 400 -> 397 bytes .../test_sign_with_another_seed/00006.png | Bin 730 -> 736 bytes .../test_sign_with_another_seed/00007.png | Bin 545 -> 542 bytes .../nanosp/test_sign_with_long_hash/00002.png | Bin 735 -> 728 bytes .../nanosp/test_sign_with_long_hash/00003.png | Bin 334 -> 330 bytes .../nanosp/test_sign_with_long_hash/00004.png | Bin 391 -> 387 bytes .../nanosp/test_sign_with_long_hash/00005.png | Bin 352 -> 349 bytes .../nanosp/test_sign_with_long_hash/00007.png | Bin 545 -> 542 bytes .../test_sign_with_small_packet/00002.png | Bin 718 -> 711 bytes .../test_sign_with_small_packet/00003.png | Bin 340 -> 335 bytes .../test_sign_with_small_packet/00004.png | Bin 421 -> 417 bytes .../test_sign_with_small_packet/00005.png | Bin 400 -> 397 bytes .../test_sign_with_small_packet/00006.png | Bin 730 -> 736 bytes .../test_sign_with_small_packet/00007.png | Bin 545 -> 542 bytes .../test_too_complex_transaction/00002.png | Bin 718 -> 711 bytes .../test_too_complex_transaction/00003.png | Bin 340 -> 335 bytes .../test_too_complex_transaction/00004.png | Bin 421 -> 417 bytes .../test_too_complex_transaction/00005.png | Bin 400 -> 397 bytes .../test_too_complex_transaction/00006.png | Bin 730 -> 736 bytes .../test_too_complex_transaction/00007.png | Bin 545 -> 539 bytes .../snapshots/nanosp/test_too_deep/00001.png | Bin 471 -> 470 bytes .../snapshots/nanosp/test_too_deep/00002.png | Bin 482 -> 483 bytes .../snapshots/nanosp/test_too_large/00001.png | Bin 499 -> 499 bytes .../snapshots/nanosp/test_too_large/00002.png | Bin 482 -> 483 bytes 202 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index efb29f046..a9d1f94c8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: device: [nanos, nanosp, nanox, stax] runs-on: ubuntu-latest container: - image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:3.11.0 + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:3.12.0 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/Makefile b/Makefile index c8ec568f5..c2586ccf7 100644 --- a/Makefile +++ b/Makefile @@ -25,8 +25,8 @@ docker_speculos: $(DOCKER) image tag $(LEDGERHQ)/speculos speculos docker_ledger_app_builder: - $(DOCKER) pull $(LEDGERHQ)/ledger-app-builder/ledger-app-builder:3.11.0 - $(DOCKER) image tag $(LEDGERHQ)/ledger-app-builder/ledger-app-builder:3.11.0 \ + $(DOCKER) pull $(LEDGERHQ)/ledger-app-builder/ledger-app-builder:3.12.0 + $(DOCKER) image tag $(LEDGERHQ)/ledger-app-builder/ledger-app-builder:3.12.0 \ ledger-app-builder docker_ledger_app_ocaml: diff --git a/scripts/test_swap.sh b/scripts/test_swap.sh index b5d397673..284f9094f 100755 --- a/scripts/test_swap.sh +++ b/scripts/test_swap.sh @@ -105,7 +105,7 @@ _build_app() { cd $repo docker run --rm -ti -v "$(realpath .):/app" --privileged \ - ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:3.11.0 \ + ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:3.12.0 \ bash -c "make clean && make -j $params BOLOS_SDK=\$$sdk" ) } diff --git a/tests/integration/nano/snapshots/nanosp/home.png b/tests/integration/nano/snapshots/nanosp/home.png index 74ca77cf243051705dda36593c869f391e2b2ef7..39ed6ff597a035972d1cd276b6717deb5308e2c2 100644 GIT binary patch delta 341 zcmey!^nq!DO1-(Ki(^Q|oVPaug$@e{G(6mLdG?O~6YnhLPwUwvcrily=lL<<+`S@8`JqxCYBtw}}_{8fFyF_t9sF zJmDtLpXkis1aebv9w&7Rd-OgeLJU=#@B=Qu3v} z?DRR?+b=t{l(*}aJzjdBKd{z6U|M+G|L^CnZ|XhKv3Y`Ywtf8S|3BXp-Yfaszt~&1 z*jU=pnz?G)P6odtQ-b;(f4+X(_mHWWk%KMu`40X~lmDJ&UGSbKPy3l&wcp}3uC1FD jGCtmmp8XFI0tVN__x$>|JvU_aGmxOCtDnm{r-UW|KVqK( delta 342 zcmeys^pRQ_$_b72aM z5Mw|9gYMGU|7$ANwO+nHx2vb=CdV)NFXvzI{pkthSQs=TO!L2_(}}F52dAyiT02eq z+~OFFJ4({@bp(e{;S;k{l`zmO<`p;SbB`%TE{^TKllCF z+yC6zJb&JdqN3Yb=5gQt23-Bll3MxnYyImQ-P;{sEVy@W{Pub4ulfCQ&w0)NS?s!E zWWHJOi}3>Yo!tHoKAK-8rtH7>PQuUPZb#{@4IZ1Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00004.png b/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00005.png b/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00005.png index 1fcdee14dce21c819b5e211dbbdf546034789b00..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 zcmV+f0{i`;1fB$tB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTO7EM4i;!#P>gv?~)H!2qTGBgBdTWeqUoO zBq3HY{#veM+cs0OuIpa7t}Ce0diziCarv}4-XbsDrS=>`e_meb+VN$^cApah6bKJxqMgB5@os(6@$Z(D_oY5Yhw zhj*`QhS^M*f$ZLW)E^uRW#tW(OdMro)R^XU-6rHq(6vknaeC?R@3BMp!NlKecFzFb ziCwZD4&j`bc2qb#=kUnwRZGqTb_Rs&-SOdBLN-g`7=PY@(4}5KpMJw1L!JVUsG2w_ zQ|`V8)Zlgep**Pr(j79DF~UNKJF~sB5GgUQFnsHUeO=NzNVaiui__p%Lzr6K;4FW@ z5{?(p3_2`5$)ug_CDXdN3qyZe%-Mu%tLaB=VRipG+t`^0hkNXf&({T?uC{W_R+Xd! zNY{PPYkya866aHuFn?h@X&D8!yxpY{>olbb8{(ZYBpu+*m*})wOKM}}eO=$dW7%e_ z738H5)>%rJW=_ik{7pK8S;xCtK5eg?hwp#EbzxcvbD0000F1DMcqzz;{7kld+7&LO7y%KV&l#|UojSv z5Kj?*ZTE2;hbYtmpy7taJ(OD7OjCeRazO*{4L=m*n37@pwBHQxrm5$oP#;7q)X z#7=fiGMNddfE`;#{op95Yp$ncZej^W4QUj9p^z*=_cANK$fdu&$~M7=6nMGWHv@3< zMY0_T=A4*tNN5^cTAmQHEXO+=kQL(!&9_=u*9ENy`F5Py#yPOp5TsT&Y05t9 z$gyQD4>~M8#-yFCCDXcb7n=Tf%-MuntLaB=W_A5J+qpAO9PSe*D6?+x>8h7zdR3s? z(4f9}+kXbp>{w?1AuQ@x{3~+N&o-=07*qoM6N<$f{NWqwg3PC diff --git a/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00011.png b/tests/integration/nano/snapshots/nanosp/regression_potential_empty_screen/00011.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$Sup!*M|CS)OCmaK4$FfbG5z-4iAh|J~IB#>+(aCT$_*YJI$9CE{` z3emU%LpuN*cF(Pi0gbGw>|>iNv>~W7E)U%al6b3wYk!tY1gx`?VV#5C6`+UgCXTiw z4w@)@#Q^TfbFuO$|=sf;u5j z{8gBjh<|N}=0JgiO!HXQ2f!N9g#43Z&Dx~7)Ng1=a(u!TCBuIO`0hXCebWf-)`nh} z7WF;A@p?qhnvJtzH<(vI8|&>TR!QV3l?rWvBJ1^lCmd(rWY$c^asw{?G4%7sAUL%^ zAQ13}9M(;=N%dEJ|0Bo;m8+I??oZ0*0~4|SU4O1BO0R3%Ew|-ekW4<`#h*Pn`j?ci z6gAV8j)Z_kyIrh0oJ^8ea2HL8EWV z#(zCebKlPaFRO%eCJY`ukP}&+x#NHzWR$rDHe1doK>5`=_h-Kg!rfa!uHl4EPj~yy zn+05u;HJ^!+J?6R3kENAd8ewgFCj3maU1kLK#T5^83KK$DPVh4T00008xSF493GVx@ zpGzrgI%UVOt9J*WvI1q!5c@2!8u&viE!ZPw)X2epuNBn`YY6CmB1<*wWTFU2o*k619X%9Uw?oFdmpNU-IWMbxwV9~ zX|zzP)-0I^v<5Hfhr>|-uJ-vqzSk*l;gVM)kF?H`9Pj8GBl;Rru8tH|$Wu-L*D#KGS z-3fOjcjxEifx~-J6mBHwk2$D4ZQ@!7Y3rD~EL$ zO(7OlP*@j0!s)rS)1a|6jdSc%h1CQN+U2R9ps2Sxw0|Z%BIuk!hII`_Pk^0rFrYKz0-1OQuHf|uaufGkSHgeo|9;R4zWsQd+(HJ8y}Tk(}E{)L4(jY z{w}Ob#D5M%x1pd$rh6^h3*fbAO8zOaW_{8^>UT6`IX=Zj>4-l8vHpj>Z<^7&w_((! zMcW4iUXR#Wvw34U4ek@r$9e~fH4=HoPL;N(Bk%PF!b}*AUU-} zB9Vwk^U|ifGX0fa{wVTM<>p8R{gbiz#6)b|%YQXR+50-y<@US_(#hu={Ml2Ye_8oP zQ7cu+hWz$I3&P$7-JVwkBcfI^XzZRd78>zvHgp$*7Kmprz%B+Y5MOj5b0!=opkwb) zCoC~sc2O%CG};Ogx=P{4;xrrbT}bUG5{X109Dh?qh`JYK1#WzvHq!7~9|g_6DVz5^ zEq~mfBVN{s;7k}jdSExQzH{e+KFEN%1s%4YPoVOvcki!$7euGGgwL(6h0=bZP$+B-^8De}W~SHvFGQOp0c&Ll z8{lf5utDlSQnmY@1H7(+#y+}9IymLhv-RBZZudcEfArlk9iFF~m++tp8hylQHbzkwh761SM delta 243 zcmVdj(7bu?=$OMjRVX?&;$Lx%LgTqu>cH(RORHofjUCX z^i?@e{#JX({VP`zqlB9p7yvn>>YAlW5o_+R23nbFsIA;Nm?CS*tNz7aMJxb#gjI@F zeP+SCVsZWTDOOW=gLilpjb{K}ALo=cb2|kF+MH6dHh(vKms7FO8SqB`an~8Y$xE;| z0BmZ=#n^DNF(XlrfL;4)9j#VY1ELZlU4Jc}DCBJ|=w|%fO&}TI#9d`ey}tM@x#94mkVj}~E^Atkj>tHzb4Yr2V}C6XErkqjWR>>;$TE5azGfgdz)GMu zHa3Q#F2>0lmds~Za^fT^{v-NlXSG4SSIzd=sdpp$a1@2A5l4`ya`0L8S9W+htPl@$R2orBENxB|@+2i>EYUPH%Dji(ia?UTnNV{xl?h1i z!C%HLt|x=^*8MUr@u16vwI^?EY|MvxX@64hQ;xL2Dn~^Khg)+)pLybianu_zJmc=a zXIK^nZO~5A+w_#b*Nd3Qd?jezY9{kY4*N)iA87} znjGe@2B~~FE~D`qG`B`=LDeZ!pbpZx`j*0Js|}gjA=QMU@zX@mtvDJ4`jo@ts8vzT z5(+Jh`ZRF@`nCAPvCKOIoV^8Hq^vob!c9eh{o=*zPgP9 zf)A+V=a_=)y2|hKJm)A?ZFow11E{kSWsVU0Sx`OjM|PU9Mv5utd8)rlOEHPAU%8*~ zmNGl4x3n;OGUoa=9qHZ|{WIG8Wgkc_v_(Fp-YgPSN3*fAg?|Z=!iRc5F0y|Cn6UP# zJJeOlAe~!U)H6*sTHUHG{=;nbRqwJf5<37J8yla2i-0z= zKC*wcXR8_Efq#}UmRNkUVemB62cu1#p8YA8C1Fq|XNfI&`Jg1SEdWCySvgrZP)Del zzDnoG->P=pzj7xrlWLKu;eUpoaw-8{k0g8r;o2(k)1 zu=vK`9jXZxD|0%td)3ZX5(4QgtF!od*vcUKa(p4q)2x)Ha~1(D{(Dw43zE$9gJA3K zA~=Mpet$%z5VfbAJ6%AQ3N^Ynchu%dRj4XmPQxO3oFT0Oee)cT_(S9NPwO6%p50iBGJnf52A8wM`v7DceG0y5E>mG8&>I^Y zBLR_d_Yd`@c{%bfj5YHg(Z8MD25GN~?U7SgBXu~WLRE;vNmOm{t?KXW*y&h>*uc>H zO0s;V3u_+EytaU?1rX1o)=ei^~0{iuEgg$$8AlIkYs5u&KS z27kVR1^_7|*>@TK+|&+kP7mvIc2rdjv{5W9dNE&cte~9)LmKM*wn7 zHxTcqyxj!t0nw0#GR4*$)O=J5QClo}PUZ5XNyuDU)6iDSd(2xANb)xmYHp@l0-E>1 zU&bv?DTC&%`(<3>MVAZfOy1bom=CpRQh)0yhgx8rTS*AVw(vmT^2CC1)EhB8FIk3rzD4aMXmouNJY08HYxP z`MW_fACAjt{06P9QAbd9$rPxQbV}dSIBmBfOS_3Rp=b^OsHWA9070K}c^oxUvs8#e z3&A631@v?AiF28E2RLU7xJlV?{IGIth;9FX>L*c6&sSz<7_v%@ex#9c556||Xta@W h-^4?G(_A*<_zUXCA=#VaS@-||002ovPDHLkV1kkr84>^h diff --git a/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00004.png b/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00004.png index 599dedb96b654765812bbbb2bf5abdb66519929c..83b3b6cb6d699b8dad03a727c4781b1b93626c26 100644 GIT binary patch delta 1005 zcmVF1Dq?z8t_dinZ(vQqgqUTCHV#n-9$0Z;M z1VUQ-r!2wq`K-^!aja1)+VCmu0kn%XQ05G=*MhhLzr53eJyK0MjzfH|E!CuU|MK&M zx769SdTR@@XT)6Jro)%_(f%`g_3Js{TG|%=YrC3Ng1FFREPrnyLb&j$E5J9|zXKNR z{dPITT}i+fx3-8ejW=rD+?IJDK6q$9oE%4k^6o<6TF6#s}i|{H6b5d{nO!w+3LgZvN03e0UH}baJSe! z3O|W4T7p4td4Ha$XnBrE4{&K3qaaq!q|qHkCPl2Zvlk-=8=3aBRVdyW|H&v&4b@tU zT@oYaf&CF<44{{Ae-7Ipqw30v5B8c8CPTAoeX33iF%Gd>L5^5rGDIvPK}lpl*d$k7 zVjviS)A9vSA!K(5M7a2+{{p zk>JIOQh%9)&rw}31nK|;WZ#7jM~|ZDD3JgUi5i8N0}#jZsM13=gcK2og%uz2*>WlN zPWWgr$sk*M$d{n0n#@D_ZdH431>);-_m}e8dxB-Sy8~WuH!|{UOVcp;61KrDL#$8p zYe)((FHKm7dFMAFd7v?C($Fy>NPNN6kI-2jYkxz}>Lb5yY;0_t0V)}%)v-KV&`3IC ztjp_Zii(*g;bK7^4bdnX>@J!QoB|`aA4sc#LlBcf?XE7Qb5yc1uQ6FrqL}<_{dpcN zEyNIfLuC{JGO?+b`4l%xS>2Zn3jB=SS&45S_0dl|>Y{q$0=%n07l5taSg5h_D z%YUPVG^WiPdJ z!N$hM#sz>!f3br&T;o{U{%+4G@CzW?c`m@KN%K&e6PdCKH=Odu bMhE@?$@R_Bdmf^`00000NkvXXu0mjfL@D2u delta 1003 zcmV*$~vi~J@FZZJ}Ud!`ptLI+7|w{)n=t2Dw>StEq{avCq7jJe3AVdV8PmN z)gi7*0%$!N1JBmz-NNYzgMhrGG>}j)5yfgmFNKg&dT8o_$ zBjSPm5n&9Vhj4!k+wY^QX2l0vr=*ghNwq#yr->Mcn5`gNEHN2EmJ~sWXF#e+F1y4) z&;zIG3;g&pNsQIDw(DmMSKt!YhKM`HZgFRw(~`df_8yN#E3vltoV@6rc1Fq z;iJJMfo$#}TY{o$G!NywRqeSYi0kL>m-5;@!7|+4057-;8F{v;X&8J6+u)KR(x>Zd zNC+@5Ojw6``!_*(pfGE~&@nDZykP1_XfKbIp?^pF$lHyLjg2!vEyihiERPnnBAqeT zt?OxwiWw&1WWhQb!ci31RhkdH1V&Cju&f3SK|~6*yS$LjQOd@=#zaAhWb(85=XtO+ z5kv3|nNb9g0g&2n;u{-ri1D3Ek4ePJD5vR`84$`LKnD1N#W-&YohA2?#ki>_!SFM~ zt$(A1IHtuLduGLuD{%+4G@B<*)c`m@CNwZM8$YuBJfh#A@=oE=qk+Pd*YeX}! zw(aUKu40f>Xv!lKF)g$N;CAJIka)wAasdKHrulFGwCz|q!L|KI!PI+Ua Z1An36&C=x&fPnx2002ovPDHLkV1j9M-n#$* diff --git a/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00005.png b/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00005.png index 76caf01548735d87bbb69860e0a0a207660a7298..84d06ce5f179f4bb3c437bd14486d302681ba1fe 100644 GIT binary patch delta 1009 zcmV^cEDItiU zqSy56n1buN%J1_$=QPUtu&Q+jV6XyhjxhTyuo3vCN)yINapgQu_IHsKm*DuN^T{qL zy@Tx*3GyeRuW#L<;eEkBMn}KQ1KJ9d(5En(#R3~>^e&YkBY)KR&pG)cuyfs>Q?5kUS_CGe4P{c)L% z1zl!v5oQZTVDpENX4t4c2=3QWsk9Vf$;iU!Z-)=ut-k6iiIKn{!M}K}q#3Edh3)SY~ZoHU>fQZ9)W0HNc2x(Rl?rzvMOL zjX)m67Q`baoG)T@1p#msmzc-r$T*d`kMAtC;d@R2xtEk}NIu5P}NAsEBEcrZi6JY=e&)LRKYqLb$J(1l&FB z_vT(tCx4&j%bLm7c^&$PWfnwU$n-CWONbOi8c+5iz6e7}&jpsECS@AR%kMHZn^z&F za(E5yi+|M_4_4j@&xf+pU4^gJ4*WsdYbO$k#0`n(Vij1Dgyl~t#YXk3nlALbsJz?2 z3k4M6vR5;1qGx_^Ct291#xy3tMV=V-Lok^Zlz(j6JKK@~wgJc{vPYzbhS;{Mb9@>t z7&5Bd31A~~{{G9Ag%L6ycMlMS<2|g@lY6@Ned z4^qUdYDz;@vu(x;dGNcl zl-WVMMS}eCnCoLYG`t`9$L#2r=YU#)5_%OzvuI!gjqarqq<@4epBe$W$o?fDVC}Fn@UCF8coghB=6kFICO5RhL7dfCh?KgQ}JPWxng62KaOY$AI^>M+FGsy^dk zw4lqXYEA$fk@NRot}Kj@@wj_{C>+nQQdPQ#0YJ&K`_P;Kq#dplWBr->xtSNC-O65| zk@g#V*iaYZb1KF?>|?My;Lrsj{!1Ujg3|ZpE+nxy!z!6U3!=i_q(2&)KQR!&v|z-? zxqnNl;#;s08MhCT7EC0zg-(sp_uA|jsDW~GO+G*qNE_8D$&H5SELepT>$Vw>E9%3aQ%(w`O|?1ow&JIS9Lkc?^4x#pcPbQGRtx;aIt zxoA^{Q3B3#USnyf!38mzfTk}*?n{?}p>7=UhjpWxPBsntl6P?T3%`oc!LAI;PSyS3 zE=WLiCAP9RUw2lrbOlr{HAu7`TFRrP4VB!JhEWsLF;+ud8ybUcCosdY-D?1v^TOSx juPb{QI(qX&VhDc$@EoZZpgJDg00000NkvXXu0mjfPGRDj diff --git a/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00006.png b/tests/integration/nano/snapshots/nanosp/regression_press_right_works_across_apdu_recieves/00006.png index 044d35313c0c3d7fcda7ef536aefc2b0d9bc1cf0..8751b59811a229d4bc753a4dde6fe5abb1e7e31e 100644 GIT binary patch delta 623 zcmV-#0+9WR1&9TZB!5pyL_t(|ob8%hmct+jhSQ$eiThtt_A(DShcR3ftrybyzo(QK zL@=PHuVV@4dD3-CX-%i94ZC`8Aa~Y4oio%v3)KTZveAM$LZ+mY)N7KEN%{Ph?~`9b zqs#jx3A1O!SZ~9T?tSM!W_zFB1KCS1k#}=%k_Oe$>{%&cN`IvCsUDD%>@NTd=6>!D zbyhN@b4jA+G%2*2RVDLaF?d@yf|D|idkAGvLye0~^jivA83QW`Fng+!{FXESG^rhn zOf$R)tA%1<_lFVYywma|xE^Pv(o=*jB^$jTj(@mXeb<|SnIHfFfQ!)OM{aPOLceCY z-DMZ7M4uT_B7a+2V^NKQ!Bjvq{7@0c;an?!C`EwvFh69TCdA9wqev(a!K&~69-Wq%=gkVy^HN*m-LWvm$=6=CKn zmSjCHD`-|NVRt>X^pnzMtsvOwrk-GK-k!uv-0Rpr{_O_L=C#`ZlOaoW06=U)q@aA2 zVqL3`OV0000000000000000000000000008h+`~t+#atlfL& delta 625 zcmV-%0*?KN1&RfbB!5v!L_t(|ob8%hmct+jhSQ$eiThtt_A(DWharH9#tZ5E-&2Z4 z5e$m15}&{Nd-6+Y zbi7}Z2z^G3^)ei7-Z%d-+xqk!=w7%)mvU=T3#OsPyILX|(SMCkwSb;ve-2nM_qjRD zSt-!QC5ai+v@ln#Dw&7y!8=zFoWwY;F4Rs9H7+sHFCl294{||3=u?&OB4_+*YIZC- z%*aL9Tqp*1e`MUuJ1tLw&+B5T^en=;MmAbM9RF~)`mR?2Gl2sD07TpsNGCW>p}%FF z?&=C+l|C6-qJL}VhGXiZs|i(erDl%<(3UFe*WFt6^=c|xRm^D`e>6o1kOnN-0X&vtVY1J$^-2n$Pz z2dB=JDFCK#3t+bpSwMLWCf` zMaeyzukf1AyUD)o(D#!&gUlraeu<~@MxJyd<~LlNl>9MJt&AALOl44R_QaXoPN z+@e&4TWWaH7a+(j&QA$Gv1pzCqO@trjWhiZ&tY5~^j_1mL#@`|%aa^H6z=~v{_nGo z5Nm)Z{)`Ilq2dn!000000000000000000000000000000_$qz@lCgCQ6iHW500000 LNkvXXu0mjfR(&Hi diff --git a/tests/integration/nano/snapshots/nanosp/settings.png b/tests/integration/nano/snapshots/nanosp/settings.png index 0cc74d99eb484dcb82f51fde510e71b1c095a820..99d3e4228ec7c3b8be3672d8558b37410b03ab6c 100644 GIT binary patch delta 360 zcmZo-Zf2gKQt##I;uumf=j}~Lp+gEh4uNk%cl@7NBre_~>ilBGR?p!7(V2l=j7(R8 z7@%Oenv#;x-LAdUUa-|TAGIwtzq3gC!^X%R*=x_~{_LzVKEP9Q>BaOC;|22nbYDE4 z8uRIFL${|H^Q=P26BgfQ1Lb2{g7aHGWj>5M&*)-bf6SCGiJ{@YXg%MJ`YE}lPi(m| z=0$g#mm9rG_WW+2Hv21&fZ+LsDSUCJ>f4g{)+N-MT&Yj3iAxE4{cZB`4|=zc+Ff~} zxAaQX?}lxQeqGpanti)2>DKgfT9zj)=FO885c>PI@0HK%X(@j;&wSOK8usAkf^SYw zSxoPJ4}Q6B{msh6o3Hc#PHI~8YeD{jg;Q7mn)}&*t<8 delta 359 zcmZo>ZepIGQt#>M;uumf=j}~zu|o ztS0A|9-XW$`E}!x*YcasRk3t*q=y?>ua^=&zVV&>3wP(o;mQ><-O8wmmKLxcaikclSE&OL^!2osFZju71(2%ez!1|K}{bm2i9a!^nl- zoSw2=y?;LVWuDH>%7k0e@_#2Z&AENxXFzeD-}67gYfO@LoNbFIS_;d>hkSlz!}&fo zB=wj7p}^pr4f64ap8d8@F#Kqp$ezZ<1Pc-{z2+s?ft|M)PF-Wa3*vja`njxgN@xNA Dku0Um diff --git a/tests/integration/nano/snapshots/nanosp/settings_blind_signing_disabled.png b/tests/integration/nano/snapshots/nanosp/settings_blind_signing_disabled.png index 5048db38f728581e4946e93b535e8a2ed608f827..fa91d0fef80529d4d62d8e7f4b691846d178a964 100644 GIT binary patch delta 430 zcmV;f0a5$c$R?T*BHO-r8|sjDEp`^K7V7wqSu(M$STekhxX z$%zuA)txc`Kc-pGw#FXeD^(M_;z~F%-VconrP=E#n{^A&+A-d;?d81X)+^Xjc~90Y zKqM9~@0+KsUI5`u8`0671Qx5VJh@ktvmv2)_`J#U938h<>U8I!!0X@NI`ox9Kc`-k_ z5?LqiT)=x%e+VoYQst!7isuO^K0V^=Ub@3DL-|ML@qaruTMj*k+!|d-^qm5I5@2HBtJ=w22TxePB)aNZ)?Zv0uzx zcan9-T??Gs^@olHaEQAhEmiE4T=8lG#oi-dw^Fs&o&4)8g%_osWw0 zop{v1|8>VB{bTNTU&E+#?X5_Z&8gzZsFs|e{XG>VmQy8W)+zj000000000002%-Q0NVQj($qfUbNdQO00000 LNkvXXu0mjfzP86+ delta 418 zcmV;T0bTyP1H1!}B!7cRL_t(|obB0LvV$NHMNyN=OqlJhr{d-^tn5D)6to+$mvw22UcKhP6C(x+c^>=*OY zm1Ny<=K|+;{h?z43dG%zmMV5iu6Uk6arVg9tyI5;8Rh?09)It)ajCz?8SydCwdD%M zYtxEW1I-WUsD?TgAoovHRlVfgU2;zy3(!@y1`Q|Ju5px92^xB^g%fURhJ4l&Dsk)PGg89L*?7cp&f4Hq+ux_ShsE>V+x0tCpK9evmhexX z_IpqIfgj(><&VCde*1Gw=CtaQ>?dP*{6Bnn$obA7*!zNg`tu8|EGost4LMI9_`Q0= zu6Jy&XnTyhMNGZ1gpOiQd_$n-1w^L+-Sc&oXTk%zz zkDl=@EZkQUzlMp#m=5|+X6 zaAmo#dj^be|L{@Ve}z5kHpk=9>DLdEb1^)@!-uDY!z?X9|D2ygFC?H?m;+QJ2X``O zKXEbctvK{L!GG?W!C(nt`~qy+gaM@Tf!!ut(g`?j3d#brpqqu){?tnm z2XEN0Qk`yAY~BR;S60c#I+-)?vCCexY-k6gr95vv^x_p{@!Ft zwka>V3LX5IHTX0Z1^@s600000000000D$v;0Bh|ecMzz@V+;TQ002ovPDHLkV1kUU B!leKJ diff --git a/tests/integration/nano/snapshots/nanosp/settings_expert_mode_enabled.png b/tests/integration/nano/snapshots/nanosp/settings_expert_mode_enabled.png index 56ac955adaacc9373240c39b37dcc8e18ec28638..90dc4e8dc0c28bb0657b78cea8b3bcc348466d90 100644 GIT binary patch delta 395 zcmZ3^yp(x@N_~!}i(^Q|oVPavCp9bZG$fX%=O6mpKV|ou=FL88omV!hM1A`|Zw)KU z;>Jt4%nS&ix$n~~v59qeqE7F=;8HzbyZZO!+QvNxuiRh5^OEt!FYb#`-2J~LgZIrB z5sbgr?kH}2{gds-yWGF`EOq^5y*SXZTUb;)Ae-psbW z*}l^&_`*M%zTkGbbc<)@^IYyfxS0D@(LZQ3Gr<=$jSZ)?J!{(nW}f#T;4a?G1cZlC8b nd&Kto+`;>~h!A67nDJ6PuhGnB*(a_dkg%t#p9{-6r-UW|PIa-+U`hQQB zBB0Sg>9zp?00000000000Du&ayrxB@AGg->I+|!7bLD7%vpdMUnEIQQAw2+He<50H z;c+i9^?RX+`1(E!x|-?BkHilz9P^eI>7R^7H4!;_RCS5@wtt_}Z@n(p^?Mz2x{g`c zvTyd}80IQXLHqMKP96F>!)t!$N%RdK-Bus+By}n11$W5r*<(mgL0b6w8(~VBB}{{1 zcV)4!n*+wLe>fG(zp!Op=lpnd`1M5c+89=__~j|#WtOI(FXz|L8v!U5#sJlb!IjM2 zPuz@q>S(h;SAQ6P)UAzw`kFfa#2S8hR|*%VM{85RmJN^3{MHS3lL~ysDrn(pDtz`Y z-iin}Ca0hNW-rScBnOjlo@SemNI{`nZ^mh>=B1kk;N%}Q3%Ktb&|_ehZhQG)OLegB r9Q@q|00000000000001hnf?H;pg7|%NxZ)R0000$kh% diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/blind/00000.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/blind/00000.png index 19a17f45f334b6150445ad8c955131108e65e899..f2f7e61ba18c4c034b59fdeaeff18af7f308308b 100644 GIT binary patch delta 475 zcmV<10VMwU1N8%tB!9d~L_t(|obB3M4uc>NKvCOtC+vSo?4=*1gvJjiNuDoRTr3O zXN805@o}{wK1h1-Jt(n5I-^tZF4K%FXN~t>#B@J8xp-WsIDb@HjRJ!L*sY9R!ir4v zKluFlJ9=nPE>ojoDief|vCTNcw%z>P`UMm>yu$Bjx!)P4H9a8(MS_?$!0LKZGng z5ldg0#hhSwihq!sH^exGYjBGSPcHfj-F4`0N^hUqs7Ym}MO(mGmvhj3kT5QQ_RnE4 z&g2VwS#%J7j@7%Mnh#+YK9)6J2mk=^7tCi{SeL;UF}=8^H{!{aOLB+1xj4DxZmWIa z?C_GpZhhowjDJhnt}X}d{%<1Ing60X8x%m7eA)fqEmUT@?s=AFzZe&?N&mHafe6wi z=4i89K;`;Z`5Yaj=BrtK>QA?Rwe85h3wk&T0000000000000000002sKE5qQcLROO R)A;}Z002ovPDHLkV1l~`;q&`% z{44T)S@7P+W9M8rbGVi_S)Sv>CHsMt0BC(^qnky{p zXNABt{JPcG7e1mQ-e1v4N|O diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/blind/00001.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/blind/00001.png index 833cbdc542480950d8a625a26b89652dc32b39f7..d75768e73bda894da6da26893036ef7c3fc866ed 100644 GIT binary patch delta 855 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 diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/clear/00002.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_blind/clear/00002.png index 250fb0413f25bdb029580640cd917ea3d2dc84de..8fbaf47a7a2430ca5e936981cb45a46e6d857bfc 100644 GIT binary patch delta 504 zcmVurYi(9anw<-g||)BPMBjd0G~QNLnr4IjxfpRBEpC z;$oCn{qbsPLLt|qE372(@;DA*q};M3u!4Mk{2M@1`*~JJTz2Z>rpof>`Zjo# z9w^8W3g5P&6@L@`Z3$Agffza#(sF03n}g2kut~!QI4v8bp~&bv$Msq)-<{!2srdy- zMp1UL008jCoO;FdW`9;-MRwsKM>@Y7$DS1uT>b{Bdm4DPfYBpjy)gn uVc7dQw@&3icw<)p0000000000u%AC``EvnIqxN3_0000ztHkX z6HP+UIRF3v00000000007$JlZLf9?E7_Z#|+=e;TM?S;=N&DXWy^@S#$pAGEV^{mm zmH{Hd2Bx*|Y#AV_I4Rw__MLM-y9F4g^g?#E?`*vR5ut9=+J85U#grca0N{;nX=olo zPcxa=xijGz>ik3$vWqJ@%<0&6hmGme;kxn-2q7puJK`bDFAv+Ik;uEHJBNMpg=)if z{)&6<4G_g_Y(N#Q2y7b-)Bc(f{XXo%zfEAR_$G-tIwO>|s#AT;0E~=~?u5W`^ z?FR)pV&mI3w1473e{(@PHaJ|ObPle=DPMeL%i*hiz)1{nDmI8qOozVYuZ8>WOmAw# zCnOm~Im7}0z!!5E74w_@Re=@Ng@+vJ{BB(Pu9RSIo`)nP%MH*-H$@_tXTXhZT3JSI zmlNW&<>aTU>zw{CKa}qmx=fQB>A9%<)E3PR*_Nc%p>uy%IEUU>5u*V?dnakUJ#xrIn?xfT0Oo|U#nxaUJ#x@RE^3BYudT-j79Uf#yrAWSK`EtQ?;=d w13nCUALq7d90+fm3IG5A00000008#$2h-bj0n>*7DgXcg07*qoM6N<$f>I0Xvj6}9 diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00001.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00001.png index 35abc6eefa0a2bd7e1a19fc8cefec7dd15b10fa0..184e20ac9663c78aa55d75a0c5e954ed57779967 100644 GIT binary patch delta 437 zcmV;m0ZRV!1M>rrNPiNd&^97MUfTrwzRRyErOv8)YFONlEmG-gHY95)rN?C7P3+qq zH0gq6^SOzmxqO@3W8?^s2de`l6~9}jYE*uer$lkKWgxdD3qMA{yzFm(_p;5Jo53iI zD8gLmX5Y4}8nyA%#MwaIWSblT!?RzwNE?<8TC+=b-tq?hP0GF zN4J$5Tt1~fm~x*jHH)b0`gjD{0dl>zS=T+Qt)Bi$3hZ5_C*k4aKvsL&yY56?!%mxS zyES#nQ)XxX-&37>`|xextOIbR*WCg18o25PaJk+`P_%gq6CJRWi(13JKRH{DKm;x1O$B8`Hau~#;64sgR=VZZMn|DUiw zT^8i(bAZi-d;-)jg9}HN_a6(LvD8BqjqceCnzw<&)-DhL00000000000000000000 f0000006g6rrNPjX!p>0&s%xjxq-*@?EN~yD}o*owWW1Cd^nhnWXO6f7#cN6=z z2Ti(QIeZ@C7%t!D_89pD$b;1Zl8WE$Qw=Krl&3^-wq+oXB^y7UfO*;9{_bU)H8+D% z7*T||(apXcR}E_8sfn|Jy2&>A1Psr9;UaBV_Q?KVqIA21Mt{$fOv|X3s_gR}eKBOD z{5iU<+~D#l^}&?qY^ha5UDwAe$UY#~Yg={Qv)cOU@1(%qReBK~{v60|PiNO%sB73| z(;c^_PkGAh?EiaeQfuaTHBKFXE4}Uxpx3~v8^GmyUqR94fozEy3tdI$ZeDp&)3f`P zYL9|+M``}SHh-8~I@-_mHT`M*T&QoOp56ANF$%0)MHkw?#jl{7=|Zf*S7pwV47u`nMW2u)a8r`-RG;a@w-7X;j00000000000000000000 f000000C==tU%+SAmlRvA00000NkvXXu0mjfi#OF) diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00002.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00002.png index 250fb0413f25bdb029580640cd917ea3d2dc84de..8fbaf47a7a2430ca5e936981cb45a46e6d857bfc 100644 GIT binary patch delta 504 zcmVurYi(9anw<-g||)BPMBjd0G~QNLnr4IjxfpRBEpC z;$oCn{qbsPLLt|qE372(@;DA*q};M3u!4Mk{2M@1`*~JJTz2Z>rpof>`Zjo# z9w^8W3g5P&6@L@`Z3$Agffza#(sF03n}g2kut~!QI4v8bp~&bv$Msq)-<{!2srdy- zMp1UL008jCoO;FdW`9;-MRwsKM>@Y7$DS1uT>b{Bdm4DPfYBpjy)gn uVc7dQw@&3icw<)p0000000000u%AC``EvnIqxN3_0000ztHkX z6HP+UIRF3v00000000007$JlZLf9?E7_Z#|+=e;TM?S;=N&DXWy^@S#$pAGEV^{mm zmH{Hd2Bx*|Y#AV_I4Rw__MLM-y9F4g^g?#E?`*vR5ut9=+J85U#grca0N{;nX=olo zPcxa=xijGz>ik3$vWqJ@%<0&6hmGme;kxn-2q7puJK`bDFAv+Ik;uEHJBNMpg=)if z{)&6<4G_g_Y(N#Q2y7b-)Bc(f{XXo%zfEAR_$G-tIwO>|s#AT;0E~=~?u5W`^ z?FR)pV&mI3w1473e{(@PHaJ|ObPle=DPMeL%i*hiz)1{nDmI8qOozVYuZ8>WOmAw# zCnOm~Im7}0z!!5E74w_@Re=@Ng@+vJ{BB(Pu9RSIo`)nP%MH*-H$@_tXTXhZT3JSI zmlNW&<>aTU>zw{CKa}qmx=fQB>A9%<)E3PR*_Nc%p>uy%IEUU>5u*V?dnakUJ#xrIn?xfT0Oo|U#nxaUJ#x@RE^3BYudT-j79Uf#yrAWSK`EtQ?;=d w13nCUALq7d90+fm3IG5A00000008#$2h-bj0n>*7DgXcg07*qoM6N<$f>I0Xvj6}9 diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00003.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_reject/reject_from_clear/00003.png index 6041767630409d90e0fcb2090b7226c6b63e58cd..137ca9e4946dcd461fab8ca146124917077d946d 100644 GIT binary patch delta 339 zcmaFM^p0tQO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E*X;Fw3MNcM%Mj4 zThbUHAfTYUeE;{nsP{KzcdUs_J$i|KDZ{kXPI1?r*H3S46j;izW@=-}*RyX-cQcn? z;qJ@$>YK;bvgppPtL7IO=D8R(+*4cQq2KU#-EC`ePQiNa1$LiTq%RP0cz;B5ZetL` z!pdh8?Kl_@=yc|}zS(|ZqN(jI`+~3YOQ%KTzxedeqZvF`-Iu=poL~91+0ALQ=IJ&_7+p5*$h%@I z`7*-x#%Jq4!g0%U<-EgR*S&0(H0fKo`I+O!zS}q0toL!g-+!}2=#=)unV;D9&Mx$L iD0x^O>URkBp*nuryo0Bv{i`Yl33$5txvXNKvCOtC+vSo?4=*1gvJjiNuDoRTr3O zXN805@o}{wK1h1-Jt(n5I-^tZF4K%FXN~t>#B@J8xp-WsIDb@HjRJ!L*sY9R!ir4v zKluFlJ9=nPE>ojoDief|vCTNcw%z>P`UMm>yu$Bjx!)P4H9a8(MS_?$!0LKZGng z5ldg0#hhSwihq!sH^exGYjBGSPcHfj-F4`0N^hUqs7Ym}MO(mGmvhj3kT5QQ_RnE4 z&g2VwS#%J7j@7%Mnh#+YK9)6J2mk=^7tCi{SeL;UF}=8^H{!{aOLB+1xj4DxZmWIa z?C_GpZhhowjDJhnt}X}d{%<1Ing60X8x%m7eA)fqEmUT@?s=AFzZe&?N&mHafe6wi z=4i89K;`;Z`5Yaj=BrtK>QA?Rwe85h3wk&T0000000000000000002sKE5qQcLROO R)A;}Z002ovPDHLkV1l~`;q&`% z{44T)S@7P+W9M8rbGVi_S)Sv>CHsMt0BC(^qnky{p zXNABt{JPcG7e1mQ-e1v4N|O diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_too_deep/blind/00001.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_too_deep/blind/00001.png index 53ff3ba83c5f798d3c8adeba16d72d6859a39c3a..03f8a150dd97ece2e177c23cfd2e522d3b7a056f 100644 GIT binary patch delta 857 zcmV-f1E&1;2Ji-uB!4$aL_t(|ob8)ia>F1DMcqtx;{7j)z4XHqm*{bkgaN0~`RLdb zB!NJH-2QAUD5adw`@SEq`@Z)`JDLYXb!zYA$%{%UL#^Q*Ue)=@hyzO?2_^vCKlYbJs3U5bZ^<7;i2%9iTytpLtw#~|cB#+Cap&SO+UGSbYg={E+I9W{2 z7_~MB+HSpgUjd0WY_@n^z}3zY;sfob?U-kLS@CE7v)NV*ARq*JUwId_CZM^o(9#!+ z7S^?f1z(!y2`xqLge|CSac00FA#@!ihQ=D%}lKdCmLJ(PEWJ4!WRlCP)^+gH%wHAW!?ykdz zSXn#LV1KLZSVm8n1G`%?weU<_WP5p47mprNUBKd;o(Wf0P%8=30uB ziPIu=b2jx{K5^Uq1!)q~#gQFw;o0{5`<&Pyj(@(^2jur;a5?QiOCe{WnYj+5qOd(Z z9WnZ#IeJf0wcifcC#|iuPm&Vx8-Uo50}h>_Vbi1=F?!ob+N2MXBuSD8+8x+<3*D*{ zQS%~+<$Niztehn&g4L}Z{bk8GaC;bW(bFkCJ+|3jB+5^6jbU>0MNs=T< jk|arzBuSDaNiu<7a~cW1+6^~I00000NkvXXu0mjfM~RrX delta 863 zcmV-l1EBoy2KEM!B!4|gL_t(|ob8)ga_k@sMV+qf#QR?odwCyJ6QbcF#N@oz`AFFW zgpe47oP1p;NGX-)`@Zw*ecvO}a&w2M!QKb?=0z!`rP}ZTpBnsTM8i@CthT-gpTaeH ziIjzMnH@&f87QpF*A2f6q%M5bFFUQz4P8^zs11j8ODPeV_kSDST`A{1E~TDEnI8vi zv%WYPr-&u`r#HN^R=xq^gO~P;)k@?Ct;g|$u}A?Jf!HHXAsbpl zd@E*V?430YZ5JipS3r!fDO{e#wcDW*Q2++TaD@zuni`A@BF{VHxCU<>Mf6+6{h z0SU%JU?OZiQYdFb9XSb0Tdo}0g1X=h(;J7hQwZM!+<&r~ZF_@y$Hy{lKbZ(nsotra zX8_Jq);llXg%{%S^OU6B%?zlb(0>rN^h~Klxb^MaD5#sHf*B2%5 z*IEc(;D23VhFDpY-_**E#d?A^nwIq?(~<_@m(pGdShud&16S6P9KF3@$>NX~MnOKB z^ID4qGvK4Y<-oMeaUy5hv5Z%MHb?LZ0I!#{L^L(T?krKcr6CYil+@;Lv%97dA zY37ooOq{k;H)qqxwG+3!-;gH0zBsZ2CPua8?|*ZAMjWxM1&92R3@)erXDK8W+L`4r zcI4J)WFST#G_Chds*dYn9Fmxc<0lv?5x)V54LKm_1Pz-iJ&4uEM$jgF5ClOGc+l>^ z##`uBMMTYuB$o4`__A`AqzLZrto4s2f!iD#VwA4oVL p2!bF8f*=TjAP9mW2!bHkz&}o36;_|^Oy&Rp002ovPDHLkV1oA*qU8Vp diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_too_deep/clear/00001.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_too_deep/clear/00001.png index 4a29c45114303cef92ce0025d3b2cad511d1751a..c7d4300fc25a8f886470c84e8082ba85ba7feb67 100644 GIT binary patch delta 444 zcmcc4e2sa6O8s0<7srr_Id5-7Pij^Wa0oP>I(Nf=)t%FSdhlL-$!=uRvgF-QuO72p zWycB`;W^JW_b;1b<^0v<#+`oKC8w_Ecw7zgiVv>czQMox(h})uXP>LZoqc-z&OBxJ z2Ajya3M>EIov|wLXK0+z)0<(9cc$6=Fk^Za`u|7uwA`zAxZE;b>Ls5w=Y7rHy()0F zzwbQWE6!yn1P%85YMs3$^QQ6d$(^U(no0GlM@|c@UuE>n_*bHb_s`-l5j#&l^?o&3 z^ZU)P%^kbeZ{M$A?eOlp+3Q{5TaUiv4@#J?Wy{Gg&u;W4_5Cj4QeNxaU2m@)nKJ#% zx_`%m=kBWcVODUBamVH4Ql`CZ_3L&q-pRWWAF!ocq2Gm_d*PyN{`|RyDn(OjK1<*7 zy<@uMZ_NKoMLQ?x>69!!5qM@6$K<%}72Hui`bVn%WbfT9UCtgNJ2Nqb{f5ik>KmKq zXPGIcrPys^)+zt~w#Yj#+IZd!>t_t*{rT;^`(qhy>FVdQ&MBb@0Px1pA^-pY delta 445 zcmV;u0Yd)P1J?tPB!8YsL_t(|obA|cl7k=&fML7Sn{fXld6)gsStiYgvJjMZ-se|K zHN>D&cx)5w`!2thQU*hfL|EL9ZBpgymQuA+%GXriE$q`CH0gq6_qB^xcl9>6$H*r@ z9;^qJIo)qg#F3uj+Ka}ACT+y&ARSceR0Nv9I$tlo`ln%0~z*oblr)%g`GCtep_P7Q)XBHi}Hoad!fv5`S0S04|sI3W|0SWJ}a|5Gp!%^VS(Dk)!0h|Dj#PT|?T>?Th=AM*E%Cy?pquH1*oc3vcUI%>fU1@mG6%pW>R!W|`T zWzD!_u9ySdJ-!t-{#NiYbATN%xlP}`9*+J^-Zcl{W;XZl1urYi(9anw<-g||)BPMBjd0G~QNLnr4IjxfpRBEpC z;$oCn{qbsPLLt|qE372(@;DA*q};M3u!4Mk{2M@1`*~JJTz2Z>rpof>`Zjo# z9w^8W3g5P&6@L@`Z3$Agffza#(sF03n}g2kut~!QI4v8bp~&bv$Msq)-<{!2srdy- zMp1UL008jCoO;FdW`9;-MRwsKM>@Y7$DS1uT>b{Bdm4DPfYBpjy)gn uVc7dQw@&3icw<)p0000000000u%AC``EvnIqxN3_0000ztHkX z6HP+UIRF3v00000000007$JlZLf9?E7_Z#|+=e;TM?S;=N&DXWy^@S#$pAGEV^{mm zmH{Hd2Bx*|Y#AV_I4Rw__MLM-y9F4g^g?#E?`*vR5ut9=+J85U#grca0N{;nX=olo zPcxa=xijGz>ik3$vWqJ@%<0&6hmGme;kxn-2q7puJK`bDFAv+Ik;uEHJBNMpg=)if z{)&6<4G_g_Y(N#Q2y7b-)Bc(f{XXo%zfEAR_$G-tIwO>|s#AT;0E~=~?u5W`^ z?FR)pV&mI3w1473e{(@PHaJ|ObPle=DPMeL%i*hiz)1{nDmI8qOozVYuZ8>WOmAw# zCnOm~Im7}0z!!5E74w_@Re=@Ng@+vJ{BB(Pu9RSIo`)nP%MH*-H$@_tXTXhZT3JSI zmlNW&<>aTU>zw{CKa}qmx=fQB>A9%<)E3PR*_Nc%p>uy%IEUU>5u*V?dnakUJ#xrIn?xfT0Oo|U#nxaUJ#x@RE^3BYudT-j79Uf#yrAWSK`EtQ?;=d w13nCUALq7d90+fm3IG5A00000008#$2h-bj0n>*7DgXcg07*qoM6N<$f>I0Xvj6}9 diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/blind/00000.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/blind/00000.png index 19a17f45f334b6150445ad8c955131108e65e899..f2f7e61ba18c4c034b59fdeaeff18af7f308308b 100644 GIT binary patch delta 475 zcmV<10VMwU1N8%tB!9d~L_t(|obB3M4uc>NKvCOtC+vSo?4=*1gvJjiNuDoRTr3O zXN805@o}{wK1h1-Jt(n5I-^tZF4K%FXN~t>#B@J8xp-WsIDb@HjRJ!L*sY9R!ir4v zKluFlJ9=nPE>ojoDief|vCTNcw%z>P`UMm>yu$Bjx!)P4H9a8(MS_?$!0LKZGng z5ldg0#hhSwihq!sH^exGYjBGSPcHfj-F4`0N^hUqs7Ym}MO(mGmvhj3kT5QQ_RnE4 z&g2VwS#%J7j@7%Mnh#+YK9)6J2mk=^7tCi{SeL;UF}=8^H{!{aOLB+1xj4DxZmWIa z?C_GpZhhowjDJhnt}X}d{%<1Ing60X8x%m7eA)fqEmUT@?s=AFzZe&?N&mHafe6wi z=4i89K;`;Z`5Yaj=BrtK>QA?Rwe85h3wk&T0000000000000000002sKE5qQcLROO R)A;}Z002ovPDHLkV1l~`;q&`% z{44T)S@7P+W9M8rbGVi_S)Sv>CHsMt0BC(^qnky{p zXNABt{JPcG7e1mQ-e1v4N|O diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/blind/00001.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/blind/00001.png index 833cbdc542480950d8a625a26b89652dc32b39f7..d75768e73bda894da6da26893036ef7c3fc866ed 100644 GIT binary patch delta 855 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 diff --git a/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/clear/00002.png b/tests/integration/nano/snapshots/nanosp/test_blindsign_too_large/clear/00002.png index 250fb0413f25bdb029580640cd917ea3d2dc84de..8fbaf47a7a2430ca5e936981cb45a46e6d857bfc 100644 GIT binary patch delta 504 zcmVurYi(9anw<-g||)BPMBjd0G~QNLnr4IjxfpRBEpC z;$oCn{qbsPLLt|qE372(@;DA*q};M3u!4Mk{2M@1`*~JJTz2Z>rpof>`Zjo# z9w^8W3g5P&6@L@`Z3$Agffza#(sF03n}g2kut~!QI4v8bp~&bv$Msq)-<{!2srdy- zMp1UL008jCoO;FdW`9;-MRwsKM>@Y7$DS1uT>b{Bdm4DPfYBpjy)gn uVc7dQw@&3icw<)p0000000000u%AC``EvnIqxN3_0000ztHkX z6HP+UIRF3v00000000007$JlZLf9?E7_Z#|+=e;TM?S;=N&DXWy^@S#$pAGEV^{mm zmH{Hd2Bx*|Y#AV_I4Rw__MLM-y9F4g^g?#E?`*vR5ut9=+J85U#grca0N{;nX=olo zPcxa=xijGz>ik3$vWqJ@%<0&6hmGme;kxn-2q7puJK`bDFAv+Ik;uEHJBNMpg=)if z{)&6<4G_g_Y(N#Q2y7b-)Bc(f{XXo%zfEAR_$G-tIwO>|s#AT;0E~=~?u5W`^ z?FR)pV&mI3w1473e{(@PHaJ|ObPle=DPMeL%i*hiz)1{nDmI8qOozVYuZ8>WOmAw# zCnOm~Im7}0z!!5E74w_@Re=@Ng@+vJ{BB(Pu9RSIo`)nP%MH*-H$@_tXTXhZT3JSI zmlNW&<>aTU>zw{CKa}qmx=fQB>A9%<)E3PR*_Nc%p>uy%IEUU>5u*V?dnakUJ#xrIn?xfT0Oo|U#nxaUJ#x@RE^3BYudT-j79Uf#yrAWSK`EtQ?;=d w13nCUALq7d90+fm3IG5A00000008#$2h-bj0n>*7DgXcg07*qoM6N<$f>I0Xvj6}9 diff --git a/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00002.png b/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00002.png index 8ace1d8be1f2d497ee5ce715fc0e48bea5dcc7e2..fc2f4b72997ee897e1202b3f2436c2e5babbc59c 100644 GIT binary patch delta 704 zcmV;x0zduV1=t0UB!8btL_t(|ob8%hmck$mhSB3r*#DBcmwD(J26GR^f^+`wsa8lr z5-vd>Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00004.png b/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00005.png b/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00005.png index c4768d4fa3e1b0a3daa4967d264c1c4d3d228e4c..ca01281085c22f97d87672ca375c634fc9674dbf 100644 GIT binary patch delta 322 zcmV-I0log<0^I_TB!47HL_t(|obB0JZo?oD08lsTO}PJ&xJy5*Qp~tsq6$d*-d6&) zm@sU1mSqk(=bZECCCiQv7}$DQsXc9?zP)@-DRut6F@Fa?2^c%}Z}mm&@fX@Z znjAcStLW_iY{Jbz-z-7>b5NSAXTWI;ajs0VZ=H(EOuGpWnFsZveCw8aCn&D0rRDaX zKX#r24gjz$AEN^}a^;XyKP}gn#X={Ldk)^vU8%ZQKHTT%0G?4ERxS?enGfJQucPVd z{Sz?r@SobB>^lL|F8#&(&j6mc`?BnKjK{C>k23%O0000000000000000DxEZ1-Xy! UJc{I~Bme*a07*qoM6N<$f<^P34*&oF delta 325 zcmV-L0lNO(0^kCWB!4GKL_t(|obB0Lj=~@m0MKe?C+vSo>}5V0kwTwi0!%&UON)eC zF0a;U8bgdR#@IWG4xaU;_8pO0Y}Ry_e6O}xCLqQbLTD1tfjQjNQ}HGL!RnQ1*}rx5 zyr^XwLI`zpiv)D({UWBKL+5zvz~-N&(!(b5>gjU`q4E9JIe&O3pzqkf)E9M+|D*k* z$iZ`~pt0}Sgo}Z`Sc2N;AT^iIfWsK-xiZMUb*Nru%1yY-JjfU2OI7lnAUU&^rs^$k zcANta05DCD-T~}6bI6&$7KfSo3EA=EvYj_{TSZ%E%8?)OetHM+7iq|!8P|iKzE@sH z)6&foF!=Bv+CJxdz{pE~a`PF$M^;~!?f-#OSO1gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` 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 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00005.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00006.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTbu>O1h^SwFMXWt&w=+!tJ^WxjS-qlUF zYO+4%EXdpBY{z)GdjALI+^B77^+ti^yB!xl_bfZT!ZCDPW&b`2Ax(Mr?NevR*e$i2 z`N{NlmRR8a*Qp$v_)k>jZeCX%7H$2vSLDWSFaJY_=QH1Yb9?n`zbmG1w!A#HHZyph z(eCg6ZR$${?f?BSE4aoO@$%bCmMY$uQs#(tg&bYqcv3t=GG?^wfsK)n&nHY9i!jg&Y8-?fE6sb Yr7x8=$-zY^w+tlj>FVdQ&MBb@0I#63R{#J2 delta 383 zcmeyx{EK;lH?xYsqltc6tTS(0ed3!~D_$>au>O1h^Q}46XWt&w=+!tJ^WxjS-qlUF zYO+4%EYREJe2?*P_5Kgaxl!BF>Wu=+cRMcr?OAqug=grt%Km*4LYngK)2Ggkv0G|4 z^V5vntz9ebe>GygDV?%+Tj+J$)obVebK`mwx>Wq(!|#nb-`>91#a+s~J7-s6_N^() z&%FCc#gz;LhN>hjF; zW{=+tH|omUpS-fTSsB02aNFkpOV;lGVitCO+s;~sHHV7KlQWVcEhDEUe?2qj@pT6C z+1{FAVbkgj&Y0<6TbAu$^uJGZp54>!t?c)=nb!ucssFL(!`!g_+_zp`JsWnC0Xum0 Zhe_n}l>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00002.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00002.png index 32580b8ffdb61c4595eb9a4fc3b5a4d76d1a5798..d6deabe98f0ae465442e6f8d89e55adc6a1c56ce 100644 GIT binary patch delta 678 zcmV;X0$Kge1;+)DB!7-cL_t(|ob8%Rk^>H8n4?=lN34naUfTV4F$VyffV zfcOHES2~INzRUAh%RE>lL#qo^ayXdrh;jxhtXne})5h4ave~D8@JL`C#5C2D28UA? zJ5>%yFfwg>P=ARP!y;lMi#a^$s4%0$crMOy+mRfr)KQM$O?SP*N5UUX* z>4Se?YyRp|6n@=fSn_RjmLAd?t!NuBM;q$37G}`&WG}WRSao_tlqR1F2}sB^CV*j> zYs|`XhtDoiHsaiCSQF4ZJw2v)`cTQUin4=e+A@R*5PwfP7PmQvH04~f>v3I*x>8TM{>nT=@Zl+25+&3elwcU7wSto82_n31C(F>B8c zF1DhH0iZ@%@kFyL7>XDtaMg0xbS-(Qzo2 zgm_6xe#%MQ_uZba>)L3^PN)|a>)oY#4eIEAWv8Q-UNgE`Ra>s>Y7gaYHfw1@td_-8 z3z_N{{cwW!shcc^#$T+kmWZ@3(N;<0e*(69pRIA}qpsJge}A19PdMe6g}>|{+vmXY z{w(?55IY2O^2ZURE}u0>z0z4h_oZK4fL!7~kxpw+FG=eXE}vVL-WHa$?U(TO0|o#9 z000Cf3R02LNFmpHFu-83Cd)inBtxqURB}3)iHHgYDy&;K7_-LcnHU)c%`oFaSO+yt zjikZpl*Lb#6Mqt%Oxqt+p_#Cgg65)Ex!w~(nke?V+&WAPU6tx;by}o$DL*lUqV0fA zDdJ)75Z~99zlId0Uym48VjG>MhqOkk+Q!S#mTs#>8ZfBqH6VN?6gQi6KP~o$RvVRZHv}GvYh{2oBhEs4XvjVlnW}L5R;0~ZXKiokjIRWt?B-kGS02=q3ZVUa$Bsd=(rCkZn zulFZqrJFF_umSsq)H_usr_YxrfK7AIyokD-VXuCd*{Ft2$-L;=lv}oht5V%(tN)O| ziXH{2S$}(dc`g3>TzAFx z?ANQj3rzywes$QQTdd(&zWrymVS32&U*82y{xuy5cCTLJ^+D65-t*t8@KS(ChR?nZ?1jhYNu(t zKu?aRJ#NpkGd1T@{?EOYbZ1xJ_7f+4WuJuXyT`O9sA$HP8%#9;{ja$;{oTGyY|EBO zmuD7*&3ThwpULFk% zDzT+TQ0V`vVZ%6*ZLkdUo-kcIqh2O)lS5hMn^XH^S?|z zEWqAheR27Zy5*N2&x#JH-5Bx6-6A1@@qxT_h-1IRHOs@xBIjPdBJs3jN4NOSpenb$ z^#wOeJ}ohNZCvfy(mt=uI4{%v)cupM6+(Yb;@)s--C^0+x(B4Ai}otK+;3X#xLP}L z@12WX!hhfP>oUC0{%4=r_uJ_5i(^Q|oVPckg$^n3I0Tm5;rtyR^!*XLvhd`FrAzxQzSorMu<=X? zlY1#~defEHb3QxnT_f))*}Nz2|Juzb@8tF^Xu9F=w|W2T$ma6qJvobCUXHWg)@|4s z8n$a)?j75d`sS`_yH1Dk9(e2bRRf;rDDIrIcHh3>zX+()|?!%W{SN=PHuYe2e d3^>4n8RjPpB(6@H^O*&t!qe5yWt~$(698oRv;F`8 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00005.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00006.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_inside/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$bu>O1h^SwFMXWt&w=+!tJ^WxjS-qlUF zYO+4%EXdpBY{z)GdjALI+^B77^+ti^yB!xl_bfZT!ZCDPW&b`2Ax(Mr?NevR*e$i2 z`N{NlmRR8a*Qp$v_)k>jZeCX%7H$2vSLDWSFaJY_=QH1Yb9?n`zbmG1w!A#HHZyph z(eCg6ZR$${?f?BSE4aoO@$%bCmMY$uQs#(tg&bYqcv3t=GG?^wfsK)n&nHY9i!jg&Y8-?fE6sb Yr7x8=$-zY^w+tlj>FVdQ&MBb@0I#63R{#J2 delta 383 zcmeyx{EK;lH?xYsqltc6tTS(0ed3!~D_$>au>O1h^Q}46XWt&w=+!tJ^WxjS-qlUF zYO+4%EYREJe2?*P_5Kgaxl!BF>Wu=+cRMcr?OAqug=grt%Km*4LYngK)2Ggkv0G|4 z^V5vntz9ebe>GygDV?%+Tj+J$)obVebK`mwx>Wq(!|#nb-`>91#a+s~J7-s6_N^() z&%FCc#gz;LhN>hjF; zW{=+tH|omUpS-fTSsB02aNFkpOV;lGVitCO+s;~sHHV7KlQWVcEhDEUe?2qj@pT6C z+1{FAVbkgj&Y0<6TbAu$^uJGZp54>!t?c)=nb!ucssFL(!`!g_+_zp`JsWnC0Xum0 Zhe_n}l>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00002.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00002.png index 32580b8ffdb61c4595eb9a4fc3b5a4d76d1a5798..d6deabe98f0ae465442e6f8d89e55adc6a1c56ce 100644 GIT binary patch delta 678 zcmV;X0$Kge1;+)DB!7-cL_t(|ob8%Rk^>H8n4?=lN34naUfTV4F$VyffV zfcOHES2~INzRUAh%RE>lL#qo^ayXdrh;jxhtXne})5h4ave~D8@JL`C#5C2D28UA? zJ5>%yFfwg>P=ARP!y;lMi#a^$s4%0$crMOy+mRfr)KQM$O?SP*N5UUX* z>4Se?YyRp|6n@=fSn_RjmLAd?t!NuBM;q$37G}`&WG}WRSao_tlqR1F2}sB^CV*j> zYs|`XhtDoiHsaiCSQF4ZJw2v)`cTQUin4=e+A@R*5PwfP7PmQvH04~f>v3I*x>8TM{>nT=@Zl+25+&3elwcU7wSto82_n31C(F>B8c zF1DhH0iZ@%@kFyL7>XDtaMg0xbS-(Qzo2 zgm_6xe#%MQ_uZba>)L3^PN)|a>)oY#4eIEAWv8Q-UNgE`Ra>s>Y7gaYHfw1@td_-8 z3z_N{{cwW!shcc^#$T+kmWZ@3(N;<0e*(69pRIA}qpsJge}A19PdMe6g}>|{+vmXY z{w(?55IY2O^2ZURE}u0>z0z4h_oZK4fL!7~kxpw+FG=eXE}vVL-WHa$?U(TO0|o#9 z000Cf3R02LNFmpHFu-83Cd)inBtxqURB}3)iHHgYDy&;K7_-LcnHU)c%`oFaSO+yt zjikZpl*Lb#6Mqt%Oxqt+p_#Cgg65)Ex!w~(nke?V+&WAPU6tx;by}o$DL*lUqV0fA zDdJ)75Z~99zlId0Uym48VjG>MhqOkk+Q!S#mTs#>8ZfBqH6VN?6gQi6KP~o$RvVRZHv}GvYh{2oBhEs4XvjVlnW}L5R;0~ZXKiokjIRWt?B-kGS02=q3ZVUa$Bsd=(rCkZn zulFZqrJFF_umSsq)H_usr_YxrfK7AIyokD-VXuCd*{Ft2$-L;=lv}oht5V%(tN)O| ziXH{2S$}(dc`g3>TzAFx z?ANQj3rzywes$QQTdd(&zWrymVS32&U*82y{xuy5cCTLJ^+D65-t*t8@KS(ChR?nZ?1jhYNu(t zKu?aRJ#NpkGd1T@{?EOYbZ1xJ_7f+4WuJuXyT`O9sA$HP8%#9;{ja$;{oTGyY|EBO zmuD7*&3ThwpULFk% zDzT+TQ0V`vVZ%6*ZLkdUo-kcIqh2O)lS5hMn^XH^S?|z zEWqAheR27Zy5*N2&x#JH-5Bx6-6A1@@qxT_h-1IRHOs@xBIjPdBJs3jN4NOSpenb$ z^#wOeJ}ohNZCvfy(mt=uI4{%v)cupM6+(Yb;@)s--C^0+x(B4Ai}otK+;3X#xLP}L z@12WX!hhfP>oUC0{%4=r_uJ_5i(^Q|oVPckg$^n3I0Tm5;rtyR^!*XLvhd`FrAzxQzSorMu<=X? zlY1#~defEHb3QxnT_f))*}Nz2|Juzb@8tF^Xu9F=w|W2T$ma6qJvobCUXHWg)@|4s z8n$a)?j75d`sS`_yH1Dk9(e2bRRf;rDDIrIcHh3>zX+()|?!%W{SN=PHuYe2e d3^>4n8RjPpB(6@H^O*&t!qe5yWt~$(698oRv;F`8 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00005.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00006.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTbu>O1h^SwFMXWt&w=+!tJ^WxjS-qlUF zYO+4%EXdpBY{z)GdjALI+^B77^+ti^yB!xl_bfZT!ZCDPW&b`2Ax(Mr?NevR*e$i2 z`N{NlmRR8a*Qp$v_)k>jZeCX%7H$2vSLDWSFaJY_=QH1Yb9?n`zbmG1w!A#HHZyph z(eCg6ZR$${?f?BSE4aoO@$%bCmMY$uQs#(tg&bYqcv3t=GG?^wfsK)n&nHY9i!jg&Y8-?fE6sb Yr7x8=$-zY^w+tlj>FVdQ&MBb@0I#63R{#J2 delta 383 zcmeyx{EK;lH?xYsqltc6tTS(0ed3!~D_$>au>O1h^Q}46XWt&w=+!tJ^WxjS-qlUF zYO+4%EYREJe2?*P_5Kgaxl!BF>Wu=+cRMcr?OAqug=grt%Km*4LYngK)2Ggkv0G|4 z^V5vntz9ebe>GygDV?%+Tj+J$)obVebK`mwx>Wq(!|#nb-`>91#a+s~J7-s6_N^() z&%FCc#gz;LhN>hjF; zW{=+tH|omUpS-fTSsB02aNFkpOV;lGVitCO+s;~sHHV7KlQWVcEhDEUe?2qj@pT6C z+1{FAVbkgj&Y0<6TbAu$^uJGZp54>!t?c)=nb!ucssFL(!`!g_+_zp`JsWnC0Xum0 Zhe_n}l>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/unknown_magic_bytes/00001.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/unknown_magic_bytes/00001.png index b0e8287da8e50b8b410c291da889d5cffa4a8e1a..393a15fb76753fbec14215b680629fedbfa392f5 100644 GIT binary patch delta 383 zcmeyx{EK;lH?yb0gNc4xtg~-hed3&0D_$>bu>O1h^SwFMXWt&w=+!tJ^WxjS-qlUF zYO+4%EXdpBY{z)GdjALI+^B77^+ti^yB!xl_bfZT!ZCDPW&b`2Ax(Mr?NevR*e$i2 z`N{NlmRR8a*Qp$v_)k>jZeCX%7H$2vSLDWSFaJY_=QH1Yb9?n`zbmG1w!A#HHZyph z(eCg6ZR$${?f?BSE4aoO@$%bCmMY$uQs#(tg&bYqcv3t=GG?^wfsK)n&nHY9i!jg&Y8-?fE6sb Yr7x8=$-zY^w+tlj>FVdQ&MBb@0I#63R{#J2 delta 383 zcmeyx{EK;lH?xYsqltc6tTS(0ed3!~D_$>au>O1h^Q}46XWt&w=+!tJ^WxjS-qlUF zYO+4%EYREJe2?*P_5Kgaxl!BF>Wu=+cRMcr?OAqug=grt%Km*4LYngK)2Ggkv0G|4 z^V5vntz9ebe>GygDV?%+Tj+J$)obVebK`mwx>Wq(!|#nb-`>91#a+s~J7-s6_N^() z&%FCc#gz;LhN>hjF; zW{=+tH|omUpS-fTSsB02aNFkpOV;lGVitCO+s;~sHHV7KlQWVcEhDEUe?2qj@pT6C z+1{FAVbkgj&Y0<6TbAu$^uJGZp54>!t?c)=nb!ucssFL(!`!g_+_zp`JsWnC0Xum0 Zhe_n}l>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/unknown_operation/00001.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/unknown_operation/00001.png index b0e8287da8e50b8b410c291da889d5cffa4a8e1a..393a15fb76753fbec14215b680629fedbfa392f5 100644 GIT binary patch delta 383 zcmeyx{EK;lH?yb0gNc4xtg~-hed3&0D_$>bu>O1h^SwFMXWt&w=+!tJ^WxjS-qlUF zYO+4%EXdpBY{z)GdjALI+^B77^+ti^yB!xl_bfZT!ZCDPW&b`2Ax(Mr?NevR*e$i2 z`N{NlmRR8a*Qp$v_)k>jZeCX%7H$2vSLDWSFaJY_=QH1Yb9?n`zbmG1w!A#HHZyph z(eCg6ZR$${?f?BSE4aoO@$%bCmMY$uQs#(tg&bYqcv3t=GG?^wfsK)n&nHY9i!jg&Y8-?fE6sb Yr7x8=$-zY^w+tlj>FVdQ&MBb@0I#63R{#J2 delta 383 zcmeyx{EK;lH?xYsqltc6tTS(0ed3!~D_$>au>O1h^Q}46XWt&w=+!tJ^WxjS-qlUF zYO+4%EYREJe2?*P_5Kgaxl!BF>Wu=+cRMcr?OAqug=grt%Km*4LYngK)2Ggkv0G|4 z^V5vntz9ebe>GygDV?%+Tj+J$)obVebK`mwx>Wq(!|#nb-`>91#a+s~J7-s6_N^() z&%FCc#gz;LhN>hjF; zW{=+tH|omUpS-fTSsB02aNFkpOV;lGVitCO+s;~sHHV7KlQWVcEhDEUe?2qj@pT6C z+1{FAVbkgj&Y0<6TbAu$^uJGZp54>!t?c)=nb!ucssFL(!`!g_+_zp`JsWnC0Xum0 Zhe_n}l>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00002.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00002.png index 8ace1d8be1f2d497ee5ce715fc0e48bea5dcc7e2..fc2f4b72997ee897e1202b3f2436c2e5babbc59c 100644 GIT binary patch delta 704 zcmV;x0zduV1=t0UB!8btL_t(|ob8%hmck$mhSB3r*#DBcmwD(J26GR^f^+`wsa8lr z5-vd>Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00004.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00006.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00006.png index 6266aa247ff9ac94b5f4767209d6fb4cf0be20b0..b0b2a69409d2a7c8a8fec206b3f1462e43c6fbc6 100644 GIT binary patch delta 884 zcmV-)1B?8b2a5-gB!5y#L_t(|ob8)!a>O7AhSSd8B=^`HV8EAbwrqx3K&Wn>LEvTuwp>Y{)<(#mK z<*%VRQ|JFoCb_9e8Jlk3%w3^wBSnZ75AiO{}rm z1HJnjLihqmp_)DE2TGRbohCJnwpwEam_R7q;ilyS}#Sb)xn4s59E%(jkd zEbw5pqB#=20G&f!B-)lI=61!j-oXjjqM6Zans}(ngnwqOvqw4>{{&W?u7FR3FalewcF&CIy8Yz&^#WvoBHUAgx92cPtQ$|Bp;0@lS3a5 zLRGRe1tev9{H?Q<-;?(fal)GaptucX?GHGfxk6;`C1<^+qVgzp7upx~JVEU}u z%ki7|?SIt7md{$*>8!!tzG@r}0c@`QHY`}RvaO!e1i@;yRiyid{)HMsye7!Gv*aF` zN9^zgEY)&8AV9z}RC&fl-n9TTrf(kevNuvP^*S*RnA)!1-@&{bX*>%nk| z4n%%^HI?`^^bq;KSSZLCb(3i|0))^dvB_T~ceKqsqB_d5EtnV|Cr{OZjw#QuIybJ4T{t0{{-NYmjF z0yU}X|9m>P^CG9=v+0?{T!5R&1xS)4Ns=T=Kcgcfm7)2XGfK7M)?_sKK z(84A_@q8W2IM1{GE~Tt9u}Jx2(2g5XGDXkh7ALAz^?b=nQzn!(H>(r1=(1SrvkJ{p z_P&<-f`_(1sfeXE*Bi9?Ov$%jJQq4Dv~AU{>VRK*QQwzR*niNfg4Gk|46CWC9YGH2 z{{gtC_x(5bK)d^XAJ`bYSiz@lXfBU5mUZ&45F{7KL}Y898texrSz`}4=8Zv(t#p~Q zopaoZWijX8xLTjT7GMAX0D!&Wsfal2Fk|HyXnm`Q>8vp2=_5oWE$Dk2mzCYZ4wiEc zLYGGMWJd3q>VJDn(5ho8OyFp+ybT&vZ`Z04rtn1{)C0TvI5A;YiR)w&%JS1v>rD29 z^|+wQi#;=q&7d)Ys$8yjn$&b;t?XufSs!WACDJa{CFwbHCfHqk00uicA#NogWn-SY zNvaF07i%N=H2{O{+~=w-SIpzSS=RXqII?NcTniWVOMg?R8rB9a(ze9=(A$Ki0jpFM zZyvwcQOa8BiOy=eDzUtsK2%$21KzQGfe}&VPyD#09v^1e5YJT5~phxmx84Rl|a;9E>w+Q7~vUWt|YDR#PjpAM#(z zPewZg1t*c58cU%j#=}>$+Ae!Qf<%0e@G+D@lAaJmU*>+L3SCgxgOeOlo?+?|YTGJk!_Y(57+AsI&l$mZP*0LWq8a%(B8 zX-TPD=byb-HBbd;g>)rGh7`NYgC(PC=)Z zjbe|@ZBTBNw_W$tixO>x{Pb!y`D5rQl7G4HStzrPF}*<`Hx;Z~@zLXd#{lFyx9gI5 zPJ8+Y&RM48vqWm6wtD^N|4Gjx?Q|(cF8S-_+Rf@shz`IYTXpwV&h&+#>xcT`TU?3r z{hk^_txZzKmbe=-bVQV>o~Ua7)>V9PI`6X@-k6b2!~i@D1^@s60000000000007qW Y15(#KvB%3ivj6}907*qoM6N<$g02O=5&!@I diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00007.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/wrong_last_packet/00007.png index 74ca77cf243051705dda36593c869f391e2b2ef7..39ed6ff597a035972d1cd276b6717deb5308e2c2 100644 GIT binary patch delta 341 zcmey!^nq!DO1-(Ki(^Q|oVPaug$@e{G(6mLdG?O~6YnhLPwUwvcrily=lL<<+`S@8`JqxCYBtw}}_{8fFyF_t9sF zJmDtLpXkis1aebv9w&7Rd-OgeLJU=#@B=Qu3v} z?DRR?+b=t{l(*}aJzjdBKd{z6U|M+G|L^CnZ|XhKv3Y`Ywtf8S|3BXp-Yfaszt~&1 z*jU=pnz?G)P6odtQ-b;(f4+X(_mHWWk%KMu`40X~lmDJ&UGSbKPy3l&wcp}3uC1FD jGCtmmp8XFI0tVN__x$>|JvU_aGmxOCtDnm{r-UW|KVqK( delta 342 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 delta 701 zcmV;u0z&=Q1=R(RB!8SqL_t(|ob8%Pa>O7EMM+m~!u^lryJX=if;Az;V7u$TC1wx; zF?^iT12~T3I1c|OBme98@TARsE6sh4Pc_62{_;#Y=PmX$5X}{%A?JLipO)8o{3#na z?Ig`zB4EGwi9<;=5M#tdQc1}pI+~Q_DXS@SrSKmCH_mY!qYf!<8|Jh@G=o&m%LY$A#%H)e}5v0^trg-s>2`0C3h_;rJjmH3_I8b-tb@8h_rd&!`a~My|FWHr+uM8SNOF ze4Z_%YglDiqNNy;pJqdEi(3c#uGfWk(O!bU`v25M zqqvF1wcGy4L+PgXPD3&?GJ6!Xm`-OD_uFjPS*LV~fF2sBAZHJYR%HlzN%_%g#g2Vk znOpf>8h-;&UpI^ZFTzV##KlVaD=+m2${M}qvGTj(Hzjq>94o!nn1&pER6 z2M6F5{X~2D65)GkZ*=k+R?xl)Pn6ZBEXPg}X3@$votbj9J!L!!8h5VkM3O)7u+zK# z@S2U2YqRz4CU=&dRq)-Xpb-WaF2COUY8p4;JvJNBbe7*m0RR91000000000000000 j000000000003OL7b1~v98GHw?00000NkvXXu0mjfa}Y|( diff --git a/tests/integration/nano/snapshots/nanosp/test_provide_pk/secp256k1/00001.png b/tests/integration/nano/snapshots/nanosp/test_provide_pk/secp256k1/00001.png index 5dfdfd9a058b29ef49e825243a396c4a0dda2fec..821420b1b53a460f5fd8908b4c9e34f13e477c0c 100644 GIT binary patch delta 689 zcmV;i0#5zh1=|IXB!8kwL_t(|ob8!gl7t`(MVYSNiThs?dzlZb7`%B9K+*2G=gWdf z!Xq)nlpa9NIp-Yja^ydbmuy-*x1#QA*3?3s;9Cl9+qT4>2CBKLH*DLsx9^tMGVzuL z>~?~>g9of%eOOTN1~5i#gh7goy3p{hY`L0pRtkR}aO2sB#eWK({jm}1Ia)hQ-(-%0Cp zYMtmueT1Kr;1EIxAwuAI#zlKwZV zX0jxp3d=65Ab-(oDqQG-!**FXId{ps$f?q|=dJNWR9EGK12)Gz7u6%*$*9te-5UIO zRSE;adH}=|UvJRb=9L?SC+kIU+b>GX1D2yL<1BN*J~=%rAU4BpWL9Z(X@VOj*Grlq zC#bH5r9$6;xVg8K@YFJO9eLLT7MS~(Qe^|Wa*`*|Yk%#%g?I3q!~X#J3^^7Aafy>r z49t1bz0?y5?ovWCya*%6mIyO*e;jK9-2yG3Lis8GpSkg`)YJKbb%A>#Aw<$umQf|0 zL`X{ZmVIQkM<#E%!Z$z)tCBF9YM83mSFLl!2B^KhylQ~@u0LS2*Eud-T}{2#i=msa zeA&Nb4}a&s*CozYRp*o<&x~Qw4aizuOl?fZ?QsflzKZyTHXvz3Vmr2-cZr28W3 zR*6-e%*@4IdTTveJ>lN?qv}$3Yk!W!jp3MfN({-`w1&*{ks;`t;0BYe0v8z}gnSRb X^ok&9-vo7#00000NkvXXu0mjf(vMYa delta 692 zcmV;l0!#hd1>6OYB!8nxL_t(|ob8!glEfegMV+qRN%p@a_c9-;atvG$H8JU)d%n61 z5qv;^PU!*UoO90cM~?i*@zO(!*H+Yh&7NAo1-`Y=wrxx7X#mZI-mq=kKE7LC%fv?( zu-hrr9Xw$D?u!i--XM&DgJO~*12{OCv!KHto??iFf1EI&(JbhOV5=B$EC& zyJos20EP7D}@ra=+*=eOz)RA zLoX2ShNS`@K-}D0T6nNcT}R$Efkmu+Oer{kuAJlv^nY4=Z{uC~&Efw5{afT%B8Y38 zjACHTlkNp?sBo7On#GG^20apCX6=t-O`uz#MW_IO%Kv9>{8#Gfe8IkmI*||p>FUft zNhcT5lD(ZD-SE-*Tds&0P$Z$4m3Y;uYP}e$ zgyH*soqs)?0$-Oq!^X}jO`aL6Iu0PC))*X2$K!E&aK4IoO&bvo5^TVA+3C>d0h8z~ zI}+bY6R~TlGdC1g1HlW?t90oB2!gHVnaM?59(I@DD+7o9sgb6)t9`cGnJD&n7;Vle+*Q$x_#zylzYuL2bt5JCv~ a9)1CX2Ow$5Y1;?@00008J9(j6Y=q zr%uw`Wd`i`K5;0S4MdEXNQ|^HqN7P&p0b)2D~-<#_`}#I&VO>oe$GPQM{PuxLgvAX zWbBmEn7*kV9cAS7{d->D`eg~)JO-_;eksr4tye-;*5Lk*!oHVl$mLUeu*JFPF| z)2gGT*uhHzA@mvjp*5Oow;^^pq`?mP!3^M#FcBB=9OB#TP15fu{Ca%fjbDCblzVEw@Ae}MfVcvRdlC0ww14^N`ztRmiU}!+4zr=bBjC{? zb@NENuC1j;9>o14`JTEH?F4SZOW8Rw)8~2sz#@j%U2<2nEf^JtH$$f$vG7nNH(0M2 z+Qb5ePFtZ+QoK(ay)~M#D;mZVdhUoETCn}gg?R>mWaV$dy{-G_?u0eZ@q?J{-8B7q z(QaKs{eNp>9bJRPe=4NWtZ90x^qOCobNQqEuwS-FqQ{^yjJ10FcoppXoqISG4u4X6^!O z5Ssz#56>#3RkX+0FGgH{xx%Q~BF)R(!21;f05Jdn0000000000000000000000000 e0002M7w`*as)4fo>!iW}0000VBE?IOHrZpikx#Rk8qT=^_+fw&ud%1EkTFJptjX61=>XP#Hmr{3F}XidiUcgv`CU$Cf z$Y-Zvo?-_tiGt8)^oQ1{zg?155qlkyVTZgm12`l`#6^4z@nLq7nMV|UJ)XDY?430L zlTt!DmbCZ;8R@=ibx{Xk_rnEI$vyQE-e3T-#GK1t4TwS}wX2A8svkGYyHMfSkDz3j=Ues)o{ssgx6F?q?lc53^ldu8=81NnZ0o`7K UvZj;flK=n!07*qoM6N<$f_&pmSpWb4 diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_public_key/00001.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_public_key/00001.png index 836223b4f1f4c52eea56647dbed759d7380e6767..13cef4a9515aca7f7f7ce141ced45ae785157131 100644 GIT binary patch delta 703 zcmV;w0zm!M1=j_TB!8YsL_t(|ob8!Qa>O7EM9EZc;`<-Tcgez43f2!HFt(@qtr7-< z5C~9H$^+QU@sUM~$41?KjZZDq0shKL+qNySr-5p&8V%dF9p#7Rb)9(0 z0uDP_cc%zg?|tS_77ff8wU9MJbyP>QZ)M5V&{`q>BjCoh&wrd1T>H5e>M>d~dMPXp zKJ15;rV!H))vcnmoWB0dt9w6fL5t^r`l`1AD-a{=)T#4?{ikT7`-xP#&YEH`PxYL% zj#FzzKk5*E&IJbm0002$EvSi;zgP!7E2n?!n`qrQ!OG*e9rn3zThIp83~NO6ZRYah zWCO=fj(FK@(|=ENrLLfMYN@1ModzpM8gc6QU2`$6xGuJm7iqCvdQ39wBAuE^(iuSQ z7AsZ~C=;MYjT1-pPh?*mlKwcIy=6RYk+Yumopg&FcmibtB$uXea-N#9go9k*OkZ&} z&sk&a3bN1yOd%cmHY*cN>S{`P5o6?xJJ#K$zJH#j8{R9?m=U0ct#ueSeZh7Z z=NejKo}~$P40DXJN*vYCvZ1%fb(4M9>%zNeZ$aRFOn>150DLJKF|GuTb@kToyfOyG zI9V8x+tkmkY=7jTblrQWBbiw>Bl1~LO>3%V34yj=7FhVF1i?mK!m9OPFpG;&w zGq>@%w0|d{PB)wwC*dU?bcs*mP_yYY{`gznso1L*@x zdiNjMvU787_TE8y@!tO7>u*7626wHv*!ybQnKvp002ovPDHLkV1m;IObh@3 delta 701 zcmV;u0z&=Q1=R(RB!8SqL_t(|ob8%Pa>O7EMM+m~!u^lryJX=if;Az;V7u$TC1wx; zF?^iT12~T3I1c|OBme98@TARsE6sh4Pc_62{_;#Y=PmX$5X}{%A?JLipO)8o{3#na z?Ig`zB4EGwi9<;=5M#tdQc1}pI+~Q_DXS@SrSKmCH_mY!qYf!<8|Jh@G=o&m%LY$A#%H)e}5v0^trg-s>2`0C3h_;rJjmH3_I8b-tb@8h_rd&!`a~My|FWHr+uM8SNOF ze4Z_%YglDiqNNy;pJqdEi(3c#uGfWk(O!bU`v25M zqqvF1wcGy4L+PgXPD3&?GJ6!Xm`-OD_uFjPS*LV~fF2sBAZHJYR%HlzN%_%g#g2Vk znOpf>8h-;&UpI^ZFTzV##KlVaD=+m2${M}qvGTj(Hzjq>94o!nn1&pER6 z2M6F5{X~2D65)GkZ*=k+R?xl)Pn6ZBEXPg}X3@$votbj9J!L!!8h5VkM3O)7u+zK# z@S2U2YqRz4CU=&dRq)-Xpb-WaF2COUY8p4;JvJNBbe7*m0RR91000000000000000 j000000000003OL7b1~v98GHw?00000NkvXXu0mjfa}Y|( diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_public_key/00003.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_public_key/00003.png index 6041767630409d90e0fcb2090b7226c6b63e58cd..137ca9e4946dcd461fab8ca146124917077d946d 100644 GIT binary patch delta 339 zcmaFM^p0tQO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E*X;Fw3MNcM%Mj4 zThbUHAfTYUeE;{nsP{KzcdUs_J$i|KDZ{kXPI1?r*H3S46j;izW@=-}*RyX-cQcn? z;qJ@$>YK;bvgppPtL7IO=D8R(+*4cQq2KU#-EC`ePQiNa1$LiTq%RP0cz;B5ZetL` z!pdh8?Kl_@=yc|}zS(|ZqN(jI`+~3YOQ%KTzxedeqZvF`-Iu=poL~91+0ALQ=IJ&_7+p5*$h%@I z`7*-x#%Jq4!g0%U<-EgR*S&0(H0fKo`I+O!zS}q0toL!g-+!}2=#=)unV;D9&Mx$L iD0x^O>URkBp*nuryo0Bv{i`Yl33$5txvXWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00004.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00005.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00005.png index c4768d4fa3e1b0a3daa4967d264c1c4d3d228e4c..ca01281085c22f97d87672ca375c634fc9674dbf 100644 GIT binary patch delta 322 zcmV-I0log<0^I_TB!47HL_t(|obB0JZo?oD08lsTO}PJ&xJy5*Qp~tsq6$d*-d6&) zm@sU1mSqk(=bZECCCiQv7}$DQsXc9?zP)@-DRut6F@Fa?2^c%}Z}mm&@fX@Z znjAcStLW_iY{Jbz-z-7>b5NSAXTWI;ajs0VZ=H(EOuGpWnFsZveCw8aCn&D0rRDaX zKX#r24gjz$AEN^}a^;XyKP}gn#X={Ldk)^vU8%ZQKHTT%0G?4ERxS?enGfJQucPVd z{Sz?r@SobB>^lL|F8#&(&j6mc`?BnKjK{C>k23%O0000000000000000DxEZ1-Xy! UJc{I~Bme*a07*qoM6N<$f<^P34*&oF delta 325 zcmV-L0lNO(0^kCWB!4GKL_t(|obB0Lj=~@m0MKe?C+vSo>}5V0kwTwi0!%&UON)eC zF0a;U8bgdR#@IWG4xaU;_8pO0Y}Ry_e6O}xCLqQbLTD1tfjQjNQ}HGL!RnQ1*}rx5 zyr^XwLI`zpiv)D({UWBKL+5zvz~-N&(!(b5>gjU`q4E9JIe&O3pzqkf)E9M+|D*k* z$iZ`~pt0}Sgo}Z`Sc2N;AT^iIfWsK-xiZMUb*Nru%1yY-JjfU2OI7lnAUU&^rs^$k zcANta05DCD-T~}6bI6&$7KfSo3EA=EvYj_{TSZ%E%8?)OetHM+7iq|!8P|iKzE@sH z)6&foF!=Bv+CJxdz{pE~a`PF$M^;~!?f-#OSO1gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` 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 delta 701 zcmV;u0z&=Q1=R(RB!8SqL_t(|ob8%Pa>O7EMM+m~!u^lryJX=if;Az;V7u$TC1wx; zF?^iT12~T3I1c|OBme98@TARsE6sh4Pc_62{_;#Y=PmX$5X}{%A?JLipO)8o{3#na z?Ig`zB4EGwi9<;=5M#tdQc1}pI+~Q_DXS@SrSKmCH_mY!qYf!<8|Jh@G=o&m%LY$A#%H)e}5v0^trg-s>2`0C3h_;rJjmH3_I8b-tb@8h_rd&!`a~My|FWHr+uM8SNOF ze4Z_%YglDiqNNy;pJqdEi(3c#uGfWk(O!bU`v25M zqqvF1wcGy4L+PgXPD3&?GJ6!Xm`-OD_uFjPS*LV~fF2sBAZHJYR%HlzN%_%g#g2Vk znOpf>8h-;&UpI^ZFTzV##KlVaD=+m2${M}qvGTj(Hzjq>94o!nn1&pER6 z2M6F5{X~2D65)GkZ*=k+R?xl)Pn6ZBEXPg}X3@$votbj9J!L!!8h5VkM3O)7u+zK# z@S2U2YqRz4CU=&dRq)-Xpb-WaF2COUY8p4;JvJNBbe7*m0RR91000000000000000 j000000000003OL7b1~v98GHw?00000NkvXXu0mjfa}Y|( diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_pk/00003.png b/tests/integration/nano/snapshots/nanosp/test_reject_pk/00003.png index 6041767630409d90e0fcb2090b7226c6b63e58cd..137ca9e4946dcd461fab8ca146124917077d946d 100644 GIT binary patch delta 339 zcmaFM^p0tQO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E*X;Fw3MNcM%Mj4 zThbUHAfTYUeE;{nsP{KzcdUs_J$i|KDZ{kXPI1?r*H3S46j;izW@=-}*RyX-cQcn? z;qJ@$>YK;bvgppPtL7IO=D8R(+*4cQq2KU#-EC`ePQiNa1$LiTq%RP0cz;B5ZetL` z!pdh8?Kl_@=yc|}zS(|ZqN(jI`+~3YOQ%KTzxedeqZvF`-Iu=poL~91+0ALQ=IJ&_7+p5*$h%@I z`7*-x#%Jq4!g0%U<-EgR*S&0(H0fKo`I+O!zS}q0toL!g-+!}2=#=)unV;D9&Mx$L iD0x^O>URkBp*nuryo0Bv{i`Yl33$5txvXWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00004.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00005.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00005.png index c4768d4fa3e1b0a3daa4967d264c1c4d3d228e4c..ca01281085c22f97d87672ca375c634fc9674dbf 100644 GIT binary patch delta 322 zcmV-I0log<0^I_TB!47HL_t(|obB0JZo?oD08lsTO}PJ&xJy5*Qp~tsq6$d*-d6&) zm@sU1mSqk(=bZECCCiQv7}$DQsXc9?zP)@-DRut6F@Fa?2^c%}Z}mm&@fX@Z znjAcStLW_iY{Jbz-z-7>b5NSAXTWI;ajs0VZ=H(EOuGpWnFsZveCw8aCn&D0rRDaX zKX#r24gjz$AEN^}a^;XyKP}gn#X={Ldk)^vU8%ZQKHTT%0G?4ERxS?enGfJQucPVd z{Sz?r@SobB>^lL|F8#&(&j6mc`?BnKjK{C>k23%O0000000000000000DxEZ1-Xy! UJc{I~Bme*a07*qoM6N<$f<^P34*&oF delta 325 zcmV-L0lNO(0^kCWB!4GKL_t(|obB0Lj=~@m0MKe?C+vSo>}5V0kwTwi0!%&UON)eC zF0a;U8bgdR#@IWG4xaU;_8pO0Y}Ry_e6O}xCLqQbLTD1tfjQjNQ}HGL!RnQ1*}rx5 zyr^XwLI`zpiv)D({UWBKL+5zvz~-N&(!(b5>gjU`q4E9JIe&O3pzqkf)E9M+|D*k* z$iZ`~pt0}Sgo}Z`Sc2N;AT^iIfWsK-xiZMUb*Nru%1yY-JjfU2OI7lnAUU&^rs^$k zcANta05DCD-T~}6bI6&$7KfSo3EA=EvYj_{TSZ%E%8?)OetHM+7iq|!8P|iKzE@sH z)6&foF!=Bv+CJxdz{pE~a`PF$M^;~!?f-#OSO1gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` 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 h2qA delta 702 zcmV;v0zv)L1=aP`d_c9MT<5+&KsEOLn{hm^T zNDvk2V_S*W>y@652u(D z|0?}=sI5Xc`E3g_!)FY7TGw#CuM?^oegudWnG+)+6e6p+w|GI?omb3_M)XPO~MN{6ua5`IS=l!uL$? zE$*WGMjnC&dw+(B7VMegjU9L2b0Jf-YVvV7V_&yKO$jr=n~AUQqJ|{7=Z4~?)G%IL zQrxP{$++(#qeu5*#oL#H-q+n_IT~mbEtk}eIyK}D5(4NhzCl;S(YkYl))oSJ;d0ifO|5PPB1%G}nMROhVZ3URF6qPKn4w45w zNkLq)t@|C57qMAPhOnX7eI{)|bT=S{?I(H${7)`SVOIxV;uc|j3kmr&LdCc$^g$19 zwxVxD3}3Ijnp#g4!TchvO&D-fais#Yl(xa7qN={8+d)mOwxEW^8Z7sQKv_`L%x{6z z_}UQY&wr^+rwmTjL$#pvtep<_lLl(*0p?xWtEuU$CHNduK<{s<(X>3`le&8V4jIu1 zykqtiUlO#ZcB_s zs~qX15S-Os^u^e=&PKnNj(5JCtcgb+dqA%qY@ k2qAi&85qgb~*>&<|sPHxOms9=+^VwF6jIWy}ta&9a~8kugnX35;yCFzcN1i zelOEPlR(|Ctr?oZYaGij|A{ywb=CK;HA}Djgo;-g-s@S`J6%3e|NhslTkPB0OCq;- zHgEr(HT%)&nNI!LZ3})q$?Ed7NI1-N!2Vh!tL=*2w<_PR|2VtU)$&c=J=Zve)`0g) zJg4XUyne6NY47VTvkNb4>i4Tpwz`${$5!u9{H&GC`~2@^yp%uvQN}>#LVK~piiP`U yJm#FR(>!zEB9r*=ZTBPA$(7}+Gclk7gI@X0Lzg$+Uhr@sNW#c7w zv9x-P!t*!6}ziw>k zZvI}q(f{MyxnA2}FI(^}W#bVgnGMN|59FoaG`%yu^TDQX`_H@A7Rm6%-*dgE;CgYN z$Bb(;|Gj>pv~XVOujz%_t2F=n#kt?^v40-=W7$!*2mL>#b^ji=jAvd}{OhNbK-R1E z({?heym#HjuX&e!+TZkPlMmNk)cnB3fCf(gVBLE2^2U-#?Rb!kr>mdKI;Vst0Mf>i A-T(jq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_delegation/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_delegation/00004.png index bf7bf3f8c12fb0a69090a7ebaed89f9921c82261..3f82f8bfd01d0f44e6fb059855154a7f6d597621 100644 GIT binary patch delta 315 zcmbQmJe_%h3S-Q*Y`Xgt;_WUa~x2E^~P2x$Lx^&%ivx!Y=^;@=2e{)bs_x27OCu_-@W_2IZPaNVZ zW0FeSzae3>dhNZ#<&X2zF0Z?=d(|C1Blh)Mxu5U$WIvvCYEj&7E!$hZpCdM1sP_uE zZ5i=cc#C3+}Q4sql35b6Mw<&;$UL CzKV$e delta 318 zcmbQvJd1gP3S;6#RV8b~EM{JTwR4^1KilZPl}KJ5_sV_Jv4q=S=kJ|-COVDb%t!4PX%2+Z91_@tv)8-|K>3v-Ri>1mNKJF*MA(GugI-^ zgEM2s-$PAj<-Sz%-|yW&(|5Pi`&C7|Psr@K<~QfPnrYwBDXx3V!m75+ezq}X;r}TM z)QUGq9#qfBKb130eqP?jLVgb2X9}(pq#M?19lZK3XTpZK&?Q!HwIYx23rsZlT4nPf z#w*Cc>!SYUV%dgn-*Wzh`CFd{GQ3#(O!RX7otg7J?wt%Vo7cZwA>_7>h4Q zVhC{cm3D9(2mP6Iu2%NzJeMC?#Jn?)ob&0{Wj!9pv8*q(cUkzBmG;IOwNkZ2R*(bB zIXl(pl&W@jA*WTWmya266Yo1S!>Ld#KQHnhNhC2@zHB10$bU$52HeE^$#z7wf?Bz| zyGgKl@V0Jjq-ukcnqCEjDLlEm@>1E_)sz;hC$C7ezWwUUNU3o6@|?4?nuRK9HEDB^%2EjHFl?}E zI?=|nA3U+bj z8u0BxYZnv0jJxCX1ONa400000000000000000000000000QlGZ0*6DjV=1V%X8-^I M07*qoM6N<$f^`>X1^@s6 delta 724 zcmV;_0xSLU1?&ZoB!9C>L_t(|ob8%fmV_V-MXf%y6ZXF(_tGDp_N0>V2*{va?|vyF zLrfSRzP1(Y`z~)&O2y1L&vW^)Ny<9oNGTm=omS(%@6+mXYqyDSn`y1D$yT~8u^DW~ zQc57345?yu9XVR1YWawOn^+%22FP%>{J2PeY-SL%>C*yHd4I+xBj6_1-|~hiW^gk% zS2qY12k+d2g%sNWh9>LsMf*nCT(_?PpeG1#MP{ezap7Nv_sy?>T;9k znWs1jgG8A=e-ggQ0Mi+@vRu2+Y{1zEkeN6`(Br7uR}(_+M8yyURwG+1@a-$^l13GE zq(qi0#g&hJ-GA*A$bbP22$cZV567dNHV_2A?ru%vHOA9zMe;)BuUb~+S`K#IZ}#@)Du`9;&8E+Wg3b^xQFw2Zrvv~6=O ztmSCQh@BhQ$IAYkJy(4T`bTi!R)%iqj-__oM;~AWu76)dUbOuIw!0{5xsfr5>`wS8 z!o^wv@jA|ln7y9=C2|vzY>&FleF>Yc#=5O*2ZQGjk8tk(tcsOK$7p9J+v0KREFt8p zs21Z6zyaX~m#|=Ma~4wEe?^MLU2xAMtMb0DI(X~TtT>;hEc_qBLyN?EXuWC)|-3k zHcypbwQ&oIl66{87gxg5Ku6))CSLy)rMvPmT#Und@0l{9>d|6&7q0%6QtY04nA7G* z^2_1zrx{i3pjsq#5#Z`ycw%UqHX23=aMGZP4Nab(1X(-V`|RH7=FNwKRdk*MzFKQ- zV(g!BcMMNL2qAWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_increase_paid_storage/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_increase_paid_storage/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_increase_paid_storage/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_increase_paid_storage/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_origination/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_origination/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_origination/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_origination/00005.png index b2d9de9c868d85c1dd57359af76e5c50293b66c1..3d919b22e2cc228d3cf87946ed6d5e6b720cefde 100644 GIT binary patch delta 318 zcmV-E0m1(70_y^hB!4nVL_t(|obB0B4uc>JfZ@7$6YqZ{?y?6G!wLmv)B^dxr>Rw0 zLB+a>w-7?QcpOJPvJx<(PrgcJH#+)iBwyS2el`mnVw zi+Vs0uYanN{PPe_Z=h?)v+O&<@*%EgL0)}Od`?;|X$Dxq>e6}n0Wio71^@tvh{)#M zfFD-5&8i%zd4=^J=U9H2N#z~2GFiN^*HG^|x)?W|^TnleP>(hlpQZ!y8s{43=zwBj z`GV1gzZ5^n%o-);w5NhHVD@E!4#1sMbxeIWY0h(+i|-fUlR*I&7y$0{1+rNYvUa1~ QjsO4v07*qoM6N<$f|zlfr2qf` delta 326 zcmV-M0lEI`0`CHlB!4zZL_t(|obB0B4uc>JfMK?H6YqZ{?y?6G!%AB;Q48e%o;Iz> z3MzJ=6fNgmf8F=pk8}cN^ldkZjJ#v9w5rs^Zf(#Axv2Z9_D2mUoj-Qf+eL7<{U?;Z zd8Z4R`?+H6Z9n?~{!!gFA0Os){a2+!`8Yi z{D3o}eyK?E-$S^*fv%y=a_kIir?^}NMU8>_oV0q<4X}d6rStLwV2~RO002lSrSysJ zfMiwNtm1)KT8L^y9UoGDn2ht9>Z}*7qpU-Qde@P~xEUQ&{>;1{Z81L60JLS!1xzyl zYHj(d(WZY={~wTwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zT+#P#=S za>gVvcWBKo%ig_y_XAHi&R>#?g;*H2pSgbiXH~Y|e)0G_1)lP!K0o;NPu+%n{f&py zbuhFAGg!=VZVN8fM?ytFv0zPOEt z_3amJmHqpoHKE8R%Tv{Y(Y5x0&T4((lgw4&HB2VkH%)kW)#PROjKk@hcziDEX9|DV zqHWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-SeWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_register_global_constant/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_register_global_constant/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_register_global_constant/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_register_global_constant/00005.png index 1fcdee14dce21c819b5e211dbbdf546034789b00..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 zcmV+f0{i`;1fB$tB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_reveal/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_reveal/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_reveal/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_reveal/00005.png index 9e9418c7d7a456eb304fd7b3c50a3fc70986cd04..cc6c26e2f358364ce7047f340f272d2a148e47e2 100644 GIT binary patch delta 911 zcmV;A191GS2c-v)B!6s4L_t(|ob8%hlItK0L_N2%6YqaX*~|TK6+@(^Y4h|{bUvmM zEQ1i@)tR4TA@BD)|9YM$w=@QMAv6%{c@+PAkqOgqhJ@oh&nJf!0t5Tp4i6vcNJ)ds4PaGJGVsoGRVqDw<h872Ay^#ZE}HUH3|_;hu~Si-`iFNn>~w0~9A!^oTPKwtakQ=2n-zK`mx zm7~*V(uUtjAS9#HK1Mb---_S;#3=CTl{=&NPH!FBx2MTtINztkD%PDHLkV1n7s!rTA= delta 917 zcmV;G18V%G2df8=B!6;AL_t(|ob8%fj^i*4MBRhj#P>f^?lK<+)C^gqN{b~o!uK(7 zWLly~t=02$Ead%u%b(|Y#+J%J7D5BEo=5S|7O5~zXG%EE^L%nxAuzBnYqYpyWsus@ zT0FKcDP!3;=znYv-%gLi)sU+8V+O2`ehleMiI+Dm)X>E|Z1<&JEXct_CYf@>j?J4;LH<~RmO0T%kTWKo{K4t&Q&VLR zIQHcLPCn9;65r~oq7Jf)SD~kEv5#ZRt^n=f&z1{3}1N&%1}y8qU}ICu3*TH2ChEPt1MZuHeN&g7f$6sN~$QimJ- zc%Pe?k3B$Et@cdot~B!qmS%4^R+~_;0g{2RX3!13Q+(6Ve!?ofU}Am`DaLIk6Obgy zMt;<9cp9^JVDF>|MTL=LW%XOtA`}%!rNOJ*ei+Lwu~(H)R7EJyOcr)4Q;a|MttZvl z)91+Naeqmm)5SGtF%HtCE>(e}M%6}MKIZC9G9T4x*C81}Gb#ZPM(G@^@bG0pX5DCY z1B#thpgzjSVdgQ^(|L~etK$eo&Z;h7Q+)Go+N8SGKLbdfd~KfPTXpILZ>bqDI6%7P z)w`MKTlX{qGeDi0uBz?A>gi>N*hsB*7VNQcXMcD-iwQ*4H@Jw!?UqX59xzjk`$C?) zkbVo9gCt457f)AFN>OZPWhHA6)B`{FL<>g3YV|gtsyj`wE~+{HzsNGHVP%l%QA)%02j*ci9Eic$^Af91y?pw(PPBN5uZ2nsKFR;pP%_3vo^DB5BMu% rKS`1#Ns=TWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_add_messages/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_add_messages/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00002.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00002.png index 8ace1d8be1f2d497ee5ce715fc0e48bea5dcc7e2..fc2f4b72997ee897e1202b3f2436c2e5babbc59c 100644 GIT binary patch delta 704 zcmV;x0zduV1=t0UB!8btL_t(|ob8%hmck$mhSB3r*#DBcmwD(J26GR^f^+`wsa8lr z5-vd>Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00006.png index 6266aa247ff9ac94b5f4767209d6fb4cf0be20b0..b0b2a69409d2a7c8a8fec206b3f1462e43c6fbc6 100644 GIT binary patch delta 884 zcmV-)1B?8b2a5-gB!5y#L_t(|ob8)!a>O7AhSSd8B=^`HV8EAbwrqx3K&Wn>LEvTuwp>Y{)<(#mK z<*%VRQ|JFoCb_9e8Jlk3%w3^wBSnZ75AiO{}rm z1HJnjLihqmp_)DE2TGRbohCJnwpwEam_R7q;ilyS}#Sb)xn4s59E%(jkd zEbw5pqB#=20G&f!B-)lI=61!j-oXjjqM6Zans}(ngnwqOvqw4>{{&W?u7FR3FalewcF&CIy8Yz&^#WvoBHUAgx92cPtQ$|Bp;0@lS3a5 zLRGRe1tev9{H?Q<-;?(fal)GaptucX?GHGfxk6;`C1<^+qVgzp7upx~JVEU}u z%ki7|?SIt7md{$*>8!!tzG@r}0c@`QHY`}RvaO!e1i@;yRiyid{)HMsye7!Gv*aF` zN9^zgEY)&8AV9z}RC&fl-n9TTrf(kevNuvP^*S*RnA)!1-@&{bX*>%nk| z4n%%^HI?`^^bq;KSSZLCb(3i|0))^dvB_T~ceKqsqB_d5EtnV|Cr{OZjw#QuIybJ4T{t0{{-NYmjF z0yU}X|9m>P^CG9=v+0?{T!5R&1xS)4Ns=T=Kcgcfm7)2XGfK7M)?_sKK z(84A_@q8W2IM1{GE~Tt9u}Jx2(2g5XGDXkh7ALAz^?b=nQzn!(H>(r1=(1SrvkJ{p z_P&<-f`_(1sfeXE*Bi9?Ov$%jJQq4Dv~AU{>VRK*QQwzR*niNfg4Gk|46CWC9YGH2 z{{gtC_x(5bK)d^XAJ`bYSiz@lXfBU5mUZ&45F{7KL}Y898texrSz`}4=8Zv(t#p~Q zopaoZWijX8xLTjT7GMAX0D!&Wsfal2Fk|HyXnm`Q>8vp2=_5oWE$Dk2mzCYZ4wiEc zLYGGMWJd3q>VJDn(5ho8OyFp+ybT&vZ`Z04rtn1{)C0TvI5A;YiR)w&%JS1v>rD29 z^|+wQi#;=q&7d)Ys$8yjn$&b;t?XufSs!WACDJa{CFwbHCfHqk00uicA#NogWn-SY zNvaF07i%N=H2{O{+~=w-SIpzSS=RXqII?NcTniWVOMg?R8rB9a(ze9=(A$Ki0jpFM zZyvwcQOa8BiOy=eDzUtsK2%$21KzQGfe}&VPyD#09v^1e5YJT5~phxmx84Rl|a;9E>w+Q7~vUWt|YDR#PjpAM#(z zPewZg1t*c58cU%j#=}>$+Ae!Qf<%0e@G+D@lAaJmU*>+L3SCgxgOeOlo?+?|YTGJk!_Y(57+AsI&l$mZP*0LWq8a%(B8 zX-TPD=byb-HBbd;g>)rGh7`NYgC(PC=)Z zjbe|@ZBTBNw_W$tixO>x{Pb!y`D5rQl7G4HStzrPF}*<`Hx;Z~@zLXd#{lFyx9gI5 zPJ8+Y&RM48vqWm6wtD^N|4Gjx?Q|(cF8S-_+Rf@shz`IYTXpwV&h&+#>xcT`TU?3r z{hk^_txZzKmbe=-bVQV>o~Ua7)>V9PI`6X@-k6b2!~i@D1^@s60000000000007qW Y15(#KvB%3ivj6}907*qoM6N<$g02O=5&!@I diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00007.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00007.png index 1fcdee14dce21c819b5e211dbbdf546034789b00..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 zcmV+f0{i`;1fB$tB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zT2F?bMN`FGBKys~*vWDmL*?v5ZV^N?z)Z5u{BV_Ds9$F{lci z!WZ)^oI~mne1Fy>e%>t>vH)uPtfrk%ZE;(yD+bsmB-W^b980)R6$@F5q!~cy?nsLW zj5QSicE;k|d=Je6~E zzKo@e^Cg>SXMgO)aJM)lJyThx6{*k@+=7(KHqYUfB7YQOu_esTg6Om8OA({-nwCN% zi^^M37BZyG@%sKD?ztO_blyAy)4S;0QW?w|?R1OvHud9??XRYI#n$uPX=supNs=TBvHv8As9+v# zE-E6|)PGc-LFcO1<>r7@966;eIQ`n3P~53HW4p?!@ts`rRzy@ib%V@$Scu^h(C~`c zPHoP7FP^f?rNouqOho49vtiUmcBPGo__2Am9U##O3Mpa=@`@Q*weP3xXo-9P2(jAS z4Va{%&ez#O($J|l*^k*XvYLlzd`XfdNs?T_st^AMRHIF0Lo~H@ZB%!m9h1}oDI|Rb z*IX*~Z8YgXG44$)Q92+WAC5~4Le#hN#hMQ?KFjxjuN{*i0~r)@__Wh{7LOqS0000< KMNUMnLSTX{3v1H= delta 728 zcmV;}0w?{>2F?bMN`C@WXmYKOvWDmL*?v5ZV^N?z)Zy$H2$?&Zht>)CIBjnZw1}uE zT_+FT$bXa1NYzjKu^y9yO4kBjNIJkhw3nB`_nH`EmolH;ANlkKYQ*C>+UV1sj4l*B zkabzuEO);vaugN(d-Hz-E}4CVkS(zupYzClcK4YT`x}Y=Gk-dfEP{N|U$&t4yayo* zAF&|KoJ^hpCFma1J+!WC5|#9$ZQr(;4xoFX?15ifUN?GfjN)xKd5S;n+moJ#KvzJr znY;l>l3WOtA}T_eE)?$Eg7{e%3$Y;mA*GzwbMfRtZ1mRew~mkW4He z!WZ)^oI~mne1Fv=e%>t>vH@!QtfpO1ZE;(yI|kS$B-W^b980)R6${ymq!mEuK9Lp? z7;7p3?2N^^`7>ar{9=oxNJCZ0VpQ7ajAct7ofdBV3=J+xk|asKi(wXY(xz5ssY~mv z_%fC<&X;VSo&B*F!`lo?Q)CtHud9??XefTM<$9)D1H0VIhVuK*K9$ zJGD9USUhEyONlGJm58j(XTzwC>`EIE@niFBJ3yin6jH<#v?^k|eo;RS*9Us79O0hG=T*+NegMos-l8DI~ap zYc7@gHd=I`822WYC>@Z`567hiA?jQCV$BDcpXJYhubq=20~r*21Gj3%JQ<7t0000< KMNUMnLSTYvwO)7t diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00009.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_execute_outbox_message/00009.png index 2afcc241392199be0c8e3a3d924576979a70c1e2..445ef21fe185e57ff3b78779e82da747efef8e42 100644 GIT binary patch delta 854 zcmV-c1F8J(2JHrrB!4tXL_t(|ob8%ha>FnPMcqz!;{7ivd+CQestO2Q9#TCH=PMxy z;TJ+T{y5g~dcFFu=XoxgXbL2mRvCFq{lAmzbFEQni>$r^AZU4vFb z+jC83C3*Dzz0dRj#C1}SAdc+|JvU}?+agbiw|#rs(-i0vP;90yKv5L`2$doZX@fqs zn1&#u6rV%tQhyY&jPxF$r>?$DV~S$TC>jmzuprLJD3cF3YTDY0p30DE%*z5sd-5WT z_uaXkre^<3oPz|yE!INe^8s@nRS%OV$qkH&M4KFm=>s3W&I0BWG>Vy+hQDoDQ@w#6G|LJ2Sjp4@&Wb4{-?A? z$hRjn#Zi2eILIij@nz|NdWK-Mi(80si$HF=+z#Eb6C8?h5q*kVkT_Q5>)5CRf*Fc2 z5jAi~P@h8L_@-a9QuiA)^o< z4)TVY?=3bYLp)kh6h%=K_h9&!WR^tbklwh(B)#!b>9580On2j+Mkq_7LgJV<(k6>C zmuZ)aOK+yEF65nXR@3_I<~L<4ZrBO?Bq}`4VXSx#DGFnPMb%Ds;{7ivd+CQestX8R9#TCH=PMxy z;TJ+T{%C7>ym_?9)s}1AmnWwXIDJ8LgKF=eMDb|@4^^MH_Ir^bk1i8`wl%RWFgOmp!u^?_iCTl=Tx(2<5 z_UD?+O7gh+Uwx(rAP&?c@UiW0q36adZd>Fj@wRVIdzu1$0*cMl1t^N*AE8o2lQ!s6 zi)jclO7Uq@mw%#&Wu*52J$3bM8dDTwM$u?!hXrv)MwxuTQPb8|^i+mSW1bc;+LISy zyzkESG&TEQ;v6IpZm|{$pAVSxsCt+@Np4_FB--RiOdt60brvw6pi#`kH2kegP_M#D zIbP>!LMTBG0I3`6JWbFGK>jlVEs%W^ zb5M`!;6AwY=BQ)ur3Hz9s5yMd+7_ur?{xvPa7%BT$(wP$Hq`XWn>Z@cET%6cqvPU7 hhh$Y0MNt$#d;;5vasrYhc_XwGQ5o&X z!Cm{PmrsKD<&v~lQ?Q?s}>ZcCbR*>sa8{Qb-l&bqoRbujI(&x69+w+@#F%Fro zsKoX(Jvbp7Mt@r=;=WMJbJnujj2>&7nerUzC6wM`-Ug(oq%L_<>hkG{Z6iy-SR@B1 z#H$;_3UC0Hx)6>k5SdDE^4+x)5XDiWUo53J)pK+LuGfRzBV)urF7fH%Li|G_`-6Ch z_>6m=BuSDa$r+$0<65EVaGcQQEfqS%pLG%sLbc1Z!+%sY^IJ=|wUe4BB^ATTxSeV2 z=cLTiM$BEM0wvbnN^FG=@n?m^j8IonW5{Hi`RW^94csiL{Eb@B2({7@SPfjnA3hy@ zT7}MsEe$Q~vDIYJ*M{2?J}t$PP$K@Em4+rsk|as8gkcs`kyDYEKWi1+f@61qzpvH!8t;T-i)(%)3wC%>ZVaqB8;$aAf$ z7(&Qv=PlK)SX=H8WYWWZCiGVTiIPGr+F9*7u(GB`Y1QZc1mGvXKADh_v6Z8d;LgvH qt*dSMY(+g6Z|1X}BuSEdC_ia+q+Lg@P;vkO00{s|MNUMnLSTa3S4b}a delta 656 zcmV;B0&o5D2J!}w?tgZaHSoUWHPCZm6vqa6%6!_lCp`^;u7G4SIRQzMyb)T8sEl^x z;I4ht%O^qn@%1V!=Mgl^dRm2o4-i5ML3ZudUOtIWv*{@&J!~avGTo9N;Yb{r{x2ur5?fFf=7>7(( zRAPIY9-NR3qkpXwabKwAIcr&MMvt}4OnHv<5=w6|Zv#?PQkOg_b@}wfwvi=ZERq8h z;?<2|1vmgpT?j`Nh)kt7`R>{Yh~lWxFP74q>Nz?A*XzOVkul;Qm-zH>A^ste{XslL ze8xRbk|arz&pL?*q1t8IVSlQc`K_hf+DXlml8WJE+|D%i zb5dq$Bj&DBffDO(CALC`__IP{MyM;PF=VpMeDw{l25y#A{zffmgj#6{tOhRP51)=c ztwQI+mWCGg*lM!qYr|~`pO#`tC=q|oN<)(*Ns=U4!Y~V}$f-!_B`|7*&X>}dY=tL6 zQMPQfdw)nGS1)*DM9-ux!KhGG#C!Q{3EicQ*#Fq+aE^K?>2Ip;lV4HwxOJ5^-^r>IM`=aS&RHXeenq zsWHTDM6*#zz@#&kO&l}m%M3}=FKK({u+ev%${xm~gSg;2>wIwzyo9s%!aH@=?caZu zb4WhI6PeLcMRYE8{YG?rml=!x9&-OG0x&n&L)D0+#;vlpX(NNNK zQe%kQh-RabfJtX6n>c3Bml=|#U()u@VWaOjl|76}2XVo5*7@QbcnN3ig?H+#+rR%R z=a77aCo-d@is)SG`i5~S%z+r#Vi z8h>8bwaL&K`fyGRgv?z`!>EM(H08sFHj!mTRPw=v)))D<)b)%%`!%`fh%I18;sDn$ zc5jpCnl$EaWj?*1`t1XBi`R9H)=f`l9Tg2^Up6+&;C-!ahh#w;Ei6b8`3;&p`nc?#M zkJ!Iin+2C?-}mfnw>B0K6v@WofD&*>1yt{)YhL#}9)k1@1;!$M%bSu&FhP8a$*g#; zbcaGvN;J4__uy!TT}1LQ<~#&E7ebKNDhRSqy^<$EJbwvzP8T4SqVYH@MqUv-MdLb= z)DY=~$nZwo^GF(66h%=K#a^bxxQ11o%#ssw<_v2?vLK`d_lisM83X6R04!96Psm|y z;0ZH!S~k5x)Ve&67vpk|NZw=48Fm~(3Gzu;-*k#+cmXR{8xr(#y=p*|i!a_vU5woA ztZTz%kbjog7!_At7CUk|8Z0@P^86WD(UwT!7#FdNah%*@+4<6&_kFX~D|-P}%4$g2 z3)dF2h$Nl3SFwU%Q4~c{6wiYe<8Eg4ro~UmaIt>N_2oz`DFXczy;8J+V-&!vOJH}` z>2bV;RKcnuZe&`FyMHfShoG5^Hw58TFvKG6RaX6R^=LNR zO-M}&+@68jT+AXa6Z0ypt%HUjWcQ`)&>q>95bss^K(9JbG49yxx9lp|Grbzo(oiI| zQe>3$4*YA0n1&KbZ&K(=Lrt&NwG~BC6h-kSge)jfz;Y!#P09!K)M7Zs0d8|O|^x#XYSW$`nMEbZLtxV zE#bQ1jj#YDtb1F;Q|PSM45E!+#I&Wi;1*{@KFmT;mZ3u;<6`v4)ppF{t_48It#IwD zmz}oAa}u-V^@Y+R>KSi&`-0kHBTBc(WgCj3D2o4`zjAFmT7RTzQ~&?~07*qoM6N<$ Eg1L9gQ2+n{ delta 930 zcmV;T16};W2f_!CE`OHWFbG98bGj4ne@WR(KYT`20Ko$x#cjD?j*I|V5dp^Y)%Ngu zy~dB%b!{?qhQ6E=3n9-greRb>lEY6j`&8bf6s0dn;>8Gw-EHqJxDqD$Os~~i18cHlJ=m-(0;CoRpQ4eKgyU3 z5GU#y_}um$==oq4j}7va^|bFydYS?~0mWfz1B#;fAVMqRz95YReWXd5gVMkn^8vlj zMKXt3pTOmttA7LGeGY*&${=MSso=#6Q8Sn|B8h3hH$}#!8TVX~JpCh#=fZzY*358u z{!5(StiyuKwD&VRJFSfc1Vys3IG_X^(gD?H>6+I)kB1=rK!LGHKk}v|5=;=^Vlpe9 zE7PG6loAbY+dVj%VHc4+jQJb_o(mz!YZU}Jr(VgEAb*|&Jf|BFOVN0o6(g?*o}zJ` zNNR}8LS*ikSqup!M);={E30j!2oPjg)8K+ zHn75sRm-MVh+3ED@n&3ZiR3MF&ak5hCCHVqe&`g>@CH_{HYDifdewj^7vH>_`O zs>ksb(gn*ZjCDU}ULkW8ZSAqIr~li%xshoz?ti{;6+tr@ZwSJ>V2DNBtE~RxYH2n* zO-N4)Jf4BxT+AXa6Z0ypt%HUjq>95bss^K(9JbGw#^aZ`ob2XL>cFrJ+b_ zrN}7h9r)K0F%2b>-lWi#hMHcjYb%PPD2n1k2w6~|f#phgnv@Udsl|%6*owdruSGi% zihs4S_${yw?6<-tw5ct&BJZjZi%XU8K62}tTy0qv6@lr$skYGZ%zgVzf0x3mEw&S|cOoE-~rN{Rg)hmpL ztZQYn=RA+Rw`_`-=oa_7xw867xAJt_jf4wt_sZ*KOk5GPYUZAj3pMKTs!wZ9-LBEq z+mzMy*)foDuJg|y7bUJM8J20iepY+iK7WF@kLJ{+<=L02E}U?zKXcl7Yf*zGyeU<-GT9%114hN*IQFy>7X+cg7j_<5M(~pRcRm z#_7(x@y0?c<8SuKPi6O(e>i?4@!yOUn@;s_x)!7sH1FpgA>(uN&i&eEdhq?Rkml3< zA7<7>CC>A*>OI47)|hKi(ylM_cJ|%yW_u-nfieE-ui0nUyKc8uc;%3}W<#0Jb~`Jx lR2})hQ___g8L)$h7wmC~H{KjDX!;0J;OXk;vd$@?2>`fF(lY=6 delta 444 zcmcc4e2sa6O8s0<7srr_Id5-7_Z?Q?aR`h$>v!Y-q)pR*b{q+qEg{Zx(&KxL>J=Ly zxyF5$q>dL}*>3sVRrGD3T>A0mj&k!br`V1iZ;$bZZ}AAxJ?j)_m9cN~`B`3;Uvqbg ziMtvfof&B2Fg+mMU;J^D$}zvxzg73YotK^>ReY}W?cHfHsU}|a0-udmZoea=U8Wm< z@$s|u%z2f+cG}%vthagRxit~@UEaQ5Ex(~d;)T5T1>@feDUYgyY!WA1-ER=N z!k)^j`#I{0)~&$f*A4HoXQXZMzEFAjxzl>##WrOVr$5_XTfJ?$;uD?&X(bE|(kJ&T z?fUYuR>xJnDrwTKMG`v?o!(ggf70!}CqK@S?iER%o^)i6=C@^+cg)anKYm3s`S-f| zZ-RYNNgJI@)872=xjMb-{Dc0DhyNG`mR@b&w0fz}k~_tFgpAJ>i{;9ds3*@l_*JoH z*__n|{>pRR(i)ygvIZK){+hkB@5eNrE%pnT<-UG1pB>-5?_I+R-lZE4-7>uU?Zp(+ kjYTDT=i6Bru!Dq!@##6Yo7s0saex$fy85}Sb4q9e07+QUi2wiq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00002.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00002.png index 8ace1d8be1f2d497ee5ce715fc0e48bea5dcc7e2..fc2f4b72997ee897e1202b3f2436c2e5babbc59c 100644 GIT binary patch delta 704 zcmV;x0zduV1=t0UB!8btL_t(|ob8%hmck$mhSB3r*#DBcmwD(J26GR^f^+`wsa8lr z5-vd>Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_sc_rollup_originate/00006.png index 1fcdee14dce21c819b5e211dbbdf546034789b00..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 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 TD-sYx00000NkvXXu0mjf(r!?g diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00003.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00003.png index f620b54b7d2f1dfbecf99f36023806651a706cba..af9beddbf5a4054f133e1e3bb642d636df49a95b 100644 GIT binary patch delta 303 zcmX@dbc$($O1+?`i(^Q|oVPa}*EJakFa#L<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_consensus_key/00005.png index 9e9418c7d7a456eb304fd7b3c50a3fc70986cd04..cc6c26e2f358364ce7047f340f272d2a148e47e2 100644 GIT binary patch delta 911 zcmV;A191GS2c-v)B!6s4L_t(|ob8%hlItK0L_N2%6YqaX*~|TK6+@(^Y4h|{bUvmM zEQ1i@)tR4TA@BD)|9YM$w=@QMAv6%{c@+PAkqOgqhJ@oh&nJf!0t5Tp4i6vcNJ)ds4PaGJGVsoGRVqDw<h872Ay^#ZE}HUH3|_;hu~Si-`iFNn>~w0~9A!^oTPKwtakQ=2n-zK`mx zm7~*V(uUtjAS9#HK1Mb---_S;#3=CTl{=&NPH!FBx2MTtINztkD%PDHLkV1n7s!rTA= delta 917 zcmV;G18V%G2df8=B!6;AL_t(|ob8%fj^i*4MBRhj#P>f^?lK<+)C^gqN{b~o!uK(7 zWLly~t=02$Ead%u%b(|Y#+J%J7D5BEo=5S|7O5~zXG%EE^L%nxAuzBnYqYpyWsus@ zT0FKcDP!3;=znYv-%gLi)sU+8V+O2`ehleMiI+Dm)X>E|Z1<&JEXct_CYf@>j?J4;LH<~RmO0T%kTWKo{K4t&Q&VLR zIQHcLPCn9;65r~oq7Jf)SD~kEv5#ZRt^n=f&z1{3}1N&%1}y8qU}ICu3*TH2ChEPt1MZuHeN&g7f$6sN~$QimJ- zc%Pe?k3B$Et@cdot~B!qmS%4^R+~_;0g{2RX3!13Q+(6Ve!?ofU}Am`DaLIk6Obgy zMt;<9cp9^JVDF>|MTL=LW%XOtA`}%!rNOJ*ei+Lwu~(H)R7EJyOcr)4Q;a|MttZvl z)91+Naeqmm)5SGtF%HtCE>(e}M%6}MKIZC9G9T4x*C81}Gb#ZPM(G@^@bG0pX5DCY z1B#thpgzjSVdgQ^(|L~etK$eo&Z;h7Q+)Go+N8SGKLbdfd~KfPTXpILZ>bqDI6%7P z)w`MKTlX{qGeDi0uBz?A>gi>N*hsB*7VNQcXMcD-iwQ*4H@Jw!?UqX59xzjk`$C?) zkbVo9gCt457f)AFN>OZPWhHA6)B`{FL<>g3YV|gtsyj`wE~+{HzsNGHVP%l%QA)%02j*ci9Eic$^Af91y?pw(PPBN5uZ2nsKFR;pP%_3vo^DB5BMu% rKS`1#Ns=TF1DK+zBRbOl}?qW^G&Hi{<8(y1u~Vp zdkhJ?TXGgV#h;N%9ckoYX(y@Qgqs=$Z^CX(b+*(cTc_3eJK?-X(&Hk1o6-N*ewF_r zI5)4eoAtQz3V#4_Yw6dK2m|{QiRr#|cSk!@q-T+5j6vOr2Jg-|u&erG+(7mrz48EF zY5OQVmD_4=!+Q4I%1zW4?F4r7v8#J`4py4ft5vcDvj=0gZdnmyRzT$SwaLM@SDBar zBex*;!+m$CBMoo#8+_-R@ZztEM~qnk_Gak*@5xR~cSxj4ZG$OPiR|RSWpS;W@N9RP z&KA{*QCQ`&3XMf(=*hEx_L1MWXQ^d(# zpmX`s0c(lDw52m((E^tcw?t=y^HaK0&Vlm9J2dV)-4 zt{y|e9+sR%5AlbmQbU^bFt?JFH{q&=&P~{?DbD7)r0di=eUA zZt$H;(2ei|0000000000000000000000000002OxH^@V^<}}R$9RL6T07*qoM6N<$ Eg4}K5bN~PV diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00002.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00002.png index 023ebeda5e0c7f2ab352f57c81455d0bae482a8c..54c4dbfab7289334c4aeae2cb99d67b7ef3b4258 100644 GIT binary patch delta 701 zcmV;u0z&=U1=R(RB!8SqL_t(|ob8%ha>F1DMV*Xy!v2@!z4XHqiuFPWY)E_0M<*d5 z2_e9e``T9GIF9@|r8Lo!nUr35Snn*=&mhij=be@cy=-*0>TF3VkE&if{eNo=T;Y@>7VhMS>1&{Q zf0Xc2C z=A z;^KDo8h`PZSY{dGsh+gPNo4`j^*;~FY(m>*9(QoGS{3(u)nI3Te+N5RGlo~K-JU#x zMg>u-Ri`;&?c9lWy|e6~WyOU00t6waDDK(I6SdzfQU zk`MxzIFIE{yk4(zy{_v-OJ-7gVX)p=s>fiC?x`QTRp=F?i&b08x~}D7d7CX-iV&}5 zFq?%!^-uld4&JZbE0JHu6=aqwSUdOLB~7na>Bx=xG{YW zJn#3Ce}&jn2q*8hATxZ%p!I5Jf$mFp9Dok-2lCJu%tO*UgqQu2txpS2+Vn$s`UXP? zA%u_wuQ%nVxEuFEG9WF}(-Nrjx|`_*B1d%BV=-GyvBw}iwHMBMHYXe$p_%l0nJ^*; zw*hxZ%_kEMQh!kM?Nt=Ngl_MJw|*Da*IK5jMF@;Fnr4fK#i*}%Tlcb%gHnX>QEZ$@ zi%g0Z{rB{ke2sPcsr)%-3GNwfsw_u)-9Qt^S27YBktz3r!(4DJlNU`uj2UH(i&x7$ zjOAY2#bFfJ>N>{Rk9Q-zEgVvZRreCC5a`L*WykWV0DsrgZtY@z5!2VTJ~QgY5xS%T zQ_HO7n67NmD4eL}fWcuJAdcLLW#&uhI~XuIxJX_8444AAQ-2Z0_ke$h_mX~*uD=vO zgtXyqL0*{wTs~%Uk7WFb6&mLXdV7gmJj2Y6USFNQc``3NgiRAcvvP_+GrShWo}g5d zqbUV;-77HfhU;=Ujz7^idjEv~isB`s(J}Y3@JS7VKHzzp( zNEOTs2Xl+>SgVRlW9f+Y4z?Rr*(Ta?7Z;>(zdQ$!F?2WsCZ5t?9s7h3LI@#*5JCtc pgb+dqA%qY@2qAwQ diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00003.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00003.png index ffea3b01d2cbf9cc3646c9bc14c02ae8880b8e0c..9bf3a483e4c0a473ad690a6ac2ae0def7ae3b641 100644 GIT binary patch delta 313 zcmcb{bcJbxO1-qFi(^Q|oVPa<`I;4Y+7e^SCg1z-aVOQ@BO-Y9gK000f3w>!aw5oU zyW+ajJYJgruAO<;^@J;N8<&@6Q{ddGeh+ubnt0d#{JCYuWjDdJYo6h}TKGncW=o%Yl4tmMy-{q;@1;stE&Zf( zEfnw0c31BY%g>j;c@Oyccg3>z zYbwt-zEQWdLc)CgHxbK-D@waR{S-@>rrhq>|4+a$?OW|D*HiT~3mLy%nbRke{xYTh z=Tg=K&kvoRTp+7uReO1pY;lc|bliIe9N^4D){@!_Q!Ku5Jp!rlboFyt=akR{09Zkd Ai2wiq delta 315 zcmcb@bd70(O1-S7i(^Q|oVPa<`I;4Y+7e^SCg1z-aVOQ@BOzopr E04Nogk^lez diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_set_deposit_limit/00005.png index fac0093f45dfb946ed4f1008fac2c40e59462a21..6bf73fb0597d521a5cd7ce8407e4586e5150bbae 100644 GIT binary patch delta 400 zcmdnQyoz~(N`0ZHi(^Q|oVPckH#IBpG$h`7>38SD$zgSu+?3m5 z=jj@2@3-5NDZN|$`zy9t-$nNX#QDVD-=~&jBK$D-*LCyX&!UgkJL%-dE1pcK+f_OD zO25YYd2&66%`(qN&zLFxh2hKDeJ!6h?W~{cRv}@`mjB*qy82Nksjz9q$93-i+#Gq> z=SzKbz<0wRz1ug>zqd8!TeD=tg?yeb-;`$WyYjlo&f~4HyU&6{_vT4`X(~3JJY6!Z zKy)`#!N%)%WnUaP^NU@t_`$~dWjC6P)_-^w^y_-mtJ2=Oi$0!{``S3j3^P6^tC;^|zsIiIo~xaoq$MvlPqr;TPHxqv%UV{2rj9;yHY`~Z+CTA*yyK&m*7+NP`ZK5R zOHExmzyHRjuZJgZ+tnoYn`>jh#u>Zz{G0jVqEE|q$@trEX6HZEumAJ)+v6slWz(Z` zChY3|^zh|Li#5W1d)gu^{rnwnzwurXVfKA~PRr35mKDeIOkSRhZ%KSwm^b68dcE0s z1Ma{1+*zjVQyr76tG8V(xmljZ6tmd!gX0>t!OYX+#G+(!Fwm2GPCdhRv0W!ygAW~@`FYyr z?VF|w|37w~f16>ogt=+$j%jOcPDER-U&ueZlu7IQdxg{YeXSTbe);+7P39?!o8`uS z2LfJ3yH_lkyrZ<@-LxMP_ggTe~DWM4fpp?cL diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00002.png b/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00002.png index 8ace1d8be1f2d497ee5ce715fc0e48bea5dcc7e2..fc2f4b72997ee897e1202b3f2436c2e5babbc59c 100644 GIT binary patch delta 704 zcmV;x0zduV1=t0UB!8btL_t(|ob8%hmck$mhSB3r*#DBcmwD(J26GR^f^+`wsa8lr z5-vd>Whai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-SeCDpw^l&s;h=W_TJdMG!rmOr{StOCg6oO+)%dVzjVEz8MU0A>0%|!{_+PVfOqQN zqI7Rp4(pu5%_+U#0RR91000000000000000n8OcF+{gbV#V#NK0000D&!Q`$&K-8AAiJ$d~8>hJ5 z_pq=k`MYYdchKMKoo9DQ=4#ffuHP*B*jV>~&e^u;Wswc?C6B&sTKZq8%5id5qHS)9 zYR|t<=3))^MdFsUi0drBdhvtqtq;5_S1B-{f(Ge*4AUnb|IfD8X)Z{{)78&qol`;+ E07tx%1ONa4 diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_simple_transaction/00005.png index f5639cf651b25c7f6f5ff95bff6026110fd17854..10f978ef0d4390d22e149106068d62e78efc2ef7 100644 GIT binary patch delta 339 zcmeyy^p0tQO1-J4i(^Q|oVPbGiZvfLV-0Vs zPYPdJTH4~p5(yuDKX!U3xAEF8xp!6YG}DZktJ;oS-q1GNC^h~k<5jVn&#up(SMEB^ zG4yZ2Y$l$Qb%MbYFPO^7->8asmCHAA{=B%=Ss%WCHT@x)@aB$v{Z#JxAGz1cyYf!k z+m~=YvZcFo-%i$}*A;lD$1|Rl__NjMxsB!4|gL_t(|obA~`dW0YhfYEfm-X!-wQtr|PZHfd2?IKY9->Mar zOoGBNB6~11Gg}?S0^Ctr2`%x&z{+XfI_;vq-2Yb9XYMmvYwqyX?{jqkm%SOYKIG4g z>rGbWo$Y93dL?K9HW~hMvjUW~PIpuG$-dmI0QkH3+t#Qlp3prqx|`qdIUC@UK>-#S c0N_5p08;$}gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 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 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00005.png index 1fcdee14dce21c819b5e211dbbdf546034789b00..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 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 diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_transfer_ticket/00011.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 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 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztTc?9lLqhrP``?db{pjpG zrn-!U0To35*yKO|c_nY(;}iDl3pp15@@+0yKj(GZ2jO)Qi!0;h?@JvK{bu>h_dw;m zC>H&`#}l@1wo&cf>|r+HxasUAEeqn77VM}Oo1S&_%OUo&8v|3VEAJn(oc*S;Wc7xV z>D?PkR$Jt~$Y$Ht9=o-3_wDs}M9Xa%!wV&h zZNFN6;N2?O)%sV(gcCHDR}1D{YwOw0a+TZU?3Pm&UgqzdJ2R!)ms}J0cxC>UPkbi= z&zTWhai~XwS9Qg_f+O_rlG3SE;@Sada=-K04*-tmOIiAehpElV1I0a)&RlH=S*uGdcg8h;&kSmlU?FY?9m7--&~ zCI1s*QxGS=EkR=Xtb#i$=)U2OH^5W;5ovS};wGtW!sUI+_Pd29ZTTj=e1QP~006*T zNOhAv$Q~U;0{^NgWtygxS6-r`l$~xf*Qzvzpo?{rJtT23#zRE@^GrilDB7bjXA|zV@}qPK?4Nzv(t9?0=CR#9cE`v2YI2MkQ|sac zAZR*wdVg<1U0iQbeC?K0;y}1D1SbGoee;es+Mu*Zd)}7^c&ysg zMiIOevSqe6kzr1&1IGSyN!Iby$fxaf^WZUX-Lkk4%l?ES_Psw6hN;;Z8QlY19i*jr z7dX5blGT}K*}-mJUA@8*sBRO_uXgbB!8w!L_t(|ob8%PlEWYjMV(Y`;`<-Tcj<+zX`=Cii6LG8tr8m~ zA&EgGk8LH6<0zl^eV=H_OlmLOtap~`doV}$(v6l%y<&8+>U^^Ad-<^ank}9bA>Nal zIV}{bpY@j&ykEP?b12^NL_9&HeTb4Jg}(qy_rAz+?W5Fdr+($Nz-Phgm26T!)kVf}lZj#<6yuDA^dbjYTP2Ys4FEE4< zLI@d%C~aC#u}6iFpkLJu%!jFY7Y#P;F`M*?%h85&x zoGHr`RPI$o`+xd&tb7nh;PN$)(2A!5>?H~guxJRH4LkLxcQRmlf|+Z+4L&2Z+yyPlrKUw@+nUO}5-8rEv<3YYwY0gr$e zrH!4M0ZZ=zf^;4KM!qQk>Gqhm(d`K#%W}N4b^TMp6KKBGjdfp8dr)u3m2F%Ddjmmw zHItU?qmCR~Hu4}~=`kh^wr-jBjYDYK<1uCvuC?lO^akvob0>wG+)qnDvejZWb?yC7#kim)5&EzE0~Yb0FFnK@tG1zIewQEhr6X zulwo%_m!I7D8L(`SY~;G40Bi=(D$E9v5q&5eAr$$4jqHkEt3nej-OC;-}@sGnA$oc z(LEs5AzGRjf!&*-Se<>OSba{ z&#`%bwz%_rHQQW0o2FmKo(b6>;uPj)u+Q1RZFR3;^5$z>w<&Wa-+KE&ME|qjOP0S6 z52jr&dh+4s^EWy6K{h?!?_3Y+{Z}d%E1eYkGq;-K|4Vmq1<#-U_qQbP0l+XkK`pb_j delta 307 zcmX@bbdG6)O1-G3i(^Q|oVPav`cew(A{9OL4us|8%=-!9mFCER+x)aMO`9aAnjRviwD%-f=S z_iK)WMr=s-ZNarEtAxI6IP?AJoWR+y?$2NFSl`1YcS~t#lm9~R`cI4BYG;4=HX+W; zr|`ob@!LZ2=XrL;d>6iACbs>DFyD*_h961Iu@_X^e$R=#o)dhf_vX7*ryEXKFU{Wa zoV`8v>y?LpYSZ}51?8%K9p3SyENk1eKQnjnZPKon;eTjf`;v)8^Z(PsVhfgh{otbQ z_iZ|VG{e7j)%BNR-@oZg)7`vV=c;sDZ89?hDlquUTrY4|vyzAPHb}zL)z4*}Q$iB} D(OHnv diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00004.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00004.png index a250608bfaa5596a4df1cf4a13256dbe4c2d1877..908600200d45a13b6992c9edeaa2393b0861e45e 100644 GIT binary patch delta 360 zcmZo?Zf2gKQt##I;uumf=k3kdbxevpZHXrDTK?*1etX0^@yhy!&xadS-WQt|Zn(lE zYx`XA-NxMLeSL=aOiusv3F7-!^?$e9=B?JUj!i$p+jiQOu7A?)7*`kYJ@vfs@3RtT z^t^+g8y+=&V&Ck-eKuE{Q)Kz%%|Sl@=7{(z*{JUCyZT+V&+u1$SVFdX>6DM(rtLj( zv8(yE$_`NB;$MD z%g;71U07!H`|d~9bPdgeTE2<ZfBmLQt#*K;uumf=k3kdzQYPUZh=u}{cil9v}wBC0>^jh3iT{qCFg^$1U!~1 zu(}*xaco=ePpe};F6bOL_O!h5`tf_Iv)A4gv2Z?$mwfi`%HB!(Y(GCY@6xZHcO(B; zLRsW2tA5RSivJ~5qB8QLJr`KaoijD*)Ac18LJxI+maf^SU)Xc8emhgN^~%LP+qb`Q z?F*B+bMAtkTVap?Kfaq02lX6|zcM$=`RE$|{X_kS^3|E;FV^Ulcda?NyX^5llb4U8 zd~ROZy4z^6t%<$2*{^W!SDV;&3)VEAn|3Db=ke3JW%C#p9+z6e@rhwWtm=+?u{=Vr zVqJG#UOBDwt+44N%Xgjn7S5ijoMD;2a;umOZe*7+J-@QApXq>(w|&?2dJg^AzfYIG z+RRpb;=iW&)*9}pyGixzDO=^)3>bAe7;pgR8isrm&bWp;g?S(qp00i_>zopr0HiLY AGynhq diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00005.png index c4768d4fa3e1b0a3daa4967d264c1c4d3d228e4c..ca01281085c22f97d87672ca375c634fc9674dbf 100644 GIT binary patch delta 322 zcmV-I0log<0^I_TB!47HL_t(|obB0JZo?oD08lsTO}PJ&xJy5*Qp~tsq6$d*-d6&) zm@sU1mSqk(=bZECCCiQv7}$DQsXc9?zP)@-DRut6F@Fa?2^c%}Z}mm&@fX@Z znjAcStLW_iY{Jbz-z-7>b5NSAXTWI;ajs0VZ=H(EOuGpWnFsZveCw8aCn&D0rRDaX zKX#r24gjz$AEN^}a^;XyKP}gn#X={Ldk)^vU8%ZQKHTT%0G?4ERxS?enGfJQucPVd z{Sz?r@SobB>^lL|F8#&(&j6mc`?BnKjK{C>k23%O0000000000000000DxEZ1-Xy! UJc{I~Bme*a07*qoM6N<$f<^P34*&oF delta 325 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 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00005.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00006.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$wpiY` 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 delta 395 zcmZ3;yp(x@N_~!}i(^Q|oVPckH#IBpG$h`#v`+l*U8G-|z&BZq(e>k`bN_8Eud+!g z1jW6SIlbx1>p7o2*XF$UeA&F`-oLf0Pu_Xkx1i~Uzh3d4myvVJoB!NwU&ddZd&BRT zN?K&*F1yF;6n{&HY`HRb+bZU~;;gkh=H6fK5-fOcRlV@${NOpo_1l&@Jo9@RXse%p zvRmqG?T-7-mJ;ubw|#bB(K+=AgU^||^h3MkZ|zzBzjgmCUrXortBRbjNbHF=?=uh9 z`*t*B@~+bGts3HIlUH{B3vF7~b1;i#_JWI3PU_g(+&y*5TH&ljvykInhLljxWo5e^ zgLbc4@yaA*)3?8i{L;5sCpQ<@Yff#_aNX~}o+0Kiv0tTLtnNV%YoV<%z6enfmA2{{s&%{S7voS89K! jf69Ud`V2TggQ5JpX6dV)0qehlRCv1jxv;ErN@xNAPe-_@ diff --git a/tests/integration/nano/snapshots/nanosp/test_too_complex_transaction/00005.png b/tests/integration/nano/snapshots/nanosp/test_too_complex_transaction/00005.png index 5b226371abe91f0ab8d0288788b6fd6ded2f177e..c5894b08c2f035d393960ca23b646f4f1d8ea84c 100644 GIT binary patch delta 352 zcmV-m0iXVm1C0ZaB!5&%L_t(|obA|Aa)clZfZ=qfH{t$A%3b=vEDZz|XIc_x|L zLD)nkB9eous%rEs0=)d8{efsBZW}rz-_sGt1gL5$Wy^dn)akZJ>6>jZJtBR4eRq3m zXBtW=ez-0HA<-Y^Gz7HH$4{&_YiBQqu-)75Qp)E4>vQm%fPdI~|5hw~#2>VN3^{lm zo!IPi7UAJW?_NRsbI^vfPr&6I{Iil|-MZvoGvgv0@*LQg@~tj*C1_UOrLFtUKbxn( z0RR9ZU(pkoS2EI9sMB8O#gF}pw$1#(kFHEsw&AAVz0>w5S3A0X_}AZLH#E7EYPx>J zte4vv3iF30AU#9K{#Nz`{9nYA)L_t(|obA|AZo?o9fMKuNO}PJ&e3w0-F~B4wQfE8r|2=I@ z2(Fz52az09RaK*-2=KBW`6r^y=r(moy_Yl21yI#eic35jHQbgd{neka{6xn5+Tr~n z&oY!!>~uo`Lb5-_G$pjgV*{(FwWHf9`r+;GQi}8UwKe!FK!5DLe=8R@;}2RtrW(AC z4mkUqMR>Z=hewcq4cc`5FJK#k{jDTfx3=tKW?qCteh2+S`PPtrC1|cZOWSbIFPo>q z0RR9ZU(o@G95gdBHmS=|=lxIpcj|NO%k!sqCRcXimao3c^N+4}bn)=Fzr}87ekToe zz2z@<+!-44=RXx7L)PBt0R{M{j3+5%_5#>-RmOe)<@wtUl_c30k?-gL&e$~BCdWOf zH;XSoyIcF+P`fjFcTugEJsEZD%9CLM6&e5l04e+ckn9m_##tZA00000NkvXXu0mjf DZqKfn diff --git a/tests/integration/nano/snapshots/nanosp/test_too_complex_transaction/00006.png b/tests/integration/nano/snapshots/nanosp/test_too_complex_transaction/00006.png index ac060763048ca5de77be02f164bd8027df762e75..7ef47f863399b9958ae0850107d58d5baff49048 100644 GIT binary patch delta 683 zcmV;c0#yCl1>gmcBmt+9B_V&(m?%O9gvE1TS2FMSn_iYu*1bK!Ng`~>*1a`{^z+2e zZ;9a`Y7D>9Xxq}D0o6`f3!ORI(u}E%>VdYXPN)HGk)GG7KAE>4da-}>ODXEW)y5V~ zYmrV^d->-QTaD_3&8Xw~7U;ZIJ{fRi?W-J(9J5JQ6MG`wV zc>n+a0Q7j(KlB0JK3h7PtQi)o2&o@L?5zN#o?%7KBnQ8DtFm&OONVA5|OTA>L zcI&sJ1U<-tlGU=7+n|40BsS?sb>1DQFEK7ssK!?)wYO9@wu+@d=Gdn)nv|oSd44!2 z9Y?OAm%dpfV^kZ}o@JrDl;=Cgezf<|V0>4f3{b_=2=tkuK0Jn;tfQvUDcY!7H<+ab z4M{q4qhF)FW#$fw1e>&=v#ao`x+`lH&OMpc@l=ac zppd;E@GS^z1`_}PILJ$F4HgpY;jU^4zPzOh6@EyUA#Ze@OSRFu5kK0G!w;gtO&VEH%IeS*T35e{BRs_?k+;s0V^D*M-?(`W*sM>< z^_Z$kJxB7=C*YtuNGakUq?4Sh>=^`e3sS2$)?%?P&#}Im^6ZDCj%mE4re^HDO1xao zA|qiRvI(38TF_wz%Fr9Z+6Mpt0000000000000000018V000000002U;13^%Bdl=# Rywv~z002ovPDHLkV1oRNMEw8& delta 657 zcmV;C0&e}_1=bJ+D)JGH*ZhW`FCKQq+d4g)Nv? zBAu}E^3Nrf8r2EwQOENw(0;9aX26lLug=PqHF{{Nk;WSufz5*-_CtSa-D)&+%+i;i z2!_q7XTtjUYYE!c2TlX+Y(800cGaCd;7aR*mWR+4xs|gtiCR*#ZY`Fv<3!yplGwS( z0{{R3pvSBJp&N9&wsbU^Gc0BiQa^~;TLDNt!-||q4u0)cX5~1S4$VZ!IhwMPddp7j z*0ZAoJ;;QT<+7IBpjm$;Ht9!o-fgHaF)os*#z!c%w^TMZilsp2*rzf&DMvl?`Qe;& z9Jz+x`eu~P7 zkfbx$`Zd~HdhVb|ut^I#3mbsbb3Ma3{~|WwqKI!y*ZB0mahrc#cV&&jxt&>UPc=ye z3fb!cUxL79&;bB|gS=!>FpFS2yDB6EJw&pLuDsE8F4acsUHoVxzglO~v9xDVoSMLq zLl(8O%Z)G+^IU6mpH41aMAft$XkWO;0vZo#NB}h%(Scyf3HrJGAKPt6N<2f-kW8YQc>2eB5v-Kg1 rz*(RL9VVKF-V4S)ld%FA7eEGo@n9pYG$I4g0DDIL6aN1s{xXM17Ba?h$gm`;IwdsV z1%rwE^8o+=000000000000000fFb-$lazCo=akYkxwQ_fq%S7tT&}^*ZiARFefAD0 zqc7*2QWAs9=dwk$%M3DMJ*wHf01Q{hN#11dWtA9MFlv;i~UhCyl{!+ef zDRU})G~YR5gg(PAjWXS>e7z5|cfd{dbmAQzwg3nIWyU-}wq3c!IiN;P?W?yDGlgEg zcXmtvPgcqfPK(9cvU&maO;@vj9GSuXlpS!;RP{kNJRR0xCCbUV6rpl} z`4!roB!a_tD1X~sC2pGPqm%G?qL{_FdcdljVP0^IQiN%?IoPR@IgL)Ymfq4WQah_> zt}A*UD`v}XN>;6jX^3x~X=eY2m?&!2$o#@tsa(tZ5~u!WZL0>S%5b&sOwkf&b-u+z}3{im4t>8%_MRF%@tY%olp+K=XI7*+?Ed}5WzqNs3*QCmRkoG+xo zJO~8SpAP^40000000000000000NldQFiAP*(oQK2liTVrOZsGT&h;8x9Cj1qrH|eL zb@b(&Q%c3)x?T5}{_=+M!gf|YKu!rtKW}ZA-vKgeOo(k>D1VQool@%gaeHi+)A-By zx~I&p^t<^RBc^c9utT$?yN$2cVe}5T$eK>P!owC|!@tbP17z8io16n$%Bg+yHX>8# z(R=4<>EC3g>;SEICi^RlRMPH%Ws}tlXm7ff_2Wne`%`wnMpxAb+3<8&gP9m7+fszd z0rD&Kbdm^8Uw@%&ca*qkW{ge3`-x%{_tgVtYmiFr-LL^jN8J&R549sw^QP;ja0x{Fkk4E1I^#TvQ9sE%3ZC7IvLy7qu%3R|N2`Y zbq95b9zo`HyD=NlBc5g>#r<20`0^M$YOmyc4yfx^?QKI(Nf=)t%FSdhlL-$!=uRvgF-QuO72p zWycB`;W^JW_b;1b<^0v<#+`oKC8w_Ecw7zgiVv>czQMox(h})uXP>LZoqc-z&OBxJ z2Ajya3M>EIov|wLXK0+z)0<(9cc$6=Fk^Za`u|7uwA`zAxZE;b>Ls5w=Y7rHy()0F zzwbQWE6!yn1P%85YMs3$^QQ6d$(^U(no0GlM@|c@UuE>n_*bHb_s`-l5j#&l^?o&3 z^ZU)P%^kbeZ{M$A?eOlp+3Q{5TaUiv4@#J?Wy{Gg&u;W4_5Cj4QeNxaU2m@)nKJ#% zx_`%m=kBWcVODUBamVH4Ql`CZ_3L&q-pRWWAF!ocq2Gm_d*PyN{`|RyDn(OjK1<*7 zy<@uMZ_NKoMLQ?x>69!!5qM@6$K<%}72Hui`bVn%WbfT9UCtgNJ2Nqb{f5ik>KmKq zXPGIcrPys^)+zt~w#Yj#+IZd!>t_t*{rT;^`(qhy>FVdQ&MBb@0Px1pA^-pY delta 445 zcmV;u0Yd)P1J?tPB!8YsL_t(|obA|cl7k=&fML7Sn{fXld6)gsStiYgvJjMZ-se|K zHN>D&cx)5w`!2thQU*hfL|EL9ZBpgymQuA+%GXriE$q`CH0gq6_qB^xcl9>6$H*r@ z9;^qJIo)qg#F3uj+Ka}ACT+y&ARSceR0Nv9I$tlo`ln%0~z*oblr)%g`GCtep_P7Q)XBHi}Hoad!fv5`S0S04|sI3W|0SWJ}a|5Gp!%^VS(Dk)!0h|Dj#PT|?T>?Th=AM*E%Cy?pquH1*oc3vcUI%>fU1@mG6%pW>R!W|`T zWzD!_u9ySdJ-!t-{#NiYbATN%xlP}`9*+J^-Zcl{W;XZl1>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 diff --git a/tests/integration/nano/snapshots/nanosp/test_too_large/00001.png b/tests/integration/nano/snapshots/nanosp/test_too_large/00001.png index 35abc6eefa0a2bd7e1a19fc8cefec7dd15b10fa0..184e20ac9663c78aa55d75a0c5e954ed57779967 100644 GIT binary patch delta 437 zcmV;m0ZRV!1M>rrNPiNd&^97MUfTrwzRRyErOv8)YFONlEmG-gHY95)rN?C7P3+qq zH0gq6^SOzmxqO@3W8?^s2de`l6~9}jYE*uer$lkKWgxdD3qMA{yzFm(_p;5Jo53iI zD8gLmX5Y4}8nyA%#MwaIWSblT!?RzwNE?<8TC+=b-tq?hP0GF zN4J$5Tt1~fm~x*jHH)b0`gjD{0dl>zS=T+Qt)Bi$3hZ5_C*k4aKvsL&yY56?!%mxS zyES#nQ)XxX-&37>`|xextOIbR*WCg18o25PaJk+`P_%gq6CJRWi(13JKRH{DKm;x1O$B8`Hau~#;64sgR=VZZMn|DUiw zT^8i(bAZi-d;-)jg9}HN_a6(LvD8BqjqceCnzw<&)-DhL00000000000000000000 f0000006g6rrNPjX!p>0&s%xjxq-*@?EN~yD}o*owWW1Cd^nhnWXO6f7#cN6=z z2Ti(QIeZ@C7%t!D_89pD$b;1Zl8WE$Qw=Krl&3^-wq+oXB^y7UfO*;9{_bU)H8+D% z7*T||(apXcR}E_8sfn|Jy2&>A1Psr9;UaBV_Q?KVqIA21Mt{$fOv|X3s_gR}eKBOD z{5iU<+~D#l^}&?qY^ha5UDwAe$UY#~Yg={Qv)cOU@1(%qReBK~{v60|PiNO%sB73| z(;c^_PkGAh?EiaeQfuaTHBKFXE4}Uxpx3~v8^GmyUqR94fozEy3tdI$ZeDp&)3f`P zYL9|+M``}SHh-8~I@-_mHT`M*T&QoOp56ANF$%0)MHkw?#jl{7=|Zf*S7pwV47u`nMW2u)a8r`-RG;a@w-7X;j00000000000000000000 f000000C==tU%+SAmlRvA00000NkvXXu0mjfi#OF) diff --git a/tests/integration/nano/snapshots/nanosp/test_too_large/00002.png b/tests/integration/nano/snapshots/nanosp/test_too_large/00002.png index 0ae3f8bd32070ca58bf1e71f357b768f64a2c8af..551255b148faa8786f2789e7ed57e18fcddafe45 100644 GIT binary patch delta 457 zcmV;)0XF{P1LFgbB!8+&L_t(|obB0Ba)clZfMMI|O}PJ&xJw^)%Fqx3E(xyA|2?&e zp(P3uj{^Vz00000000000EGC83!QVWe@!WsgYC~Vp?WRn>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>zF1DKvB2Tov{BUv6p^i%1|K$#1f7@_k6Vu z7A-r>U4)HJ&kvttsO2tiM`Y{FI^h_q4$@wfYrt@~fVZiW>c5ll14dsxeqSC+ zgw;dccjmdB?tf5|gAE3Q{IDFTi|71`>VDj7qsc|s*nNk3%*ocE&i;Yr=+dQ8VpES) zYDGx2w`*s;TAo@4AKn$}+{)e^~ ys;>{rpS?DdH`-eR000000000000000EcgY@OI)4~jL3`t0000 From 3429279f9b9173db527e8ef17cf43e327e983aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 13:26:15 +0100 Subject: [PATCH 11/24] Parser: move each parser_step action to its own function --- app/src/parser/operation_parser.c | 1403 ++++++++++++++++------------- 1 file changed, 796 insertions(+), 607 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 22a82fa63..a2d2e9e0c 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -47,6 +47,10 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", "READ_SORU_KIND", "READ_BALLOT", "READ_PROTOS"}; + +#define STRING_STEP(step) \ + (const char *)PIC(tz_operation_parser_step_name[step]) + #endif // clang-format off @@ -334,681 +338,866 @@ tz_print_string(tz_parser_state *state) tz_continue; } -tz_parser_result -tz_operation_parser_step(tz_parser_state *state) +#define ASSERT_STEP(state, expected_step) \ + do { \ + tz_operation_parser_step_kind step = (state)->operation.frame->step; \ + if (step != TZ_OPERATION_STEP_##expected_step) { \ + PRINTF("[DEBUG] expected step %s but got step %s)\n", \ + STRING_STEP(TZ_OPERATION_STEP_##expected_step), \ + STRING_STEP(step)); \ + tz_raise(INVALID_STATE); \ + } \ + } while (0) + +/* Update the state in order to read an operation or a micheline expression + * based on a magic byte */ +static tz_parser_result +tz_step_magic(tz_parser_state *state) { - tz_operation_state *op = &state->operation; - tz_parser_regs *regs = &state->regs; + ASSERT_STEP(state, MAGIC); + tz_operation_state *op = &state->operation; + uint8_t b; + tz_must(tz_parser_read(state, &b)); + switch (b) { + case 3: // manager/anonymous operation + STRLCPY(state->field_info.field_name, "Branch"); + op->stack[0].step = TZ_OPERATION_STEP_BRANCH; + push_frame(state, + TZ_OPERATION_STEP_READ_BYTES); // ignore result, + // assume success + op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_BH; + op->frame->step_read_bytes.skip = true; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; + break; + case 5: // micheline expression + op->frame->step = TZ_OPERATION_STEP_READ_MICHELINE; + op->frame->step_read_micheline.inited = 0; + op->frame->step_read_micheline.skip = false; + op->frame->step_read_micheline.name = (char *)PIC(expression_name); + op->frame->stop = 0; + break; + default: + tz_raise(INVALID_TAG); + } + tz_continue; +} - // cannot restart after error - if (TZ_IS_ERR(state->errno)) - tz_reraise; +/* Read a 4-byte size */ +static tz_parser_result +tz_step_size(tz_parser_state *state) +{ + ASSERT_STEP(state, SIZE); + tz_operation_state *op = &state->operation; + uint8_t b; + tz_must(tz_parser_read(state, &b)); + if (op->frame->step_size.size > 255) + tz_raise(TOO_LARGE); // enforce 16-bit restriction + op->frame->step_size.size = op->frame->step_size.size << 8 | b; + op->frame->step_size.size_len--; + if (op->frame->step_size.size_len <= 0) { + op->frame[-1].stop = state->ofs + op->frame->step_size.size; + tz_must(pop_frame(state)); + } + tz_continue; +} - // nothing else to do - if (op->frame == NULL) - tz_stop(DONE); +/* Update the state in order to read an operation based on a tag byte */ +static tz_parser_result +tz_step_tag(tz_parser_state *state) +{ + ASSERT_STEP(state, TAG); + tz_operation_state *op = &state->operation; + const tz_operation_descriptor *d; + uint8_t t; + tz_must(tz_parser_read(state, &t)); +#ifdef HAVE_SWAP + op->last_tag = t; + if (t == TZ_OPERATION_TAG_REVEAL) + op->nb_reveal++; +#endif // HAVE_SWAP + for (d = tz_operation_descriptors; d->tag != TZ_OPERATION_TAG_END; d++) { + if (d->tag == t) { + op->frame->step = TZ_OPERATION_STEP_OPERATION; + op->frame->step_operation.descriptor = d; + op->frame->step_operation.field = 0; + tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); + snprintf(state->field_info.field_name, 30, "Operation (%d)", + op->batch_index); + op->frame->step_print.str = d->name; + tz_continue; + } + } + tz_raise(INVALID_TAG); +} - PRINTF( - "[DEBUG] operation(frame: %d, offset:%d/%d, ilen: %d, olen: %d, " - "step: %s, errno: %s)\n", - (int)(op->frame - op->stack), (int)state->ofs, (int)op->stack[0].stop, - (int)regs->ilen, (int)regs->oofs, - (const char *)PIC(tz_operation_parser_step_name[op->frame->step]), - tz_parser_result_name(state->errno)); +/* Read a micheline expression */ +static tz_parser_result +tz_step_read_micheline(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_MICHELINE); + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; + if (!op->frame->step_read_micheline.inited) { + op->frame->step_read_micheline.inited = 1; + STRLCPY(state->field_info.field_name, + op->frame->step_read_micheline.name); + tz_micheline_parser_init(state); + } + tz_micheline_parser_step(state); + if (state->errno == TZ_BLO_DONE) { + if (op->frame->stop != 0 && state->ofs != op->frame->stop) + tz_raise(TOO_LARGE); + tz_must(pop_frame(state)); + if (regs->oofs > 0) + tz_stop(IM_FULL); + else + tz_continue; + } + tz_reraise; +} - switch (op->frame->step) { - case TZ_OPERATION_STEP_MAGIC: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - switch (b) { - case 3: // manager/anonymous operation - STRLCPY(state->field_info.field_name, "Branch"); - op->stack[0].step = TZ_OPERATION_STEP_BRANCH; - push_frame(state, - TZ_OPERATION_STEP_READ_BYTES); // ignore result, - // assume success - op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_BH; - op->frame->step_read_bytes.skip = true; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; +/* Read a number */ +static tz_parser_result +tz_step_read_num(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_NUM); + tz_operation_state *op = &state->operation; + uint8_t b; + tz_must(tz_parser_read(state, &b)); + tz_must(tz_parse_num_step(&state->buffers.num, + &op->frame->step_read_num.state, b, + op->frame->step_read_num.natural)); + if (op->frame->step_read_num.state.stop) { +#ifdef HAVE_SWAP + uint64_t value; + if (!tz_string_to_mutez(state->buffers.num.decimal, &value)) + tz_raise(INVALID_DATA); + switch (op->frame->step_read_num.kind) { + case TZ_OPERATION_FIELD_AMOUNT: + op->last_amount = value; break; - case 5: // micheline expression - op->frame->step = TZ_OPERATION_STEP_READ_MICHELINE; - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = false; - op->frame->step_read_micheline.name - = (char *)PIC(expression_name); - op->frame->stop = 0; + case TZ_OPERATION_FIELD_FEE: + op->last_fee = value; break; default: - tz_raise(INVALID_TAG); - } - break; - } - case TZ_OPERATION_STEP_SIZE: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - if (op->frame->step_size.size > 255) - tz_raise(TOO_LARGE); // enforce 16-bit restriction - op->frame->step_size.size = op->frame->step_size.size << 8 | b; - op->frame->step_size.size_len--; - if (op->frame->step_size.size_len <= 0) { - op->frame[-1].stop = state->ofs + op->frame->step_size.size; - tz_must(pop_frame(state)); + break; } - break; - } - case TZ_OPERATION_STEP_TAG: { - const tz_operation_descriptor *d; - uint8_t t; - tz_must(tz_parser_read(state, &t)); -#ifdef HAVE_SWAP - op->last_tag = t; - if (t == TZ_OPERATION_TAG_REVEAL) - op->nb_reveal++; #endif // HAVE_SWAP - for (d = tz_operation_descriptors; d->tag != TZ_OPERATION_TAG_END; - d++) { - if (d->tag == t) { - op->frame->step = TZ_OPERATION_STEP_OPERATION; - op->frame->step_operation.descriptor = d; - op->frame->step_operation.field = 0; - tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); - snprintf(state->field_info.field_name, 30, "Operation (%d)", - op->batch_index); - op->frame->step_print.str = d->name; - tz_continue; - } - } - tz_raise(INVALID_TAG); - } - case TZ_OPERATION_STEP_READ_MICHELINE: { - if (!op->frame->step_read_micheline.inited) { - op->frame->step_read_micheline.inited = 1; - STRLCPY(state->field_info.field_name, - op->frame->step_read_micheline.name); - tz_micheline_parser_init(state); - } - tz_micheline_parser_step(state); - if (state->errno == TZ_BLO_DONE) { - if (op->frame->stop != 0 && state->ofs != op->frame->stop) - tz_raise(TOO_LARGE); + if (op->frame->step_read_num.skip) { tz_must(pop_frame(state)); - if (regs->oofs > 0) - tz_stop(IM_FULL); - else - tz_continue; + tz_continue; } - tz_reraise; - } - case TZ_OPERATION_STEP_READ_NUM: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - tz_must(tz_parse_num_step(&state->buffers.num, - &op->frame->step_read_num.state, b, - op->frame->step_read_num.natural)); - if (op->frame->step_read_num.state.stop) { -#ifdef HAVE_SWAP - uint64_t value; - if (!tz_string_to_mutez(state->buffers.num.decimal, &value)) - tz_raise(INVALID_DATA); - switch (op->frame->step_read_num.kind) { - case TZ_OPERATION_FIELD_AMOUNT: - op->last_amount = value; - break; - case TZ_OPERATION_FIELD_FEE: - op->last_fee = value; - break; - default: - break; - } -#endif // HAVE_SWAP - if (op->frame->step_read_num.skip) { - tz_must(pop_frame(state)); - tz_continue; + char *str = state->buffers.num.decimal; + op->frame->step = TZ_OPERATION_STEP_PRINT; + switch (op->frame->step_read_num.kind) { + case TZ_OPERATION_FIELD_INT: + case TZ_OPERATION_FIELD_NAT: + break; + case TZ_OPERATION_FIELD_FEE: + case TZ_OPERATION_FIELD_AMOUNT: { + int len = 0; + while (str[len]) + len++; + if (len == 1 && str[0] == 0) + // just 0 + goto add_currency; + if (len < 7) { + // less than one tez, pad left up to the '0.' + int j; + int pad = 7 - len; + for (j = len; j >= 0; j--) + str[j + pad] = str[j]; + for (j = 0; j < pad; j++) + str[j] = '0'; + len = 7; } - char *str = state->buffers.num.decimal; - op->frame->step = TZ_OPERATION_STEP_PRINT; - switch (op->frame->step_read_num.kind) { - case TZ_OPERATION_FIELD_INT: - case TZ_OPERATION_FIELD_NAT: - break; - case TZ_OPERATION_FIELD_FEE: - case TZ_OPERATION_FIELD_AMOUNT: { - int len = 0; - while (str[len]) - len++; - if (len == 1 && str[0] == 0) - // just 0 - goto add_currency; - if (len < 7) { - // less than one tez, pad left up to the '0.' - int j; - int pad = 7 - len; - for (j = len; j >= 0; j--) - str[j + pad] = str[j]; - for (j = 0; j < pad; j++) - str[j] = '0'; - len = 7; - } - int no_decimals = 1; + int no_decimals = 1; + for (int i = 0; i < 6; i++) + no_decimals &= (str[len - 1 - i] == '0'); + if (no_decimals) { + // integral value, don't include the decimal part (no '.'_ + str[len - 6] = 0; + len -= 6; + } else { + // more than one tez, add the '.' for (int i = 0; i < 6; i++) - no_decimals &= (str[len - 1 - i] == '0'); - if (no_decimals) { - // integral value, don't include the decimal part (no '.'_ - str[len - 6] = 0; - len -= 6; - } else { - // more than one tez, add the '.' - for (int i = 0; i < 6; i++) - str[len - i] = str[len - i - 1]; - str[len - 6] = '.'; - len++; + str[len - i] = str[len - i - 1]; + str[len - 6] = '.'; + len++; + str[len] = 0; + // drop trailing non significant zeroes + while (str[len - 1] == '0') { + len--; str[len] = 0; - // drop trailing non significant zeroes - while (str[len - 1] == '0') { - len--; - str[len] = 0; - } } - add_currency: - str[len] = ' '; - str[len + 1] = 'X'; - str[len + 2] = 'T'; - str[len + 3] = 'Z'; - len += 4; - str[len] = 0; - break; - } - default: - tz_raise(INVALID_STATE); } - op->frame->step_print.str = str; + add_currency: + str[len] = ' '; + str[len + 1] = 'X'; + str[len + 2] = 'T'; + str[len + 3] = 'Z'; + len += 4; + str[len] = 0; + break; } - break; - } - case TZ_OPERATION_STEP_READ_INT32: { - uint8_t b; - uint32_t *value = &op->frame->step_read_int32.value; - if (op->frame->step_read_int32.ofs < 4) { - tz_must(tz_parser_read(state, &b)); - *value = *value << 8 | b; - op->frame->step_read_int32.ofs++; - } else { - snprintf((char *)CAPTURE, sizeof(CAPTURE), "%d", *value); - op->frame->step_read_string.skip - = op->frame->step_read_int32.skip; - tz_must(tz_print_string(state)); + default: + tz_raise(INVALID_STATE); } - break; + op->frame->step_print.str = str; } - case TZ_OPERATION_STEP_READ_BYTES: { - if (op->frame->step_read_bytes.ofs < op->frame->step_read_bytes.len) { - uint8_t *c; - c = &CAPTURE[op->frame->step_read_bytes.ofs]; - tz_must(tz_parser_read(state, c)); - op->frame->step_read_bytes.ofs++; - } else { - if (op->frame->step_read_num.skip) { - tz_must(pop_frame(state)); - tz_continue; - } - switch (op->frame->step_read_bytes.kind) { - case TZ_OPERATION_FIELD_SOURCE: - memcpy(op->source, CAPTURE, 22); - __attribute__((fallthrough)); - case TZ_OPERATION_FIELD_PKH: - if (tz_format_pkh(CAPTURE, 21, (char *)CAPTURE, - sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_PK: - if (tz_format_pk(CAPTURE, op->frame->step_read_bytes.len, - (char *)CAPTURE, sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_SR: - if (tz_format_base58check("sr1", CAPTURE, 20, (char *)CAPTURE, - sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_SRC: - if (tz_format_base58check("src1", CAPTURE, 32, - (char *)CAPTURE, sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_PROTO: - if (tz_format_base58check("proto", CAPTURE, 32, - (char *)CAPTURE, sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_DESTINATION: - memcpy(op->destination, CAPTURE, 22); - if (tz_format_address(CAPTURE, 22, (char *)CAPTURE, + tz_continue; +} + +/* Read an int32 */ +static tz_parser_result +tz_step_read_int32(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_INT32); + tz_operation_state *op = &state->operation; + uint8_t b; + uint32_t *value = &op->frame->step_read_int32.value; + if (op->frame->step_read_int32.ofs < 4) { + tz_must(tz_parser_read(state, &b)); + *value = *value << 8 | b; + op->frame->step_read_int32.ofs++; + } else { + snprintf((char *)CAPTURE, sizeof(CAPTURE), "%d", *value); + op->frame->step_read_string.skip = op->frame->step_read_int32.skip; + tz_must(tz_print_string(state)); + } + tz_continue; +} + +/* Read bytes */ +static tz_parser_result +tz_step_read_bytes(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_BYTES); + tz_operation_state *op = &state->operation; + if (op->frame->step_read_bytes.ofs < op->frame->step_read_bytes.len) { + uint8_t *c; + c = &CAPTURE[op->frame->step_read_bytes.ofs]; + tz_must(tz_parser_read(state, c)); + op->frame->step_read_bytes.ofs++; + } else { + if (op->frame->step_read_num.skip) { + tz_must(pop_frame(state)); + tz_continue; + } + switch (op->frame->step_read_bytes.kind) { + case TZ_OPERATION_FIELD_SOURCE: + memcpy(op->source, CAPTURE, 22); + __attribute__((fallthrough)); + case TZ_OPERATION_FIELD_PKH: + if (tz_format_pkh(CAPTURE, 21, (char *)CAPTURE, sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_PK: + if (tz_format_pk(CAPTURE, op->frame->step_read_bytes.len, + (char *)CAPTURE, sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_SR: + if (tz_format_base58check("sr1", CAPTURE, 20, (char *)CAPTURE, + sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_SRC: + if (tz_format_base58check("src1", CAPTURE, 32, (char *)CAPTURE, sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_OPH: - if (tz_format_oph(CAPTURE, 32, (char *)CAPTURE, + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_PROTO: + if (tz_format_base58check("proto", CAPTURE, 32, (char *)CAPTURE, + sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_DESTINATION: + memcpy(op->destination, CAPTURE, 22); + if (tz_format_address(CAPTURE, 22, (char *)CAPTURE, sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - case TZ_OPERATION_FIELD_BH: - if (tz_format_bh(CAPTURE, 32, (char *)CAPTURE, - sizeof(CAPTURE))) - tz_raise(INVALID_TAG); - break; - default: - tz_raise(INVALID_STATE); - } - op->frame->step = TZ_OPERATION_STEP_PRINT; - op->frame->step_print.str = (char *)CAPTURE; + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_OPH: + if (tz_format_oph(CAPTURE, 32, (char *)CAPTURE, sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + case TZ_OPERATION_FIELD_BH: + if (tz_format_bh(CAPTURE, 32, (char *)CAPTURE, sizeof(CAPTURE))) + tz_raise(INVALID_TAG); + break; + default: + tz_raise(INVALID_STATE); } - break; + op->frame->step = TZ_OPERATION_STEP_PRINT; + op->frame->step_print.str = (char *)CAPTURE; } - case TZ_OPERATION_STEP_BRANCH: { - op->frame->step = TZ_OPERATION_STEP_BATCH; + tz_continue; +} + +/* Update the state in order to read a batch of operations */ +static tz_parser_result +tz_step_branch(tz_parser_state *state) +{ + ASSERT_STEP(state, BRANCH); + tz_operation_state *op = &state->operation; + op->frame->step = TZ_OPERATION_STEP_BATCH; + tz_must(push_frame(state, TZ_OPERATION_STEP_TAG)); + tz_continue; +} + +/* Update the state in order to read the next operation in a batch of + * operations + */ +static tz_parser_result +tz_step_batch(tz_parser_state *state) +{ + ASSERT_STEP(state, BATCH); + tz_operation_state *op = &state->operation; + op->batch_index++; + if (state->ofs == op->frame->stop) { + tz_must(pop_frame(state)); + } else if (state->ofs > op->frame->stop) { + tz_raise(TOO_LARGE); + } else { tz_must(push_frame(state, TZ_OPERATION_STEP_TAG)); - break; } - case TZ_OPERATION_STEP_BATCH: { - op->batch_index++; - if (state->ofs == op->frame->stop) { - tz_must(pop_frame(state)); - } else if (state->ofs > op->frame->stop) { - tz_raise(TOO_LARGE); - } else { - tz_must(push_frame(state, TZ_OPERATION_STEP_TAG)); - } - break; + tz_continue; +} + +/* Read a string */ +static tz_parser_result +tz_step_read_string(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_STRING); + tz_operation_state *op = &state->operation; + if (state->ofs == op->frame->stop) { + CAPTURE[op->frame->step_read_string.ofs] = 0; + tz_must(tz_print_string(state)); + } else { + uint8_t b; + tz_must(tz_parser_read(state, &b)); + CAPTURE[op->frame->step_read_string.ofs] = b; + op->frame->step_read_string.ofs++; } - case TZ_OPERATION_STEP_READ_STRING: { - if (state->ofs == op->frame->stop) { - CAPTURE[op->frame->step_read_string.ofs] = 0; - tz_must(tz_print_string(state)); - } else { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - CAPTURE[op->frame->step_read_string.ofs] = b; - op->frame->step_read_string.ofs++; + tz_continue; +} + +/* Read a binary */ +static tz_parser_result +tz_step_read_binary(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_BINARY); + tz_operation_state *op = &state->operation; + if (state->ofs == op->frame->stop) { + CAPTURE[op->frame->step_read_string.ofs] = 0; + tz_must(tz_print_string(state)); + } else if (op->frame->step_read_string.ofs + 2 + >= TZ_CAPTURE_BUFFER_SIZE) { + CAPTURE[op->frame->step_read_string.ofs] = 0; + op->frame->step_read_string.ofs = 0; + if (!op->frame->step_read_string.skip) { + tz_must(push_frame(state, TZ_OPERATION_STEP_PARTIAL_PRINT)); + op->frame->step_print.str = (char *)CAPTURE; } + } else { + uint8_t b; + tz_must(tz_parser_read(state, &b)); + char *buf = (char *)CAPTURE + op->frame->step_read_string.ofs; + snprintf(buf, 4, "%02x", b); + op->frame->step_read_string.ofs += 2; + } + tz_continue; +} + +/* Read an entrypoint */ +static tz_parser_result +tz_step_read_smart_entrypoint(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_SMART_ENTRYPOINT); + tz_operation_state *op = &state->operation; + uint8_t b; + tz_must(tz_parser_read(state, &b)); + switch (b) { + case 0: + strlcpy((char *)CAPTURE, "default", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); + break; + case 1: + strlcpy((char *)CAPTURE, "root", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); break; + case 2: + strlcpy((char *)CAPTURE, "do", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); + break; + case 3: + strlcpy((char *)CAPTURE, "set_delegate", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); + break; + case 4: + strlcpy((char *)CAPTURE, "remove_delegate", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); + break; + case 5: + strlcpy((char *)CAPTURE, "deposit", sizeof(CAPTURE)); + tz_must(tz_print_string(state)); + break; + case 0xFF: + op->frame->step = TZ_OPERATION_STEP_READ_STRING; + op->frame->step_read_string.ofs = 0; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 1; + break; + default: + tz_raise(INVALID_TAG); } - case TZ_OPERATION_STEP_READ_BINARY: { - if (state->ofs == op->frame->stop) { - CAPTURE[op->frame->step_read_string.ofs] = 0; - tz_must(tz_print_string(state)); - } else if (op->frame->step_read_string.ofs + 2 - >= TZ_CAPTURE_BUFFER_SIZE) { - CAPTURE[op->frame->step_read_string.ofs] = 0; - op->frame->step_read_string.ofs = 0; - if (!op->frame->step_read_string.skip) { - tz_must(push_frame(state, TZ_OPERATION_STEP_PARTIAL_PRINT)); - op->frame->step_print.str = (char *)CAPTURE; + tz_continue; +} + +/* Update the state in order to read fields of an operation */ +static tz_parser_result +tz_step_operation(tz_parser_state *state) +{ + ASSERT_STEP(state, OPERATION); + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; + const tz_operation_descriptor *d = op->frame->step_operation.descriptor; + const tz_operation_field_descriptor *field + = PIC(&d->fields[op->frame->step_operation.field]); + const char *name = PIC(field->name); + + // Remaining content from previous section - display this first. + if (regs->oofs > 0) + tz_stop(IM_FULL); + + if (name == NULL) { + state->field_info.is_field_complex = false; + tz_must(pop_frame(state)); + } else { + uint8_t present = 1; + if (!field->required) + tz_must(tz_parser_read(state, &present)); + if (!field->skip) { + STRLCPY(state->field_info.field_name, name); + state->field_info.is_field_complex = field->complex; + state->field_info.field_index++; + } + op->frame->step_operation.field++; + if (!present) { + if (field->display_none) { + if (field->skip) + tz_raise(INVALID_STATE); + tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); + op->frame->step_print.str = (char *)unset_message; } - } else { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - char *buf = (char *)CAPTURE + op->frame->step_read_string.ofs; - snprintf(buf, 4, "%02x", b); - op->frame->step_read_string.ofs += 2; + tz_continue; } - break; - } - case TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - switch (b) { - case 0: - strlcpy((char *)CAPTURE, "default", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + switch (field->kind) { + case TZ_OPERATION_FIELD_BINARY: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BINARY)); + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; break; - case 1: - strlcpy((char *)CAPTURE, "root", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + } + case TZ_OPERATION_FIELD_SOURCE: + case TZ_OPERATION_FIELD_PKH: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 21; break; - case 2: - strlcpy((char *)CAPTURE, "do", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + } + case TZ_OPERATION_FIELD_PK: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PK)); + op->frame->step_read_bytes.skip = field->skip; break; - case 3: - strlcpy((char *)CAPTURE, "set_delegate", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + } + case TZ_OPERATION_FIELD_SR: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 20; break; - case 4: - strlcpy((char *)CAPTURE, "remove_delegate", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + } + case TZ_OPERATION_FIELD_SRC: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; break; - case 5: - strlcpy((char *)CAPTURE, "deposit", sizeof(CAPTURE)); - tz_must(tz_print_string(state)); + } + case TZ_OPERATION_FIELD_PROTO: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; break; - case 0xFF: - op->frame->step = TZ_OPERATION_STEP_READ_STRING; - op->frame->step_read_string.ofs = 0; + } + case TZ_OPERATION_FIELD_PROTOS: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PROTOS)); + op->frame->step_read_list.name = name; + op->frame->step_read_list.index = 0; + op->frame->step_read_list.skip = field->skip; tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); op->frame->step_size.size = 0; - op->frame->step_size.size_len = 1; + op->frame->step_size.size_len = 4; break; - default: - tz_raise(INVALID_TAG); - } - break; - } - case TZ_OPERATION_STEP_OPERATION: { - const tz_operation_descriptor *d - = op->frame->step_operation.descriptor; - const tz_operation_field_descriptor *field - = PIC(&d->fields[op->frame->step_operation.field]); - const char *name = PIC(field->name); - - // Remaining content from previous section - display this first. - if (regs->oofs > 0) - tz_stop(IM_FULL); - - if (name == NULL) { - state->field_info.is_field_complex = false; - tz_must(pop_frame(state)); - } else { - uint8_t present = 1; - if (!field->required) - tz_must(tz_parser_read(state, &present)); - if (!field->skip) { - STRLCPY(state->field_info.field_name, name); - state->field_info.is_field_complex = field->complex; - state->field_info.field_index++; - } - op->frame->step_operation.field++; - if (!present) { - if (field->display_none) { - if (field->skip) - tz_raise(INVALID_STATE); - tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); - op->frame->step_print.str = (char *)unset_message; - } - tz_continue; - } - switch (field->kind) { - case TZ_OPERATION_FIELD_BINARY: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BINARY)); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SOURCE: - case TZ_OPERATION_FIELD_PKH: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 21; - break; - } - case TZ_OPERATION_FIELD_PK: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PK)); - op->frame->step_read_bytes.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_SR: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 20; - break; - } - case TZ_OPERATION_FIELD_SRC: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; - break; - } - case TZ_OPERATION_FIELD_PROTO: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; - break; - } - case TZ_OPERATION_FIELD_PROTOS: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PROTOS)); - op->frame->step_read_list.name = name; - op->frame->step_read_list.index = 0; - op->frame->step_read_list.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_DESTINATION: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 22; - break; - } - case TZ_OPERATION_FIELD_NAT: - case TZ_OPERATION_FIELD_FEE: - case TZ_OPERATION_FIELD_AMOUNT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); - tz_parse_num_state_init(&state->buffers.num, - &op->frame->step_read_num.state); - op->frame->step_read_num.kind = field->kind; - op->frame->step_read_num.skip = field->skip; - op->frame->step_read_num.natural = 1; - break; - } - case TZ_OPERATION_FIELD_INT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); - tz_parse_num_state_init(&state->buffers.num, - &op->frame->step_read_num.state); - op->frame->step_read_num.kind = field->kind; - op->frame->step_read_num.skip = field->skip; - op->frame->step_read_num.natural = 0; - break; - } - case TZ_OPERATION_FIELD_INT32: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_INT32)); - op->frame->step_read_int32.value = 0; - op->frame->step_read_int32.ofs = 0; - op->frame->step_read_int32.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_PARAMETER: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = field->skip; - op->frame->step_read_micheline.name = name; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - tz_must(push_frame(state, - TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT)); - STRLCPY(state->field_info.field_name, "Entrypoint"); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_EXPR: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = field->skip; - op->frame->step_read_micheline.name = name; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_STRING: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_STRING)); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SORU_MESSAGES: { - tz_must( - push_frame(state, TZ_OPERATION_STEP_READ_SORU_MESSAGES)); - op->frame->step_read_list.name = name; - op->frame->step_read_list.index = 0; - op->frame->step_read_list.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SORU_KIND: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SORU_KIND)); - op->frame->step_read_string.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_BALLOT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BALLOT)); - op->frame->step_read_string.skip = field->skip; - break; - } - default: - tz_raise(INVALID_STATE); - } } - break; - } - case TZ_OPERATION_STEP_READ_PK: { - uint8_t b; - tz_must(tz_parser_peek(state, &b)); - op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_PK; - op->frame->step_read_bytes.ofs = 0; - switch (b) { - case 0: // edpk - op->frame->step_read_bytes.len = 33; + case TZ_OPERATION_FIELD_DESTINATION: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 22; break; - case 1: // sppk - op->frame->step_read_bytes.len = 34; + } + case TZ_OPERATION_FIELD_NAT: + case TZ_OPERATION_FIELD_FEE: + case TZ_OPERATION_FIELD_AMOUNT: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); + tz_parse_num_state_init(&state->buffers.num, + &op->frame->step_read_num.state); + op->frame->step_read_num.kind = field->kind; + op->frame->step_read_num.skip = field->skip; + op->frame->step_read_num.natural = 1; break; - case 2: // p2pk - op->frame->step_read_bytes.len = 34; + } + case TZ_OPERATION_FIELD_INT: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); + tz_parse_num_state_init(&state->buffers.num, + &op->frame->step_read_num.state); + op->frame->step_read_num.kind = field->kind; + op->frame->step_read_num.skip = field->skip; + op->frame->step_read_num.natural = 0; break; - case 3: // BLpk - op->frame->step_read_bytes.len = 49; + } + case TZ_OPERATION_FIELD_INT32: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_INT32)); + op->frame->step_read_int32.value = 0; + op->frame->step_read_int32.ofs = 0; + op->frame->step_read_int32.skip = field->skip; break; - default: - tz_raise(INVALID_TAG); } - op->frame->step = TZ_OPERATION_STEP_READ_BYTES; - break; - } - case TZ_OPERATION_STEP_READ_SORU_MESSAGES: { - uint8_t skip = op->frame->step_read_list.skip; - const char *name = op->frame->step_read_list.name; - uint16_t index = op->frame->step_read_list.index; - - // Remaining content from previous message - display this first. - if (regs->oofs > 0) - tz_stop(IM_FULL); - - if (op->frame->stop == state->ofs) { - tz_must(pop_frame(state)); - } else { - op->frame->step_read_list.index++; - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BINARY)); - snprintf(state->field_info.field_name, TZ_FIELD_NAME_SIZE, - "%s (%d)", name, index); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = skip; + case TZ_OPERATION_FIELD_PARAMETER: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); + op->frame->step_read_micheline.inited = 0; + op->frame->step_read_micheline.skip = field->skip; + op->frame->step_read_micheline.name = name; tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); op->frame->step_size.size = 0; op->frame->step_size.size_len = 4; + tz_must( + push_frame(state, TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT)); + STRLCPY(state->field_info.field_name, "Entrypoint"); + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + break; } - break; - } - case TZ_OPERATION_STEP_READ_SORU_KIND: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - switch (b) { - case 0: - strlcpy((char *)CAPTURE, "arith", sizeof(CAPTURE)); + case TZ_OPERATION_FIELD_EXPR: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); + op->frame->step_read_micheline.inited = 0; + op->frame->step_read_micheline.skip = field->skip; + op->frame->step_read_micheline.name = name; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; break; - case 1: - strlcpy((char *)CAPTURE, "wasm_2_0_0", sizeof(CAPTURE)); + } + case TZ_OPERATION_FIELD_STRING: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_STRING)); + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; break; - default: - tz_raise(INVALID_TAG); } - tz_must(tz_print_string(state)); - break; - } - case TZ_OPERATION_STEP_READ_BALLOT: { - uint8_t b; - tz_must(tz_parser_read(state, &b)); - switch (b) { - case 0: - strlcpy((char *)CAPTURE, "yay", sizeof(CAPTURE)); + case TZ_OPERATION_FIELD_SORU_MESSAGES: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SORU_MESSAGES)); + op->frame->step_read_list.name = name; + op->frame->step_read_list.index = 0; + op->frame->step_read_list.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; break; - case 1: - strlcpy((char *)CAPTURE, "nay", sizeof(CAPTURE)); + } + case TZ_OPERATION_FIELD_SORU_KIND: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SORU_KIND)); + op->frame->step_read_string.skip = field->skip; break; - case 2: - strlcpy((char *)CAPTURE, "pass", sizeof(CAPTURE)); + } + case TZ_OPERATION_FIELD_BALLOT: { + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BALLOT)); + op->frame->step_read_string.skip = field->skip; break; + } default: - tz_raise(INVALID_TAG); + tz_raise(INVALID_STATE); } - tz_must(tz_print_string(state)); + } + tz_continue; +} + +/* Read a public key */ +static tz_parser_result +tz_step_read_pk(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_PK); + tz_operation_state *op = &state->operation; + uint8_t b; + tz_must(tz_parser_peek(state, &b)); + op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_PK; + op->frame->step_read_bytes.ofs = 0; + switch (b) { + case 0: // edpk + op->frame->step_read_bytes.len = 33; + break; + case 1: // sppk + op->frame->step_read_bytes.len = 34; + break; + case 2: // p2pk + op->frame->step_read_bytes.len = 34; break; + case 3: // BLpk + op->frame->step_read_bytes.len = 49; + break; + default: + tz_raise(INVALID_TAG); } - case TZ_OPERATION_STEP_READ_PROTOS: { - uint8_t skip = op->frame->step_read_list.skip; - const char *name = op->frame->step_read_list.name; - uint16_t index = op->frame->step_read_list.index; + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + tz_continue; +} - // Remaining content from previous proto - display this first. - if (regs->oofs > 0) - tz_stop(IM_FULL); +/* Read soru messages */ +static tz_parser_result +tz_step_read_soru_messages(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_SORU_MESSAGES); + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; + uint8_t skip = op->frame->step_read_list.skip; + const char *name = op->frame->step_read_list.name; + uint16_t index = op->frame->step_read_list.index; - if (op->frame->stop == state->ofs) { - tz_must(pop_frame(state)); - } else { - op->frame->step_read_list.index++; - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - snprintf(state->field_info.field_name, 30, "%s (%d)", name, - index); - op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_PROTO; - op->frame->step_read_bytes.skip = skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; - } - break; + // Remaining content from previous message - display this first. + if (regs->oofs > 0) + tz_stop(IM_FULL); + + if (op->frame->stop == state->ofs) { + tz_must(pop_frame(state)); + } else { + op->frame->step_read_list.index++; + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BINARY)); + snprintf(state->field_info.field_name, TZ_FIELD_NAME_SIZE, "%s (%d)", + name, index); + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; } - case TZ_OPERATION_STEP_PRINT: { - const char *str = PIC(op->frame->step_print.str); - if (*str) { - tz_must(tz_parser_put(state, *str)); - op->frame->step_print.str++; - } else { - tz_must(pop_frame(state)); - tz_stop(IM_FULL); - } + tz_continue; +} + +/* Read a soru kind */ +static tz_parser_result +tz_step_read_soru_kind(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_SORU_KIND); + uint8_t b; + tz_must(tz_parser_read(state, &b)); + switch (b) { + case 0: + strlcpy((char *)CAPTURE, "arith", sizeof(CAPTURE)); + break; + case 1: + strlcpy((char *)CAPTURE, "wasm_2_0_0", sizeof(CAPTURE)); break; + default: + tz_raise(INVALID_TAG); } - case TZ_OPERATION_STEP_PARTIAL_PRINT: { - const char *str = PIC(op->frame->step_print.str); - if (*str) { - tz_must(tz_parser_put(state, *str)); - op->frame->step_print.str++; - } else { - tz_must(pop_frame(state)); - } + tz_must(tz_print_string(state)); + tz_continue; +} + +/* Read a ballot */ +static tz_parser_result +tz_step_read_ballot(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_BALLOT); + uint8_t b; + tz_must(tz_parser_read(state, &b)); + switch (b) { + case 0: + strlcpy((char *)CAPTURE, "yay", sizeof(CAPTURE)); + break; + case 1: + strlcpy((char *)CAPTURE, "nay", sizeof(CAPTURE)); break; + case 2: + strlcpy((char *)CAPTURE, "pass", sizeof(CAPTURE)); + break; + default: + tz_raise(INVALID_TAG); } + tz_must(tz_print_string(state)); + tz_continue; +} + +/* Read protocols */ +static tz_parser_result +tz_step_read_protos(tz_parser_state *state) +{ + ASSERT_STEP(state, READ_PROTOS); + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; + uint8_t skip = op->frame->step_read_list.skip; + const char *name = op->frame->step_read_list.name; + uint16_t index = op->frame->step_read_list.index; + + // Remaining content from previous proto - display this first. + if (regs->oofs > 0) + tz_stop(IM_FULL); + + if (op->frame->stop == state->ofs) { + tz_must(pop_frame(state)); + } else { + op->frame->step_read_list.index++; + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); + snprintf(state->field_info.field_name, 30, "%s (%d)", name, index); + op->frame->step_read_bytes.kind = TZ_OPERATION_FIELD_PROTO; + op->frame->step_read_bytes.skip = skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; + } + tz_continue; +} + +/* Print a string */ +static tz_parser_result +tz_step_print(tz_parser_state *state) +{ + ASSERT_STEP(state, PRINT); + tz_operation_state *op = &state->operation; + const char *str = PIC(op->frame->step_print.str); + if (*str) { + tz_must(tz_parser_put(state, *str)); + op->frame->step_print.str++; + } else { + tz_must(pop_frame(state)); + tz_stop(IM_FULL); + } + tz_continue; +} + +/* Start printing a string */ +static tz_parser_result +tz_step_partial_print(tz_parser_state *state) +{ + ASSERT_STEP(state, PARTIAL_PRINT); + tz_operation_state *op = &state->operation; + const char *str = PIC(op->frame->step_print.str); + if (*str) { + tz_must(tz_parser_put(state, *str)); + op->frame->step_print.str++; + } else { + tz_must(pop_frame(state)); + } + tz_continue; +} + +tz_parser_result +tz_operation_parser_step(tz_parser_state *state) +{ + tz_operation_state *op = &state->operation; + + // cannot restart after error + if (TZ_IS_ERR(state->errno)) + tz_reraise; + + // nothing else to do + if (op->frame == NULL) + tz_stop(DONE); + + PRINTF( + "[DEBUG] operation(frame: %d, offset:%d/%d, ilen: %d, olen: %d, " + "step: %s, errno: %s)\n", + (int)(op->frame - op->stack), (int)state->ofs, (int)op->stack[0].stop, + (int)state->regs.ilen, (int)state->regs.oofs, + STRING_STEP(op->frame->step), tz_parser_result_name(state->errno)); + + switch (op->frame->step) { + case TZ_OPERATION_STEP_MAGIC: + tz_must(tz_step_magic(state)); + break; + case TZ_OPERATION_STEP_SIZE: + tz_must(tz_step_size(state)); + break; + case TZ_OPERATION_STEP_TAG: + tz_must(tz_step_tag(state)); + break; + case TZ_OPERATION_STEP_READ_MICHELINE: + tz_must(tz_step_read_micheline(state)); + break; + case TZ_OPERATION_STEP_READ_NUM: + tz_must(tz_step_read_num(state)); + break; + case TZ_OPERATION_STEP_READ_INT32: + tz_must(tz_step_read_int32(state)); + break; + case TZ_OPERATION_STEP_READ_BYTES: + tz_must(tz_step_read_bytes(state)); + break; + case TZ_OPERATION_STEP_BRANCH: + tz_must(tz_step_branch(state)); + break; + case TZ_OPERATION_STEP_BATCH: + tz_must(tz_step_batch(state)); + break; + case TZ_OPERATION_STEP_READ_STRING: + tz_must(tz_step_read_string(state)); + break; + case TZ_OPERATION_STEP_READ_BINARY: + tz_must(tz_step_read_binary(state)); + break; + case TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT: + tz_must(tz_step_read_smart_entrypoint(state)); + break; + case TZ_OPERATION_STEP_OPERATION: + tz_must(tz_step_operation(state)); + break; + case TZ_OPERATION_STEP_READ_PK: + tz_must(tz_step_read_pk(state)); + break; + case TZ_OPERATION_STEP_READ_SORU_MESSAGES: + tz_must(tz_step_read_soru_messages(state)); + break; + case TZ_OPERATION_STEP_READ_SORU_KIND: + tz_must(tz_step_read_soru_kind(state)); + break; + case TZ_OPERATION_STEP_READ_BALLOT: + tz_must(tz_step_read_ballot(state)); + break; + case TZ_OPERATION_STEP_READ_PROTOS: + tz_must(tz_step_read_protos(state)); + break; + case TZ_OPERATION_STEP_PRINT: + tz_must(tz_step_print(state)); + break; + case TZ_OPERATION_STEP_PARTIAL_PRINT: + tz_must(tz_step_partial_print(state)); + break; default: tz_raise(INVALID_STATE); } From 8bad87742accf7d64300a018682e2a7699415eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 13:34:57 +0100 Subject: [PATCH 12/24] Parser: merge tz_step_print and tz_step_partial_print --- app/src/parser/operation_parser.c | 37 +++++++++++++------------------ 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index a2d2e9e0c..c568f8cab 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -1084,28 +1084,20 @@ tz_step_read_protos(tz_parser_state *state) tz_continue; } -/* Print a string */ +/* Print a string + * if partial is true, then the string is not yet complete + */ static tz_parser_result -tz_step_print(tz_parser_state *state) +tz_step_print(tz_parser_state *state, bool partial) { - ASSERT_STEP(state, PRINT); - tz_operation_state *op = &state->operation; - const char *str = PIC(op->frame->step_print.str); - if (*str) { - tz_must(tz_parser_put(state, *str)); - op->frame->step_print.str++; - } else { - tz_must(pop_frame(state)); - tz_stop(IM_FULL); + if (state->operation.frame->step != TZ_OPERATION_STEP_PRINT + && state->operation.frame->step != TZ_OPERATION_STEP_PARTIAL_PRINT) { + PRINTF("[DEBUG] expected step %s or step %s but got step %s)\n", + STRING_STEP(TZ_OPERATION_STEP_PRINT), + STRING_STEP(TZ_OPERATION_STEP_PARTIAL_PRINT), + STRING_STEP(state->operation.frame->step)); + tz_raise(INVALID_STATE); } - tz_continue; -} - -/* Start printing a string */ -static tz_parser_result -tz_step_partial_print(tz_parser_state *state) -{ - ASSERT_STEP(state, PARTIAL_PRINT); tz_operation_state *op = &state->operation; const char *str = PIC(op->frame->step_print.str); if (*str) { @@ -1113,6 +1105,8 @@ tz_step_partial_print(tz_parser_state *state) op->frame->step_print.str++; } else { tz_must(pop_frame(state)); + if (!partial) + tz_stop(IM_FULL); } tz_continue; } @@ -1193,10 +1187,9 @@ tz_operation_parser_step(tz_parser_state *state) tz_must(tz_step_read_protos(state)); break; case TZ_OPERATION_STEP_PRINT: - tz_must(tz_step_print(state)); - break; case TZ_OPERATION_STEP_PARTIAL_PRINT: - tz_must(tz_step_partial_print(state)); + tz_must(tz_step_print( + state, op->frame->step == TZ_OPERATION_STEP_PARTIAL_PRINT)); break; default: tz_raise(INVALID_STATE); From 4aa2de534f580ee60bfe1dd328efef1d3c6063d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 17:22:01 +0100 Subject: [PATCH 13/24] Parser: use kind field instead of name to end tz_step_operation --- app/src/parser/operation_parser.c | 2 +- app/src/parser/operation_state.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index c568f8cab..961dce045 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -773,7 +773,7 @@ tz_step_operation(tz_parser_state *state) if (regs->oofs > 0) tz_stop(IM_FULL); - if (name == NULL) { + if (field->kind == TZ_OPERATION_FIELD_END) { state->field_info.is_field_complex = false; tz_must(pop_frame(state)); } else { diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index 4ae37021c..9e935161a 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -62,7 +62,7 @@ typedef enum { } tz_operation_parser_step_kind; typedef enum { - TZ_OPERATION_FIELD_SKIP, // not for use in field descriptors + TZ_OPERATION_FIELD_END = 0, // not for use in field descriptors TZ_OPERATION_FIELD_BINARY, TZ_OPERATION_FIELD_INT, TZ_OPERATION_FIELD_NAT, From 505da5bb134c1ae8f33aa0646905aa07cf694a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Wed, 10 Jan 2024 08:42:39 +0100 Subject: [PATCH 14/24] Parser: change step_operation data - tz_operation_descriptor to tz_operation_field_descriptor - field to field_index --- app/src/parser/operation_parser.c | 16 ++++++++-------- app/src/parser/operation_state.h | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 961dce045..62b7620c8 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -418,9 +418,9 @@ tz_step_tag(tz_parser_state *state) #endif // HAVE_SWAP for (d = tz_operation_descriptors; d->tag != TZ_OPERATION_TAG_END; d++) { if (d->tag == t) { - op->frame->step = TZ_OPERATION_STEP_OPERATION; - op->frame->step_operation.descriptor = d; - op->frame->step_operation.field = 0; + op->frame->step = TZ_OPERATION_STEP_OPERATION; + op->frame->step_operation.fields = d->fields; + op->frame->step_operation.field_index = 0; tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); snprintf(state->field_info.field_name, 30, "Operation (%d)", op->batch_index); @@ -762,11 +762,11 @@ static tz_parser_result tz_step_operation(tz_parser_state *state) { ASSERT_STEP(state, OPERATION); - tz_operation_state *op = &state->operation; - tz_parser_regs *regs = &state->regs; - const tz_operation_descriptor *d = op->frame->step_operation.descriptor; + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; const tz_operation_field_descriptor *field - = PIC(&d->fields[op->frame->step_operation.field]); + = PIC(&op->frame->step_operation + .fields[op->frame->step_operation.field_index]); const char *name = PIC(field->name); // Remaining content from previous section - display this first. @@ -785,7 +785,7 @@ tz_step_operation(tz_parser_state *state) state->field_info.is_field_complex = field->complex; state->field_info.field_index++; } - op->frame->step_operation.field++; + op->frame->step_operation.field_index++; if (!present) { if (field->display_none) { if (field->skip) diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index 9e935161a..a0e08c2e6 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -108,8 +108,8 @@ typedef struct { uint16_t size; } step_size; struct { - const tz_operation_descriptor *descriptor; - uint8_t field; + const tz_operation_field_descriptor *fields; + uint8_t field_index; } step_operation; struct { const char *str; From 4d773c4cb7d20cc9da66955ba32c7a690b89c068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Wed, 10 Jan 2024 09:45:52 +0100 Subject: [PATCH 15/24] Parser: extract a step_field from the step_operation --- app/src/parser/operation_parser.c | 360 ++++++++++++++++-------------- app/src/parser/operation_state.h | 4 + 2 files changed, 197 insertions(+), 167 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 62b7620c8..35cb0ad4b 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -33,6 +33,7 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", "BATCH", "TAG", "SIZE", + "FIELD", "OPERATION", "PRINT", "PARTIAL_PRINT", @@ -767,184 +768,206 @@ tz_step_operation(tz_parser_state *state) const tz_operation_field_descriptor *field = PIC(&op->frame->step_operation .fields[op->frame->step_operation.field_index]); - const char *name = PIC(field->name); // Remaining content from previous section - display this first. if (regs->oofs > 0) tz_stop(IM_FULL); if (field->kind == TZ_OPERATION_FIELD_END) { + // is_field_complex is reset after reaching the last field state->field_info.is_field_complex = false; tz_must(pop_frame(state)); } else { - uint8_t present = 1; - if (!field->required) - tz_must(tz_parser_read(state, &present)); - if (!field->skip) { - STRLCPY(state->field_info.field_name, name); - state->field_info.is_field_complex = field->complex; - state->field_info.field_index++; - } op->frame->step_operation.field_index++; - if (!present) { - if (field->display_none) { - if (field->skip) - tz_raise(INVALID_STATE); - tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); - op->frame->step_print.str = (char *)unset_message; - } - tz_continue; - } - switch (field->kind) { - case TZ_OPERATION_FIELD_BINARY: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BINARY)); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SOURCE: - case TZ_OPERATION_FIELD_PKH: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 21; - break; - } - case TZ_OPERATION_FIELD_PK: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PK)); - op->frame->step_read_bytes.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_SR: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 20; - break; - } - case TZ_OPERATION_FIELD_SRC: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; - break; - } - case TZ_OPERATION_FIELD_PROTO: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 32; - break; - } - case TZ_OPERATION_FIELD_PROTOS: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_PROTOS)); - op->frame->step_read_list.name = name; - op->frame->step_read_list.index = 0; - op->frame->step_read_list.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_DESTINATION: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BYTES)); - op->frame->step_read_bytes.kind = field->kind; - op->frame->step_read_bytes.skip = field->skip; - op->frame->step_read_bytes.ofs = 0; - op->frame->step_read_bytes.len = 22; - break; - } - case TZ_OPERATION_FIELD_NAT: - case TZ_OPERATION_FIELD_FEE: - case TZ_OPERATION_FIELD_AMOUNT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); - tz_parse_num_state_init(&state->buffers.num, - &op->frame->step_read_num.state); - op->frame->step_read_num.kind = field->kind; - op->frame->step_read_num.skip = field->skip; - op->frame->step_read_num.natural = 1; - break; - } - case TZ_OPERATION_FIELD_INT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_NUM)); - tz_parse_num_state_init(&state->buffers.num, - &op->frame->step_read_num.state); - op->frame->step_read_num.kind = field->kind; - op->frame->step_read_num.skip = field->skip; - op->frame->step_read_num.natural = 0; - break; - } - case TZ_OPERATION_FIELD_INT32: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_INT32)); - op->frame->step_read_int32.value = 0; - op->frame->step_read_int32.ofs = 0; - op->frame->step_read_int32.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_PARAMETER: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = field->skip; - op->frame->step_read_micheline.name = name; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - tz_must( - push_frame(state, TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT)); - STRLCPY(state->field_info.field_name, "Entrypoint"); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_EXPR: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_MICHELINE)); - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = field->skip; - op->frame->step_read_micheline.name = name; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_STRING: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_STRING)); - op->frame->step_read_string.ofs = 0; - op->frame->step_read_string.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SORU_MESSAGES: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SORU_MESSAGES)); - op->frame->step_read_list.name = name; - op->frame->step_read_list.index = 0; - op->frame->step_read_list.skip = field->skip; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - break; - } - case TZ_OPERATION_FIELD_SORU_KIND: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SORU_KIND)); - op->frame->step_read_string.skip = field->skip; - break; - } - case TZ_OPERATION_FIELD_BALLOT: { - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_BALLOT)); - op->frame->step_read_string.skip = field->skip; - break; - } - default: - tz_raise(INVALID_STATE); + tz_must(push_frame(state, TZ_OPERATION_STEP_FIELD)); + op->frame->step_field.field = field; + } + tz_continue; +} + +/* Update the state in order to read a field of an operation based on its kind + * If the field is not ignored, update the field_info with the field + * information + */ +static tz_parser_result +tz_step_field(tz_parser_state *state) +{ + ASSERT_STEP(state, FIELD); + tz_operation_state *op = &state->operation; + const tz_operation_field_descriptor *field = op->frame->step_field.field; + const char *name = PIC(field->name); + + uint8_t present = 1; + if (!field->required) + tz_must(tz_parser_read(state, &present)); + + // is_field_complex is reset after reaching TZ_OPERATION_FIELD_END + if (!field->skip) { + STRLCPY(state->field_info.field_name, name); + state->field_info.is_field_complex = field->complex; + state->field_info.field_index++; + } + + if (!present) { + if (field->display_none) { + if (field->skip) + tz_raise(INVALID_STATE); + op->frame->step = TZ_OPERATION_STEP_PRINT; + op->frame->step_print.str = (char *)unset_message; + } else { + tz_must(pop_frame(state)); } + tz_continue; + } + + switch (field->kind) { + case TZ_OPERATION_FIELD_BINARY: { + op->frame->step = TZ_OPERATION_STEP_READ_BINARY; + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + break; + } + case TZ_OPERATION_FIELD_SOURCE: + case TZ_OPERATION_FIELD_PKH: { + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 21; + break; + } + case TZ_OPERATION_FIELD_PK: { + op->frame->step = TZ_OPERATION_STEP_READ_PK; + op->frame->step_read_bytes.skip = field->skip; + break; + } + case TZ_OPERATION_FIELD_SR: { + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 20; + break; + } + case TZ_OPERATION_FIELD_SRC: { + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; + break; + } + case TZ_OPERATION_FIELD_PROTO: { + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 32; + break; + } + case TZ_OPERATION_FIELD_PROTOS: { + op->frame->step = TZ_OPERATION_STEP_READ_PROTOS; + op->frame->step_read_list.name = name; + op->frame->step_read_list.index = 0; + op->frame->step_read_list.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + break; + } + case TZ_OPERATION_FIELD_DESTINATION: { + op->frame->step = TZ_OPERATION_STEP_READ_BYTES; + op->frame->step_read_bytes.kind = field->kind; + op->frame->step_read_bytes.skip = field->skip; + op->frame->step_read_bytes.ofs = 0; + op->frame->step_read_bytes.len = 22; + break; + } + case TZ_OPERATION_FIELD_NAT: + case TZ_OPERATION_FIELD_FEE: + case TZ_OPERATION_FIELD_AMOUNT: { + op->frame->step = TZ_OPERATION_STEP_READ_NUM; + tz_parse_num_state_init(&state->buffers.num, + &op->frame->step_read_num.state); + op->frame->step_read_num.kind = field->kind; + op->frame->step_read_num.skip = field->skip; + op->frame->step_read_num.natural = 1; + break; + } + case TZ_OPERATION_FIELD_INT: { + op->frame->step = TZ_OPERATION_STEP_READ_NUM; + tz_parse_num_state_init(&state->buffers.num, + &op->frame->step_read_num.state); + op->frame->step_read_num.kind = field->kind; + op->frame->step_read_num.skip = field->skip; + op->frame->step_read_num.natural = 0; + break; + } + case TZ_OPERATION_FIELD_INT32: { + op->frame->step = TZ_OPERATION_STEP_READ_INT32; + op->frame->step_read_int32.value = 0; + op->frame->step_read_int32.ofs = 0; + op->frame->step_read_int32.skip = field->skip; + break; + } + case TZ_OPERATION_FIELD_PARAMETER: { + op->frame->step = TZ_OPERATION_STEP_READ_MICHELINE; + op->frame->step_read_micheline.inited = 0; + op->frame->step_read_micheline.skip = field->skip; + op->frame->step_read_micheline.name = name; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT)); + STRLCPY(state->field_info.field_name, "Entrypoint"); + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + break; + } + case TZ_OPERATION_FIELD_EXPR: { + op->frame->step = TZ_OPERATION_STEP_READ_MICHELINE; + op->frame->step_read_micheline.inited = 0; + op->frame->step_read_micheline.skip = field->skip; + op->frame->step_read_micheline.name = name; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + break; + } + case TZ_OPERATION_FIELD_STRING: { + op->frame->step = TZ_OPERATION_STEP_READ_STRING; + op->frame->step_read_string.ofs = 0; + op->frame->step_read_string.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + break; + } + case TZ_OPERATION_FIELD_SORU_MESSAGES: { + op->frame->step = TZ_OPERATION_STEP_READ_SORU_MESSAGES; + op->frame->step_read_list.name = name; + op->frame->step_read_list.index = 0; + op->frame->step_read_list.skip = field->skip; + tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); + op->frame->step_size.size = 0; + op->frame->step_size.size_len = 4; + break; + } + case TZ_OPERATION_FIELD_SORU_KIND: { + op->frame->step = TZ_OPERATION_STEP_READ_SORU_KIND; + op->frame->step_read_string.skip = field->skip; + break; + } + case TZ_OPERATION_FIELD_BALLOT: { + op->frame->step = TZ_OPERATION_STEP_READ_BALLOT; + op->frame->step_read_string.skip = field->skip; + break; + } + default: + tz_raise(INVALID_STATE); } tz_continue; } @@ -1168,6 +1191,9 @@ tz_operation_parser_step(tz_parser_state *state) case TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT: tz_must(tz_step_read_smart_entrypoint(state)); break; + case TZ_OPERATION_STEP_FIELD: + tz_must(tz_step_field(state)); + break; case TZ_OPERATION_STEP_OPERATION: tz_must(tz_step_operation(state)); break; diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index a0e08c2e6..ff0bf59a7 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -45,6 +45,7 @@ typedef enum { TZ_OPERATION_STEP_BATCH, TZ_OPERATION_STEP_TAG, TZ_OPERATION_STEP_SIZE, + TZ_OPERATION_STEP_FIELD, TZ_OPERATION_STEP_OPERATION, TZ_OPERATION_STEP_PRINT, TZ_OPERATION_STEP_PARTIAL_PRINT, @@ -107,6 +108,9 @@ typedef struct { uint8_t size_len; uint16_t size; } step_size; + struct { + const tz_operation_field_descriptor *field; + } step_field; struct { const tz_operation_field_descriptor *fields; uint8_t field_index; From 7070f00f505d58f3126c5d71ee3ffc72bd205986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 13:52:41 +0100 Subject: [PATCH 16/24] Parser: use macros to create operation_field_descriptor --- app/src/parser/operation_parser.c | 318 ++++++++++++++---------------- 1 file changed, 148 insertions(+), 170 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 35cb0ad4b..e098425bf 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -55,176 +55,154 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", #endif // clang-format off -const tz_operation_field_descriptor proposals_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_PKH, true, false, false, false}, - {"Period", TZ_OPERATION_FIELD_INT32, true, false, false, false}, - {"Proposal", TZ_OPERATION_FIELD_PROTOS, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor ballot_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_PKH, true, false, false, false}, - {"Period", TZ_OPERATION_FIELD_INT32, true, false, false, false}, - {"Proposal", TZ_OPERATION_FIELD_PROTO, true, false, false, false}, - {"Ballot", TZ_OPERATION_FIELD_BALLOT, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor failing_noop_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Message", TZ_OPERATION_FIELD_BINARY, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor transaction_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Amount", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false}, - {"Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false}, - {"Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, false, true }, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor reveal_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Public key", TZ_OPERATION_FIELD_PK, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor delegation_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor reg_glb_cst_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Value", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor set_deposit_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, false, true, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor inc_paid_stg_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Amount", TZ_OPERATION_FIELD_INT, true, false, false, false}, - {"Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor update_ck_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Public key", TZ_OPERATION_FIELD_PK, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor origination_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Balance", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false}, - {"Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false}, - {"Code", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {"Storage", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor transfer_tck_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Contents", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {"Type", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {"Ticketer", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false}, - {"Amount", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false}, - {"Entrypoint", TZ_OPERATION_FIELD_STRING, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor soru_add_msg_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Message", TZ_OPERATION_FIELD_SORU_MESSAGES, true, false, false, false}, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor soru_exe_msg_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Rollup", TZ_OPERATION_FIELD_SR, true, false, false, false}, - {"Commitment", TZ_OPERATION_FIELD_SRC, true, false, false, false}, - {"Output proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true }, - {NULL, 0, 0, 0, 0, 0 } -}; - -const tz_operation_field_descriptor soru_origin_fields[] = { - // Name, Kind, Req, Skip, None, Complex - {"Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false}, - {"Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false}, - {"Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false}, - {"Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false}, - {"Kind", TZ_OPERATION_FIELD_SORU_KIND, true, false, false, false}, - {"Kernel", TZ_OPERATION_FIELD_BINARY, true, false, false, true }, - {"Proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true }, - {"Parameters", TZ_OPERATION_FIELD_EXPR, true, false, false, true }, - {NULL, 0, 0, 0, 0, 0 } -}; +#define TZ_OPERATION_FIELD(name, kind, required, skip, display_none, complex) \ + {name, kind, required, skip, display_none, complex} + +#define TZ_OPERATION_LAST_FIELD {NULL, 0, 0, 0, 0, 0} + +#define TZ_OPERATION_FIELDS(name, ...) \ + const tz_operation_field_descriptor name[] = { __VA_ARGS__, TZ_OPERATION_LAST_FIELD} + +TZ_OPERATION_FIELDS(proposals_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, true, false, false, false), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, true, false, false, false), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTOS, true, false, false, false) +); + +TZ_OPERATION_FIELDS(ballot_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, true, false, false, false), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, true, false, false, false), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTO, true, false, false, false), + TZ_OPERATION_FIELD("Ballot", TZ_OPERATION_FIELD_BALLOT, true, false, false, false) +); + +TZ_OPERATION_FIELDS(failing_noop_fields, + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY, true, false, false, false) +); + +TZ_OPERATION_FIELDS(transaction_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), + TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, false, true ) +); + +TZ_OPERATION_FIELDS(reveal_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) +); + +TZ_OPERATION_FIELDS(delegation_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false) +); + +TZ_OPERATION_FIELDS(reg_glb_cst_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) +); + +TZ_OPERATION_FIELDS(set_deposit_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, false, true, false) +); + +TZ_OPERATION_FIELDS(inc_paid_stg_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, true, false, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false) +); + +TZ_OPERATION_FIELDS(update_ck_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) +); + +TZ_OPERATION_FIELDS(origination_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false), + TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) +); + +TZ_OPERATION_FIELDS(transfer_tck_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, true, false, false, false) +); + +TZ_OPERATION_FIELDS(soru_add_msg_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, true, false, false, false) +); + +TZ_OPERATION_FIELDS(soru_exe_msg_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, true, false, false, false), + TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, true, false, false, false), + TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ) +); + +TZ_OPERATION_FIELDS(soru_origin_fields, + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, true, false, false, false), + TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), + TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), + TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) +); const tz_operation_descriptor tz_operation_descriptors[] = { {TZ_OPERATION_TAG_PROPOSALS, "Proposals", proposals_fields }, From 4d1164efeefaae141d39119e9763d6141453847f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 13:57:05 +0100 Subject: [PATCH 17/24] Parser: isolate fields specific to manager_operations --- app/src/parser/operation_parser.c | 129 ++++++++++-------------------- 1 file changed, 44 insertions(+), 85 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index e098425bf..9c53257b4 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -80,128 +80,87 @@ TZ_OPERATION_FIELDS(failing_noop_fields, TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY, true, false, false, false) ); +#define TZ_OPERATION_MANAGER_OPERATION_FIELDS \ + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), \ + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), \ + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), \ + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), \ + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false) + TZ_OPERATION_FIELDS(transaction_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_MANAGER_OPERATION_FIELDS, TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, false, true ) ); TZ_OPERATION_FIELDS(reveal_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) ); TZ_OPERATION_FIELDS(delegation_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false) ); TZ_OPERATION_FIELDS(reg_glb_cst_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, true, false, false, true) ); TZ_OPERATION_FIELDS(set_deposit_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, false, true, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, false, true, false) ); TZ_OPERATION_FIELDS(inc_paid_stg_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, true, false, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, true, false, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false) ); TZ_OPERATION_FIELDS(update_ck_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) ); TZ_OPERATION_FIELDS(origination_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), - TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false), - TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false), + TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) ); TZ_OPERATION_FIELDS(transfer_tck_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), - TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, true, false, false, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), + TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, true, false, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, true, false, false, false) ); TZ_OPERATION_FIELDS(soru_add_msg_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, true, false, false, false) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, true, false, false, false) ); TZ_OPERATION_FIELDS(soru_exe_msg_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, true, false, false, false), - TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, true, false, false, false), - TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, true, false, false, false), + TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, true, false, false, false), + TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ) ); TZ_OPERATION_FIELDS(soru_origin_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, true, false, false, false), - TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), - TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), - TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) + TZ_OPERATION_MANAGER_OPERATION_FIELDS, + TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, true, false, false, false), + TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), + TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), + TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) ); const tz_operation_descriptor tz_operation_descriptors[] = { From 18e1df0ccb2521f49ac38279797e29fe1c75cf6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 14:52:44 +0100 Subject: [PATCH 18/24] Parser: define a macro for optional fields --- app/src/parser/operation_parser.c | 91 ++++++++++++++++--------------- 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 9c53257b4..d91027c3d 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -55,112 +55,115 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", #endif // clang-format off -#define TZ_OPERATION_FIELD(name, kind, required, skip, display_none, complex) \ - {name, kind, required, skip, display_none, complex} +#define TZ_OPERATION_FIELD(name, kind, skip, complex) \ + {name, kind, .required=true, skip, .display_none=false, complex} #define TZ_OPERATION_LAST_FIELD {NULL, 0, 0, 0, 0, 0} +#define TZ_OPERATION_OPTION_FIELD(name, kind, skip, display_none, complex) \ + {name, kind, .required=false, skip, display_none, complex} + #define TZ_OPERATION_FIELDS(name, ...) \ const tz_operation_field_descriptor name[] = { __VA_ARGS__, TZ_OPERATION_LAST_FIELD} TZ_OPERATION_FIELDS(proposals_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, true, false, false, false), - TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, true, false, false, false), - TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTOS, true, false, false, false) + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, false, false), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, false, false), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTOS, false, false) ); TZ_OPERATION_FIELDS(ballot_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, true, false, false, false), - TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, true, false, false, false), - TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTO, true, false, false, false), - TZ_OPERATION_FIELD("Ballot", TZ_OPERATION_FIELD_BALLOT, true, false, false, false) + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, false, false), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, false, false), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTO, false, false), + TZ_OPERATION_FIELD("Ballot", TZ_OPERATION_FIELD_BALLOT, false, false) ); TZ_OPERATION_FIELDS(failing_noop_fields, - TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY, true, false, false, false) + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY, false, false) ); -#define TZ_OPERATION_MANAGER_OPERATION_FIELDS \ - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, true, false, false, false), \ - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, true, false, false, false), \ - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, true, false, false), \ - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, true, false, false), \ - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, true, false, false, false) +#define TZ_OPERATION_MANAGER_OPERATION_FIELDS \ + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, false, false), \ + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, false, false), \ + TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, false), \ + TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, false), \ + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, false, false) TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), - TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, false, true ) + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false), + TZ_OPERATION_OPTION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, true ) ); TZ_OPERATION_FIELDS(reveal_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, false, false) ); TZ_OPERATION_FIELDS(delegation_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false) + TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, true, false) ); TZ_OPERATION_FIELDS(reg_glb_cst_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, true, false, false, true) + TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, false, true) ); TZ_OPERATION_FIELDS(set_deposit_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, false, true, false) + TZ_OPERATION_OPTION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, true, false) ); TZ_OPERATION_FIELDS(inc_paid_stg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, true, false, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false) + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false) ); TZ_OPERATION_FIELDS(update_ck_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, true, false, false, false) + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, false, false) ); TZ_OPERATION_FIELDS(origination_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, true, false, false, false), - TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, false, true, false), - TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) + TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, false, false), + TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, true, false), + TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, false, true ), + TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, false, true ) ); TZ_OPERATION_FIELDS(transfer_tck_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, true, false, false, true ), - TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, true, false, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, true, false, false, false), - TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, true, false, false, false) + TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, false, true ), + TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, false, true ), + TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, false, false), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, false, false), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false), + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, false, false) ); TZ_OPERATION_FIELDS(soru_add_msg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, true, false, false, false) + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, false, false) ); TZ_OPERATION_FIELDS(soru_exe_msg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, true, false, false, false), - TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, true, false, false, false), - TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ) + TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, false, false), + TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, false, false), + TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, false, true ) ); TZ_OPERATION_FIELDS(soru_origin_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, true, false, false, false), - TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), - TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, true, false, false, true ), - TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, true, false, false, true ) + TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, false, false), + TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, false, true ), + TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, false, true ), + TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, false, true ) ); const tz_operation_descriptor tz_operation_descriptors[] = { From 3a365fdeeb30f55db19d31735a9a0978ad7be3ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 9 Jan 2024 15:16:28 +0100 Subject: [PATCH 19/24] Parser: make field clearer - Use designated initializers notation: { .field=value }, this allows: - to have default value to false for the fields skip and complex - to make it easier to read - Use "_" in front of unused name --- app/src/parser/operation_parser.c | 99 ++++++++++++++++--------------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index d91027c3d..b696765ec 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -55,115 +55,120 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", #endif // clang-format off -#define TZ_OPERATION_FIELD(name, kind, skip, complex) \ - {name, kind, .required=true, skip, .display_none=false, complex} -#define TZ_OPERATION_LAST_FIELD {NULL, 0, 0, 0, 0, 0} +// Default .skip=false, .complex=false +#define TZ_OPERATION_FIELD(name_v, kind_v, ...) \ + {.name=name_v, .kind=kind_v, .required=true, .display_none=false, __VA_ARGS__} -#define TZ_OPERATION_OPTION_FIELD(name, kind, skip, display_none, complex) \ - {name, kind, .required=false, skip, display_none, complex} +#define TZ_OPERATION_LAST_FIELD {0} + +// Default .skip=false, .complex=false +// Default .display_none should be provided +#define TZ_OPERATION_OPTION_FIELD(name_v, kind_v, ...) \ + {.name=name_v, .kind=kind_v, .required=false, __VA_ARGS__} #define TZ_OPERATION_FIELDS(name, ...) \ const tz_operation_field_descriptor name[] = { __VA_ARGS__, TZ_OPERATION_LAST_FIELD} TZ_OPERATION_FIELDS(proposals_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, false, false), - TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, false, false), - TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTOS, false, false) + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTOS) ); TZ_OPERATION_FIELDS(ballot_fields, - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH, false, false), - TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32, false, false), - TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTO, false, false), - TZ_OPERATION_FIELD("Ballot", TZ_OPERATION_FIELD_BALLOT, false, false) + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_PKH), + TZ_OPERATION_FIELD("Period", TZ_OPERATION_FIELD_INT32), + TZ_OPERATION_FIELD("Proposal", TZ_OPERATION_FIELD_PROTO), + TZ_OPERATION_FIELD("Ballot", TZ_OPERATION_FIELD_BALLOT) ); TZ_OPERATION_FIELDS(failing_noop_fields, - TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY, false, false) + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_BINARY) ); -#define TZ_OPERATION_MANAGER_OPERATION_FIELDS \ - TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE, false, false), \ - TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE, false, false), \ - TZ_OPERATION_FIELD("Counter", TZ_OPERATION_FIELD_NAT, true, false), \ - TZ_OPERATION_FIELD("Gas", TZ_OPERATION_FIELD_NAT, true, false), \ - TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT, false, false) +#define TZ_OPERATION_MANAGER_OPERATION_FIELDS \ + TZ_OPERATION_FIELD("Source", TZ_OPERATION_FIELD_SOURCE), \ + TZ_OPERATION_FIELD("Fee", TZ_OPERATION_FIELD_FEE), \ + TZ_OPERATION_FIELD("_Counter", TZ_OPERATION_FIELD_NAT, .skip=true), \ + TZ_OPERATION_FIELD("_Gas", TZ_OPERATION_FIELD_NAT, .skip=true), \ + TZ_OPERATION_FIELD("Storage limit", TZ_OPERATION_FIELD_NAT) TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false), - TZ_OPERATION_OPTION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, false, false, true ) + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), + TZ_OPERATION_OPTION_FIELD("_Parameter", TZ_OPERATION_FIELD_PARAMETER, + .display_none=false, .complex=true) ); TZ_OPERATION_FIELDS(reveal_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, false, false) + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK) ); TZ_OPERATION_FIELDS(delegation_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, true, false) + TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, .display_none=true) ); TZ_OPERATION_FIELDS(reg_glb_cst_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, false, true) + TZ_OPERATION_FIELD("Value", TZ_OPERATION_FIELD_EXPR, .complex=true) ); TZ_OPERATION_FIELDS(set_deposit_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_OPTION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, false, true, false) + TZ_OPERATION_OPTION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, .display_none=true) ); TZ_OPERATION_FIELDS(inc_paid_stg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false) + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_INT), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION) ); TZ_OPERATION_FIELDS(update_ck_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK, false, false) + TZ_OPERATION_FIELD("Public key", TZ_OPERATION_FIELD_PK) ); TZ_OPERATION_FIELDS(origination_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT, false, false), - TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, false, true, false), - TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, false, true ), - TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, false, true ) + TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT), + TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, .display_none=true), + TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, .complex=true), + TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, .complex=true) ); TZ_OPERATION_FIELDS(transfer_tck_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, false, true ), - TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, false, true ), - TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION, false, false), - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT, false, false), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION, false, false), - TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING, false, false) + TZ_OPERATION_FIELD("Contents", TZ_OPERATION_FIELD_EXPR, .complex=true), + TZ_OPERATION_FIELD("Type", TZ_OPERATION_FIELD_EXPR, .complex=true), + TZ_OPERATION_FIELD("Ticketer", TZ_OPERATION_FIELD_DESTINATION), + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_NAT), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_STRING) ); TZ_OPERATION_FIELDS(soru_add_msg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES, false, false) + TZ_OPERATION_FIELD("Message", TZ_OPERATION_FIELD_SORU_MESSAGES) ); TZ_OPERATION_FIELDS(soru_exe_msg_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR, false, false), - TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC, false, false), - TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, false, true ) + TZ_OPERATION_FIELD("Rollup", TZ_OPERATION_FIELD_SR), + TZ_OPERATION_FIELD("Commitment", TZ_OPERATION_FIELD_SRC), + TZ_OPERATION_FIELD("Output proof", TZ_OPERATION_FIELD_BINARY, .complex=true) ); TZ_OPERATION_FIELDS(soru_origin_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND, false, false), - TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, false, true ), - TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, false, true ), - TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, false, true ) + TZ_OPERATION_FIELD("Kind", TZ_OPERATION_FIELD_SORU_KIND), + TZ_OPERATION_FIELD("Kernel", TZ_OPERATION_FIELD_BINARY, .complex=true), + TZ_OPERATION_FIELD("Proof", TZ_OPERATION_FIELD_BINARY, .complex=true), + TZ_OPERATION_FIELD("Parameters", TZ_OPERATION_FIELD_EXPR, .complex=true) ); const tz_operation_descriptor tz_operation_descriptors[] = { From 797b5e5a5c8941077db777076b2f8136c27c2a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Wed, 10 Jan 2024 16:24:31 +0100 Subject: [PATCH 20/24] Parser: replace the required field by a step option --- app/src/parser/operation_parser.c | 92 ++++++++++++++++++++----------- app/src/parser/operation_state.h | 15 ++++- 2 files changed, 75 insertions(+), 32 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index b696765ec..3b7cc485d 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -27,7 +27,8 @@ static tz_parser_result push_frame(tz_parser_state *, static tz_parser_result pop_frame(tz_parser_state *); #ifdef TEZOS_DEBUG -const char *const tz_operation_parser_step_name[] = {"MAGIC", +const char *const tz_operation_parser_step_name[] = {"OPTION", + "MAGIC", "READ_BINARY", "BRANCH", "BATCH", @@ -58,14 +59,18 @@ const char *const tz_operation_parser_step_name[] = {"MAGIC", // Default .skip=false, .complex=false #define TZ_OPERATION_FIELD(name_v, kind_v, ...) \ - {.name=name_v, .kind=kind_v, .required=true, .display_none=false, __VA_ARGS__} + {.name=name_v, .kind=kind_v, __VA_ARGS__} #define TZ_OPERATION_LAST_FIELD {0} // Default .skip=false, .complex=false -// Default .display_none should be provided -#define TZ_OPERATION_OPTION_FIELD(name_v, kind_v, ...) \ - {.name=name_v, .kind=kind_v, .required=false, __VA_ARGS__} +#define TZ_OPERATION_OPTION_FIELD(name_v, field_v, display_none, ...) \ + {.name=name_v, .kind=TZ_OPERATION_FIELD_OPTION, \ + .field_option={ \ + .field=&(const tz_operation_field_descriptor)field_v, \ + display_none \ + }, \ + __VA_ARGS__} #define TZ_OPERATION_FIELDS(name, ...) \ const tz_operation_field_descriptor name[] = { __VA_ARGS__, TZ_OPERATION_LAST_FIELD} @@ -96,10 +101,11 @@ TZ_OPERATION_FIELDS(failing_noop_fields, TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT), - TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), - TZ_OPERATION_OPTION_FIELD("_Parameter", TZ_OPERATION_FIELD_PARAMETER, - .display_none=false, .complex=true) + TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT), + TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), + TZ_OPERATION_OPTION_FIELD("_Parameters", + TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, .complex=true), + .display_none=false) ); TZ_OPERATION_FIELDS(reveal_fields, @@ -109,7 +115,9 @@ TZ_OPERATION_FIELDS(reveal_fields, TZ_OPERATION_FIELDS(delegation_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, .display_none=true) + TZ_OPERATION_OPTION_FIELD("Delegate", + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH), + .display_none=true) ); TZ_OPERATION_FIELDS(reg_glb_cst_fields, @@ -119,7 +127,9 @@ TZ_OPERATION_FIELDS(reg_glb_cst_fields, TZ_OPERATION_FIELDS(set_deposit_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_OPTION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT, .display_none=true) + TZ_OPERATION_OPTION_FIELD("Staking limit", + TZ_OPERATION_FIELD("Staking limit", TZ_OPERATION_FIELD_AMOUNT), + .display_none=true) ); TZ_OPERATION_FIELDS(inc_paid_stg_fields, @@ -135,10 +145,12 @@ TZ_OPERATION_FIELDS(update_ck_fields, TZ_OPERATION_FIELDS(origination_fields, TZ_OPERATION_MANAGER_OPERATION_FIELDS, - TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT), - TZ_OPERATION_OPTION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH, .display_none=true), - TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, .complex=true), - TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, .complex=true) + TZ_OPERATION_FIELD("Balance", TZ_OPERATION_FIELD_AMOUNT), + TZ_OPERATION_OPTION_FIELD("Delegate", + TZ_OPERATION_FIELD("Delegate", TZ_OPERATION_FIELD_PKH), + .display_none=true), + TZ_OPERATION_FIELD("Code", TZ_OPERATION_FIELD_EXPR, .complex=true), + TZ_OPERATION_FIELD("Storage", TZ_OPERATION_FIELD_EXPR, .complex=true) ); TZ_OPERATION_FIELDS(transfer_tck_fields, @@ -295,6 +307,30 @@ tz_print_string(tz_parser_state *state) } \ } while (0) +/* Update the state in order to read the field if it is present */ +static tz_parser_result +tz_step_option(tz_parser_state *state) +{ + ASSERT_STEP(state, OPTION); + tz_operation_state *op = &state->operation; + uint8_t present; + tz_must(tz_parser_read(state, &present)); + if (!present) { + if (op->frame->step_option.display_none) { + if (op->frame->step_option.field->skip) + tz_raise(INVALID_STATE); + op->frame->step = TZ_OPERATION_STEP_PRINT; + op->frame->step_print.str = (char *)unset_message; + } else { + tz_must(pop_frame(state)); + } + } else { + op->frame->step = TZ_OPERATION_STEP_FIELD; + op->frame->step_field.field = op->frame->step_option.field; + } + tz_continue; +} + /* Update the state in order to read an operation or a micheline expression * based on a magic byte */ static tz_parser_result @@ -742,10 +778,6 @@ tz_step_field(tz_parser_state *state) const tz_operation_field_descriptor *field = op->frame->step_field.field; const char *name = PIC(field->name); - uint8_t present = 1; - if (!field->required) - tz_must(tz_parser_read(state, &present)); - // is_field_complex is reset after reaching TZ_OPERATION_FIELD_END if (!field->skip) { STRLCPY(state->field_info.field_name, name); @@ -753,19 +785,14 @@ tz_step_field(tz_parser_state *state) state->field_info.field_index++; } - if (!present) { - if (field->display_none) { - if (field->skip) - tz_raise(INVALID_STATE); - op->frame->step = TZ_OPERATION_STEP_PRINT; - op->frame->step_print.str = (char *)unset_message; - } else { - tz_must(pop_frame(state)); - } - tz_continue; - } - switch (field->kind) { + case TZ_OPERATION_FIELD_OPTION: { + op->frame->step = TZ_OPERATION_STEP_OPTION; + op->frame->step_option.field = PIC(field->field_option.field); + op->frame->step_option.display_none + = field->field_option.display_none; + break; + } case TZ_OPERATION_FIELD_BINARY: { op->frame->step = TZ_OPERATION_STEP_READ_BINARY; op->frame->step_read_string.ofs = 0; @@ -1100,6 +1127,9 @@ tz_operation_parser_step(tz_parser_state *state) STRING_STEP(op->frame->step), tz_parser_result_name(state->errno)); switch (op->frame->step) { + case TZ_OPERATION_STEP_OPTION: + tz_must(tz_step_option(state)); + break; case TZ_OPERATION_STEP_MAGIC: tz_must(tz_step_magic(state)); break; diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index ff0bf59a7..6d0a42f2a 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -39,6 +39,7 @@ typedef enum { } tz_operation_tag; typedef enum { + TZ_OPERATION_STEP_OPTION, TZ_OPERATION_STEP_MAGIC, TZ_OPERATION_STEP_READ_BINARY, TZ_OPERATION_STEP_BRANCH, @@ -64,6 +65,7 @@ typedef enum { typedef enum { TZ_OPERATION_FIELD_END = 0, // not for use in field descriptors + TZ_OPERATION_FIELD_OPTION, TZ_OPERATION_FIELD_BINARY, TZ_OPERATION_FIELD_INT, TZ_OPERATION_FIELD_NAT, @@ -88,10 +90,20 @@ typedef enum { TZ_OPERATION_FIELD_BALLOT } tz_operation_field_kind; +struct tz_operation_field_descriptor; + typedef struct { + const struct tz_operation_field_descriptor *field; + uint8_t display_none : 1; +} tz_operation_option_field_descriptor; + +typedef struct tz_operation_field_descriptor { const char *name; tz_operation_field_kind kind : 5; - uint8_t required : 1, skip : 1, display_none : 1, complex : 1; + union { + tz_operation_option_field_descriptor field_option; + }; + uint8_t skip : 1, complex : 1; } tz_operation_field_descriptor; typedef struct { @@ -104,6 +116,7 @@ typedef struct { tz_operation_parser_step_kind step : 5; uint16_t stop; union { + tz_operation_option_field_descriptor step_option; struct { uint8_t size_len; uint16_t size; From d9f8791f4694f3672a72ebd0eaecca04edc85b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Thu, 11 Jan 2024 09:52:47 +0100 Subject: [PATCH 21/24] Parser: rename operation step by tuple step --- app/src/parser/operation_parser.c | 67 +++++++++++++++---------------- app/src/parser/operation_state.h | 4 +- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index 3b7cc485d..f5317b464 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -28,6 +28,7 @@ static tz_parser_result pop_frame(tz_parser_state *); #ifdef TEZOS_DEBUG const char *const tz_operation_parser_step_name[] = {"OPTION", + "TUPLE", "MAGIC", "READ_BINARY", "BRANCH", @@ -35,7 +36,6 @@ const char *const tz_operation_parser_step_name[] = {"OPTION", "TAG", "SIZE", "FIELD", - "OPERATION", "PRINT", "PARTIAL_PRINT", "READ_NUM", @@ -331,6 +331,32 @@ tz_step_option(tz_parser_state *state) tz_continue; } +/* Update the state in order to read the fields in a field tuple */ +static tz_parser_result +tz_step_tuple(tz_parser_state *state) +{ + ASSERT_STEP(state, TUPLE); + tz_operation_state *op = &state->operation; + tz_parser_regs *regs = &state->regs; + const tz_operation_field_descriptor *field = PIC( + &op->frame->step_tuple.fields[op->frame->step_tuple.field_index]); + + // Remaining content from previous section - display this first. + if (regs->oofs > 0) + tz_stop(IM_FULL); + + if (field->kind == TZ_OPERATION_FIELD_END) { + // is_field_complex is reset after reaching the last field + state->field_info.is_field_complex = false; + tz_must(pop_frame(state)); + } else { + op->frame->step_tuple.field_index++; + tz_must(push_frame(state, TZ_OPERATION_STEP_FIELD)); + op->frame->step_field.field = field; + } + tz_continue; +} + /* Update the state in order to read an operation or a micheline expression * based on a magic byte */ static tz_parser_result @@ -400,9 +426,9 @@ tz_step_tag(tz_parser_state *state) #endif // HAVE_SWAP for (d = tz_operation_descriptors; d->tag != TZ_OPERATION_TAG_END; d++) { if (d->tag == t) { - op->frame->step = TZ_OPERATION_STEP_OPERATION; - op->frame->step_operation.fields = d->fields; - op->frame->step_operation.field_index = 0; + op->frame->step = TZ_OPERATION_STEP_TUPLE; + op->frame->step_tuple.fields = d->fields; + op->frame->step_tuple.field_index = 0; tz_must(push_frame(state, TZ_OPERATION_STEP_PRINT)); snprintf(state->field_info.field_name, 30, "Operation (%d)", op->batch_index); @@ -739,33 +765,6 @@ tz_step_read_smart_entrypoint(tz_parser_state *state) tz_continue; } -/* Update the state in order to read fields of an operation */ -static tz_parser_result -tz_step_operation(tz_parser_state *state) -{ - ASSERT_STEP(state, OPERATION); - tz_operation_state *op = &state->operation; - tz_parser_regs *regs = &state->regs; - const tz_operation_field_descriptor *field - = PIC(&op->frame->step_operation - .fields[op->frame->step_operation.field_index]); - - // Remaining content from previous section - display this first. - if (regs->oofs > 0) - tz_stop(IM_FULL); - - if (field->kind == TZ_OPERATION_FIELD_END) { - // is_field_complex is reset after reaching the last field - state->field_info.is_field_complex = false; - tz_must(pop_frame(state)); - } else { - op->frame->step_operation.field_index++; - tz_must(push_frame(state, TZ_OPERATION_STEP_FIELD)); - op->frame->step_field.field = field; - } - tz_continue; -} - /* Update the state in order to read a field of an operation based on its kind * If the field is not ignored, update the field_info with the field * information @@ -1130,6 +1129,9 @@ tz_operation_parser_step(tz_parser_state *state) case TZ_OPERATION_STEP_OPTION: tz_must(tz_step_option(state)); break; + case TZ_OPERATION_STEP_TUPLE: + tz_must(tz_step_tuple(state)); + break; case TZ_OPERATION_STEP_MAGIC: tz_must(tz_step_magic(state)); break; @@ -1169,9 +1171,6 @@ tz_operation_parser_step(tz_parser_state *state) case TZ_OPERATION_STEP_FIELD: tz_must(tz_step_field(state)); break; - case TZ_OPERATION_STEP_OPERATION: - tz_must(tz_step_operation(state)); - break; case TZ_OPERATION_STEP_READ_PK: tz_must(tz_step_read_pk(state)); break; diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index 6d0a42f2a..8f79f1e53 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -40,6 +40,7 @@ typedef enum { typedef enum { TZ_OPERATION_STEP_OPTION, + TZ_OPERATION_STEP_TUPLE, TZ_OPERATION_STEP_MAGIC, TZ_OPERATION_STEP_READ_BINARY, TZ_OPERATION_STEP_BRANCH, @@ -47,7 +48,6 @@ typedef enum { TZ_OPERATION_STEP_TAG, TZ_OPERATION_STEP_SIZE, TZ_OPERATION_STEP_FIELD, - TZ_OPERATION_STEP_OPERATION, TZ_OPERATION_STEP_PRINT, TZ_OPERATION_STEP_PARTIAL_PRINT, TZ_OPERATION_STEP_READ_NUM, @@ -127,7 +127,7 @@ typedef struct { struct { const tz_operation_field_descriptor *fields; uint8_t field_index; - } step_operation; + } step_tuple; struct { const char *str; } step_print; From 3a834a548ed5845661a85c0a6170dd96917d4c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Thu, 11 Jan 2024 09:55:55 +0100 Subject: [PATCH 22/24] Parser: use a tuple field instead of the parameter field --- app/src/parser/operation_parser.c | 32 ++++++++++++++++++++----------- app/src/parser/operation_state.h | 6 +++++- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index f5317b464..dfbbc0012 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -72,6 +72,16 @@ const char *const tz_operation_parser_step_name[] = {"OPTION", }, \ __VA_ARGS__} +#define TZ_OPERATION_TUPLE_FIELD(name_v, ...) \ + {.name=name_v, .kind=TZ_OPERATION_FIELD_TUPLE, \ + .field_tuple={ \ + .fields=(const tz_operation_field_descriptor[]){ \ + __VA_ARGS__, \ + TZ_OPERATION_LAST_FIELD \ + } \ + } \ + } + #define TZ_OPERATION_FIELDS(name, ...) \ const tz_operation_field_descriptor name[] = { __VA_ARGS__, TZ_OPERATION_LAST_FIELD} @@ -104,7 +114,9 @@ TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_FIELD("Amount", TZ_OPERATION_FIELD_AMOUNT), TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), TZ_OPERATION_OPTION_FIELD("_Parameters", - TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_PARAMETER, .complex=true), + TZ_OPERATION_TUPLE_FIELD("_Parameters", + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_SMART_ENTRYPOINT, .complex=true), + TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_EXPR)), .display_none=false) ); @@ -792,6 +804,12 @@ tz_step_field(tz_parser_state *state) = field->field_option.display_none; break; } + case TZ_OPERATION_FIELD_TUPLE: { + op->frame->step = TZ_OPERATION_STEP_TUPLE; + op->frame->step_tuple.fields = field->field_tuple.fields; + op->frame->step_tuple.field_index = 0; + break; + } case TZ_OPERATION_FIELD_BINARY: { op->frame->step = TZ_OPERATION_STEP_READ_BINARY; op->frame->step_read_string.ofs = 0; @@ -884,16 +902,8 @@ tz_step_field(tz_parser_state *state) op->frame->step_read_int32.skip = field->skip; break; } - case TZ_OPERATION_FIELD_PARAMETER: { - op->frame->step = TZ_OPERATION_STEP_READ_MICHELINE; - op->frame->step_read_micheline.inited = 0; - op->frame->step_read_micheline.skip = field->skip; - op->frame->step_read_micheline.name = name; - tz_must(push_frame(state, TZ_OPERATION_STEP_SIZE)); - op->frame->step_size.size = 0; - op->frame->step_size.size_len = 4; - tz_must(push_frame(state, TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT)); - STRLCPY(state->field_info.field_name, "Entrypoint"); + case TZ_OPERATION_FIELD_SMART_ENTRYPOINT: { + op->frame->step = TZ_OPERATION_STEP_READ_SMART_ENTRYPOINT; op->frame->step_read_string.ofs = 0; op->frame->step_read_string.skip = field->skip; break; diff --git a/app/src/parser/operation_state.h b/app/src/parser/operation_state.h index 8f79f1e53..a9ec5efa8 100644 --- a/app/src/parser/operation_state.h +++ b/app/src/parser/operation_state.h @@ -66,6 +66,7 @@ typedef enum { typedef enum { TZ_OPERATION_FIELD_END = 0, // not for use in field descriptors TZ_OPERATION_FIELD_OPTION, + TZ_OPERATION_FIELD_TUPLE, TZ_OPERATION_FIELD_BINARY, TZ_OPERATION_FIELD_INT, TZ_OPERATION_FIELD_NAT, @@ -81,7 +82,7 @@ typedef enum { TZ_OPERATION_FIELD_PROTO, TZ_OPERATION_FIELD_PROTOS, TZ_OPERATION_FIELD_DESTINATION, - TZ_OPERATION_FIELD_PARAMETER, + TZ_OPERATION_FIELD_SMART_ENTRYPOINT, TZ_OPERATION_FIELD_EXPR, TZ_OPERATION_FIELD_OPH, TZ_OPERATION_FIELD_BH, @@ -102,6 +103,9 @@ typedef struct tz_operation_field_descriptor { tz_operation_field_kind kind : 5; union { tz_operation_option_field_descriptor field_option; + struct { + const struct tz_operation_field_descriptor *fields; + } field_tuple; }; uint8_t skip : 1, complex : 1; } tz_operation_field_descriptor; From 80762b9994b39c51039178330010b74f62ef1ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Thu, 11 Jan 2024 09:56:46 +0100 Subject: [PATCH 23/24] Parser: make the transaction's field parameter a complex field --- app/src/parser/operation_parser.c | 2 +- tests/generate/gen_integration.ml | 3 ++- .../nanos/regression_batched_ops/00011.png | Bin 462 -> 499 bytes .../nanos/regression_batched_ops/00012.png | Bin 455 -> 462 bytes .../nanos/regression_batched_ops/00013.png | Bin 472 -> 455 bytes .../nanos/regression_batched_ops/00014.png | Bin 437 -> 472 bytes .../nanos/regression_batched_ops/00015.png | Bin 450 -> 437 bytes .../nanos/regression_batched_ops/00016.png | Bin 442 -> 450 bytes .../nanos/regression_batched_ops/00017.png | Bin 478 -> 442 bytes .../nanos/regression_batched_ops/00018.png | Bin 448 -> 478 bytes .../nanos/regression_batched_ops/00019.png | Bin 466 -> 448 bytes .../nanos/regression_batched_ops/00020.png | Bin 468 -> 466 bytes .../nanos/regression_batched_ops/00021.png | Bin 464 -> 468 bytes .../nanos/regression_batched_ops/00022.png | Bin 462 -> 464 bytes .../nanos/regression_batched_ops/00023.png | Bin 471 -> 462 bytes .../nanos/regression_batched_ops/00024.png | Bin 469 -> 471 bytes .../nanos/regression_batched_ops/00025.png | Bin 440 -> 469 bytes .../nanos/regression_batched_ops/00026.png | Bin 351 -> 440 bytes .../nanos/regression_batched_ops/00027.png | Bin 427 -> 351 bytes .../nanos/regression_batched_ops/00028.png | Bin 484 -> 427 bytes .../nanos/regression_batched_ops/00029.png | Bin 461 -> 484 bytes .../nanos/regression_batched_ops/00030.png | Bin 320 -> 461 bytes .../nanos/regression_batched_ops/00031.png | Bin 361 -> 320 bytes .../nanos/regression_batched_ops/00032.png | Bin 354 -> 361 bytes .../nanos/regression_batched_ops/00033.png | Bin 497 -> 354 bytes .../nanos/regression_batched_ops/00034.png | Bin 489 -> 497 bytes .../nanos/regression_batched_ops/00035.png | Bin 404 -> 489 bytes .../nanos/regression_batched_ops/00036.png | Bin 0 -> 404 bytes .../test_ensure_always_clearsign/00011.png | Bin 421 -> 499 bytes .../test_ensure_always_clearsign/00012.png | Bin 406 -> 421 bytes .../test_ensure_always_clearsign/00013.png | Bin 402 -> 406 bytes .../test_ensure_always_clearsign/00014.png | Bin 407 -> 402 bytes .../test_ensure_always_clearsign/00015.png | Bin 405 -> 407 bytes .../test_ensure_always_clearsign/00016.png | Bin 422 -> 405 bytes .../test_ensure_always_clearsign/00017.png | Bin 415 -> 422 bytes .../test_ensure_always_clearsign/00018.png | Bin 420 -> 415 bytes .../test_ensure_always_clearsign/00019.png | Bin 414 -> 420 bytes .../test_ensure_always_clearsign/00020.png | Bin 398 -> 414 bytes .../test_ensure_always_clearsign/00021.png | Bin 406 -> 398 bytes .../test_ensure_always_clearsign/00022.png | Bin 401 -> 406 bytes .../test_ensure_always_clearsign/00023.png | Bin 390 -> 401 bytes .../test_ensure_always_clearsign/00024.png | Bin 439 -> 390 bytes .../test_ensure_always_clearsign/00025.png | Bin 314 -> 439 bytes .../test_ensure_always_clearsign/00026.png | Bin 410 -> 314 bytes .../test_ensure_always_clearsign/00027.png | Bin 403 -> 410 bytes .../test_ensure_always_clearsign/00028.png | Bin 392 -> 403 bytes .../test_ensure_always_clearsign/00029.png | Bin 419 -> 392 bytes .../test_ensure_always_clearsign/00030.png | Bin 404 -> 419 bytes .../test_ensure_always_clearsign/00031.png | Bin 404 -> 404 bytes .../test_ensure_always_clearsign/00032.png | Bin 0 -> 404 bytes .../one_byte_added_at_the_end/00011.png | Bin 347 -> 499 bytes .../one_byte_added_at_the_end/00012.png | Bin 465 -> 347 bytes .../one_byte_added_at_the_end/00013.png | Bin 444 -> 465 bytes .../one_byte_added_at_the_end/00014.png | Bin 288 -> 444 bytes .../one_byte_added_at_the_end/00015.png | Bin 0 -> 288 bytes .../reject_signing/00011.png | Bin 421 -> 499 bytes .../reject_signing/00012.png | Bin 406 -> 421 bytes .../reject_signing/00013.png | Bin 402 -> 406 bytes .../reject_signing/00014.png | Bin 407 -> 402 bytes .../reject_signing/00015.png | Bin 405 -> 407 bytes .../reject_signing/00016.png | Bin 422 -> 405 bytes .../reject_signing/00017.png | Bin 415 -> 422 bytes .../reject_signing/00018.png | Bin 420 -> 415 bytes .../reject_signing/00019.png | Bin 414 -> 420 bytes .../reject_signing/00020.png | Bin 398 -> 414 bytes .../reject_signing/00021.png | Bin 406 -> 398 bytes .../reject_signing/00022.png | Bin 401 -> 406 bytes .../reject_signing/00023.png | Bin 390 -> 401 bytes .../reject_signing/00024.png | Bin 439 -> 390 bytes .../reject_signing/00025.png | Bin 314 -> 439 bytes .../reject_signing/00026.png | Bin 410 -> 314 bytes .../reject_signing/00027.png | Bin 403 -> 410 bytes .../reject_signing/00028.png | Bin 392 -> 403 bytes .../reject_signing/00029.png | Bin 419 -> 392 bytes .../reject_signing/00030.png | Bin 404 -> 419 bytes .../reject_signing/00031.png | Bin 404 -> 404 bytes .../reject_signing/00032.png | Bin 341 -> 404 bytes .../reject_signing/00033.png | Bin 0 -> 341 bytes .../nanos/test_reject_transaction/00011.png | Bin 421 -> 499 bytes .../nanos/test_reject_transaction/00012.png | Bin 406 -> 421 bytes .../nanos/test_reject_transaction/00013.png | Bin 402 -> 406 bytes .../nanos/test_reject_transaction/00014.png | Bin 407 -> 402 bytes .../nanos/test_reject_transaction/00015.png | Bin 405 -> 407 bytes .../nanos/test_reject_transaction/00016.png | Bin 422 -> 405 bytes .../nanos/test_reject_transaction/00017.png | Bin 415 -> 422 bytes .../nanos/test_reject_transaction/00018.png | Bin 420 -> 415 bytes .../nanos/test_reject_transaction/00019.png | Bin 414 -> 420 bytes .../nanos/test_reject_transaction/00020.png | Bin 398 -> 414 bytes .../nanos/test_reject_transaction/00021.png | Bin 406 -> 398 bytes .../nanos/test_reject_transaction/00022.png | Bin 401 -> 406 bytes .../nanos/test_reject_transaction/00023.png | Bin 390 -> 401 bytes .../nanos/test_reject_transaction/00024.png | Bin 439 -> 390 bytes .../nanos/test_reject_transaction/00025.png | Bin 314 -> 439 bytes .../nanos/test_reject_transaction/00026.png | Bin 410 -> 314 bytes .../nanos/test_reject_transaction/00027.png | Bin 403 -> 410 bytes .../nanos/test_reject_transaction/00028.png | Bin 392 -> 403 bytes .../nanos/test_reject_transaction/00029.png | Bin 419 -> 392 bytes .../nanos/test_reject_transaction/00030.png | Bin 404 -> 419 bytes .../nanos/test_reject_transaction/00031.png | Bin 404 -> 404 bytes .../nanos/test_reject_transaction/00032.png | Bin 341 -> 404 bytes .../nanos/test_reject_transaction/00033.png | Bin 0 -> 341 bytes .../nanos/test_sign_transaction/00011.png | Bin 347 -> 499 bytes .../nanos/test_sign_transaction/00012.png | Bin 404 -> 347 bytes .../nanos/test_sign_transaction/00013.png | Bin 0 -> 404 bytes .../test_sign_with_another_seed/00011.png | Bin 347 -> 499 bytes .../test_sign_with_another_seed/00012.png | Bin 404 -> 347 bytes .../test_sign_with_another_seed/00013.png | Bin 0 -> 404 bytes .../nanos/test_sign_with_long_hash/00012.png | Bin 303 -> 499 bytes .../nanos/test_sign_with_long_hash/00013.png | Bin 404 -> 303 bytes .../nanos/test_sign_with_long_hash/00014.png | Bin 0 -> 404 bytes .../test_sign_with_small_packet/00011.png | Bin 347 -> 499 bytes .../test_sign_with_small_packet/00012.png | Bin 404 -> 347 bytes .../test_sign_with_small_packet/00013.png | Bin 0 -> 404 bytes .../test_ensure_always_clearsign/00009.png | Bin 743 -> 542 bytes .../test_ensure_always_clearsign/00010.png | Bin 734 -> 743 bytes .../test_ensure_always_clearsign/00011.png | Bin 740 -> 734 bytes .../test_ensure_always_clearsign/00012.png | Bin 716 -> 740 bytes .../test_ensure_always_clearsign/00013.png | Bin 743 -> 716 bytes .../test_ensure_always_clearsign/00014.png | Bin 459 -> 743 bytes .../test_ensure_always_clearsign/00015.png | Bin 0 -> 459 bytes .../one_byte_added_at_the_end/00009.png | Bin 371 -> 542 bytes .../one_byte_added_at_the_end/00010.png | Bin 506 -> 371 bytes .../one_byte_added_at_the_end/00011.png | Bin 483 -> 506 bytes .../one_byte_added_at_the_end/00012.png | Bin 306 -> 483 bytes .../one_byte_added_at_the_end/00013.png | Bin 0 -> 306 bytes .../reject_signing/00009.png | Bin 743 -> 542 bytes .../reject_signing/00010.png | Bin 734 -> 743 bytes .../reject_signing/00011.png | Bin 740 -> 734 bytes .../reject_signing/00012.png | Bin 716 -> 740 bytes .../reject_signing/00013.png | Bin 743 -> 716 bytes .../reject_signing/00014.png | Bin 459 -> 743 bytes .../reject_signing/00015.png | Bin 366 -> 459 bytes .../reject_signing/00016.png | Bin 0 -> 366 bytes .../nanosp/test_reject_transaction/00009.png | Bin 743 -> 542 bytes .../nanosp/test_reject_transaction/00010.png | Bin 734 -> 743 bytes .../nanosp/test_reject_transaction/00011.png | Bin 740 -> 734 bytes .../nanosp/test_reject_transaction/00012.png | Bin 716 -> 740 bytes .../nanosp/test_reject_transaction/00013.png | Bin 743 -> 716 bytes .../nanosp/test_reject_transaction/00014.png | Bin 459 -> 743 bytes .../nanosp/test_reject_transaction/00015.png | Bin 366 -> 459 bytes .../nanosp/test_reject_transaction/00016.png | Bin 0 -> 366 bytes .../nanosp/test_sign_transaction/00009.png | Bin 371 -> 542 bytes .../nanosp/test_sign_transaction/00010.png | Bin 459 -> 371 bytes .../nanosp/test_sign_transaction/00011.png | Bin 0 -> 459 bytes .../test_sign_with_another_seed/00009.png | Bin 371 -> 542 bytes .../test_sign_with_another_seed/00010.png | Bin 459 -> 371 bytes .../test_sign_with_another_seed/00011.png | Bin 0 -> 459 bytes .../nanosp/test_sign_with_long_hash/00009.png | Bin 327 -> 542 bytes .../nanosp/test_sign_with_long_hash/00010.png | Bin 459 -> 327 bytes .../nanosp/test_sign_with_long_hash/00011.png | Bin 0 -> 459 bytes .../test_sign_with_small_packet/00009.png | Bin 371 -> 542 bytes .../test_sign_with_small_packet/00010.png | Bin 459 -> 371 bytes .../test_sign_with_small_packet/00011.png | Bin 0 -> 459 bytes .../nanox/regression_batched_ops/00009.png | Bin 968 -> 542 bytes .../nanox/regression_batched_ops/00010.png | Bin 984 -> 968 bytes .../nanox/regression_batched_ops/00011.png | Bin 1048 -> 984 bytes .../nanox/regression_batched_ops/00012.png | Bin 916 -> 1048 bytes .../nanox/regression_batched_ops/00013.png | Bin 458 -> 916 bytes .../nanox/regression_batched_ops/00014.png | Bin 707 -> 458 bytes .../nanox/regression_batched_ops/00015.png | Bin 340 -> 707 bytes .../nanox/regression_batched_ops/00016.png | Bin 386 -> 340 bytes .../nanox/regression_batched_ops/00017.png | Bin 374 -> 386 bytes .../nanox/regression_batched_ops/00018.png | Bin 734 -> 374 bytes .../nanox/regression_batched_ops/00019.png | Bin 459 -> 734 bytes .../nanox/regression_batched_ops/00020.png | Bin 0 -> 459 bytes .../test_ensure_always_clearsign/00009.png | Bin 743 -> 542 bytes .../test_ensure_always_clearsign/00010.png | Bin 734 -> 743 bytes .../test_ensure_always_clearsign/00011.png | Bin 740 -> 734 bytes .../test_ensure_always_clearsign/00012.png | Bin 716 -> 740 bytes .../test_ensure_always_clearsign/00013.png | Bin 743 -> 716 bytes .../test_ensure_always_clearsign/00014.png | Bin 459 -> 743 bytes .../test_ensure_always_clearsign/00015.png | Bin 0 -> 459 bytes .../one_byte_added_at_the_end/00009.png | Bin 371 -> 542 bytes .../one_byte_added_at_the_end/00010.png | Bin 506 -> 371 bytes .../one_byte_added_at_the_end/00011.png | Bin 483 -> 506 bytes .../one_byte_added_at_the_end/00012.png | Bin 306 -> 483 bytes .../one_byte_added_at_the_end/00013.png | Bin 0 -> 306 bytes .../reject_signing/00009.png | Bin 743 -> 542 bytes .../reject_signing/00010.png | Bin 734 -> 743 bytes .../reject_signing/00011.png | Bin 740 -> 734 bytes .../reject_signing/00012.png | Bin 716 -> 740 bytes .../reject_signing/00013.png | Bin 743 -> 716 bytes .../reject_signing/00014.png | Bin 459 -> 743 bytes .../reject_signing/00015.png | Bin 366 -> 459 bytes .../reject_signing/00016.png | Bin 0 -> 366 bytes .../nanox/test_reject_transaction/00009.png | Bin 743 -> 542 bytes .../nanox/test_reject_transaction/00010.png | Bin 734 -> 743 bytes .../nanox/test_reject_transaction/00011.png | Bin 740 -> 734 bytes .../nanox/test_reject_transaction/00012.png | Bin 716 -> 740 bytes .../nanox/test_reject_transaction/00013.png | Bin 743 -> 716 bytes .../nanox/test_reject_transaction/00014.png | Bin 459 -> 743 bytes .../nanox/test_reject_transaction/00015.png | Bin 366 -> 459 bytes .../nanox/test_reject_transaction/00016.png | Bin 0 -> 366 bytes .../nanox/test_sign_transaction/00009.png | Bin 371 -> 542 bytes .../nanox/test_sign_transaction/00010.png | Bin 459 -> 371 bytes .../nanox/test_sign_transaction/00011.png | Bin 0 -> 459 bytes .../test_sign_with_another_seed/00009.png | Bin 371 -> 542 bytes .../test_sign_with_another_seed/00010.png | Bin 459 -> 371 bytes .../test_sign_with_another_seed/00011.png | Bin 0 -> 459 bytes .../nanox/test_sign_with_long_hash/00009.png | Bin 327 -> 542 bytes .../nanox/test_sign_with_long_hash/00010.png | Bin 459 -> 327 bytes .../nanox/test_sign_with_long_hash/00011.png | Bin 0 -> 459 bytes .../test_sign_with_small_packet/00009.png | Bin 371 -> 542 bytes .../test_sign_with_small_packet/00010.png | Bin 459 -> 371 bytes .../test_sign_with_small_packet/00011.png | Bin 0 -> 459 bytes .../test_blindsign_valid/tst_review_003.png | Bin 8687 -> 6913 bytes .../test_blindsign_valid/tst_review_004.png | Bin 0 -> 7168 bytes .../tpe_review_0_03_full.png | Bin 8687 -> 6913 bytes .../tpe_review_0_04_full.png | Bin 0 -> 7168 bytes .../test_sign_transfer/tst_review_003.png | Bin 8687 -> 6913 bytes .../test_sign_transfer/tst_review_004.png | Bin 0 -> 7168 bytes .../review_2.png | Bin 8687 -> 6913 bytes .../review_3.png | Bin 0 -> 7168 bytes .../integration/stax/test_blindsign_valid.py | 4 +++ tests/integration/stax/test_parsing_errors.py | 4 +++ tests/integration/stax/test_sign_transfer.py | 12 +++++++++ .../stax/test_sign_transfer_without_hash.py | 6 +++++ tests/unit/ctest/tests_parser.c | 25 +++++++++++------- 218 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 tests/integration/nano/snapshots/nanos/regression_batched_ops/00036.png create mode 100644 tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00032.png create mode 100644 tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00015.png create mode 100644 tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png create mode 100644 tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png create mode 100644 tests/integration/nano/snapshots/nanos/test_sign_transaction/00013.png create mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00013.png create mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00014.png create mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00013.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00015.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00013.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png create mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png create mode 100644 tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png create mode 100644 tests/integration/nano/snapshots/nanox/test_ensure_always_clearsign/00015.png create mode 100644 tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00013.png create mode 100644 tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png create mode 100644 tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png create mode 100644 tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png create mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png create mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png create mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png create mode 100644 tests/integration/stax/snapshots/test_blindsign_valid/tst_review_004.png create mode 100644 tests/integration/stax/snapshots/test_parsing_errors/tpe_review_0_04_full.png create mode 100644 tests/integration/stax/snapshots/test_sign_transfer/tst_review_004.png create mode 100644 tests/integration/stax/snapshots/test_sign_transfer_without_hash/review_3.png diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index dfbbc0012..db2a9b495 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -116,7 +116,7 @@ TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_OPTION_FIELD("_Parameters", TZ_OPERATION_TUPLE_FIELD("_Parameters", TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_SMART_ENTRYPOINT, .complex=true), - TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_EXPR)), + TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_EXPR, .complex=true)), .display_none=false) ); diff --git a/tests/generate/gen_integration.ml b/tests/generate/gen_integration.ml index 129ac7cd1..053011190 100644 --- a/tests/generate/gen_integration.ml +++ b/tests/generate/gen_integration.ml @@ -279,8 +279,9 @@ let operation_to_screens then [] else [ - need_expert_mode_screen "Parameter"; + need_expert_mode_screen "Entrypoint"; make_screen ~title:"Entrypoint" "%a" Entrypoint.pp entrypoint; + need_expert_mode_screen "Parameter"; make_screen ~title:"Parameter" "%a" pp_lazy_expr parameters; ] in diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00011.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00011.png index c6158a7d25dd7a3b5a9d51e70f954334fec477e9..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*=1M>rrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf??~rw delta 436 zcmV;l0Zab#1I`1GB!87jL_t(|ob8#>uEQV*hV8QR{tvv1oeL9#iWDr+F8ROgVr>!i zucFwar1AZ9m&adT)eq*y+#8hg1-1<^I_ip>N{h@n8Z`rYI zszN9z+l1=S&x7~sL16WbRWzVzY&3OUvGJuBxer0p1o=sxse9#Q4Jf(qppEO(KxEy( z&{D(t-0rY8q2w>I001Cz__&diCe~h#hO!@;0nBEC^Svm%s%6!@8(_E9S5`K8pT1q4 z?CoN!wwR70B7azA{3T`_vGb!$$ppO&I(tx%@&e?X*4k}T7-5ehs2_d$IhZ*O9gi1q z+Omza1ge)T&|R^3FFBtGm;tO1PR%uY-i|Fp!LS^P`yOD$J$W8ZkCjIYtN6Aj+;%}D zDQiG+9s8z3LuG)nPL#NB2AjCY7Uecn<3V5K4m?6oB`x9|JXJMEoHF5OqD;#H00000 e00000kj6h+kOkT4HdqJ%0000uEQV*hV8QR{tvv1oeL9#iWDr+F8ROgVr>!i zucFwar1AZ9m&adT)eq*y+#8hg1-1<^I_ip>N{h@n8Z`rYI zszN9z+l1=S&x7~sL16WbRWzVzY&3OUvGJuBxer0p1o=sxse9#Q4Jf(qppEO(KxEy( z&{D(t-0rY8q2w>I001Cz__&diCe~h#hO!@;0nBEC^Svm%s%6!@8(_E9S5`K8pT1q4 z?CoN!wwR70B7azA{3T`_vGb!$$ppO&I(tx%@&e?X*4k}T7-5ehs2_d$IhZ*O9gi1q z+Omza1ge)T&|R^3FFBtGm;tO1PR%uY-i|Fp!LS^P`yOD$J$W8ZkCjIYtN6Aj+;%}D zDQiG+9s8z3LuG)nPL#NB2AjCY7Uecn<3V5K4m?6oB`x9|JXJMEoHF5OqD;#H00000 e00000kj6h+kOkT4HdqJ%0000K delta 429 zcmV;e0aE_X1IGi9B!7-cL_t(|ob8xN4#OY}MM;(3|G-_e3nb(TV+fE``cGX1YRtz8 zW;oI|z8_XR-ut?KFfXG{L~1TK#{K(QJG6)Z#c3Grj1kpT`pp{hU*#caLk(!FQY=l( z-i6z_WY63!p8=brpEc!Q;^7dXsoBt|QAz~0fpDcguTB8mKYy74d!jFf=Zx0;mb%HXh2a@+ z??~c000000000009Nw@ XmDE3=$>kXY00000NkvXXu0mjfz;ex^ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00013.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00013.png index a1d031e413a910444398ca1fd2da1e1805ba4271..aba10d4bb53bd2a79f1605b88dbd86788b964ba6 100644 GIT binary patch delta 429 zcmV;e0aE_h1IGi9B!7-cL_t(|ob8xN4#OY}MM;(3|G-_e3nb(TV+fE``cGX1YRtz8 zW;oI|z8_XR-ut?KFfXG{L~1TK#{K(QJG6)Z#c3Grj1kpT`pp{hU*#caLk(!FQY=l( z-i6z_WY63!p8=brpEc!Q;^7dXsoBt|QAz~0fpDcguTB8mKYy74d!jFf=Zx0;mb%HXh2a@+ z??~c000000000009Nw@ XmDE3=$>kXY00000NkvXXu0mjf(KOAh delta 446 zcmV;v0YU!91K0zQB!8btL_t(|ob8#xlEWYfhRsg<{tw(kdvJz9KqNL2yYqjuhfRW@ zs3`O(X}n*}^)I-qzMLYY3|eImQH5A_rM6O`csycIoC z6Vtj-do5LStG3+%$=eUNqoDWFoe{k-3)E$!!Qy8{{Y1)9;nR8BlWPfY$Xe5S_ii z@K)k{rZ=X{Qu2>j003|~Cfn&$#Yu&9;1khMhiUU(-_zDp>vX%9f(13-9L@D5S|4Km z9lV!wMc#aKV1GtBZ0e7vFDFr@h}H01KPc>cCB!OrHs8=LQv14 zLXuKKe@K3+JamUSNfX)VaC9!S6QIZJl(&XNB>i$*1mU1PuH;h_Fy{ikyUY3YVhYcd zD0U+847mLkkyGqC$0000000000001D14}Xsp&VC{!l>h($07*qoM6N<$g5XQt_y7O^ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00014.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00014.png index 51e439646733e7b44f89db85c981cd53a1283b75..a1d031e413a910444398ca1fd2da1e1805ba4271 100644 GIT binary patch delta 446 zcmV;v0YUz?1K0zQB!8btL_t(|ob8#xlEWYfhRsg<{tw(kdvJz9KqNL2yYqjuhfRW@ zs3`O(X}n*}^)I-qzMLYY3|eImQH5A_rM6O`csycIoC z6Vtj-do5LStG3+%$=eUNqoDWFoe{k-3)E$!!Qy8{{Y1)9;nR8BlWPfY$Xe5S_ii z@K)k{rZ=X{Qu2>j003|~Cfn&$#Yu&9;1khMhiUU(-_zDp>vX%9f(13-9L@D5S|4Km z9lV!wMc#aKV1GtBZ0e7vFDFr@h}H01KPc>cCB!OrHs8=LQv14 zLXuKKe@K3+JamUSNfX)VaC9!S6QIZJl(&XNB>i$*1mU1PuH;h_Fy{ikyUY3YVhYcd zD0U+847mLkkyGqC$0000000000001D14}Xsp&VC{!l>h($07*qoM6N<$g23fTNMo=(-})m)Oa13d#cHk<97$Kw}SBeCL4Hbu$rJ4=}t{ zvOm)uQD!LqTPy$o45ywz`GHT9aGU9vdQc{AtHz7w-HB+Nc;db?4AUEv#<`{mu!^E#Nx=qVLX?8B8iBM*1EwGw&#tFnUKovM*^0d|ggN%fGPP+`99f zv-HV9seSgC>%L&$6#-96L4kM80RR9100000004j&KNQFd80ov7Pr(2H002ovPDHLk FV1o1n%9sEE diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00015.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00015.png index 81da7862777a2aef8946928ac83eef32d4b69c4a..51e439646733e7b44f89db85c981cd53a1283b75 100644 GIT binary patch delta 411 zcmV;M0c8Hd1GNK?B!7HKL_t(|ob8#x5`-WKhHIyN{|D~S9-L)RQK6Kq`M=r2Rw#&q zM(g6nu}7Ed*H87te1v<6r}}cE-;aIl&@={QY=V%dkGM^wH`ov!(I2G@7vQbvlA4Ix zlWzMGdXBq|Bf#1F!KUzAVs|92DamlJama(YK+;v-^XLQ+_kYhKz{mT^@G7Gf*Rn}P zrD0uWs2}1u*h&uuswYa>fTNMo=(-})m)Oa13d#cHk<97$Kw}SBeCL4Hbu$rJ4=}t{ zvOm)uQD!LqTPy$o45ywz`GHT9aGU9vdQc{AtHz7w-HB+Nc;db?4AUEv#<`{mu!^E#Nx=qVLX?8B8iBM*1EwGw&#tFnUKovM*^0d|ggN%fGPP+`99f zv-HV9seSgC>%L&$6#-96L4kM80RR9100000004j&KNQFd80ov7Pr(2H002ovPDHLk FV1m%H%7Op@ delta 424 zcmV;Z0ayOD1HuE4B!7uXL_t(|ob8#x4#OY_hV8Pw{{!!^9ZZ-CB35u)^MBc4Z4s0z z3O&*`UeD_Ccji-G1qTgT7*r8cEz_<%SJAG94iR|V+}`P zh}IjmzGTg{+Ij_S_I~bD{-xR-jca-`rPoTxgIu6d#WhC$sZzZsq~T5&E< znNS+)GNFE`*TKE_AkaL~iv}eY8H=qI8DDBA*CB{4kiXJ*Q005{Q=bQGjmGXH0vD1%zdSp}%`%}GIl+hEtp|&W*y-Pe|pWfxB z@*_)+^DZ+S(*7@ZPJB;E7M zm;%w-3m6V^7&;em(Ppf^@l|5n>40bK-!o1O1#AXW~LEgrKXt1|a|d000000002sa=Zcky#wT@ SOgji-G1qTgT7*r8cEz_<%SJAG94iR|V+}`P zh}IjmzGTg{+Ij_S_I~bD{-xR-jca-`rPoTxgIu6d#WhC$sZzZsq~T5&E< znNS+)GNFE`*TKE_AkaL~iv}eY8H=qI8DDBA*CB{4kiXJ*Q005{Q=bQGjmGXH0vD1%zdSp}%`%}GIl+hEtp|&W*y-Pe|pWfxB z@*_)+^DZ+S(*7@ZPJB;E7M zm;%w-3m6V^7&;em(Ppf^@l|5n>40bK-!o1O1#AXW~LEgrKXt1|a|d000000002sa=Zcky#wT@ SOgZKwhDDwoAY z?7ay)mmIkcTaSR?>}O5+m+EvhsnKj`)+i-|+@J}?Bd?wS>VNoT1jJ;&c|7B3#c%ni zE(}N8W@#Skad2uk7It6IW&?`H#?#k`&0Ojv*HaK1Ah%@Cyk|OVK#F|_<-6`qM89re zs8_Q-mln}xDe+4z005XAax*`P_*;^G%(>=e)G&-LxVyHmHQH@4+Cv#$t~G$~k@FvZ zP|}W0&VZsJxAXGF$G zZReUiw}z=NpnF~wt2fS>dPIg+G7=RwUe`vy=EXEjeF2=?9X-O;`qqGLxqsory$wxD z)wjDb)e6O0i+|Ucq#0u*pr)3ZMQlR>000000000002u%P3-|y@dn>K;-K=W>0000< KMNUMnLSTZZ7{np~ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00017.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00017.png index 37311841295dcc87812d9a38ba3ef99cb9a2309a..b3c17e476a565bf5d879dd000411a84b6c38f79a 100644 GIT binary patch delta 416 zcmV;R0bl;!1G)o{B!7WPL_t(|ob8xN4#OY}MM;(3|G-_e3shwAfE&Oi(tqlrA-4H( z!sH``@qSg8$1|?$jd=)dO{V7Z$GpE^Yah)cfN=^&kvXE8O21h{zE%D>ZKwhDDwoAY z?7ay)mmIkcTaSR?>}O5+m+EvhsnKj`)+i-|+@J}?Bd?wS>VNoT1jJ;&c|7B3#c%ni zE(}N8W@#Skad2uk7It6IW&?`H#?#k`&0Ojv*HaK1Ah%@Cyk|OVK#F|_<-6`qM89re zs8_Q-mln}xDe+4z005XAax*`P_*;^G%(>=e)G&-LxVyHmHQH@4+Cv#$t~G$~k@FvZ zP|}W0&VZsJxAXGF$G zZReUiw}z=NpnF~wt2fS>dPIg+G7=RwUe`vy=EXEjeF2=?9X-O;`qqGLxqsory$wxD z)wjDb)e6O0i+|Ucq#0u*pr)3ZMQlR>000000000002u%P3-|y@dn>K;-K=W>0000< KMNUMnLSTZ`n8ZE+ delta 452 zcmV;#0XzP>1KtCWB!8tzL_t(|ob8y|j>8}fMaii1{~z3k%mWfK-ndDCX{CGAhb-P= ziZL8z8|S;bJ%0DO{$PHbXDU;3`NzDU@3o(X1YmeMLOXLLV`_eD4E0sJ0A-|r)M~d) z#r3Yt&ZS!J&Gs{3bM|XY^;i0IsMJIOdlif=2=##uIt*sY33e zl=RMsR$@n9B!BX`NB0`Bmc#=J*vJttr4+vly1~T7{Tus)2knhH3&LGi62}uyR1kNO z7+4IS#1>T~zzaM8>NrLDaB&Z6^1_{)vPRVIT^-e_Fl=Bqz_l8}fMaii1{~z3k%mWfK-ndDCX{CGAhb-P= ziZL8z8|S;bJ%0DO{$PHbXDU;3`NzDU@3o(X1YmeMLOXLLV`_eD4E0sJ0A-|r)M~d) z#r3Yt&ZS!J&Gs{3bM|XY^;i0IsMJIOdlif=2=##uIt*sY33e zl=RMsR$@n9B!BX`NB0`Bmc#=J*vJttr4+vly1~T7{Tus)2knhH3&LGi62}uyR1kNO z7+4IS#1>T~zzaM8>NrLDaB&Z6^1_{)vPRVIT^-e_Fl=Bqz_llK;ytR*Ohc zP(0E$zMtmtc<&qf!Mubv;;FUV==bj@_R}l|Fit^er;loz%DCBv{Hpvh%G3gNuku*B zh@%s=Yss2hwQU4!_I|c0|5ED?;u=k+_F7HxAQvF2xaQ~t(0}T$B4CgA$>(*xR$R+d zLv%X!WkUVX#=)t*2pqnkWrG@vjAg7VGHYp_+@>HFAb-g-{hk@@0cr0XlyyB!M6(B& zx)<4>ON%HI%Kj}D006oio=!Zg@?*GG>1Yc3$lK;ytR*Ohc zP(0E$zMtmtc<&qf!Mubv;;FUV==bj@_R}l|Fit^er;loz%DCBv{Hpvh%G3gNuku*B zh@%s=Yss2hwQU4!_I|c0|5ED?;u=k+_F7HxAQvF2xaQ~t(0}T$B4CgA$>(*xR$R+d zLv%X!WkUVX#=)t*2pqnkWrG@vjAg7VGHYp_+@>HFAb-g-{hk@@0cr0XlyyB!M6(B& zx)<4>ON%HI%Kj}D006oio=!Zg@?*GG>1Yc3$8}fgvqM={tw(k_kd&>{F8wK+e-7PhlH5H zxWPDFqu%{(A168sdQA;TWBak@iW(tv=L8ask?C1Kmq* zrHeayC%cxa+{(5q;BfS-PxV*YaCD)GY;@E#54 z!02Ax{wyu7%~sBDv4jwka{0~fw@*ncZreBdCIVZmRIVJEmOId8NJM$m0Yn^8R*b9wD=~ds6X{R9GDsItdCmc(S8NmP0nrha zoE;AF6~`O+|_(}jq7d+b}??Q1Cc-0B|GBn>_)3_LI@#* i5JCtcgb+f=dHw*pFKp2&&z5rl00008}fgvqM={tw(k_kd&>{F8wK+e-7PhlH5H zxWPDFqu%{(A168sdQA;TWBak@iW(tv=L8ask?C1Kmq* zrHeayC%cxa+{(5q;BfS-PxV*YaCD)GY;@E#54 z!02Ax{wyu7%~sBDv4jwka{0~fw@*ncZreBdCIVZmRIVJEmOId8NJM$m0Yn^8R*b9wD=~ds6X{R9GDsItdCmc(S8NmP0nrha zoE;AF6~`O+|_(}jq7d+b}??Q1Cc-0B|GBn>_)3_LI@#* i5JCtcgb+f=dHw*pFKp2&&z5rl0000o~}JB9(0O82OX#xZ^| zn80~#Tm@s^_hOS3G^$`!D=`YopRcgS+6(nLDEY8T*h2QG;Z0fXF09gS(j#VeIf}aAhA0ZwA(0V4V-&* zGaRZStvk^<0UWZ+kI=60@REtTEyr!mc9};vLIYTjQAU&KnSkid%c@lv%VhY1=o?o0 z3MQa9)%nN6z$Mx<4~i>i-J5{6*78=Uisjy+tJaiQi!+?sQ5A_xrQ=y^Zklf5l^6g3 k0000000000001}g2l5Lq#zf73$^ZZW07*qoM6N<$f`jJOga7~l diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00021.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00021.png index ea0f2a1b85412d41e9537b8455aa404bd615ed0f..529129a7a0f7dd6ba52a171023208cd46cc0d204 100644 GIT binary patch delta 442 zcmV;r0Y(1M1JnbMB!8PpL_t(|ob8y)Zp0uAMU!g!{~tVy=>o~}JB9(0O82OX#xZ^| zn80~#Tm@s^_hOS3G^$`!D=`YopRcgS+6(nLDEY8T*h2QG;Z0fXF09gS(j#VeIf}aAhA0ZwA(0V4V-&* zGaRZStvk^<0UWZ+kI=60@REtTEyr!mc9};vLIYTjQAU&KnSkid%c@lv%VhY1=o?o0 z3MQa9)%nN6z$Mx<4~i>i-J5{6*78=Uisjy+tJaiQi!+?sQ5A_xrQ=y^Zklf5l^6g3 k0000000000001}g2l5Lq#zf73$^ZZW07*qoM6N<$f`D?>f&c&j delta 438 zcmV;n0ZIPU1JDDIB!8DlL_t(|ob8$2j>I4ch3#hc{U3NPW-m+#ia$rI*x8&fbJ2D{ zC>5mk3T}Mf$?5g$XZpeX6s~2FTFb$>f8Kj<4ROHmDhPSTNc$vqqYv>fIRIs}fYy>z zQ7Kx_hFwb>IUP350O#mOpW-j1;mAT$lhIMrNCd4wHk2KCcYgs$$5$EP6aDP=8h2Zq z%R?p_ifx&#aY*yvRr_P3d7)MfG>8mh>yFG?(jccL$Rx;D^31qLI%`1ieFieGyM<`9 zfzevo`Ycz9GF$OqVhJI{58K06q9zlYYCk_j&+b@C}I_9EyG@e-GFJ=xgmgT=pz?a4z~`O$NyH zwEM#iFNgO2zyf6xWk^xPz)u4E%H|}~Z74D(uJTp5lrNxv7qx|4ryT&$&+jS8P6#1{ g5JCtcgpeuz0A8z9c@~07*qoM6N<$g0Sh*-v9sr diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00022.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00022.png index f9c016fd8ffc08fcb20cb58b525c73cbc8a613cd..ea0f2a1b85412d41e9537b8455aa404bd615ed0f 100644 GIT binary patch delta 438 zcmV;n0ZIPO1JDDIB!8DlL_t(|ob8$2j>I4ch3#hc{U3NPW-m+#ia$rI*x8&fbJ2D{ zC>5mk3T}Mf$?5g$XZpeX6s~2FTFb$>f8Kj<4ROHmDhPSTNc$vqqYv>fIRIs}fYy>z zQ7Kx_hFwb>IUP350O#mOpW-j1;mAT$lhIMrNCd4wHk2KCcYgs$$5$EP6aDP=8h2Zq z%R?p_ifx&#aY*yvRr_P3d7)MfG>8mh>yFG?(jccL$Rx;D^31qLI%`1ieFieGyM<`9 zfzevo`Ycz9GF$OqVhJI{58K06q9zlYYCk_j&+b@C}I_9EyG@e-GFJ=xgmgT=pz?a4z~`O$NyH zwEM#iFNgO2zyf6xWk^xPz)u4E%H|}~Z74D(uJTp5lrNxv7qx|4ryT&$&+jS8P6#1{ g5JCtcgpeuz0A8z9c@~07*qoM6N<$f~KX?*#H0l delta 436 zcmV;l0ZabS1I`1GB!87jL_t(|ob8#*j>8}fMM>59{}1k>vp_=NS1!-C(mm=Tag1%8 zU=sIA$9TV*)9de?>o4YE$V8^r^1-~nUwfy91fX~tN+)wv$5j0081kiZ0P55V^{8@M zhM3-k*|lWLt=V=39L|1@DgRQN4v`v9r_NeU$)HvcrnKeV1%IHmU#);M*%#9bW@|pn zT`q!wvCh^!wCmvMUD)Wp;8lYfLm^UM)gu)Ooz9dLp#`4-nRo;;1XHmS{Wkoh^67?^tYOTS8%SI3a`(LI@#* e5JCtcWI6xOVo|K|6cC&M00008}fMM>59{}1k>vp_=NS1!-C(mm=Tag1%8 zU=sIA$9TV*)9de?>o4YE$V8^r^1-~nUwfy91fX~tN+)wv$5j0081kiZ0P55V^{8@M zhM3-k*|lWLt=V=39L|1@DgRQN4v`v9r_NeU$)HvcrnKeV1%IHmU#);M*%#9bW@|pn zT`q!wvCh^!wCmvMUD)Wp;8lYfLm^UM)gu)Ooz9dLp#`4-nRo;;1XHmS{Wkoh^67?^tYOTS8%SI3a`(LI@#* e5JCtcWI6xOVo|K|6cC&M00008}fMaii1{~z3k_5lfbk69-p-J?DvU@pcf zX1U5SK5zDV{hsUk!TcCyB2sJl!?=Imdxw^BK=Cq+PR5A()cUPH)T;K7w4nyHReNns z%-)6UTBe$CC`j|g3KB)R$_WJ n<0=3E00000000000AQXkz>r&rf7G7F00000NkvXXu0mjfRs_?z diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00024.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00024.png index a1a29a201b83df603b39082d505ed70a4fad16ea..3ed39eca9c766488c7ac9db99e4d496ec89cd8fc 100644 GIT binary patch delta 445 zcmV;u0Yd)O1J?tPB!8YsL_t(|ob8y|j>8}fMaii1{~z3k_5lfbk69-p-J?DvU@pcf zX1U5SK5zDV{hsUk!TcCyB2sJl!?=Imdxw^BK=Cq+PR5A()cUPH)T;K7w4nyHReNns z%-)6UTBe$CC`j|g3KB)R$_WJ n<0=3E00000000000AQXkz>r&rf7G7F00000NkvXXu0mjfVlUIc delta 443 zcmV;s0Yv`S1JwhNB!8SqL_t(|ob8y)ZUZ3o|zeqkntPNaL(MMJKQ zF~K~}V;k4I`*{BD>-xd`7;Pd`wftk=ulL%aWdcyV4AIUU@tCOJ7DM}r{z+=MfLqZ= zGBJA>Zfj|td$;`x*qr?qQ~Nvmbcob=8lE){Wl#%*EA4r80e|TIvlXx>`(k*(XwBd9 zR2P9^tXZ0eejU8LFBW!Bc-4TD(PaAiL{m$j4-ZrR<6P63Dt)h3Z$Uc=9&p5)Pu^iH zHp`$_k$5C@OO5@{-`?vcAUSxBDE(8>-&^%wK{sW?UhYNSQ#1ipL(*=!3H4%nyHTk; z|4B^oo|zeqkntPNaL(MMJKQ zF~K~}V;k4I`*{BD>-xd`7;Pd`wftk=ulL%aWdcyV4AIUU@tCOJ7DM}r{z+=MfLqZ= zGBJA>Zfj|td$;`x*qr?qQ~Nvmbcob=8lE){Wl#%*EA4r80e|TIvlXx>`(k*(XwBd9 zR2P9^tXZ0eejU8LFBW!Bc-4TD(PaAiL{m$j4-ZrR<6P63Dt)h3Z$Uc=9&p5)Pu^iH zHp`$_k$5C@OO5@{-`?vcAUSxBDE(8>-&^%wK{sW?UhYNSQ#1ipL(*=!3H4%nyHTk; z|4B^o&` z4Kb|?wQEV5bG3N{1baWtDgCb89l|vw8SXU>c~A=oRa*1z1b>k0XAuzNeQ|r0yEWhC zE)$i3b(yVx$m8Hyy0FnaQOX7!kBrCGjLcecC+8_h1;~-y)9;B!4Y*>T0lnAFMAW;0 z;iE)-rZc9@R^m%6004wSDb>uXy=(1ecIFDVW^@1Qxf8V$o@Z>ys1YTrS;5Y%Z=(-D zZ~f=tI@5pAX@BVL5cvBOTEJ<=Y?DM#-#3{8rA|X>U^D84!iv19vtqGstEsSur71|X zTzZ$iGg(WtcZLbyhi<3=!_0^9{4O%QkXYXXh7n!gGpk}Sfe|2*l5RLR3!um_T%msP zJqrCpN}nZeM}4KgJj0&fI@}Ne=Q{-e0000000000;1{3r1y2JJLv#Cx%>V!Z07*qo IM6N<$g5N5^a{vGU diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00026.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00026.png index 0778ddec01d74c65e67a555163fc32ac9cf6236d..a73970865bd7c893ef7371fbc7a0fdbd392654ae 100644 GIT binary patch delta 414 zcmV;P0b%~%0=NT^B!7QNL_t(|ob8#*vcn(&` z4Kb|?wQEV5bG3N{1baWtDgCb89l|vw8SXU>c~A=oRa*1z1b>k0XAuzNeQ|r0yEWhC zE)$i3b(yVx$m8Hyy0FnaQOX7!kBrCGjLcecC+8_h1;~-y)9;B!4Y*>T0lnAFMAW;0 z;iE)-rZc9@R^m%6004wSDb>uXy=(1ecIFDVW^@1Qxf8V$o@Z>ys1YTrS;5Y%Z=(-D zZ~f=tI@5pAX@BVL5cvBOTEJ<=Y?DM#-#3{8rA|X>U^D84!iv19vtqGstEsSur71|X zTzZ$iGg(WtcZLbyhi<3=!_0^9{4O%QkXYXXh7n!gGpk}Sfe|2*l5RLR3!um_T%msP zJqrCpN}nZeM}4KgJj0&fI@}Ne=Q{-e0000000000;1{3r1y2JJLv#Cx%>V!Z07*qo IM6N<$g6+A%d;kCd delta 324 zcmV-K0lWUV1K$FWB!4DJL_t(|ob8#x4#OY_hV9b5{{#2X9ZU!yTANiW=Kr$8+9D_l zRJ$cN&O=;oUq90m^D*uzPd&?vem{?~L+j~4!EOk7`iS?5?B+h?NA#yth70gkbV*H2 z>q_mjWX)2oi~wiv=RW0MlI~EhsmXA!ama(EfKpXz9-RQBet#ALKHgWuYmC-h%ePE4 z8n$JI`a#CQUVAXmJWNDLjWrpHkVgUeP9n4IvUMOGR?%u>YikOz3ok6rJ7it1%ji-1keFq_mjWX)2oi~wiv=RW0MlI~EhsmXA!ama(EfKpXz9-RQBet#ALKHgWuYmC-h%ePE4 z8n$JI`a#CQUVAXmJWNDLjWrpHkVgUeP9n4IvUMOGR?%u>YikOz3ok6rJ7it1%ji-1keFa%B!6;AL_t(|ob8#*62l+}MM)?9{}0Y0U1Y`qMYL7aCihG?Aq0GY z54w>P=OG@qx0j>TX^XG(5TA2{(W_3p^hPui+I{`H*vvWNmV>*Wtr?H1q{TiF5$%eS zYqaJvBO1rhk}#L50{@mPM>e^Hn=*Rp5iyr*=~QNb_vrJcM1OvXlypg>n=1q(YT!q! z2bZgTEZXdn%26bV3>Y^0oM>oL)D-#3Y>VC$ZLvDyyz;2sQ%e8yJV=0E` z{P+dE*~Yn=Qh%IC+wk-#9=`!ByX6p(Qi>Q1uL>B&2GVY1H9Gt;y6C8diqzEIC>Ff9 zP`xMTB08r~G-3;#nVkWg`aY|H{GTj#46V5sUpgJD&{J7#0_quGHSuAkC5YP=OG@qx0j>TX^XG(5TA2{(W_3p^hPui+I{`H*vvWNmV>*Wtr?H1q{TiF5$%eS zYqaJvBO1rhk}#L50{@mPM>e^Hn=*Rp5iyr*=~QNb_vrJcM1OvXlypg>n=1q(YT!q! z2bZgTEZXdn%26bV3>Y^0oM>oL)D-#3Y>VC$ZLvDyyz;2sQ%e8yJV=0E` z{P+dE*~Yn=Qh%IC+wk-#9=`!ByX6p(Qi>Q1uL>B&2GVY1H9Gt;y6C8diqzEIC>Ff9 zP`xMTB08r~G-3;#nVkWg`aY|H{GTj#46V5sUpgJD&{J7#0_quGHSuAkC5Yfh`-P3sKQlVFjE>^80%j@?*U$ezX!5bOOYGJMV zQN3{m?{hbK4$V(o|HMc}+DVis`N9@py7xtlYaeZTZS`+3@qY?guD0+gf0(`op7(pn zpHA)MIt7{GGX||!J1gnF=7|GPA--f@8iZLSy&_EYmgUvLlQz8wPfsua08nGq01uIl zc}5c{m|u&?O5bAqAX*Xs$tw(`436hg_+6RlDKe)ZeylDJdeD>E_n;L>6Q}+Lz47$m zlhf3#h~Nx#CXX)CwNn16eJwuh2_N-qf8EVyLRK*PvO|vWR z!l_j%6uz?tfZl{P;10}czXJdO00000008&o0|~1_`M1*|{Qv*}07*qoM6N<$f}n`p AJ^%m! diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00029.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00029.png index f12d6df3266fc964f005594a4523b23e7c611137..ed77b440e33e8f8c0c0995786c83c7884340d422 100644 GIT binary patch delta 458 zcmV;*0X6>31LOmcB!8<(L_t(|ob8y~lEWYfhDoP={|D~H_99b@oI;Gz?BxGuFS0fQ zK?G%?OY!&qJuk0$cFcu)VX)p=s>fh`-P3sKQlVFjE>^80%j@?*U$ezX!5bOOYGJMV zQN3{m?{hbK4$V(o|HMc}+DVis`N9@py7xtlYaeZTZS`+3@qY?guD0+gf0(`op7(pn zpHA)MIt7{GGX||!J1gnF=7|GPA--f@8iZLSy&_EYmgUvLlQz8wPfsua08nGq01uIl zc}5c{m|u&?O5bAqAX*Xs$tw(`436hg_+6RlDKe)ZeylDJdeD>E_n;L>6Q}+Lz47$m zlhf3#h~Nx#CXX)CwNn16eJwuh2_N-qf8EVyLRK*PvO|vWR z!l_j%6uz?tfZl{P;10}czXJdO00000008&o0|~1_`M1*|{Qv*}07*qoM6N<$g56x) AU;qFB delta 435 zcmV;k0Zjhn1I+`FB!84iL_t(|ob8#*62l+}MUzhY{~z2%yKrh15HUV*I`>Q$i8X+P zM`F%nE8ef)@%i+#!*<>VA8d*%RFjxJ^ zX6)eo)J-La+Aj=0GGdW7i5Mkck{jUeeG=o`M^&!{|0);mP=Doe3orVI`#mUmf0TT8 zawq2{NDQAfaJ}4FM)%#mZ~-jDPs^l5h)uH8gpWLB({53c=H7(e3k(1NqT{R)nnSV;K8}oj8T9h(CIj{`IpRPp_qKs74iDFA8>1(N)A<>-y{fL$Nb_9u4 zK1vg_imS8i7gaOW#s)Wlz`b_kayy-h#46WvCm!`F7E?mP4lI15HbsV5r7W=9&Xx=) zb=OWvE|b$#Dc^O_?IHVmT$E@4`L1wpEvs?gQ$i8X+P zM`F%nE8ef)@%i+#!*<>VA8d*%RFjxJ^ zX6)eo)J-La+Aj=0GGdW7i5Mkck{jUeeG=o`M^&!{|0);mP=Doe3orVI`#mUmf0TT8 zawq2{NDQAfaJ}4FM)%#mZ~-jDPs^l5h)uH8gpWLB({53c=H7(e3k(1NqT{R)nnSV;K8}oj8T9h(CIj{`IpRPp_qKs74iDFA8>1(N)A<>-y{fL$Nb_9u4 zK1vg_imS8i7gaOW#s)Wlz`b_kayy-h#46WvCm!`F7E?mP4lI15HbsV5r7W=9&Xx=) zb=OWvE|b$#Dc^O_?IHVmT$E@4`L1wpEvs?g<)`A#0gULyFI`00000NkvXXu0mjfo3e;& diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00031.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00031.png index 4027411b7af1cb28517b1b0c1bc9a5011b174950..e67c683e4899e536c2841d34d04bf86d4943d11c 100644 GIT binary patch delta 293 zcmV+=0owlQ0>A>0B!34<)`A#0gULyFI`00000NkvXXu0mjfx|)cF delta 334 zcmV-U0kQtT0_g&fB!4hTL_t(|ob8s&62l+}MKRO-{|9%`E}W(aM57@ZGxw~VXn|fH z8t5WE@BcciS9v)?j3mau*T;X=8?Ifm1z|*g>Bf22Ucp;NUdAE!v~P}eF%qk?=z2S2 z_K^M$!Ww1ERs>+W6TM;v-$t~ST3BR!j_PZP!)lBIuAR_PoPXzAe6d+G59cG~$uQBu zpFtE>k^o2bGX-mY)VkBJ@r!Em3LQ1&sz`IN>}@!>iL}`iMZLExJo2WwEoq^rBgiEO zMGIP>TFJP|HnCv_DnEbgCLz4djD4&J_=wt_TTc8TwgN z2Y|kW(E(JVpGUTnGg|^Uk4wh1%zP8z4j2p)08TRV{Fxu9KaxkN|A=QO;Ux+H00000 g00000001cQ1(eLOxu-Q~p#T5?07*qoM6N<$g3soZNB{r; diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00032.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00032.png index c3151dcffbbdceb2674e5d148fcaca645e9e80a1..4027411b7af1cb28517b1b0c1bc9a5011b174950 100644 GIT binary patch delta 334 zcmV-U0kQt#0_g&fB!4hTL_t(|ob8s&62l+}MKRO-{|9%`E}W(aM57@ZGxw~VXn|fH z8t5WE@BcciS9v)?j3mau*T;X=8?Ifm1z|*g>Bf22Ucp;NUdAE!v~P}eF%qk?=z2S2 z_K^M$!Ww1ERs>+W6TM;v-$t~ST3BR!j_PZP!)lBIuAR_PoPXzAe6d+G59cG~$uQBu zpFtE>k^o2bGX-mY)VkBJ@r!Em3LQ1&sz`IN>}@!>iL}`iMZLExJo2WwEoq^rBgiEO zMGIP>TFJP|HnCv_DnEbgCLz4djD4&J_=wt_TTc8TwgN z2Y|kW(E(JVpGUTnGg|^Uk4wh1%zP8z4j2p)08TRV{Fxu9KaxkN|A=QO;Ux+H00000 g00000001cQ1(eLOxu-Q~p#T5?07*qoM6N<$g8V|1Y5)KL delta 327 zcmV-N0l5C@0^$OYB!4MML_t(|ob8xF62l+}MZcZq{s+z?T{vYhXiVA;V)NfBkuV@A z7=a*cE4FpC69afu#{2^z7Trt_$#>17Nx-%uEgs%<$?i&|@`Ij3YXoI{t-2O@rXelX zT$z9&(ck&B3uyMoI+i~ZY1f2Sm*=#2&)4KYC1C8@zZ44_@qdZ>N1201OW@6YnsB+$ z%M#?D12Ly}K-UMmSAz7dE~dOf404&&kF);1EIx03eNa;7zrf zw?w*i>p}avEAjTffkhcOyo#`*gSOfFrlk_#;QJiyz)z7Se`a0BIFrnofNBYvliF=) ze7?WKiLv}KYd`{817Nx-%uEgs%<$?i&|@`Ij3YXoI{t-2O@rXelX zT$z9&(ck&B3uyMoI+i~ZY1f2Sm*=#2&)4KYC1C8@zZ44_@qdZ>N1201OW@6YnsB+$ z%M#?D12Ly}K-UMmSAz7dE~dOf404&&kF);1EIx03eNa;7zrf zw?w*i>p}avEAjTffkhcOyo#`*gSOfFrlk_#;QJiyz)z7Se`a0BIFrnofNBYvliF=) ze7?WKiLv}KYd`{8(rvBn#MQ1646{$Vq`VAYbRuA@lps^6rZ<2nUxn}Z-gJHuxkt#*BJ2GFuO;P()j zk-1&HCP_T05K%ea-`0t7wDp#xS^hC@(GkQ&s0aMs1E#t?HS(rvBn#MQ1646{$Vq`VAYbRuA@lps^6rZ<2nUxn}Z-gJHuxkt#*BJ2GFuO;P()j zk-1&HCP_T05K%ea-`0t7wDp#xS^hC@(GkQ&s0aMs1E#t?HSB6{SQ2gnMJB71O%f#Hx^-H4OH7AeBoZ%e9ai!hHG%6}nHzXCvW0$$nsYGhc6 z(T_rnG)`EA_8ffpgJf{SvMmo&R}ni^XVUt(4MAx>Fcv6t`Q$*mhj#7&*yaPwLuf?C zc9telOKRrQGd4uj+hP-$LB1%8Vt{M1pB*&a&krmb%F4*7s(QJ+98PvOkW+dZuk%8@ zdmpljMn1I-?0>$l*w8i`6y$)B_gTy_0>OBFfG0vv0CZBoKuB4)5zO5nFV#m^x-s-?j&xJN zb?Z{ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00035.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00035.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..6d76960efd309f4a0e5fcad892a9c6b6c32bb6e9 100644 GIT binary patch delta 463 zcmV;=0WkiQ1L*^hB!93;L_t(|ob8xFlEfegMM>B6{SQ2gnMJB71O%f#Hx^-H4OH7AeBoZ%e9ai!hHG%6}nHzXCvW0$$nsYGhc6 z(T_rnG)`EA_8ffpgJf{SvMmo&R}ni^XVUt(4MAx>Fcv6t`Q$*mhj#7&*yaPwLuf?C zc9telOKRrQGd4uj+hP-$LB1%8Vt{M1pB*&a&krmb%F4*7s(QJ+98PvOkW+dZuk%8@ zdmpljMn1I-?0>$l*w8i`6y$)B_gTy_0>OBFfG0vv0CZBoKuB4)5zO5nFV#m^x-s-?j&xJN zb8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjftyi_; diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00036.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00036.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0e238204773a5ce6d51d5a1ce25147473482ed GIT binary patch literal 404 zcmV;F0c-w=P)vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000rrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 delta 395 zcmV;60d)TJ1Em9yB!6s4L_t(|ob8$04udcVhP!2Z{|ENMT{Iz-(vt$}@_*TdRthaz zDBUZCv2Vrg>lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`q0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 delta 375 zcmV--0f_#V1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00014.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00014.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..9068ab50d49af8af99788f17c6939150c5387fca 100644 GIT binary patch delta 375 zcmV--0f_#W1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00017.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00017.png index f20965b93a9104857683e8020bb96a3cd236905f..53b2eab90d8b33745b347e4f707c13ab2293bf91 100644 GIT binary patch delta 396 zcmV;70dxMJ1EvFzB!6v5L_t(|ob8y=4#OY_McbwO{}0~7_FzH)73~VtE%#&(Ym0b` zij{p!~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 delta 388 zcmV-~0ek+Y1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos* z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00019.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00019.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J delta 387 zcmV-}0et?X1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00020.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00020.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..e2e233f0147f46c5d8f5b844bfde76b129062a91 100644 GIT binary patch delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00021.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00021.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00022.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00022.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00024.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00024.png index afa9173a2db50134265726a18b83f78c125c7317..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00025.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00025.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00027.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00027.png index 182640db43ff9724045c67199b76083d44b6dd53..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7FK1DXSnB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ delta 376 zcmV-;0f+vY1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00029.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00029.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cs1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw delta 393 zcmV;40e1d~1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00031.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00031.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 368 zcmV-$0gwKa1C#@hEq}`ngdhw>apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC delta 368 zcmV-$0gwKa1C#@hEq~39!ypWVoz?dJA2^5ffEKyf1`IT4vi{UVM9IXA`6mj3AP9mW znC3d^I(G-*<7amO>p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O0000vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& delta 320 zcmV-G0l)t91KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42J$|1q#bkA<>sFr2VTKwxXdnpk&2peN&+(3$ ze%upkq6s^@?|)M6aOX0FA$mO=e_A$!3&SsB02=@R001C~f7DX#t{XFIasU7T M07*qoM6N<$g5xsG+W-In diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00014.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00014.png index fda55f50120668ceacffb79c3b669070627c9ad5..180bf33b703f9383340d40d18a1aeed002e05a5a 100644 GIT binary patch delta 419 zcmV;U0bKr|0=xr|BYy#dNkla$M*5s%-wsJJBWqKWkXgMVcprBbO+fb}$m_)A{T zZ!~|8`UIpypF}GMi4C^6SD)Gge8TSSya9>vD(=wcF+8 zVA(p-ClaNoh(Pp!aJK-yMk}hHC*d1JUp;=GF2!VZsq0pr%VCBZIcOjV^38IfHqY^n zntt39YN81{yMOOe?sBsA(5ipsIC^vGjM&s8l{yh(_Wtb5n&qiu@Ni+}#-wE!=Zx4` zEaZr7Ghk7cva8KVMnnC^PX+Cx2(==I2ilS9G-#ualGvH6ksqD~QNoAO|0J+Wzc&Hx z(@+`8k+FV}cmD%G3ula@t?EB%dm(x~9DiCigA2niVjKVf0000WiGS2m?XDX$YH|Po N002ovPDHLkV1kqc%&GtY delta 261 zcmV+g0s8*D1E2zsBYyzrNklCV3vB!09HUP z&?-QxwIIL>Q12xULVy8CsSLaTAXZhP|9C*yFAMEQLi_PBgMN52WU&6`Eb+_p1ak^% zTkQpB@CS^l00000 LNkvXXu0mjfw~%;& diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00015.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..fda55f50120668ceacffb79c3b669070627c9ad5 GIT binary patch literal 288 zcmV+*0pI?KP)CV3vB!09HUP&?-QxwIIL>Q12xULVy8CsSLaTAXZhP z|9C*yFAMEQLi_PBgLpDzu>R&O@yqiBa|&u(?FDD!?!3!Yyx zU&L(lQOk1FIx|=w><~LD2Z;kvYZL44(k8-(#A`wI$k%z4#1-&_m3XN&v3CV006BL5 m7v<`Z#9fFGLI@$`57_~1yHn5b2aKu!0000rrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 delta 395 zcmV;60d)TJ1Em9yB!6s4L_t(|ob8$04udcVhP!2Z{|ENMT{Iz-(vt$}@_*TdRthaz zDBUZCv2Vrg>lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`q0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 delta 375 zcmV--0f_#V1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00014.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00014.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..9068ab50d49af8af99788f17c6939150c5387fca 100644 GIT binary patch delta 375 zcmV--0f_#W1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00017.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00017.png index f20965b93a9104857683e8020bb96a3cd236905f..53b2eab90d8b33745b347e4f707c13ab2293bf91 100644 GIT binary patch delta 396 zcmV;70dxMJ1EvFzB!6v5L_t(|ob8y=4#OY_McbwO{}0~7_FzH)73~VtE%#&(Ym0b` zij{p!~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 delta 388 zcmV-~0ek+Y1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos* z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00019.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00019.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J delta 387 zcmV-}0et?X1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00020.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00020.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..e2e233f0147f46c5d8f5b844bfde76b129062a91 100644 GIT binary patch delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00021.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00021.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00022.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00022.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00024.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00024.png index afa9173a2db50134265726a18b83f78c125c7317..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00025.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00025.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00027.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00027.png index 182640db43ff9724045c67199b76083d44b6dd53..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7FK1DXSnB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ delta 376 zcmV-;0f+vY1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00029.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00029.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cs1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw delta 393 zcmV;40e1d~1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00031.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00031.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 368 zcmV-$0gwKa1C#@hEq}`ngdhw>apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC delta 368 zcmV-$0gwKa1C#@hEq~39!ypWVoz?dJA2^5ffEKyf1`IT4vi{UVM9IXA`6mj3AP9mW znC3d^I(G-*<7amO>p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O00008}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfj%&5e delta 314 zcmV-A0mc551JweMB!3)9L_t(|ob8#x4#OY}L(^&d{}1Ls4@?M=Pz9t78|9tWF0E2K zKm;N|5CnmToFu2ke^GhuPGBBWWkTr-R0dq1?~hLIdRYT_pfW%#517>#k!yDXOXvxQ zQ+?qZ0fkO(TJ?q1fP>&PV6+GmLTEs{>W=y%9@q@fJrB7DmVW`TUoz@AnLSVjW- znCXG%?1iv`4kFawPk8Wm)K5CEhTu`_NS7vBQwUxeE?3ynj-;PsRXz)wK|C`Xik5Cp+qZZyP&s1Bsn{Qv*} M07*qoM6N<$f>eo&3;+NC diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png new file mode 100644 index 0000000000000000000000000000000000000000..970b15944a929cb54b84d1187fb0c49d776ce161 GIT binary patch literal 341 zcmV-b0jmCqP)W-nCXG%?1iv`4kFawPk8Wm)K5CEhTv2Gq0-vaAjgxfa@jYGiT n^^^<1PeB1FN0fgM1i@ZzG{l9d4y4un00000NkvXXu0mjf06&f| literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00011.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00011.png index de32f3ce07dff69f81610af590478fccb00eb981..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*X1M>rrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 delta 395 zcmV;60d)TJ1Em9yB!6s4L_t(|ob8$04udcVhP!2Z{|ENMT{Iz-(vt$}@_*TdRthaz zDBUZCv2Vrg>lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`q0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 delta 375 zcmV--0f_#V1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00014.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00014.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..9068ab50d49af8af99788f17c6939150c5387fca 100644 GIT binary patch delta 375 zcmV--0f_#W1Cj%fB!5{+L_t(|ob8y=4udcVMRjri|G_@EhbDwVTTxqz**)=LDy4X5 z!LlxH9D8=Ue*LBn%%^ZoDAkvVx*z-4N3#T=*a}9T8u6HD-V{T+ML&!-+<=dwQyNm7 zUAXN_@|?TPSAetnDW-HRxg0{8nhjTtLkemG;YxcRod9zGY<~s#s4pI`@wCNv`O*}P zfo+?iI^^qMtKAqlJyFXB9E*)*t|vBq$wkgnkXj(GB&P0(lNzx2{s;74pC+QKA258B zsLynzXfqW55(@wT9u(8)?a#;d6k;o&cMqPyJf_r&n1!)G)jkvYmN>6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00017.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00017.png index f20965b93a9104857683e8020bb96a3cd236905f..53b2eab90d8b33745b347e4f707c13ab2293bf91 100644 GIT binary patch delta 396 zcmV;70dxMJ1EvFzB!6v5L_t(|ob8y=4#OY_McbwO{}0~7_FzH)73~VtE%#&(Ym0b` zij{p!~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 delta 388 zcmV-~0ek+Y1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos* z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00019.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00019.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J delta 387 zcmV-}0et?X1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00020.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00020.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..e2e233f0147f46c5d8f5b844bfde76b129062a91 100644 GIT binary patch delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00021.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00021.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00022.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00022.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00024.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00024.png index afa9173a2db50134265726a18b83f78c125c7317..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00025.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00025.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00027.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00027.png index 182640db43ff9724045c67199b76083d44b6dd53..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7FK1DXSnB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ delta 376 zcmV-;0f+vY1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00029.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00029.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cs1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw delta 393 zcmV;40e1d~1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00031.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00031.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 368 zcmV-$0gwKa1C#@hEq}`ngdhw>apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC delta 368 zcmV-$0gwKa1C#@hEq~39!ypWVoz?dJA2^5ffEKyf1`IT4vi{UVM9IXA`6mj3AP9mW znC3d^I(G-*<7amO>p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O00008}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfj%&5e delta 314 zcmV-A0mc551JweMB!3)9L_t(|ob8#x4#OY}L(^&d{}1Ls4@?M=Pz9t78|9tWF0E2K zKm;N|5CnmToFu2ke^GhuPGBBWWkTr-R0dq1?~hLIdRYT_pfW%#517>#k!yDXOXvxQ zQ+?qZ0fkO(TJ?q1fP>&PV6+GmLTEs{>W=y%9@q@fJrB7DmVW`TUoz@AnLSVjW- znCXG%?1iv`4kFawPk8Wm)K5CEhTu`_NS7vBQwUxeE?3ynj-;PsRXz)wK|C`Xik5Cp+qZZyP&s1Bsn{Qv*} M07*qoM6N<$f>eo&3;+NC diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png new file mode 100644 index 0000000000000000000000000000000000000000..970b15944a929cb54b84d1187fb0c49d776ce161 GIT binary patch literal 341 zcmV-b0jmCqP)W-nCXG%?1iv`4kFawPk8Wm)K5CEhTv2Gq0-vaAjgxfa@jYGiT n^^^<1PeB1FN0fgM1i@ZzG{l9d4y4un00000NkvXXu0mjf06&f| literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanos/test_sign_transaction/00011.png b/tests/integration/nano/snapshots/nanos/test_sign_transaction/00011.png index 6f75a6599218fd6ca395e5f014ad540381528c05..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve+20`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& delta 320 zcmV-G0l)t91KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D diff --git a/tests/integration/nano/snapshots/nanos/test_sign_transaction/00013.png b/tests/integration/nano/snapshots/nanos/test_sign_transaction/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0e238204773a5ce6d51d5a1ce25147473482ed GIT binary patch literal 404 zcmV;F0c-w=P)vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& delta 320 zcmV-G0l)t91KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00013.png b/tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0e238204773a5ce6d51d5a1ce25147473482ed GIT binary patch literal 404 zcmV;F0c-w=P)vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000H2m#<3l*OiL?N`Uy1>t1pO)`;a(i8k<&>IQes|ZwRvad*nfbQ0Zxn1j*@Mh7TK@p zO96U@L$!&k+patkxBUXPhWD!icM-M7$j?^N?*nv5QP{6AhoVfDQ0oxB2kbqybM>)W zumOrPybob^Haszppnd@sX)<~l*4@<@HaMlViilzUK4a340-V&&A%f=hU0N6)DfGY*?;x{WpGj^P|E`o!#$_OoXVb8r%P5W`?YYD)-j zOAd@;=h+@3#Y}X4{Me|N>i%k{V{nE5yl z@7iHmwt45izq9H#gr~(%S-DT`+20$-=S6w53q`A)Fm~VNe<|;UvxQ2%RB}m!p6cu% zmD^Pzx$z6rqSwx4Ja?17mTUjfWy)T@nr`X7lX;dg28L#yT`XSD5WRmEqutGZzx74i zZf5@s5}w-hb;iQV4WARVWhHLx(OAnCt7{`yM8e&_ICZAesglKNc&PvY diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00013.png b/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00013.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..1463263efd94907d83004d85e4f2af3aa7a8d56c 100644 GIT binary patch delta 277 zcmbQjyq;--ay`R0PZ!6KiaBp@c=9zH@Hhmnc=4D2Op~5cWSLr%hs>>i%k{V{nE5yl z@7iHmwt45izq9H#gr~(%S-DT`+20$-=S6w53q`A)Fm~VNe<|;UvxQ2%RB}m!p6cu% zmD^Pzx$z6rqSwx4Ja?17mTUjfWy)T@nr`X7lX;dg28L#yT`XSD5WRmEqutGZzx74i zZf5@s5}w-hb;iQV4WARVWhHLx(OAnCt7{`yM8e&_ICZAesglKn;;r?wz z4tBD576MufzZYu1vZyAup~uS+r92QV2PnZ!u2XKBf0cUkJ8N!PQuCJ3XIDrMJTUn> z{k2dYk1Hv(bYyH^Wr=3irulgVbKU$cY^7x;6o$^TMcm%U6TPr~)B*v6DwXd}Rd zjIy9oQtv+6fOD?bOL7L816f~>rEPAnSR#|$LJKqXTxF&F6b#ySzgQC2+^H*zs;X08guTjmJZZ<-4d8Y3vxo!)K@j|3 Y-r76Op(T;lvj6}907*qoM6N<$f>`>sr~m)} diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00014.png b/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00014.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0e238204773a5ce6d51d5a1ce25147473482ed GIT binary patch literal 404 zcmV;F0c-w=P)vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& delta 320 zcmV-G0l)t91KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00013.png b/tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0e238204773a5ce6d51d5a1ce25147473482ed GIT binary patch literal 404 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00015.png b/tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00010.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00010.png index 393a15fb76753fbec14215b680629fedbfa392f5..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmeyx{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@038sSIsgCw delta 480 zcmV<60U!SJ0{R1xB!9t4L_t(|obB0LlENSmK+!nmPT2pFvX}X=q}qNU;U(kT^A(ZM zElD8Y?U>*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>z@as@f}T8+_Qi8fxL+)qT516n{?5GoqPsZA!_ASx(i7 zwEu=)gEo|}@C5YkrXl;1obwwoKTvoA+|_qtF9(hbZ1h@vc9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F00009lcFm`nhbJ{xd~4eLv+BqFsM9rvX2&;IAN>34hv5A^+A1-(64{q{ z)yvr_Keae!b!y&g`R!-QRSWYSR((mH9%Y{X-R!KYoXU5>E8p{1$^DsrrrWA#!C#)U zX?!1Z*UT)Im-Bc0S-qiN=+B>NXM#DvJ^&F7N_k$JtBO3|Zr=yudb;|#taD0e0su+c Bhid=; literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00009.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00009.png index 431986c71c6e730392aef05dda8241072bc257cd..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 517 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00015.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00015.png index 137ca9e4946dcd461fab8ca146124917077d946d..471324463647c42b2de74c282e34caf0e801955d 100644 GIT binary patch delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q delta 339 zcmX@j{ElgYO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png new file mode 100644 index 0000000000000000000000000000000000000000..137ca9e4946dcd461fab8ca146124917077d946d GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00009.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00009.png index 431986c71c6e730392aef05dda8241072bc257cd..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 517 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00015.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00015.png index 137ca9e4946dcd461fab8ca146124917077d946d..471324463647c42b2de74c282e34caf0e801955d 100644 GIT binary patch delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q delta 339 zcmX@j{ElgYO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png new file mode 100644 index 0000000000000000000000000000000000000000..137ca9e4946dcd461fab8ca146124917077d946d GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00009.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00009.png index c3d91803266513c0381429a103e59db091faba59..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00010.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00010.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RTUqjv)X5 diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00010.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00010.png index 471324463647c42b2de74c282e34caf0e801955d..e9cbcd7e7348486b01339d3c8cbb5a9ecbdcef37 100644 GIT binary patch delta 300 zcmX@je4J^5N83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RVF^j!ggn delta 433 zcmV;i0Z#tM0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjfl+MsF diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00010.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6P2c86wBYy$qNkl5xVz)Zm*Sx(;7EA8YU$lXVmb5JTKcVlPZgBz zPq>GpTrJ_pVfG!cx@za@YqiM)ILhT*guAsth?bysfv%ZV8ArK{`%q%K#wn?FL?ZR4 z%)A36%2IRuGJidqk5=C@m{hZ>M=(QOWqmlD>D*`YEwFN&zDknOzvGz%l*{mbX7tO0 z2`EmGKQ{W$Lk|9uH>g6+KcC7bcf~9+nT8`ks2#jML3Ezm3&4 zHpIs1j%gnv`c<>fI^Ugj>BA`ZH)0xbMYex>Y;|DttbTId`vkXJbr0^g`YfBe02Q&#)Htwt@YVWaUiam?wHi<~Hk!UhY+_+Sep`a%1bHHR#{HtR z2OMk1pgh;zg~)noCP|VcNz&#cq!lb1RPFJ30JlSPU}**#_nkvp zy|moBfoftoa(}kNnX0=x+}fa5KDZb+gO=uX%z2Kg^WzZdH2pY9ebcaF0I;fKy=~Jn zQWfK9J9+_znMFN10RzzW%%P^yc;NuuwHEv2DM|bcs0Jd+U2DtkwS`rjry^9|h*=4j zkJ$SYrMT8w-+X~{SG2NX4>&@feUogiT%fEE_`J7fPJhDJ7UeNi@6xt1d%zNOF=Gt2 zjancvned({)AA%q?xVg0RmB7P5tnGpu&M>l81%$q@&UKsEiuIe*w~QUASj74ruvMu z(aUqK)}*oN!qmI8VT7H60*MuqH{X6yBBoUBl|oQg&xy*F=BY#7<>21vQCH~MExuAZ!4Xc}h#-rQolaP|%jKZV$Nq6yaE27T_5GjdUeTT2y5(W7Ns=TFMwvjJ1b1tt9gQWkSN1sQ-ko3>Yk{EFbtzD2iyDcrKj~Rz ztWvjJhX`u47IP^?XdAiNStvzmr3Br5z)h0!$PB1D9G;^rm7~K2HPFRVSULa;1hxAY z1S9)q!d3JybDl!*43L`p8bR&&`Dbr;>nsiw+IHE5G5nkF diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00010.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00010.png index f45f45fbe7f8d86586d88d270a4f91f1436690e4..afb2b86184b57eab884c6bcbae24ec9baa8aa51d 100644 GIT binary patch delta 946 zcmV;j15Nzc2gnDIB!7=dL_t(|ob8)kcElhEh0~tyWcI(L?4=JmwG8ML5RGa1o-z(9 z!T7_?%*U~c^E~Ot*Xy;c>z(Dng;kuVB2?apSqYbq z*!vTuxYkw6J}9hTBBwu zJZh6sYJZk)uf~5**8<-ih`<4FtvLX)PKY4o3lLk!**<)iS4yyl+8HoU4%EQr_yUnK zimr!-C8+u?>43|<6s>%l#E4fCjaNR;!I2uflq5-#B*}7|?*j&N;1m9kqMCw~Yn)Ll zQ+JR|X`>{4L9wtwiQeBmVj163M>Z_71%irq(VnsRIE zDyJqOYygybN=xFWmgRR3_?EDK&<#g*kW4?hkZw4}z&QXwPy;0`G?rk1l~k3)+wlxQ zxS(e0R2I%q(3Y`o54iml;aFZ4;28jobR|n#RAn#a8-kD%QTLQgoorS4Q)phX4z|1x zJAb|tzL>OJY&ZrBgD19>=5 Ub0Z^*$GVQFjW`FApasgtBTV5Rii2eUN zV9)H6?v2rk_p+-CL(!I5IuB$Y{Aw50bzgsL(Vzt)gY-2c6ALoQA0dcukSF3h=lw$G z3@Cfopx)QrK;%teS}k%u*A`J`DfS<+i9{liNF;Rp3~OrjdRw5@M&tCia|5H?b$K-@ zV^bYnYpWn;Z+~KuIh^OY7y_iso~)C@84F6rt%k;b73nU+t<~~{&~xC;?%HIr2ws5h z7;J`zb8298DvU}AXI2(bq*Dvf9b`9jP9nq_$UpO40v>WU)`lR_tubZ|x4#V`y$eso zaJ+-uxJGdo5gEJ#kjRUVlUUbofi$m_cMACT=uNkZ}Q`HCgp&24k(+25}!E7obb>h{P`#sb}24 z*=DXawtxFIE$+iwGVXC?(SC2I$hh0_f@&O1LyL4flNK?)a}_RA%m_P{h7K6iylusH zq@jsKB9TZWc0kC2Tv^0G?g27-#Y{Ykl7nfEAuV{`B_=bPKfZ#Tvuxa=Mo58AC~a;I z!;H@p>bHmEJ+ zQr80c!Lc;m4m3VO#*r;~un&oB|Lh`mf1RSyQ+qraSpXNAWtYTbIF|im!}95;i)jE4 zJc5`vn+a diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00011.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00011.png index c1e704a2db30f88efa0b45c0b1dc78351e208489..f45f45fbe7f8d86586d88d270a4f91f1436690e4 100644 GIT binary patch delta 962 zcmV;z13mnh2-pXZB!8btL_t(|ob6m&mZcyJr04Wb-2al?%Y1l-;pRmJ0$x3-uiKb} z01}c?`={)}d7kZ`$8l`y`kV2GH<6i&#f|fRp6Ak`ArA1yUoNzBj#{5;zn2f!rTPPu zX$4xX`e#)UdnaZihx*SAV)kPPY@YqgrwiqCI>^*$GVQFjW`FApasgtBTV5Rii2eUN zV9)H6?v2rk_p+-CL(!I5IuB$Y{Aw50bzgsL(Vzt)gY-2c6ALoQA0dcukSF3h=lw$G z3@Cfopx)QrK;%teS}k%u*A`J`DfS<+i9{liNF;Rp3~OrjdRw5@M&tCia|5H?b$K-@ zV^bYnYpWn;Z+~KuIh^OY7y_iso~)C@84F6rt%k;b73nU+t<~~{&~xC;?%HIr2ws5h z7;J`zb8298DvU}AXI2(bq*Dvf9b`9jP9nq_$UpO40v>WU)`lR_tubZ|x4#V`y$eso zaJ+-uxJGdo5gEJ#kjRUVlUUbofi$m_cMACT=uNkZ}Q`HCgp&24k(+25}!E7obb>h{P`#sb}24 z*=DXawtxFIE$+iwGVXC?(SC2I$hh0_f@&O1LyL4flNK?)a}_RA%m_P{h7K6iylusH zq@jsKB9TZWc0kC2Tv^0G?g27-#Y{Ykl7nfEAuV{`B_=bPKfZ#Tvuxa=Mo58AC~a;I z!;H@p>bHmEJ+ zQr80c!Lc;m4m3VO#*r;~un&oB|Lh`mf1RSyQ+qraSpXNAWtYTbIF|im!}95;i)jE4 zJc5`vxBUaqb9FqzVZwL zl1N~#?N`}_^E}%>kK@>8`px*IheV|2;=#C|=ecxgj01Y`TMO-sQR`E+d--tPsu!e8 zE6~oWf7U6`x==fFsejxMYCm?s=ICEOT_~U75TUVT+NiZ^Ykvf_fKa71uTB6$|KA<3 zC;Gy?vs(BrhfFvVeVL_k5c}ZUy0OlDy|%JJ3r2>qbw_3{M36sHklr9a5$}xqh0Zsi z?0p9Hz3wKWXaUpC65r=K0%ewB|0gz)NF)-8gpDsa3cLT}_MCdI#R`xkT9vQa67y|2 z%9+)Lmd2JqR)1M`4MM`eX)K|(;U1MS7n9Umf3wu7QYT88+sq)jmy<`#h+pj8YLmX`j3SB9BF zY94cdndQjfZvYHv%gaYyj855)bwrJ?nJPnJ^$CB6s(*7~PAt8e&#!UeCqb_bI$-&u zUD6i2tBY3Qi9{liNF-hWmW;DLugvaeQ zZ23sS%Qx!x!2T_!-DO;bVqMKVa3}moxjM@zuV>vdt-Y%)#>lwgb`d6uSrc`0bO*z( z3ixra7=LF&tKPO%hJytyhUpJsYPKk;DO`fKXsu`#Vq_eo3bYubZEPiT=|2)nZQ%z% zK5D;si2A*b4!en^PaQmfYp?mKPy`G9b|F%eqs=nv5L(-RNl^n4bNmU-8pExF zS*=^sOJLnYT!1YC@5#*${B_X#6kh1p#Cq$QZRE>qL%wy!G&5@q^N%J%beSx&p&c__ z2%ck%2)R$6YFZ(q8_ls3c_bc;ewnfZ>g#!`Uj-a5 zLx1!-&$wBHIZ4&E)PHo=^B68e8J+x;pM@PM=--RlMBrm7uR{C$-m=*fiNqYp6r{iG z&WIj#PRhfY!6`PZ8cB>>?sX6KL*Jr$pjXkAVleG{wCv%9Euv9Vk^?T?SsLS&r3A`s zYQ#by-~G+7Ofz1^4rY;Ck6~AYd7%gPJA2XS&+4JZx~e5ykZxkfj-FZRHPkRit&lpq z$6kt&F?f)R8l)l?Wdo5b+i1e^bzlx-IbQJ|zJ(3FVC5nvN9~8@Rmel|AGZqaOmftj wSC42tWWIL5*d6ojCeijfo-UC{BoZ&gZyM=r**D`9UH||907*qoM6N<$f`DWE+W-In diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00012.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00012.png index 6fb484ac58ed68718402bc8e263925e7f3a54d85..c1e704a2db30f88efa0b45c0b1dc78351e208489 100644 GIT binary patch delta 1026 zcmV+d1pWJz2bc(uB!AyYL_t(|ob6muw%s5I^!2=*WdBRbUiy(!>xBUaqb9FqzVZwL zl1N~#?N`}_^E}%>kK@>8`px*IheV|2;=#C|=ecxgj01Y`TMO-sQR`E+d--tPsu!e8 zE6~oWf7U6`x==fFsejxMYCm?s=ICEOT_~U75TUVT+NiZ^Ykvf_fKa71uTB6$|KA<3 zC;Gy?vs(BrhfFvVeVL_k5c}ZUy0OlDy|%JJ3r2>qbw_3{M36sHklr9a5$}xqh0Zsi z?0p9Hz3wKWXaUpC65r=K0%ewB|0gz)NF)-8gpDsa3cLT}_MCdI#R`xkT9vQa67y|2 z%9+)Lmd2JqR)1M`4MM`eX)K|(;U1MS7n9Umf3wu7QYT88+sq)jmy<`#h+pj8YLmX`j3SB9BF zY94cdndQjfZvYHv%gaYyj855)bwrJ?nJPnJ^$CB6s(*7~PAt8e&#!UeCqb_bI$-&u zUD6i2tBY3Qi9{liNF-hWmW;DLugvaeQ zZ23sS%Qx!x!2T_!-DO;bVqMKVa3}moxjM@zuV>vdt-Y%)#>lwgb`d6uSrc`0bO*z( z3ixra7=LF&tKPO%hJytyhUpJsYPKk;DO`fKXsu`#Vq_eo3bYubZEPiT=|2)nZQ%z% zK5D;si2A*b4!en^PaQmfYp?mKPy`G9b|F%eqs=nv5L(-RNl^n4bNmU-8pExF zS*=^sOJLnYT!1YC@5#*${B_X#6kh1p#Cq$QZRE>qL%wy!G&5@q^N%J%beSx&p&c__ z2%ck%2)R$6YFZ(q8_ls3c_bc;ewnfZ>g#!`Uj-a5 zLx1!-&$wBHIZ4&E)PHo=^B68e8J+x;pM@PM=--RlMBrm7uR{C$-m=*fiNqYp6r{iG z&WIj#PRhfY!6`PZ8cB>>?sX6KL*Jr$pjXkAVleG{wCv%9Euv9Vk^?T?SsLS&r3A`s zYQ#by-~G+7Ofz1^4rY;Ck6~AYd7%gPJA2XS&+4JZx~e5ykZxkfj-FZRHPkRit&lpq z$6kt&F?f)R8l)l?Wdo5b+i1e^bzlx-IbQJ|zJ(3FVC5nvN9~8@Rmel|AGZqaOmftj wSC42tWWIL5*d6ojCeijfo-UC{BoZ&gZyM=r**D`9UH||907*qoM6N<$f^W?HmjD0& delta 893 zcmV-@1A_dR2$TnqB!62;L_t(|ob8-jmV+P+hM76tiThuYdzlAMnV1^^0)i*slhqI+ zNPxe#KWP@{dBTs!aZIavWq#=?)Kb1Y*zV_f4!t!?0QBUC8qI7Y7*nqIis8DH4~#a@ z0G7%ha}l<7)GJ|oIH-u#lXgkA3)e~wE1VIo417O5BL{W`WCjCwg3x(0C`swQsRtJQ!(H)5r ztrT`OZ6eeN4NKS2EHNk*N&byz8usBC=GDa27`=O{RigB(8H;^t+X;JN+_*Ukv}_ub zG7^mB_{*{mje1>0hgEo{AeaY^`rlmkWG$HYdY;7jEBzM1h?;07`P(J?U?tsMGEE&FxMj zz(~I$G?N#0z+Swt1NPDZckO^Y3ESUUTa$&p4=4ha&SxWWWY-ZOvC;G!1VKuF2FED8 TpV*qk00000NkvXXu0mjfLFclA diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00013.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00013.png index 2f514b48f9d2027a0122623319ece3284253cff7..6fb484ac58ed68718402bc8e263925e7f3a54d85 100644 GIT binary patch delta 894 zcmV-^1A+X?1C$4lBYy*1Nklo4 zB1nM0wm)eW=Xt`9$8k)ndS!m;Db!NFJlO8%c@DibO91rbhZ@anBN$Vz_ln`Vln;zH z&;XXoA9E45cI4LcR=;5&x3>{6x%ID@F4Da@P}4{@u+^a3+<$`90J)-`M<)Q}|9=F` zX?;|^a<}ZWTvdfqP`4S{4rm;FqzmJ!&&N_WfLLrSb@kZzf*Sdjg6II*ku}@>qA&-f zxqXnI>tZ6RUBJLnXnxLTSev2DpJIa`2!bGx`Jt!KMx0dwps}>Hm&z&|edw*IE_C{5 zEql%=QPF!5xqnP0Re&0^mdZX;zr@y6>qLs#9&Ou!60mZK*#}64sV~P>t(P~+$+By3 ztcJ3%*}!-|meE($I&2zg@K04wiw?@#DA}@jU*!&{62*`WTefQ3srOB@U5d1E7P$RvvYnMn1vbbkOEeVz9sc^fe+tk(L;(gF5# zW=Vw=3o?Uol{bWC4rn{WM%5E)5ClOG1Os5iI7Cs6QYQUQ4GV?Qsru>b5LO3-vC$og z60H<=HEkl)2n|cu(JV126-oY$XBzh58Rpf*)fl~ds#T)&s~L-ZYTF5WVcfVm3bbq* zlrj>Gm`ufk^(~xNc2kfhwU*rXZLHj{4tR_GB%X_j;bh`78Y=R07*qoM6N<$g6Q0`vj6}9 delta 433 zcmV;i0Z#su2g(DGBYy#rNkl%@}sb+Wc}Tl)H-;VK3K20A-EnV z%cwzqY(e<~@iusDR>C$*wrHFIVbU{5Q#JicF*p56{Yt=|^6*?PJ)_@TUekZ$?ok@z z6V&_W)N|uK;D6t0PS5@GcihP<0KjsuWi4$<&*gpignfL(`UBwbBS$CW7L$3gO1dpr zIf0F(o2j}y)Te2td}X1TDJsqAQiW!adZD+?D?sYMXLBO|QD?n~^`wUGIurkg z+3Tza&~JU-(8)ntQ0UuF>W61|KATcXuJeB}0000004e|g00000000000000000000 bfU|r9InYp>n=yH200000NkvXXu0mjf@etEL diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00014.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00014.png index 4c6054eae8aa93a4b1db94ce6fa78c923c951244..2f514b48f9d2027a0122623319ece3284253cff7 100644 GIT binary patch delta 433 zcmV;i0Z#tI1%@}sb+Wc}Tl)H-;VK3K20A-EnV z%cwzqY(e<~@iusDR>C$*wrHFIVbU{5Q#JicF*p56{Yt=|^6*?PJ)_@TUekZ$?ok@z z6V&_W)N|uK;D6t0PS5@GcihP<0KjsuWi4$<&*gpignfL(`UBwbBS$CW7L$3gO1dpr zIf0F(o2j}y)Te2td}X1TDJsqAQiW!adZD+?D?sYMXLBO|QD?n~^`wUGIurkg z+3Tza&~JU-(8)ntQ0UuF>W61|KATcXuJeB}0000004e|g00000000000000000000 bfU|r9InYp>n=yH200000NkvXXu0mjfJwDTH delta 684 zcmV;d0#p6U1H%Q7BYy&lNkl$n>2^|8y=7+p57*rqa^dU0L#5kVx0S^>VLJvzedA5oN~m%5BXvF z8fe}h)&GocLl7sQjvz67R>7U+bYFAB3*aIC^8D!<#3ZRD;dI`zWwy|ITb_iMA20v_ z001ZusvrYWlay(l)FGudkfa)hJnw`LRQ{w@M@gE9)-aiq@-+A2xeAnb%lv^q)cPEI z+c0_~SKsKkc7I!AzJ3HTPU~?}4a*~xl52q!pitw@;4-2)#C(%`T`KX z;y#_dHt9qi=meSr?2-7uL_=+pRLQ%Per%gN8QY<}0Dt1K#dBk|_qK$VBAGTt)~|XP z@^QtGGRkYwhGswf7pA5tyYp}k0As1-fX6etJOcoj1jM*%N!md8ny%ZE*m)ufWaL-T zfNIgwV|F_;1hq-(Si^83WvxfxBlIR=aa-77mCUFyO6>A$=oaD`)ChLxzMsA={0f?1 z6yrLYy?@Wzc7QG0@oqJfocda5PpmIPN50BXPWe(P;eQkLl~nU%b*DO6zW@Z|6_vla zpU#2AQ!ca;18%~{p+8ol8l_+lvC5cWzny^{pk>!iY_X54V`UPy?b**-v?lOrBQ{KM z*}eMl7y5YcH6BYy&lNkl$n>2^|8y=7+p57*rqa^dU0L#5kVx0S^>VLJvzedA5oN~m%5BXvF z8fe}h)&GocLl7sQjvz67R>7U+bYFAB3*aIC^8D!<#3ZRD;dI`zWwy|ITb_iMA20v_ z001ZusvrYWlay(l)FGudkfa)hJnw`LRQ{w@M@gE9)-aiq@-+A2xeAnb%lv^q)cPEI z+c0_~SKsKkc7I!AzJ3HTPU~?}4a*~xl52q!pitw@;4-2)#C(%`T`KX z;y#_dHt9qi=meSr?2-7uL_=+pRLQ%Per%gN8QY<}0Dt1K#dBk|_qK$VBAGTt)~|XP z@^QtGGRkYwhGswf7pA5tyYp}k0As1-fX6etJOcoj1jM*%N!md8ny%ZE*m)ufWaL-T zfNIgwV|F_;1hq-(Si^83WvxfxBlIR=aa-77mCUFyO6>A$=oaD`)ChLxzMsA={0f?1 z6yrLYy?@Wzc7QG0@oqJfocda5PpmIPN50BXPWe(P;eQkLl~nU%b*DO6zW@Z|6_vla zpU#2AQ!ca;18%~{p+8ol8l_+lvC5cWzny^{pk>!iY_X54V`UPy?b**-v?lOrBQ{KM z*}eMl7y5YRN)eWAy;Bao8U$L9n)%)QA|CtvZcZ&{pt>Mx;sc&5$b}gaGV|uHm*!k*< zc^_+^EIYn4e8O9uX+MO-d~_HX>UAtw&x*?xy$O)DwR*CH*)6v%)aL2rOUyYRA7s2( z^88-$F8|rb#2;S^t#{?i%bFOx^B2<=*0xYDzUC|92lj5wzw+2g>2`hb)&)za&gq-7 zxn$G+zn7RE*nNNAxjS$6-C|?E?Ui3-7;u10`7gh39MKltSOrqx>FVdQ&MBb@04ctT AU;qFB diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00016.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00016.png index 914563b11cce944c340e4df681a2a8b4a884142f..db7c22e31883fd4aaee39ca17765700fb05d0318 100644 GIT binary patch delta 313 zcmZo-zQQy?rC!?8#WAE}&fA-gLd^<1t%+~HsNMPRac3!aT85g7qxg@E|M{v9EEEI0 zFV{vpp1Wxl?B(xj)I57_)11u-A>pmT72D0%ZrcB*ChJV%@{TD%>U%fs){)+JJXZd$ z!co_)w;8wU22WjZIJeHP*v;(f{qTVQ%!`h@MTfiAaOs`Yw+^enmQdv}y;W1}eD%e= zkF`&h9p4!~;jPZJA3|b2It&c;Iu@*F#pR0L1jyQ2J=wwRmfIF;^K|kh=A4fYGF~is zey@0!|LkMpkFSN+yYl5_O$^@oi)jmMTc{Ub^A+&}d$;CadF-TgyS{kqf~8aE^iA1Z zvT6U{OH2>!zCZ8Woj3b#v7gcQ$}chuI6$WSm)|#zXp3&F0x9rx^>bP0l+XkK)U}En delta 359 zcmcb@)WkeNrQXxi#WAE}&fDv;o0=7P+7jQCsK2TAe798GXYLp7NAg`azV9s3Qh&nY z@lxQNVc+8~GRZcX)4tAJBJ<|+ul>7bt-bq>L+D6-(ague*S+kdpS)!cjsKRJv|qCM zW@_fEOrLK&KmR)}YJIeAD$AzJCnHa)?f36e6O5Y_fArOFq2m&@_1YV@PPRH#@%xmW z&&5s6rzLM4J<<2^q`acE_6^n*5q}T0ovnNET5cbE{l-~k?b}`z%|0Qu=UJT0d^OuQ z-I}wj-mN{8!GAXQq}%^Y$I|Nwefk%!O}eRdf6twyht>)qQOvh_FV$>Y&2oKrEsNy* z-uL^>{9ideO}S?MxT#oE(^20yVZV<*gPz$Izl7O4e`_?@m0oMo`R^^ATT(0jNbHIP ycSG{7clLJ||I)Qx{L6nw8(ZEY2JGO0e+|Q-1jZRb{)=CLRCv1jxvX7bt-bq>L+D6-(ague*S+kdpS)!cjsKRJv|qCM zW@_fEOrLK&KmR)}YJIeAD$AzJCnHa)?f36e6O5Y_fArOFq2m&@_1YV@PPRH#@%xmW z&&5s6rzLM4J<<2^q`acE_6^n*5q}T0ovnNET5cbE{l-~k?b}`z%|0Qu=UJT0d^OuQ z-I}wj-mN{8!GAXQq}%^Y$I|Nwefk%!O}eRdf6twyht>)qQOvh_FV$>Y&2oKrEsNy* z-uL^>{9ideO}S?MxT#oE(^20yVZV<*gPz$Izl7O4e`_?@m0oMo`R^^ATT(0jNbHIP ycSG{7clLJ||I)Qx{L6nw8(ZEY2JGO0e+|Q-1jZRb{)=CLRCv1jxvXC&xrQX)l#WAE}&fA-gLWdN194@}7n0)8I$IkBVJ`YX~D?f(6`AZX2)pQfI zH?bKTZ@wAmQ}EUIW2c958?WusdshWdGtHQ}s_n?-!j{=asr*0LSLqg=TW@dkzDuWh z)vt$stTQJ4Ra&OB(A~yv!{g+Y+pS&dDyr75I=KJ(^#_p+JD>lnkKXw~@_xo&jjV#) zQkLKIU3XYq^bZcG;k{JwQ}jab!FcWNHPNwkvoysYYF>A=)7)R`u}?@vxj56x=F{v%c`B zeOMBg6232X!Y!X79_)fF0a8AnTFE?%(3DDh;H-)78&qol`;+0MZwm=Kufz diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00018.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00018.png index 43c85f24dd3de78e3dbe1e9d71df28a02235be44..fb4e7918681a183322082ef74706bcf71cccf1c7 100644 GIT binary patch delta 332 zcmV-S0ki(z1@;1vBYy!sNkl3-* zCM{qqvIa9Vv)NHhaP>{`iAW=c4Lzma)e*}An3<}E#M5zvn=)k&`3I^ka?Yw0BczUg>!N1qn;8}pV=YRfNx$qg^X#FT^aBX!2 z`=3R)IMGj2P<##2aQPL`jlo|li>zB+ewry4;VIWaJ}JL-NWKyzBXemwJo3k`v%vuX z03w&!0f;m*40Rm|DLFx62pU-G5lzwV^f0%bUPI#eB^iu8FL#` zftQ#f+<=#8<#ldNq4wq<=X<}_YIfXRNWoBv77^w3kD|63Q-4H^sH2<$AJ?1z74XR1 zH&^A#9zC?xXyXH&AlAWK{9&taGa5c;dE+O75v%Gu5o7$Z1sxj$r-M#*pLVp{b>|Ey z+s1(IA$&)sa&b-KmfWoCrDg1hn5V@iPHyr50002!@e<$sq^94kgqprQ=v;#MtG;D9 zYAy72!puNu*MBXwRxn+)c&ag)*l^ycqU8P*&v&PmSv}&{6pZ`zWg~U9Sx~&?k$=i} z02y^>qG^zO&lRtP(O`nI!MgDmk~35qnGG%3?**NG44Rpn;W|O7V~-|d1*AWQ;|=b* zrheI)HK9oK7Qg7UpNh!xw2%0{v`G32Fjtj50A+Rz&VTfaPS~yZ9jZG$HCua{aRvxy z@rfXo?a&O;XF#?7+r>30Jkzh}sg|r+*Ka~(3`~Q$o&f*=0Kgt(GHwF@q1#PY={#3a z*Pd>!&G%(qhn(gFvv@&;y$oH*Mw48A#jaVfmZKBD@=rfRymx@_hOWb6&T@NyB3z%@ zX;UpB!GGJU8;QAP&s$BA?^*%oRBcT<{=-Zjm&P@{*>_zJt%hbQA`wa+ zOs`Wj{ji809`Vdh^yM(N1x4`BWNyQ!&+Z1B{d@GZY>+v4%rl^sf}h|!=RN=c00000 t00000000000000000000006+3^9vq+5vG^LKREyZ002ovPDHLkV1h?aRFMDx diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00019.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00019.png index 471324463647c42b2de74c282e34caf0e801955d..43c85f24dd3de78e3dbe1e9d71df28a02235be44 100644 GIT binary patch delta 711 zcmV;&0yzE41KtIYBYy&=Nkl*40Rm|DLFx62pU-G5lzwV^f0%bUPI#eB^iu8FL#` zftQ#f+<=#8<#ldNq4wq<=X<}_YIfXRNWoBv77^w3kD|63Q-4H^sH2<$AJ?1z74XR1 zH&^A#9zC?xXyXH&AlAWK{9&taGa5c;dE+O75v%Gu5o7$Z1sxj$r-M#*pLVp{b>|Ey z+s1(IA$&)sa&b-KmfWoCrDg1hn5V@iPHyr50002!@e<$sq^94kgqprQ=v;#MtG;D9 zYAy72!puNu*MBXwRxn+)c&ag)*l^ycqU8P*&v&PmSv}&{6pZ`zWg~U9Sx~&?k$=i} z02y^>qG^zO&lRtP(O`nI!MgDmk~35qnGG%3?**NG44Rpn;W|O7V~-|d1*AWQ;|=b* zrheI)HK9oK7Qg7UpNh!xw2%0{v`G32Fjtj50A+Rz&VTfaPS~yZ9jZG$HCua{aRvxy z@rfXo?a&O;XF#?7+r>30Jkzh}sg|r+*Ka~(3`~Q$o&f*=0Kgt(GHwF@q1#PY={#3a z*Pd>!&G%(qhn(gFvv@&;y$oH*Mw48A#jaVfmZKBD@=rfRymx@_hOWb6&T@NyB3z%@ zX;UpB!GGJU8;QAP&s$BA?^*%oRBcT<{=-Zjm&P@{*>_zJt%hbQA`wa+ zOs`Wj{ji809`Vdh^yM(N1x4`BWNyQ!&+Z1B{d@GZY>+v4%rl^sf}h|!=RN=c00000 t00000000000000000000006+3^9vq+5vG^LKREyZ002ovPDHLkV1m+_RA&GH delta 434 zcmV;j0Zsni10000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g2Ow|O8@`> diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanox/test_ensure_always_clearsign/00015.png b/tests/integration/nano/snapshots/nanox/test_ensure_always_clearsign/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00010.png b/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00010.png index 393a15fb76753fbec14215b680629fedbfa392f5..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmeyx{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@038sSIsgCw delta 480 zcmV<60U!SJ0{R1xB!9t4L_t(|obB0LlENSmK+!nmPT2pFvX}X=q}qNU;U(kT^A(ZM zElD8Y?U>*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>z@as@f}T8+_Qi8fxL+)qT516n{?5GoqPsZA!_ASx(i7 zwEu=)gEo|}@C5YkrXl;1obwwoKTvoA+|_qtF9(hbZ1h@vc9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F00009lcFm`nhbJ{xd~4eLv+BqFsM9rvX2&;IAN>34hv5A^+A1-(64{q{ z)yvr_Keae!b!y&g`R!-QRSWYSR((mH9%Y{X-R!KYoXU5>E8p{1$^DsrrrWA#!C#)U zX?!1Z*UT)Im-Bc0S-qiN=+B>NXM#DvJ^&F7N_k$JtBO3|Zr=yudb;|#taD0e0su+c Bhid=; literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00009.png b/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00009.png index 431986c71c6e730392aef05dda8241072bc257cd..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 517 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00015.png b/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00015.png index 137ca9e4946dcd461fab8ca146124917077d946d..471324463647c42b2de74c282e34caf0e801955d 100644 GIT binary patch delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q delta 339 zcmX@j{ElgYO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 diff --git a/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png b/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png new file mode 100644 index 0000000000000000000000000000000000000000..137ca9e4946dcd461fab8ca146124917077d946d GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanox/test_reject_transaction/00009.png b/tests/integration/nano/snapshots/nanox/test_reject_transaction/00009.png index 431986c71c6e730392aef05dda8241072bc257cd..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 517 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 acou(u^iLm&WE+710000Q}p}P;kgtK8f{X8 z^se|b-cs}qij{2YUo}9nuMuDz{ijY3*E<{_G?+~qwY1n6!GGKU6qT2(od7`j|0BRA z`oKNW+Tyd^<$}18wo#1(7zaPt1wHri7|RAJEjBH_I5x6?Aiq*jK0tP4&A2~Q=77t# z58`uOO+>v5nDj0%KgTmg8&&M5SjTZ3$8l5{-Y5|UMH^X1A%W>=GP2br_NYp6ncD$S zjN^c*X5eJ1;eP<*O&!eyQ_zUVs;bpg(}I*E`u28593)3Tk%7dGX`Hf-hLLqtcp)QB zlzdlnG^`B>w#cFb90G0%0wQ*Cy6e@^iZ7(Z9nlpqa3qG!yQCu>U7muDV$*fV3XUAd z;nS$H@wb#_D%(*hs7nvn!jTBVV%%XW8{bhCEiI^6QGaYxll}xBA6`g+7IDN!U5rZ^ z`@X8zp8rXmC3|edmX-7P?9l-SW0!)=R5onF+)rgQ<4BdQ5l=x*f~#zf<1i_XZY8;G zBS%IUS6As<9ZN^@VqEo^ipL)!w;4e!vC}iyF;)oHomIJC%2DyE;5aiC<1hx=WBK)5 zua_=lHh*GI!{Spp7SJ{2Hr41~QX_zn-M7Y|Efy(gYq_mh$ZhgR?UI})w@H=nV%&$} za+~8gOHs`gn7$M*0Rv)}J8(dF7h(P+OfTlDt3B-<+{XI=5jkw9wf1TV%3(wbDjJAq zA*^D2tWyy2iesRtI6kT}I0x0jC(Hr%U!Sea{76Z7nEU0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g3^7^Q~&?~ diff --git a/tests/integration/nano/snapshots/nanox/test_reject_transaction/00015.png b/tests/integration/nano/snapshots/nanox/test_reject_transaction/00015.png index 137ca9e4946dcd461fab8ca146124917077d946d..471324463647c42b2de74c282e34caf0e801955d 100644 GIT binary patch delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q delta 339 zcmX@j{ElgYO1-J4i(^Q|oVPb4`3@QIxCS=g@ch1C<$Wu^cjn0po=zWEzx&A~xa5j{ zaI`T41gzMxd-wg{rfa{y;fuMpc2m;J<{*aCn~t=vy7M$UQ^7@(;dQD)Y^`zi*>?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 diff --git a/tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png b/tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png new file mode 100644 index 0000000000000000000000000000000000000000..137ca9e4946dcd461fab8ca146124917077d946d GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU literal 0 HcmV?d00001 diff --git a/tests/integration/nano/snapshots/nanox/test_sign_transaction/00009.png b/tests/integration/nano/snapshots/nanox/test_sign_transaction/00009.png index c3d91803266513c0381429a103e59db091faba59..59fce75cd1321a13bc8840b9bc6f48f87485d7c2 100644 GIT binary patch delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanox/test_sign_transaction/00010.png b/tests/integration/nano/snapshots/nanox/test_sign_transaction/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00010.png b/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RTUqjv)X5 diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00010.png b/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00010.png index 471324463647c42b2de74c282e34caf0e801955d..e9cbcd7e7348486b01339d3c8cbb5a9ecbdcef37 100644 GIT binary patch delta 300 zcmX@je4J^5N83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RVF^j!ggn delta 433 zcmV;i0Z#tM0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjfl+MsF diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00010.png b/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00010.png index 471324463647c42b2de74c282e34caf0e801955d..c3d91803266513c0381429a103e59db091faba59 100644 GIT binary patch delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB delta 433 zcmV;i0Z#t&0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..471324463647c42b2de74c282e34caf0e801955d GIT binary patch literal 459 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 literal 8687 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 diff --git a/tests/integration/stax/snapshots/test_blindsign_valid/tst_review_004.png b/tests/integration/stax/snapshots/test_blindsign_valid/tst_review_004.png new file mode 100644 index 0000000000000000000000000000000000000000..afb0c5601ccb8216a0f02bec3ac2f7582aa90f38 GIT binary patch literal 7168 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 literal 8687 zcmeI2X*8RAwEt73El#VHmYUic$`Nv?xrS3}s)nO&ki=MXqvn`Jof-~RY6@a1+Gr6` zEg^oVGB(c?SSE_6z{vdVY$Fb4Ay>r3wJJ++cC@#=Y>u?^ITPnL%TB;GzTR#H5g# z+;5z>3$Hy__H#LJ-aCJ0Uy{ocy3HHqq&KlRziNGNG@_8j7_TupH5gzm#1$=ZCJ8uj z1+cSr$QTy^JbHZ!2zYST9`Nx}E#TD+mt%iCZs&S_B97 z77!W_P=@O`Re3Nug0OR311!_yN|o}SSdN~^Xm;= ziOcbrieW5A{Y7t7NU@vX3O5FchlCC94wnZH!w|UdjzM2HR_?cf&Y!0>FO|k>fywGa z?}wgl#x{%O#l*%rduN=dKq#N;fOKt|ujcf3O+6FN9UBgZ%0)7y{s;9bWeOHTKBOI^ zl(I=bg3!r`;tC(46TV#GldmS#>T6_c=&%PA?UA2-sR;i)RNORY_STc&8i=dg?JAQc zrNxs}uPJ8$sF?Bx`ei*uG)vY(qQ^#f9O($ji5Bk(%#<|<$&}?iVp_lwj(Z77w@Hk^ zn1xU1+5>gAykN4qhC3DO(_iO{TPe)qv+R1IM)~wTbec*D+UIA(@IJ1*eQBL@pA9oU zzhc6;xVJ6ihFW6h z+_<3+=GF;iBB|ZK!Q7>fcjllaYN`rpb>8F+4CmhH#h#Z2*?t14$%}+iUXUjqIGNaF zV|^O)ROLrDY_Hk~{Xs;|5y$GYo9yglJkbX{D4Yo~KJ<5l1Tm~KqmUqDyhvS$vPSY= z^0~t+Cc~n7Po}O{SH1<-hDMr)I!l+OAx=iN-q+`-GQTG$Jn@4bW zwWPa?X^Bi*h#WH%q(Nh39PrSluRLBcw(eTCx{onBQCt{YHU4WFT^(E@P`E$EYctx! zr1Xo*1Z&6vWgod~+BUk|2&+M2TAlWl9=Cnhw98%n<);tEc;_LO>71W6w|+fR=W+(Bt0%O{48`<3s*PGViM1= zRL@xQv+n#DdZ`$!<}US(o-2v>ODI)sk6LJr4{M}<%Q@eleYGf!&>@BIlQdVl^ulHI zKyd${ZR^rWK%^qV6?|17ODNcpbbJ-Y60={oPf$qtqCLD3{USmmgr)vS+I;Hy^+&Vc zhI(oNE$9B9t1q2LV08l@2i-e;20$C+huP20&N~0|GRA|rA325a9{X=~{wWV$h=O#S zsE^%^DrS)Jyt<5e$ycZ?PLfGzvGyoki8HZ`P~D-^0TLrkmyAw8rMAH|pRK z#>TgLp66X`#}2Gd8;SJNN_X=0il(-_aY0)iMAB-Yf1-bbw# z1%Ar4Q@*AY{UWQwY2bio^)-O9=NX`(L5{2ii)(J@o>C6G)((ShWhN$vHaU1!YXU?T zzX@rA>DLjijqx4w_PsFX^~Vv#+bZW!!w>b_LF!&E3C5Pjch4poY=_-6`}r4SsRc^x z+lqGDbG{AcA2^C~?}xDL<{(`e$Qas|Qv&xY?R@@{fx(Rsv|0aX2N$Z;gbSeumg>7m zQV|&AeAGFvBvHcGoOGGt;O~;aObgj&+qGU>I@UsX$%XK4*c%;h4R{{oO>>8$o5z|(hnhBex#+jA&M?REfg|o#^-1e*XnBOf9&r! zZ#{&f+ZHs``}o_V3U=4jd@!C+`Mxprp%TN`I^eZ#djymCvvyL{!T!E-7I%cZLYtqK zy{ciRr>6r4GGzmYA&><-3v!6}55-4Xg!goh#1na`s<{JQ>ABkmPM&(Hi7TIut%?KH za5swaqnL$lyBF^i- z-tb%Ld4Mr>`mwQ`0`T|9AS}N7ba%a@=4YvApZ3r9$9OhV`=1CqJ6`yV0}9#uU>clO z7YdaI#$e5}tPMTq`{e){E$al8u8ltRmJ&+Jk+)~rIZ{3mYnmlTsuJR>CS!>S)~^%Q zMU!+%=fd1up4rB=Hvhub9B4Dw$o7D4S5LFHaaj~ma^z5JeFJbnJMGC&d#ej5W*ll% zX^GTL`S#as^6#fjhc-XNbc0H;J_Nb1g;@_1#QQg9(jgXJqyB;QFq5Lco2wFTPkDR} zi*#~9?xz0MZQf{pyaG5t^_ysJ39iw|j6q!XfSMjTStu*3B`0EiUT`CD!8J8Zg_MrL zOeb9Ma60xn!+onv;l=Mh=KTzml50YRa1b&#&Y2kz2Z2C@P1?rYa5>L?G$bg@`gb>A zrzLdy1d@z*<|Gs1-R3fdg;WZLx)~iP5}v8+%WZO0S3d5LDaUcS`0{t(*w3T3E5BwN zb%%-V3>9kyek44eCw1ph{p^HIstROqskAlBiV5L5A8%HNsLYl{rmSz5`CvkoCA_-e z##qjVa$R7Ua0k-#(mQj0CEo(`T(j=HFWP4c^iZ;GRRtP>65Ce#F|}uRS>qNsA-Pt^ zYi_CEK93*6!uiEMd3>IL$<{6tS2WK@Hk;c7ycukEd-7IT&4}+EWlwdBVt2Pe+w$^1 z*1NmrfBETizw57}kk*N1SFQN--aJe8R18i|IYxT_PmA-1*3bs7c3!$qTMSj)SPJFK zR{@iO11O`*?X1l@pVLC>t>mI&hhE{fzju0{j{y?^q^T#;Ao9b%>gCVr;hqJmou^F~ zFePi@HD^C-ML}J5+u%E{VL!;{`0|Yw^+S3FaP<&K-_1%}9P#gvyO#k(CyLzQMs%x_ z7Wl0bzEfvb>uK)Do!*{D^ZZnmaGds{+b1fCda~G z$`Rw|3T}|q^-D%@JfY2wlaLu-O*&8U2*YovCn~`;cXgS|Mwp|s;D=!Q#?Y*s1AYSa z?)pF-eQh%4ZD28@g52kYeivxEvzXIT(6%)f^Ww}Q$&Ly5yudLhM&XE{+n~Agh$wwp zdk)shCPWl7B333M17wvfgru=^a^?U-@?f0E;_x^#1d85m@qYR`sY4Y6?GkX*pX^Qf zb4gGp_!5A9_L=~3Uq1bI1ChvH3va;)x4k{z^Jd->gB`ncF)EPX4!)+s=hkc zB$s+bpV}LKF5R6X<>$W37k2U!fUO>U0v$ZOO_jIOZmg_9IAaBXvmaBW3Z5-6X3aJr zqU}K(y+^Djzv#8ouL2(F@pV*HR+cuswzE9k+gm?64SxtgVPCGu6)M%T6(Ch3c^>&C za?X&P5xi4LNeRvxcHGOvCIE4Hbwe467>>aeqXVKV$GK8|cHArXTYb%T9@+@s4nBD= z?`?ue=#*!^+}R%|%dJi&-hEYFAC`&{cZ+1ybM54Nt_XDp0^h9f=-p-%f?oJw3}X*d zfi1HvGnmC(^`1fsr&#?m4o58Ua-|H;$Zg7i&w*$VNIlh$F#V7K4Av!s9HO%M>_6oLkMjAl)okId#FspPFEd}-%vUhX1ueL#4*?@LjdU7 z5yVK^c({pj_l*$*vU`;w=EjyYJi;AqhhH1Qhm(I93wW~5%~)b`h3D)ZR~iX6%#<6E zPn>>ye$m&fTB>S z!`%(WNQt4ev@|E_uE!q`rt9Ss5(#vN)~l+~C0*cck;HUL9mU}A^GU!H_==pco!Jas zdnHD|WU>-dS4vyJ8wB3l@kmuAtXz6@6~5XU-%MSJHt>Q{ikPy&{3^MY{>S?Xq?#Wm zP4ZF+n%U7cP(*|{&uV83hZ-a|t^T!|C>kN&H3sKiMHR1I8UH%Ff4AhVGJut0H-7wI za_}!f`IjX93(Wp6fWxOpPL6SeJCK~&PN>Im8g zKfrXuqL6R2)7}E3jACFIY%+aPbb}2BRfJV66VW6IFj>}Oy{ys|#Z4*X@T3t5h67o> zJCCxIja?#Fo!0=rrTRTpEf`wdg**3-S}jDVC1`Yv#cg{Y*8{qyzCTTWl8;_jrQfUro#zW`1iTW z6)KsZKoQ7_#MBE>N>hqrI|5<13|jEFQ=cbnsZn5t9U^Bs@e_#Ma_Yt1Ow$`S!fpCj zyqfD9ngh%+zNl#8^p$B2GQ`Y{BDbtDSbB_vPuM%#+;^W?+igWbWZM_~(b^I)9tu+V zc!FJ6<;3`Xf4S@94{BDn_lY%~F+C36uC1x6o`h);lMh61g@}*WOO(Lm+HG0K^slpD z`(oUGP29}s7>Th4s}P=6t0<1bS{3+wSmwjDH#xQ^`eF|z$y86EZD^%9mr*_3z{P9s+&~UYWX< zJuTZxPp@xv3fkj8w%$|#KWZ+p3=_XtgI(<(QOt z>DUhsq9?t1DW7P=OFM(*U!5ty)|?U`n4CM~y>(sC9wg&4j^S3n|LXLW*f~}k)r{}k zL;2n$y3QBl(CBW;WBBf6*oSY->aulK+>PxE%wmR&Og(kU=R+f}W%)kA`IpMJ~sH*j;}h}mhd*m32sp}6rqTTd4g^2!IX2lQSC zvwVOU%3#gZJT||so>&4_VH`b%Hz6yeWV`y=YP&DOf_${MHP|ySI3#DV8$-DN+;T@P zq8LBH#QJcW!J{gbjmXH6-+fH`^elAB*+YoC!=cat9Rdu;87R%1Qp%p~&f+jP$x_t% zDPLIC0PfEZN9m;}2|-LNeNH2IfMONGIZgeTF$RlMl0{Vz4c{xIWXeYLx#`fvm8)|z zuJZNn%3l+&uJ^&DvC#wSVfj};J~^^|n>}5=n&Po{5|lOaM--JWIiJfH&{<%!YE)W3 z2HZKM|8t1T$Dhoxt4m8wr(VlibQEPSA@x-5^KwSCID`b=1Ghz5Fy@aZ&}rN65^dv* z-AoPVd`@qRO}%dJGpD@2?@>Wx2__rzId)7i4d(o3%-?}$zeqZRRo~pVEF81U7VBBt zG?%L=ex!2wzW|Hw%tx(bG!Zv@zTU^)oO<(l%iHyTZK=~8YanOLXH*aOm2WZb+fFm6T4AF=1?}cwE zrZ(=W$@K8e0 zq0~6gprmBuapzf>{e+lXT2DC}p7>kCG>*;VgtKLA>{7V0WSiWSTMAVZrDqU=_F3_c zBw33w^#e9LwXFB&BIdg&3{e!kjl^T|N=5xNxuRg|(HRl#wg4un?t`oaF=6K8>uhQ& zJ-o$BKk!XK18O@^+%Q$9>j$P0v11s*o3x`+s*2sm9i2uDrfbf-^v zLPMEEW6O(f9jN}%XR8ZAOK8ou+M@=A6#Cj%>n>Yf9GjDhaJ?UXFBMWYc4sPM5w3I1 zo=#{Fs$*W=7Bp?TSAc_4GVZesxV$gdo_Kl^ZD`zaTzkyo6TIDL{7S{@~e3a+~4b_uM zI!sIl&FCh*1uCUPxW_a&z8X!{8{&6A~GembcfR}V}8MG6WDJuqBPea1%*GrOO z$Gw_vX=fL-C7RguCQG7Lrtce!b_NYIg8g@?{l1z7wsKF(R!Q%|d=E0{n(L1dB24^P z{Ba-9;i4^!*r z2nd+@c(hVuTSe(G@Jm!tv~so^j(f$rLhbb)2AZD8nXh?-^_jmzrJuXMp*QPCun~qL z3=IvRs%C<5cVqS_7j*q(x;&waVRI|%AByLTxP>3B4K6s!`D zx2>W@CFb5W4qc#R?jO+X*0DIl z4n}Y9_<>n`IY*jB?$ijOux%?LZQA@zn;$nNHN0hTh~3EIBo)4YIN@ljV#L{~RE<{x z2TIi{@XY;EoZQPL23*3L&PYhASfG!%C=LYG!(vdV#Es!jgT`os7$(0Yq4fU2=nY{L zs**^fH2Gp;>R{)3tmT34@wxQM5=*3>R41=(ojpr7F`0Q-q*?N+zEmM4rA(CM5#~Kt zs(1lsEI2&KH+_+s%tH-gcO0IR=0-``YHQ3K-NgFGpy`?udew?%fYwvhH)P^OhV6c_ zPR=-~$H5v5F9C2~aox(S&$R{XXK&}*Vbp`pTj=V`rSppK-JXL uJz`QNK&iX7_-P^6iYfp9-lGkN7u2%g%h0m}Je&tP02U@zH*1Vs{`?QWA6`iS diff --git a/tests/integration/stax/snapshots/test_parsing_errors/tpe_review_0_04_full.png b/tests/integration/stax/snapshots/test_parsing_errors/tpe_review_0_04_full.png new file mode 100644 index 0000000000000000000000000000000000000000..afb0c5601ccb8216a0f02bec3ac2f7582aa90f38 GIT binary patch literal 7168 zcmeHMd00~GzHYE>qtt0|m!|FQPAg5@WzI^&Hq#ukLNP_D9JUo`0uG2!*>KX#U8I&~ zG^i9RSf;2bSZ*^SHzx=wkwBK{to4oW_x|4B z`&~O69<*ZVhNbi7&07(C@RuX==FR_Y-n<157B2wa_(ZhV&YNe`6a35GW7+p6#G;%p zAvO;pXZ#2Y`hR$`|M1mLtG!n9_nlw4$zt)#OYnU=et-h^x7H`*Gw!yD7hY=R@p6jI zvW*Qnu)i%bO&JUW?qTzl6Gl>yVqPco;-X7GK=*wASMeX10yAS`+@qp*st5uRU|^-A z2>K!e0%==k#7i(@wwnOsPvWLATGP(3BxOl45W(Xt3)2=)tEh|}_s83iEQvxh*M0I? zoU7tlcUlrlLW`=UP)t|yFVoOv@GwVW8+DG3hS8xe{mtUD9(KGB z;8|Qwgd=hICR~U~jWwy)qUAQZJP2aQO6c;(_%}G@&i)Yi4(dzWNDe+e8FRXp9Vf8)u$Ob;%rf zfZkRXl-NauUK6f=sBm?tGkyH2a=PkFXj07VRX<&b;n{HC?WCNHahX%}Ez{gkRp0Gf zL~=3&QoYciT)?k(_Re~v6t*2|$YhA8;6o!@kG#))=E68x=o!O4|Ke3MLbZD)->vA= zm$0Y>ghqyibAmaXx9MxPE!r?1-?qj-<9O$a=$*W8dg!ZZIO`bF2Jt}6TxCC^E!O?krY5>V?UEwfdZD6DjL-5&$?R_Y3Ba_L` zUFNLoU(+nSX5Xxe!ZH#}%Dc@70BL~{{S|eIhUQXE5>^`aISM;po!xfez9(rN6S=wb zf<3Uf#d+_ybNNW;M*+Dydm-9CbtCntB{&K;ql`j8sah;~! zl^_ExssRIw1zbe-NC68!U{>w2H$A&%kT!;g5U$C28|T@5)9G|92CzG%Z9DFU#>dCM zri~ko9R!UI7tn6Nc9@hOD{6A`@{9vNEJ%>XlP@7eCW8+342p(jWn2&=H42vbkL1Ri z&I3rgWtRDy>$>hthH*wNJo!v(pqzJ0FFOk0fMC=MB7lBiU}Z_4nkRt$m(YLK119tb zg9$Bv^d|GoX?o`>2lLXQDG6jk<7ynzj%Ii#LpmMA!?zpEWqW~{6^TSI7szMY2$YsM z*Q?Rm+1bo?X;;c+n#Oej7H<5Qx?q66A?>N8e^FKV)tGShclJnaX*|)qtRMp zQm^mY1fuaIHQ<&hpH%y40(ii3a0p;GsyrizLfPOYtfg!#KBw3CY$afPD#HO%phd*9 zDRQ5l7v{hHr1TeiL5-6*tq+Xv-fC?r{4l2%w)0@q)wK~;&kH`Q|9-)HWvA!4;ljzB zH$=zSycPq{{?+O?PG^#0YM7ypME6Y_-q_Jm`j zg%ZST zlOnJV{25@kYJD@Ja>>3;o&lTRMVB97X4A#U=vu+)CZB+M#@CLWz*5RC=JiF0w8e$< z>?U73)YYW&lBU(jilH+@fsyZ$8{L0AQ$7YCy4U{PgLo%DBBIBHfOVFc^unualw6X^GX` zjj;MCqxA|=a~}53>n+`u73Pyb^jZ9g-CIqF(+{mM7R_dTr){3x36hVFZuYE|w{@SK zQc1Z4lTJzk9#g|Tz&gw=d@_U0+p+b9IrAP!Li}jXU1!}vYcRh*ju7EZ`S#}-42k_i zt+F6Drqs!76-YR?J9)oTnOV6yh}a$qft1;8Qg%;jvz7?uGa^we-@OM_$s4$+(P)SZ zpZJ;dO56@v*%a@>k;&ttX48g6I28Cki4>GMv`e4%_h3TNm(Q^lCclKKtH%l@1n|t6 z=0%35hNswnnRot=wDs5Tf6e^A9`yb~&tK^IccJIH*&l0Z+5%{Fc^k<3OnHq9$L%AD z)rV(E&Uyq!)(Pc7ie>blp!63Kg{aw>{_MF+MUC#F(YryS;5@IRjLSXqz)qmkbWyd$ zcFxG8$}J~0(4C<4V?vDiE*~StvuKp@L7DsAP$o`TV8pYI*Hb9RUCRB2|f&1{hWiVkA!Z)4Shk-G_m8^4h zwGFuL9UWGPfkgu;T=b_S55Vnn$|&BaIQI! zz$QM`Ez~+ty0#8W!z-oKsl$L1~Cl zq`G??+lm;Re7e9gi^P?twiA7FyQ8c&+%{Fv{9zMUYQros_c-W)j~Fq4gLl-7&<4A$ zl|lCmJhqfOwPPEJP}E+7ckzE3em}H&Z;!Iva*`S6DwJdNyy{qQoqj(vKA-{Ig=F+! z$Pe-Kac=h}Un-_c6nwAEzO5fyRnI9DUT`ml==5E@%OOuIFp(b(z85pguE#~BlK9tj zY_~waCu!jgb~5eeSMC-q*cNmXs;ri;tOq~+(izBQ*V3me^NgPIG)E|?Q8dBx4m8H% z-=Ee#fA9YSkvlzt&K`@LV(iv@ew*cSH`H$WKrM?1_Yb8AUjFo8zV!7bnWsUJrU`cT z^A0`eX_fU;P-gb)J}3Hgm~EA}0`>Pw^RAY!CU_55b-}r*hktpx5FH(HG_>0H?yVQC zL%Tr(dC#DLI>blNKEI8AEBs(JjW*npbnYD;+C|?C1rd83jW$^f@ty`NW_dDv?eOQv zDCBkGm`}};-;AOl=Bk~n(42IQUxlB)8QfZO2sBRQo#q>!qd9DLwXv0E6p5OFiBI+D zLu4%{Ujpr_3{PqNglCa@lXY}#xeztI{?3)i)cc9p1EZd_qMT-OE(WGitB;i?ncs47 z0TC(|XtwHm&3hPUbb4@7R)4YEOnMlB9OdQfuh*mkh!SENKe?|qed7#NW06sNgyo>S!j$;GRZ8}Ife2S&PwsQ?Z!x=uF%UIfc*ie1x< z_JPra#h)u#H{q3nX2jdK!5A1A3{EJk2Z+XWP9YKeN%yg90wIv3n9u1$U{UMUAI%Fm zlD*7+l}bgpH?7y}haPM6daStos0^Un-YiC10Euh_>@Ye^%gvm8n4OzDSDt1o{r*H= z9feX>R;E^&MOp(FuvM;2;Ef63T4KN+DE1|iq3aP)yjr~<5%3}cUPW1K4}GXsc*_WjPyrn^0e zL7S|Ge#5pf^8;6`g%>+eQ{04@8}2D4CXAa4{y?Gho_`V*1||edGkBjsJ2&=pk0p7n z@kDo!CAwODx@)SaCt7lKcNiahwLF}>P$dS~j-VqJbMF*=mYwsZ_p=j^Kp@yvaJp!t zAJW=?fqF?_$$#k}qr66!qLImDK)zpra@%@?m4>xiLyoVqX(>moUT9syV=S1R%fmjM zRINTq=F3huZ7X<$5Rt%yC`d^^T6xSK5K{igg|&!sNBdU-x%51|=oXv6grpaCKT0j1!B$%S;y}lfdl2tV zFOpxeke`xm9#<<29-W`gW-2K$v%nsnG<@kw;at`9=GQeN-2AN>S3jLC#YUDU@!edG38pPq)^VzimZ*2NL0$A^hxpw! zkGAl1oWRG6cCI|&^EW+=qa2x;-{9%uV{`Rzs znEe6qV<&ZOisVLF@vN#iw=LtnMlPfQmSy+JbI8hJMFn?1s5Epx%kPVJXHI;!IaR0Q z!ed<40h=F8Fn#0tDoFWcQBRsNyjavK7&~Mc7-`Eo@^U8hj8_WWF3JQePqFz)7ukz? z3b=*()pfj+PEJ2xZ&wh8$5wAV`(#T2;2auC#i(VZii~s0!|IgenVt3nzM<(@eM$lahb|AX8;4SLnuxrl2QK-o{^K3r~q=Lzh)JhP4GDPLJc zdRX`$X#4nVFQ^mw3b}Z>Z#K>q+s0(EK=*J|&s6v!>E$w4Xf!G$yU298#I(E| zU8&Uyx^y^`Uhm__Pch`l+kn03ue;xpU%b$TGY$X!XJvsPa9N7%@wXdU3ZgZV_lGTb zLm0okqhqwP{a1Mwc7S&}f?3u8&bwWq1x}`LlcPBSrv{6(_V_PfwVqSOhV1jW`jmI- zH-+m0J`!_r%Fa7M!@PRQ@HrdSaq1Z4Rqp!iF`PE1WSFFKNVw7dRfiH2C-5kj*M1wK z+g*HK|2m4E%okCyQ?`dEjhd^Wnbs*8@L#EvN=+28$SesNMI|L*$RiPgA|fid-)8pO`|DcQwfEXz20q+eFYoj4ywBmj z|Gz&!o`iWDZ8F_tU|?Y6^WC?n4Gh-&WMHuN?;F zqb1i)!Sf5Q!8TI123el8d}aCD*00uWe0I~o^5NE#8-sy&yT$NZ>QHEOSLBBjjyC8P zrh7QX$5xrI#tEJM*C>0IN!}=fuC{fXHy*9OcIeOWZTH~e?v~Usz(YY63@Vg&NnR1SEb*QqD%VfX*76^?v_JRQRHF&Bw@o6m+V>5LWtxmm^8im&_ZaVE^Ut$xS%j&p39U#$i@cb+yG;*yca5lU zSh+Qmn5BM1lTE6yX9{z=&$oqcG46jI?N|omF?rpm$|t1K>ixIrG@jNs{M8kgbM{3C zKI2Kzj>Vo(=+0ve2-__V-;hY8nX)``;|!!k_9 zo?G9y3#u+KbVGT||rF$lX(W8I~uxX8R``N{*pGCF`B=|eozPmep-AVRkPS#erH*_oPJPTTP z?bokB+VJNGL$A(PIo(h4lA>2^KdR0pu5ZqKWZ)`!fqNqhF~{+fDs6JRd2y>^nFJ-oyAUfQgz>FVg5E4*tuj~Wg$M`$ zR+CI{^;az|(FOAGhzK5*r&1;9KlEdhqyrr&6bcxT3vnVgV^t4nT=$ztyL_*t-ZncV zt*)+)1y}gjBW#aP3gyXKsz2{t0`dC(c(a-`0+1#uzcf??$l(XX3nhNm-c#l~ zL!dqR0Nastt1Wju;n8kV)C3{lunoNQSVFyRrJ59(r*HpaQ8eQ?ke+sJ+TZK+OOqWy ze*B_lwj{0UFgD!cXQ0)&4VP01aj96hL5;3I(rC)O?HxM;488{f8g8!%tQ-np&|N$F zGvY*&gFlKwHhyYBwPnA%J3lciA zLXqKIh;~Kniv2ADdAJzpFKB7+;p8;0R3jozp%sq`Lponoqta2zmhxu z+%JFbm;bl@G7IomS1TYhmpWGy8mnS^8&@*r+RM$z_OrFOEB;`D1m8@IFH(>krjbNn zIOF24S}$lKBL$7NRLas4T+Hn+8;x(3x_S#*Fk#S3yr+<7^v85swl_?yK?;HaZSCf7 zUEm;oQt>~Ou+%JmU0qfJBTEf^YdcMV1`Jgd=OV8Kd1@O^I)CKce31=1(S-=X9R#{t zvYJm9V}!5NX8~$x2`PE{R5>pxy*%W6My!Fu!%~Xu)-SO}dieKflLJLdodK(mr8jpz z4klO@*)JrBW_t>pG-ceaHJ;*Wb@W6PFsnw=FQMvFGB95y=_(oO?7hRB&@F?RKpx76CQ2dgAeY0|R;FR<5- zox0L0@SMo@!1OMjcX*I&BV4qY3BoDq7aX6P471Q-MT!I?6blN4k|Rd(DV+m8&#t(z zr>vxx6!e*d_m9xMg^B=+^1HyGws9o2G7i(a;Pv8R7+CR^2pNiNK0BehpEG>V{yJZ# z7Oia+AnB(TB`|ZfL-!eVf5$(;>QOy7i)%whF9cm@jKnmZ0gHXg80YQqMkiJ|nsQn)tGlWU{N@53 z^l>?(U6^q((0vag|31wsFGD&#o0Mw$ppMzsLC)B39^~y%HQ>{;c+dM{gzXMsuBE<3 zw25h%u{J~dYT-`1{JeLv4P=_4oDBWKD;ywO&%GYtk!o2Zg)(rAgSoNqc(|>vah}C% zDb*s+c6t1)-Y=HOyQS@SIQFg@S{ex%koew|Zu{*6?=iKE9##euXWg(_2u1saGYX+2 zd_t4{Vy60#K<*M2IJnyDa5h)$LeHkj^1@5=@;z&g&HN4-V^%l-uyRSBrX84*$@WKF5-YVP{8I%d^4;(9t4ou?4IEsro}s^ zCA16k)?HRmW7h>=72(mavaz2V@?s6fm9tLbjl~gF?}(6m>wuosef&fzEdBJ^E2a^J zAb0RnwA%t^F_n)2I5+ntU7jVmr;MuNNda*zXyJ0X+E$z?KWToWANf>lX*9TEj>zwG zALWJq1CBaWjzrGDqJm*}pl^Aa)_uOg6_2Av&aOJmzitkt2a@`oIdRP&mh}K58RGzn zi?91>ybQczz2n#^zWS(F;TS$COMOWC<@$ly!s9OJFxO(g;~BlYLmKCAy@mjNt%BNL zY(R|Ph)b<1e3?|`^!JXvv7Y1ZJ*$$BQX7oh{#DiGHZ#D#5WnKratyK6JzfpAJi=W z@B(_<_j!-U%1!1~t5^?0Zb+KcEGGUfWQ!DU+hogD6;J{ry8Zz)!G=4-h+QcYpkM>( zjZ2^WjnuyXJ1c7p3LJeGqBm+oSC2k$+cBPVzR2)ee%qdP&$rrsW%z9Eza!N2Ow(yd zfj4UXPT8`^b>_NWHEpz*q)um!T-jpbz;2|;0PiGxF0L7ukzs$kBDO@0OV?S?H3O<& zA!Y)Q10w?mH(ylByc=0IhzaZMJ%tIYmO274vawEnh}(yVxp7U;GHrp{%gAU59>UH&k^=TQdcF9#}fzyk2lu{Uo}*X)lPJu&z!UoH8@p8ktp`OV_2_BqO-9BLMz^$tL)$fte3Z+PsAY{cZ0_-y zVP}rSzO-q9=!votKLzZt#npnJmM-c-M8_FmM+B>f|VDuESjSGS@cQvDhrVoSU}6Z4Y8! z?m8KOv(v_BXo%mz3m8MH!Fa?YZ^8_>R6}}pHxxdEV~FI*Io*E^DDHfuP$&Rk)~2NL zoPkKr$j%SwNHKKvcOr5Uk7hggcK|OYlgVIA{BZw5F~7036y53KiO%L82gy&t;kc~q zecsq!6+fe3N(!Fz*0-fLAqm@KBulznV5m8 zP*xU|txNvldp(CZ9k-fBY|Y;Sm8T7{WhucO*bv@Dgr{Ev{vpZ=s6hHhjPr65R&>1c zDn5r(H(;3Zp(5s5vH1U$8%z zMc!^9|MkHD)hOE-Bucm7J9Ct#ae$$6Ck4kK{;*(;(TUTu)MENn&I!pkH`1<-+32wLb2(Rz=aW{ z(XMF#49&LC9mo1HLM{nPrJO*HdJJ+Smdnap?{>TR7ol^Y{ z?|u3=k|jxpmb}WvTCPZ?(rNrdAW6~zg>zz=n3WG?5^b8unZsuLdRc;#KU5*B|IJ1D6}{sTmnC#(s8VY{}B^ zUe7o-*c7O^z{(&6E+GfX{2uRw|1rX(9m`WIaoP>*WRB9)dv$mErc@I70J;fqZPB{K z{_|XttA!;}Fyr5Lws!7#_>%?hD{~VpX4NSxrP_t)Pmk^!v-`)hP9ndo**!PwxRb3( z51|ezuRvFyl09}F1>7d!xk|WGxNe<(pq*Zxw$N1*Tb1_HBusHh ztgBP3%gXsh?PVrUl^oZg9X@huTXtPg0)%A>Gcn12Kq#8*-{6xGtU^%ue7?kh>O9ha z#4x6BnTs9!aUnQpTlW>0-30bb^^XBYZEx{5SyoM1Q>NK}*}SEwU|(PU_}1~O2-YKs z)+15>=}ZaZ%!b{$2Hu|!`&d0Q%?mLDePLyxJjus^Na=B1^X@8rlIRC{v|HCeFJJARg|58lSBYN`CVT!ej)zPc=676r&#-Ij z`OLUfbtRO(fcHdAITTW{50v4@^Gc1Ob#p7<>)#YvIe;^09&cw{U%oGm8M|F{fm{4> zfc!pS*QGf|+n$v;*7dw_XlBmF;gH>1xZ2(|fl4FbGnHZ^ysM6CPdK2d?<|2m8!C@mF!Ia;;IAzMpJT9ZY2QR<{wKN=&pQAB literal 8687 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 diff --git a/tests/integration/stax/snapshots/test_sign_transfer/tst_review_004.png b/tests/integration/stax/snapshots/test_sign_transfer/tst_review_004.png new file mode 100644 index 0000000000000000000000000000000000000000..afb0c5601ccb8216a0f02bec3ac2f7582aa90f38 GIT binary patch literal 7168 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 literal 8687 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 diff --git a/tests/integration/stax/snapshots/test_sign_transfer_without_hash/review_3.png b/tests/integration/stax/snapshots/test_sign_transfer_without_hash/review_3.png new file mode 100644 index 0000000000000000000000000000000000000000..afb0c5601ccb8216a0f02bec3ac2f7582aa90f38 GIT binary patch literal 7168 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 Date: Fri, 12 Jan 2024 17:23:00 +0100 Subject: [PATCH 24/24] Parser: set transaction entrypoint parameter to non-complex --- app/src/parser/operation_parser.c | 4 ++-- tests/generate/gen_integration.ml | 1 - .../nanos/regression_batched_ops/00009.png | Bin 499 -> 379 bytes .../nanos/regression_batched_ops/00010.png | Bin 379 -> 499 bytes .../nanos/regression_batched_ops/00011.png | Bin 499 -> 462 bytes .../nanos/regression_batched_ops/00012.png | Bin 462 -> 455 bytes .../nanos/regression_batched_ops/00013.png | Bin 455 -> 472 bytes .../nanos/regression_batched_ops/00014.png | Bin 472 -> 437 bytes .../nanos/regression_batched_ops/00015.png | Bin 437 -> 450 bytes .../nanos/regression_batched_ops/00016.png | Bin 450 -> 442 bytes .../nanos/regression_batched_ops/00017.png | Bin 442 -> 478 bytes .../nanos/regression_batched_ops/00018.png | Bin 478 -> 448 bytes .../nanos/regression_batched_ops/00019.png | Bin 448 -> 466 bytes .../nanos/regression_batched_ops/00020.png | Bin 466 -> 468 bytes .../nanos/regression_batched_ops/00021.png | Bin 468 -> 464 bytes .../nanos/regression_batched_ops/00022.png | Bin 464 -> 462 bytes .../nanos/regression_batched_ops/00023.png | Bin 462 -> 471 bytes .../nanos/regression_batched_ops/00024.png | Bin 471 -> 469 bytes .../nanos/regression_batched_ops/00025.png | Bin 469 -> 440 bytes .../nanos/regression_batched_ops/00026.png | Bin 440 -> 351 bytes .../nanos/regression_batched_ops/00027.png | Bin 351 -> 427 bytes .../nanos/regression_batched_ops/00028.png | Bin 427 -> 484 bytes .../nanos/regression_batched_ops/00029.png | Bin 484 -> 461 bytes .../nanos/regression_batched_ops/00030.png | Bin 461 -> 320 bytes .../nanos/regression_batched_ops/00031.png | Bin 320 -> 361 bytes .../nanos/regression_batched_ops/00032.png | Bin 361 -> 354 bytes .../nanos/regression_batched_ops/00033.png | Bin 354 -> 497 bytes .../nanos/regression_batched_ops/00034.png | Bin 497 -> 489 bytes .../nanos/regression_batched_ops/00035.png | Bin 489 -> 404 bytes .../nanos/regression_batched_ops/00036.png | Bin 404 -> 0 bytes .../test_ensure_always_clearsign/00009.png | Bin 499 -> 326 bytes .../test_ensure_always_clearsign/00010.png | Bin 326 -> 499 bytes .../test_ensure_always_clearsign/00011.png | Bin 499 -> 421 bytes .../test_ensure_always_clearsign/00012.png | Bin 421 -> 406 bytes .../test_ensure_always_clearsign/00013.png | Bin 406 -> 402 bytes .../test_ensure_always_clearsign/00014.png | Bin 402 -> 407 bytes .../test_ensure_always_clearsign/00015.png | Bin 407 -> 405 bytes .../test_ensure_always_clearsign/00016.png | Bin 405 -> 422 bytes .../test_ensure_always_clearsign/00017.png | Bin 422 -> 415 bytes .../test_ensure_always_clearsign/00018.png | Bin 415 -> 420 bytes .../test_ensure_always_clearsign/00019.png | Bin 420 -> 414 bytes .../test_ensure_always_clearsign/00020.png | Bin 414 -> 398 bytes .../test_ensure_always_clearsign/00021.png | Bin 398 -> 406 bytes .../test_ensure_always_clearsign/00022.png | Bin 406 -> 401 bytes .../test_ensure_always_clearsign/00023.png | Bin 401 -> 390 bytes .../test_ensure_always_clearsign/00024.png | Bin 390 -> 439 bytes .../test_ensure_always_clearsign/00025.png | Bin 439 -> 314 bytes .../test_ensure_always_clearsign/00026.png | Bin 314 -> 410 bytes .../test_ensure_always_clearsign/00027.png | Bin 410 -> 403 bytes .../test_ensure_always_clearsign/00028.png | Bin 403 -> 392 bytes .../test_ensure_always_clearsign/00029.png | Bin 392 -> 419 bytes .../test_ensure_always_clearsign/00030.png | Bin 419 -> 404 bytes .../test_ensure_always_clearsign/00031.png | Bin 404 -> 404 bytes .../test_ensure_always_clearsign/00032.png | Bin 404 -> 0 bytes .../one_byte_added_at_the_end/00009.png | Bin 499 -> 324 bytes .../one_byte_added_at_the_end/00010.png | Bin 324 -> 499 bytes .../one_byte_added_at_the_end/00011.png | Bin 499 -> 347 bytes .../one_byte_added_at_the_end/00012.png | Bin 347 -> 465 bytes .../one_byte_added_at_the_end/00013.png | Bin 465 -> 444 bytes .../one_byte_added_at_the_end/00014.png | Bin 444 -> 288 bytes .../one_byte_removed_inside/00009.png | Bin 499 -> 366 bytes .../one_byte_removed_inside/00010.png | Bin 366 -> 465 bytes .../one_byte_removed_inside/00011.png | Bin 465 -> 444 bytes .../one_byte_removed_inside/00012.png | Bin 444 -> 288 bytes .../one_byte_removed_inside/00013.png | Bin 288 -> 0 bytes .../reject_signing/00009.png | Bin 499 -> 326 bytes .../reject_signing/00010.png | Bin 326 -> 499 bytes .../reject_signing/00011.png | Bin 499 -> 421 bytes .../reject_signing/00012.png | Bin 421 -> 406 bytes .../reject_signing/00013.png | Bin 406 -> 402 bytes .../reject_signing/00014.png | Bin 402 -> 407 bytes .../reject_signing/00015.png | Bin 407 -> 405 bytes .../reject_signing/00016.png | Bin 405 -> 422 bytes .../reject_signing/00017.png | Bin 422 -> 415 bytes .../reject_signing/00018.png | Bin 415 -> 420 bytes .../reject_signing/00019.png | Bin 420 -> 414 bytes .../reject_signing/00020.png | Bin 414 -> 398 bytes .../reject_signing/00021.png | Bin 398 -> 406 bytes .../reject_signing/00022.png | Bin 406 -> 401 bytes .../reject_signing/00023.png | Bin 401 -> 390 bytes .../reject_signing/00024.png | Bin 390 -> 439 bytes .../reject_signing/00025.png | Bin 439 -> 314 bytes .../reject_signing/00026.png | Bin 314 -> 410 bytes .../reject_signing/00027.png | Bin 410 -> 403 bytes .../reject_signing/00028.png | Bin 403 -> 392 bytes .../reject_signing/00029.png | Bin 392 -> 419 bytes .../reject_signing/00030.png | Bin 419 -> 404 bytes .../reject_signing/00031.png | Bin 404 -> 404 bytes .../reject_signing/00032.png | Bin 404 -> 341 bytes .../reject_signing/00033.png | Bin 341 -> 0 bytes .../nanos/test_reject_transaction/00009.png | Bin 499 -> 326 bytes .../nanos/test_reject_transaction/00010.png | Bin 326 -> 499 bytes .../nanos/test_reject_transaction/00011.png | Bin 499 -> 421 bytes .../nanos/test_reject_transaction/00012.png | Bin 421 -> 406 bytes .../nanos/test_reject_transaction/00013.png | Bin 406 -> 402 bytes .../nanos/test_reject_transaction/00014.png | Bin 402 -> 407 bytes .../nanos/test_reject_transaction/00015.png | Bin 407 -> 405 bytes .../nanos/test_reject_transaction/00016.png | Bin 405 -> 422 bytes .../nanos/test_reject_transaction/00017.png | Bin 422 -> 415 bytes .../nanos/test_reject_transaction/00018.png | Bin 415 -> 420 bytes .../nanos/test_reject_transaction/00019.png | Bin 420 -> 414 bytes .../nanos/test_reject_transaction/00020.png | Bin 414 -> 398 bytes .../nanos/test_reject_transaction/00021.png | Bin 398 -> 406 bytes .../nanos/test_reject_transaction/00022.png | Bin 406 -> 401 bytes .../nanos/test_reject_transaction/00023.png | Bin 401 -> 390 bytes .../nanos/test_reject_transaction/00024.png | Bin 390 -> 439 bytes .../nanos/test_reject_transaction/00025.png | Bin 439 -> 314 bytes .../nanos/test_reject_transaction/00026.png | Bin 314 -> 410 bytes .../nanos/test_reject_transaction/00027.png | Bin 410 -> 403 bytes .../nanos/test_reject_transaction/00028.png | Bin 403 -> 392 bytes .../nanos/test_reject_transaction/00029.png | Bin 392 -> 419 bytes .../nanos/test_reject_transaction/00030.png | Bin 419 -> 404 bytes .../nanos/test_reject_transaction/00031.png | Bin 404 -> 404 bytes .../nanos/test_reject_transaction/00032.png | Bin 404 -> 341 bytes .../nanos/test_reject_transaction/00033.png | Bin 341 -> 0 bytes .../nanos/test_sign_transaction/00009.png | Bin 499 -> 324 bytes .../nanos/test_sign_transaction/00010.png | Bin 324 -> 499 bytes .../nanos/test_sign_transaction/00011.png | Bin 499 -> 347 bytes .../nanos/test_sign_transaction/00012.png | Bin 347 -> 404 bytes .../nanos/test_sign_transaction/00013.png | Bin 404 -> 0 bytes .../test_sign_with_another_seed/00009.png | Bin 499 -> 324 bytes .../test_sign_with_another_seed/00010.png | Bin 324 -> 499 bytes .../test_sign_with_another_seed/00011.png | Bin 499 -> 347 bytes .../test_sign_with_another_seed/00012.png | Bin 347 -> 404 bytes .../test_sign_with_another_seed/00013.png | Bin 404 -> 0 bytes .../nanos/test_sign_with_long_hash/00010.png | Bin 499 -> 326 bytes .../nanos/test_sign_with_long_hash/00011.png | Bin 326 -> 499 bytes .../nanos/test_sign_with_long_hash/00012.png | Bin 499 -> 303 bytes .../nanos/test_sign_with_long_hash/00013.png | Bin 303 -> 404 bytes .../nanos/test_sign_with_long_hash/00014.png | Bin 404 -> 0 bytes .../test_sign_with_small_packet/00009.png | Bin 499 -> 324 bytes .../test_sign_with_small_packet/00010.png | Bin 324 -> 499 bytes .../test_sign_with_small_packet/00011.png | Bin 499 -> 347 bytes .../test_sign_with_small_packet/00012.png | Bin 347 -> 404 bytes .../test_sign_with_small_packet/00013.png | Bin 404 -> 0 bytes .../test_too_complex_transaction/00009.png | Bin 508 -> 324 bytes .../test_too_complex_transaction/00010.png | Bin 288 -> 488 bytes .../00011.png} | Bin .../test_ensure_always_clearsign/00007.png | Bin 542 -> 357 bytes .../test_ensure_always_clearsign/00008.png | Bin 357 -> 542 bytes .../test_ensure_always_clearsign/00009.png | Bin 542 -> 743 bytes .../test_ensure_always_clearsign/00010.png | Bin 743 -> 734 bytes .../test_ensure_always_clearsign/00011.png | Bin 734 -> 740 bytes .../test_ensure_always_clearsign/00012.png | Bin 740 -> 716 bytes .../test_ensure_always_clearsign/00013.png | Bin 716 -> 743 bytes .../test_ensure_always_clearsign/00014.png | Bin 743 -> 459 bytes .../test_ensure_always_clearsign/00015.png | Bin 459 -> 0 bytes .../one_byte_added_at_the_end/00007.png | Bin 542 -> 356 bytes .../one_byte_added_at_the_end/00008.png | Bin 356 -> 542 bytes .../one_byte_added_at_the_end/00009.png | Bin 542 -> 371 bytes .../one_byte_added_at_the_end/00010.png | Bin 371 -> 506 bytes .../one_byte_added_at_the_end/00011.png | Bin 506 -> 483 bytes .../one_byte_added_at_the_end/00012.png | Bin 483 -> 306 bytes .../one_byte_removed_inside/00007.png | Bin 542 -> 402 bytes .../one_byte_removed_inside/00008.png | Bin 402 -> 506 bytes .../one_byte_removed_inside/00009.png | Bin 506 -> 483 bytes .../one_byte_removed_inside/00010.png | Bin 483 -> 306 bytes .../reject_signing/00007.png | Bin 542 -> 357 bytes .../reject_signing/00008.png | Bin 357 -> 542 bytes .../reject_signing/00009.png | Bin 542 -> 743 bytes .../reject_signing/00010.png | Bin 743 -> 734 bytes .../reject_signing/00011.png | Bin 734 -> 740 bytes .../reject_signing/00012.png | Bin 740 -> 716 bytes .../reject_signing/00013.png | Bin 716 -> 743 bytes .../reject_signing/00014.png | Bin 743 -> 459 bytes .../reject_signing/00015.png | Bin 459 -> 366 bytes .../reject_signing/00016.png | Bin 366 -> 0 bytes .../nanosp/test_reject_transaction/00007.png | Bin 542 -> 357 bytes .../nanosp/test_reject_transaction/00008.png | Bin 357 -> 542 bytes .../nanosp/test_reject_transaction/00009.png | Bin 542 -> 743 bytes .../nanosp/test_reject_transaction/00010.png | Bin 743 -> 734 bytes .../nanosp/test_reject_transaction/00011.png | Bin 734 -> 740 bytes .../nanosp/test_reject_transaction/00012.png | Bin 740 -> 716 bytes .../nanosp/test_reject_transaction/00013.png | Bin 716 -> 743 bytes .../nanosp/test_reject_transaction/00014.png | Bin 743 -> 459 bytes .../nanosp/test_reject_transaction/00015.png | Bin 459 -> 366 bytes .../nanosp/test_reject_transaction/00016.png | Bin 366 -> 0 bytes .../nanosp/test_sign_transaction/00007.png | Bin 542 -> 356 bytes .../nanosp/test_sign_transaction/00008.png | Bin 356 -> 542 bytes .../nanosp/test_sign_transaction/00009.png | Bin 542 -> 371 bytes .../nanosp/test_sign_transaction/00010.png | Bin 371 -> 459 bytes .../nanosp/test_sign_transaction/00011.png | Bin 459 -> 0 bytes .../test_sign_with_another_seed/00007.png | Bin 542 -> 356 bytes .../test_sign_with_another_seed/00008.png | Bin 356 -> 542 bytes .../test_sign_with_another_seed/00009.png | Bin 542 -> 371 bytes .../test_sign_with_another_seed/00010.png | Bin 371 -> 459 bytes .../test_sign_with_another_seed/00011.png | Bin 459 -> 0 bytes .../nanosp/test_sign_with_long_hash/00007.png | Bin 542 -> 357 bytes .../nanosp/test_sign_with_long_hash/00008.png | Bin 357 -> 542 bytes .../nanosp/test_sign_with_long_hash/00009.png | Bin 542 -> 327 bytes .../nanosp/test_sign_with_long_hash/00010.png | Bin 327 -> 459 bytes .../nanosp/test_sign_with_long_hash/00011.png | Bin 459 -> 0 bytes .../test_sign_with_small_packet/00007.png | Bin 542 -> 356 bytes .../test_sign_with_small_packet/00008.png | Bin 356 -> 542 bytes .../test_sign_with_small_packet/00009.png | Bin 542 -> 371 bytes .../test_sign_with_small_packet/00010.png | Bin 371 -> 459 bytes .../test_sign_with_small_packet/00011.png | Bin 459 -> 0 bytes .../test_too_complex_transaction/00007.png | Bin 539 -> 356 bytes .../test_too_complex_transaction/00008.png | Bin 306 -> 516 bytes .../00009.png} | Bin .../nanox/regression_batched_ops/00007.png | Bin 542 -> 416 bytes .../nanox/regression_batched_ops/00008.png | Bin 416 -> 542 bytes .../nanox/regression_batched_ops/00009.png | Bin 542 -> 968 bytes .../nanox/regression_batched_ops/00010.png | Bin 968 -> 984 bytes .../nanox/regression_batched_ops/00011.png | Bin 984 -> 1048 bytes .../nanox/regression_batched_ops/00012.png | Bin 1048 -> 916 bytes .../nanox/regression_batched_ops/00013.png | Bin 916 -> 458 bytes .../nanox/regression_batched_ops/00014.png | Bin 458 -> 707 bytes .../nanox/regression_batched_ops/00015.png | Bin 707 -> 340 bytes .../nanox/regression_batched_ops/00016.png | Bin 340 -> 386 bytes .../nanox/regression_batched_ops/00017.png | Bin 386 -> 374 bytes .../nanox/regression_batched_ops/00018.png | Bin 374 -> 734 bytes .../nanox/regression_batched_ops/00019.png | Bin 734 -> 459 bytes .../nanox/regression_batched_ops/00020.png | Bin 459 -> 0 bytes .../test_ensure_always_clearsign/00007.png | Bin 542 -> 357 bytes .../test_ensure_always_clearsign/00008.png | Bin 357 -> 542 bytes .../test_ensure_always_clearsign/00009.png | Bin 542 -> 743 bytes .../test_ensure_always_clearsign/00010.png | Bin 743 -> 734 bytes .../test_ensure_always_clearsign/00011.png | Bin 734 -> 740 bytes .../test_ensure_always_clearsign/00012.png | Bin 740 -> 716 bytes .../test_ensure_always_clearsign/00013.png | Bin 716 -> 743 bytes .../test_ensure_always_clearsign/00014.png | Bin 743 -> 459 bytes .../test_ensure_always_clearsign/00015.png | Bin 459 -> 0 bytes .../one_byte_added_at_the_end/00007.png | Bin 542 -> 356 bytes .../one_byte_added_at_the_end/00008.png | Bin 356 -> 542 bytes .../one_byte_added_at_the_end/00009.png | Bin 542 -> 371 bytes .../one_byte_added_at_the_end/00010.png | Bin 371 -> 506 bytes .../one_byte_added_at_the_end/00011.png | Bin 506 -> 483 bytes .../one_byte_added_at_the_end/00012.png | Bin 483 -> 306 bytes .../one_byte_added_at_the_end/00013.png | Bin 306 -> 0 bytes .../one_byte_removed_inside/00007.png | Bin 542 -> 402 bytes .../one_byte_removed_inside/00008.png | Bin 402 -> 506 bytes .../one_byte_removed_inside/00009.png | Bin 506 -> 483 bytes .../one_byte_removed_inside/00010.png | Bin 483 -> 306 bytes .../one_byte_removed_inside/00011.png | Bin 306 -> 0 bytes .../reject_signing/00007.png | Bin 542 -> 357 bytes .../reject_signing/00008.png | Bin 357 -> 542 bytes .../reject_signing/00009.png | Bin 542 -> 743 bytes .../reject_signing/00010.png | Bin 743 -> 734 bytes .../reject_signing/00011.png | Bin 734 -> 740 bytes .../reject_signing/00012.png | Bin 740 -> 716 bytes .../reject_signing/00013.png | Bin 716 -> 743 bytes .../reject_signing/00014.png | Bin 743 -> 459 bytes .../reject_signing/00015.png | Bin 459 -> 366 bytes .../reject_signing/00016.png | Bin 366 -> 0 bytes .../nanox/test_reject_transaction/00007.png | Bin 542 -> 357 bytes .../nanox/test_reject_transaction/00008.png | Bin 357 -> 542 bytes .../nanox/test_reject_transaction/00009.png | Bin 542 -> 743 bytes .../nanox/test_reject_transaction/00010.png | Bin 743 -> 734 bytes .../nanox/test_reject_transaction/00011.png | Bin 734 -> 740 bytes .../nanox/test_reject_transaction/00012.png | Bin 740 -> 716 bytes .../nanox/test_reject_transaction/00013.png | Bin 716 -> 743 bytes .../nanox/test_reject_transaction/00014.png | Bin 743 -> 459 bytes .../nanox/test_reject_transaction/00015.png | Bin 459 -> 366 bytes .../nanox/test_reject_transaction/00016.png | Bin 366 -> 0 bytes .../nanox/test_sign_transaction/00007.png | Bin 542 -> 356 bytes .../nanox/test_sign_transaction/00008.png | Bin 356 -> 542 bytes .../nanox/test_sign_transaction/00009.png | Bin 542 -> 371 bytes .../nanox/test_sign_transaction/00010.png | Bin 371 -> 459 bytes .../nanox/test_sign_transaction/00011.png | Bin 459 -> 0 bytes .../test_sign_with_another_seed/00007.png | Bin 542 -> 356 bytes .../test_sign_with_another_seed/00008.png | Bin 356 -> 542 bytes .../test_sign_with_another_seed/00009.png | Bin 542 -> 371 bytes .../test_sign_with_another_seed/00010.png | Bin 371 -> 459 bytes .../test_sign_with_another_seed/00011.png | Bin 459 -> 0 bytes .../nanox/test_sign_with_long_hash/00007.png | Bin 542 -> 357 bytes .../nanox/test_sign_with_long_hash/00008.png | Bin 357 -> 542 bytes .../nanox/test_sign_with_long_hash/00009.png | Bin 542 -> 327 bytes .../nanox/test_sign_with_long_hash/00010.png | Bin 327 -> 459 bytes .../nanox/test_sign_with_long_hash/00011.png | Bin 459 -> 0 bytes .../test_sign_with_small_packet/00007.png | Bin 542 -> 356 bytes .../test_sign_with_small_packet/00008.png | Bin 356 -> 542 bytes .../test_sign_with_small_packet/00009.png | Bin 542 -> 371 bytes .../test_sign_with_small_packet/00010.png | Bin 371 -> 459 bytes .../test_sign_with_small_packet/00011.png | Bin 459 -> 0 bytes .../test_too_complex_transaction/00007.png | Bin 539 -> 356 bytes .../test_too_complex_transaction/00008.png | Bin 306 -> 516 bytes .../test_too_complex_transaction/00009.png} | Bin .../tst_review_003.png | Bin 0 -> 6913 bytes tests/integration/stax/test_blindsign_valid.py | 8 ++++---- .../stax/test_expert_mode_rejections.py | 2 ++ tests/integration/stax/test_parsing_errors.py | 6 +----- tests/integration/stax/test_sign_transfer.py | 10 ++-------- .../stax/test_sign_transfer_without_hash.py | 5 +---- tests/unit/ctest/tests_parser.c | 4 ++-- 285 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 tests/integration/nano/snapshots/nanos/regression_batched_ops/00036.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00032.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00013.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_sign_transaction/00013.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00013.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00014.png delete mode 100644 tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00013.png rename tests/integration/nano/snapshots/nanos/{test_parsing_errors/one_byte_added_at_the_end/00015.png => test_too_complex_transaction/00011.png} (100%) delete mode 100644 tests/integration/nano/snapshots/nanosp/test_ensure_always_clearsign/00015.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png delete mode 100644 tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png rename tests/integration/nano/snapshots/nanosp/{test_parsing_errors/one_byte_added_at_the_end/00013.png => test_too_complex_transaction/00009.png} (100%) delete mode 100644 tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_ensure_always_clearsign/00015.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00013.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_removed_inside/00011.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png delete mode 100644 tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png rename tests/integration/nano/snapshots/{nanosp/test_parsing_errors/one_byte_removed_inside/00011.png => nanox/test_too_complex_transaction/00009.png} (100%) create mode 100644 tests/integration/stax/snapshots/test_expert_mode_rejections/tst_review_003.png diff --git a/app/src/parser/operation_parser.c b/app/src/parser/operation_parser.c index db2a9b495..91c7d72f8 100644 --- a/app/src/parser/operation_parser.c +++ b/app/src/parser/operation_parser.c @@ -115,8 +115,8 @@ TZ_OPERATION_FIELDS(transaction_fields, TZ_OPERATION_FIELD("Destination", TZ_OPERATION_FIELD_DESTINATION), TZ_OPERATION_OPTION_FIELD("_Parameters", TZ_OPERATION_TUPLE_FIELD("_Parameters", - TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_SMART_ENTRYPOINT, .complex=true), - TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_EXPR, .complex=true)), + TZ_OPERATION_FIELD("Entrypoint", TZ_OPERATION_FIELD_SMART_ENTRYPOINT), + TZ_OPERATION_FIELD("Parameter", TZ_OPERATION_FIELD_EXPR, .complex=true)), .display_none=false) ); diff --git a/tests/generate/gen_integration.ml b/tests/generate/gen_integration.ml index 053011190..cf0113820 100644 --- a/tests/generate/gen_integration.ml +++ b/tests/generate/gen_integration.ml @@ -279,7 +279,6 @@ let operation_to_screens then [] else [ - need_expert_mode_screen "Entrypoint"; make_screen ~title:"Entrypoint" "%a" Entrypoint.pp entrypoint; need_expert_mode_screen "Parameter"; make_screen ~title:"Parameter" "%a" pp_lazy_expr parameters; diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00009.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00009.png index 92b4bce4e0b6ca6910717fd0d8adde36278ae65b..29807b584511f5b00b16907dc8081ede68355c1e 100644 GIT binary patch delta 352 zcmV-m0iXW!1N#DyB!5ClL_t(|ob8#*62l+}MYWUs{|9%`E;3_{pc0={?^#((fPkP$ ztQp4V{TthJoL%a}EbCJINVQcf(JU0}L|5yaX3Ge5S|D`wUACNC{@9-h=A8zokY42r zu$Ks}H;07xmHxYn2mXBq7TwsM(Kuc|X*vVXgILF$$y#pfgfHDSr!|Keu=Kz#H0000000000upwXDb+@DaR$7Yy0000kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfK&0oJ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00010.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00010.png index 29807b584511f5b00b16907dc8081ede68355c1e..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve+Y0`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfK&0oJ delta 352 zcmV-m0iXW!1N#DyB!5ClL_t(|ob8#*62l+}MYWUs{|9%`E;3_{pc0={?^#((fPkP$ ztQp4V{TthJoL%a}EbCJINVQcf(JU0}L|5yaX3Ge5S|D`wUACNC{@9-h=A8zokY42r zu$Ks}H;07xmHxYn2mXBq7TwsM(Kuc|X*vVXgILF$$y#pfgfHDSr!|Keu=Kz#H0000000000upwXDb+@DaR$7Yy0000uEQV*hV8QR{tvv1oeL9#iWDr+F8ROgVr>!i zucFwar1AZ9m&adT)eq*y+#8hg1-1<^I_ip>N{h@n8Z`rYI zszN9z+l1=S&x7~sL16WbRWzVzY&3OUvGJuBxer0p1o=sxse9#Q4Jf(qppEO(KxEy( z&{D(t-0rY8q2w>I001Cz__&diCe~h#hO!@;0nBEC^Svm%s%6!@8(_E9S5`K8pT1q4 z?CoN!wwR70B7azA{3T`_vGb!$$ppO&I(tx%@&e?X*4k}T7-5ehs2_d$IhZ*O9gi1q z+Omza1ge)T&|R^3FFBtGm;tO1PR%uY-i|Fp!LS^P`yOD$J$W8ZkCjIYtN6Aj+;%}D zDQiG+9s8z3LuG)nPL#NB2AjCY7Uecn<3V5K4m?6oB`x9|JXJMEoHF5OqD;#H00000 e00000kj6h+kOkT4HdqJ%0000rrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf??~rw diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00012.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00012.png index c6158a7d25dd7a3b5a9d51e70f954334fec477e9..aba10d4bb53bd2a79f1605b88dbd86788b964ba6 100644 GIT binary patch delta 429 zcmV;e0aE_X1IGi9B!7-cL_t(|ob8xN4#OY}MM;(3|G-_e3nb(TV+fE``cGX1YRtz8 zW;oI|z8_XR-ut?KFfXG{L~1TK#{K(QJG6)Z#c3Grj1kpT`pp{hU*#caLk(!FQY=l( z-i6z_WY63!p8=brpEc!Q;^7dXsoBt|QAz~0fpDcguTB8mKYy74d!jFf=Zx0;mb%HXh2a@+ z??~c000000000009Nw@ XmDE3=$>kXY00000NkvXXu0mjfz;ex^ delta 436 zcmV;l0ZabJ1I`1GB!87jL_t(|ob8#>uEQV*hV8QR{tvv1oeL9#iWDr+F8ROgVr>!i zucFwar1AZ9m&adT)eq*y+#8hg1-1<^I_ip>N{h@n8Z`rYI zszN9z+l1=S&x7~sL16WbRWzVzY&3OUvGJuBxer0p1o=sxse9#Q4Jf(qppEO(KxEy( z&{D(t-0rY8q2w>I001Cz__&diCe~h#hO!@;0nBEC^Svm%s%6!@8(_E9S5`K8pT1q4 z?CoN!wwR70B7azA{3T`_vGb!$$ppO&I(tx%@&e?X*4k}T7-5ehs2_d$IhZ*O9gi1q z+Omza1ge)T&|R^3FFBtGm;tO1PR%uY-i|Fp!LS^P`yOD$J$W8ZkCjIYtN6Aj+;%}D zDQiG+9s8z3LuG)nPL#NB2AjCY7Uecn<3V5K4m?6oB`x9|JXJMEoHF5OqD;#H00000 e00000kj6h+kOkT4HdqJ%0000K diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00013.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00013.png index aba10d4bb53bd2a79f1605b88dbd86788b964ba6..a1d031e413a910444398ca1fd2da1e1805ba4271 100644 GIT binary patch delta 446 zcmV;v0YU!91K0zQB!8btL_t(|ob8#xlEWYfhRsg<{tw(kdvJz9KqNL2yYqjuhfRW@ zs3`O(X}n*}^)I-qzMLYY3|eImQH5A_rM6O`csycIoC z6Vtj-do5LStG3+%$=eUNqoDWFoe{k-3)E$!!Qy8{{Y1)9;nR8BlWPfY$Xe5S_ii z@K)k{rZ=X{Qu2>j003|~Cfn&$#Yu&9;1khMhiUU(-_zDp>vX%9f(13-9L@D5S|4Km z9lV!wMc#aKV1GtBZ0e7vFDFr@h}H01KPc>cCB!OrHs8=LQv14 zLXuKKe@K3+JamUSNfX)VaC9!S6QIZJl(&XNB>i$*1mU1PuH;h_Fy{ikyUY3YVhYcd zD0U+847mLkkyGqC$0000000000001D14}Xsp&VC{!l>h($07*qoM6N<$g5XQt_y7O^ delta 429 zcmV;e0aE_h1IGi9B!7-cL_t(|ob8xN4#OY}MM;(3|G-_e3nb(TV+fE``cGX1YRtz8 zW;oI|z8_XR-ut?KFfXG{L~1TK#{K(QJG6)Z#c3Grj1kpT`pp{hU*#caLk(!FQY=l( z-i6z_WY63!p8=brpEc!Q;^7dXsoBt|QAz~0fpDcguTB8mKYy74d!jFf=Zx0;mb%HXh2a@+ z??~c000000000009Nw@ XmDE3=$>kXY00000NkvXXu0mjf(KOAh diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00014.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00014.png index a1d031e413a910444398ca1fd2da1e1805ba4271..51e439646733e7b44f89db85c981cd53a1283b75 100644 GIT binary patch delta 411 zcmV;M0c8Hz1GNK?B!7HKL_t(|ob8#x5`-WKhHIyN{|D~S9-L)RQK6Kq`M=r2Rw#&q zM(g6nu}7Ed*H87te1v<6r}}cE-;aIl&@={QY=V%dkGM^wH`ov!(I2G@7vQbvlA4Ix zlWzMGdXBq|Bf#1F!KUzAVs|92DamlJama(YK+;v-^XLQ+_kYhKz{mT^@G7Gf*Rn}P zrD0uWs2}1u*h&uuswYa>fTNMo=(-})m)Oa13d#cHk<97$Kw}SBeCL4Hbu$rJ4=}t{ zvOm)uQD!LqTPy$o45ywz`GHT9aGU9vdQc{AtHz7w-HB+Nc;db?4AUEv#<`{mu!^E#Nx=qVLX?8B8iBM*1EwGw&#tFnUKovM*^0d|ggN%fGPP+`99f zv-HV9seSgC>%L&$6#-96L4kM80RR9100000004j&KNQFd80ov7Pr(2H002ovPDHLk FV1o1n%9sEE delta 446 zcmV;v0YUz?1K0zQB!8btL_t(|ob8#xlEWYfhRsg<{tw(kdvJz9KqNL2yYqjuhfRW@ zs3`O(X}n*}^)I-qzMLYY3|eImQH5A_rM6O`csycIoC z6Vtj-do5LStG3+%$=eUNqoDWFoe{k-3)E$!!Qy8{{Y1)9;nR8BlWPfY$Xe5S_ii z@K)k{rZ=X{Qu2>j003|~Cfn&$#Yu&9;1khMhiUU(-_zDp>vX%9f(13-9L@D5S|4Km z9lV!wMc#aKV1GtBZ0e7vFDFr@h}H01KPc>cCB!OrHs8=LQv14 zLXuKKe@K3+JamUSNfX)VaC9!S6QIZJl(&XNB>i$*1mU1PuH;h_Fy{ikyUY3YVhYcd zD0U+847mLkkyGqC$0000000000001D14}Xsp&VC{!l>h($07*qoM6N<$g23ji-G1qTgT7*r8cEz_<%SJAG94iR|V+}`P zh}IjmzGTg{+Ij_S_I~bD{-xR-jca-`rPoTxgIu6d#WhC$sZzZsq~T5&E< znNS+)GNFE`*TKE_AkaL~iv}eY8H=qI8DDBA*CB{4kiXJ*Q005{Q=bQGjmGXH0vD1%zdSp}%`%}GIl+hEtp|&W*y-Pe|pWfxB z@*_)+^DZ+S(*7@ZPJB;E7M zm;%w-3m6V^7&;em(Ppf^@l|5n>40bK-!o1O1#AXW~LEgrKXt1|a|d000000002sa=Zcky#wT@ SOgfTNMo=(-})m)Oa13d#cHk<97$Kw}SBeCL4Hbu$rJ4=}t{ zvOm)uQD!LqTPy$o45ywz`GHT9aGU9vdQc{AtHz7w-HB+Nc;db?4AUEv#<`{mu!^E#Nx=qVLX?8B8iBM*1EwGw&#tFnUKovM*^0d|ggN%fGPP+`99f zv-HV9seSgC>%L&$6#-96L4kM80RR9100000004j&KNQFd80ov7Pr(2H002ovPDHLk FV1m%H%7Op@ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00016.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00016.png index 81da7862777a2aef8946928ac83eef32d4b69c4a..b3c17e476a565bf5d879dd000411a84b6c38f79a 100644 GIT binary patch delta 416 zcmV;R0bl;Y1G)o{B!7WPL_t(|ob8xN4#OY}MM;(3|G-_e3shwAfE&Oi(tqlrA-4H( z!sH``@qSg8$1|?$jd=)dO{V7Z$GpE^Yah)cfN=^&kvXE8O21h{zE%D>ZKwhDDwoAY z?7ay)mmIkcTaSR?>}O5+m+EvhsnKj`)+i-|+@J}?Bd?wS>VNoT1jJ;&c|7B3#c%ni zE(}N8W@#Skad2uk7It6IW&?`H#?#k`&0Ojv*HaK1Ah%@Cyk|OVK#F|_<-6`qM89re zs8_Q-mln}xDe+4z005XAax*`P_*;^G%(>=e)G&-LxVyHmHQH@4+Cv#$t~G$~k@FvZ zP|}W0&VZsJxAXGF$G zZReUiw}z=NpnF~wt2fS>dPIg+G7=RwUe`vy=EXEjeF2=?9X-O;`qqGLxqsory$wxD z)wjDb)e6O0i+|Ucq#0u*pr)3ZMQlR>000000000002u%P3-|y@dn>K;-K=W>0000< KMNUMnLSTZZ7{np~ delta 424 zcmV;Z0ayOI1HuE4B!7uXL_t(|ob8#x4#OY_hV8Pw{{!!^9ZZ-CB35u)^MBc4Z4s0z z3O&*`UeD_Ccji-G1qTgT7*r8cEz_<%SJAG94iR|V+}`P zh}IjmzGTg{+Ij_S_I~bD{-xR-jca-`rPoTxgIu6d#WhC$sZzZsq~T5&E< znNS+)GNFE`*TKE_AkaL~iv}eY8H=qI8DDBA*CB{4kiXJ*Q005{Q=bQGjmGXH0vD1%zdSp}%`%}GIl+hEtp|&W*y-Pe|pWfxB z@*_)+^DZ+S(*7@ZPJB;E7M zm;%w-3m6V^7&;em(Ppf^@l|5n>40bK-!o1O1#AXW~LEgrKXt1|a|d000000002sa=Zcky#wT@ SOg1KtCWB!8tzL_t(|ob8y|j>8}fMaii1{~z3k%mWfK-ndDCX{CGAhb-P= ziZL8z8|S;bJ%0DO{$PHbXDU;3`NzDU@3o(X1YmeMLOXLLV`_eD4E0sJ0A-|r)M~d) z#r3Yt&ZS!J&Gs{3bM|XY^;i0IsMJIOdlif=2=##uIt*sY33e zl=RMsR$@n9B!BX`NB0`Bmc#=J*vJttr4+vly1~T7{Tus)2knhH3&LGi62}uyR1kNO z7+4IS#1>T~zzaM8>NrLDaB&Z6^1_{)vPRVIT^-e_Fl=Bqz_lZKwhDDwoAY z?7ay)mmIkcTaSR?>}O5+m+EvhsnKj`)+i-|+@J}?Bd?wS>VNoT1jJ;&c|7B3#c%ni zE(}N8W@#Skad2uk7It6IW&?`H#?#k`&0Ojv*HaK1Ah%@Cyk|OVK#F|_<-6`qM89re zs8_Q-mln}xDe+4z005XAax*`P_*;^G%(>=e)G&-LxVyHmHQH@4+Cv#$t~G$~k@FvZ zP|}W0&VZsJxAXGF$G zZReUiw}z=NpnF~wt2fS>dPIg+G7=RwUe`vy=EXEjeF2=?9X-O;`qqGLxqsory$wxD z)wjDb)e6O0i+|Ucq#0u*pr)3ZMQlR>000000000002u%P3-|y@dn>K;-K=W>0000< KMNUMnLSTZ`n8ZE+ diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00018.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00018.png index 37311841295dcc87812d9a38ba3ef99cb9a2309a..7069eac669198c9836591882dcd2e0a7ae911118 100644 GIT binary patch delta 422 zcmV;X0a^au1Hc22B!7oVL_t(|ob8y~4#OY_hV9b5{{!!0yD%}zL6M5>lK;ytR*Ohc zP(0E$zMtmtc<&qf!Mubv;;FUV==bj@_R}l|Fit^er;loz%DCBv{Hpvh%G3gNuku*B zh@%s=Yss2hwQU4!_I|c0|5ED?;u=k+_F7HxAQvF2xaQ~t(0}T$B4CgA$>(*xR$R+d zLv%X!WkUVX#=)t*2pqnkWrG@vjAg7VGHYp_+@>HFAb-g-{hk@@0cr0XlyyB!M6(B& zx)<4>ON%HI%Kj}D006oio=!Zg@?*GG>1Yc3$8}fMaii1{~z3k%mWfK-ndDCX{CGAhb-P= ziZL8z8|S;bJ%0DO{$PHbXDU;3`NzDU@3o(X1YmeMLOXLLV`_eD4E0sJ0A-|r)M~d) z#r3Yt&ZS!J&Gs{3bM|XY^;i0IsMJIOdlif=2=##uIt*sY33e zl=RMsR$@n9B!BX`NB0`Bmc#=J*vJttr4+vly1~T7{Tus)2knhH3&LGi62}uyR1kNO z7+4IS#1>T~zzaM8>NrLDaB&Z6^1_{)vPRVIT^-e_Fl=Bqz_l8}fgvqM={tw(k_kd&>{F8wK+e-7PhlH5H zxWPDFqu%{(A168sdQA;TWBak@iW(tv=L8ask?C1Kmq* zrHeayC%cxa+{(5q;BfS-PxV*YaCD)GY;@E#54 z!02Ax{wyu7%~sBDv4jwka{0~fw@*ncZreBdCIVZmRIVJEmOId8NJM$m0Yn^8R*b9wD=~ds6X{R9GDsItdCmc(S8NmP0nrha zoE;AF6~`O+|_(}jq7d+b}??Q1Cc-0B|GBn>_)3_LI@#* i5JCtcgb+f=dHw*pFKp2&&z5rl0000lK;ytR*Ohc zP(0E$zMtmtc<&qf!Mubv;;FUV==bj@_R}l|Fit^er;loz%DCBv{Hpvh%G3gNuku*B zh@%s=Yss2hwQU4!_I|c0|5ED?;u=k+_F7HxAQvF2xaQ~t(0}T$B4CgA$>(*xR$R+d zLv%X!WkUVX#=)t*2pqnkWrG@vjAg7VGHYp_+@>HFAb-g-{hk@@0cr0XlyyB!M6(B& zx)<4>ON%HI%Kj}D006oio=!Zg@?*GG>1Yc3$o~}JB9(0O82OX#xZ^| zn80~#Tm@s^_hOS3G^$`!D=`YopRcgS+6(nLDEY8T*h2QG;Z0fXF09gS(j#VeIf}aAhA0ZwA(0V4V-&* zGaRZStvk^<0UWZ+kI=60@REtTEyr!mc9};vLIYTjQAU&KnSkid%c@lv%VhY1=o?o0 z3MQa9)%nN6z$Mx<4~i>i-J5{6*78=Uisjy+tJaiQi!+?sQ5A_xrQ=y^Zklf5l^6g3 k0000000000001}g2l5Lq#zf73$^ZZW07*qoM6N<$f`jJOga7~l delta 440 zcmV;p0Z0DS1JVPKB!8JnL_t(|ob8y+j>8}fgvqM={tw(k_kd&>{F8wK+e-7PhlH5H zxWPDFqu%{(A168sdQA;TWBak@iW(tv=L8ask?C1Kmq* zrHeayC%cxa+{(5q;BfS-PxV*YaCD)GY;@E#54 z!02Ax{wyu7%~sBDv4jwka{0~fw@*ncZreBdCIVZmRIVJEmOId8NJM$m0Yn^8R*b9wD=~ds6X{R9GDsItdCmc(S8NmP0nrha zoE;AF6~`O+|_(}jq7d+b}??Q1Cc-0B|GBn>_)3_LI@#* i5JCtcgb+f=dHw*pFKp2&&z5rl0000I4ch3#hc{U3NPW-m+#ia$rI*x8&fbJ2D{ zC>5mk3T}Mf$?5g$XZpeX6s~2FTFb$>f8Kj<4ROHmDhPSTNc$vqqYv>fIRIs}fYy>z zQ7Kx_hFwb>IUP350O#mOpW-j1;mAT$lhIMrNCd4wHk2KCcYgs$$5$EP6aDP=8h2Zq z%R?p_ifx&#aY*yvRr_P3d7)MfG>8mh>yFG?(jccL$Rx;D^31qLI%`1ieFieGyM<`9 zfzevo`Ycz9GF$OqVhJI{58K06q9zlYYCk_j&+b@C}I_9EyG@e-GFJ=xgmgT=pz?a4z~`O$NyH zwEM#iFNgO2zyf6xWk^xPz)u4E%H|}~Z74D(uJTp5lrNxv7qx|4ryT&$&+jS8P6#1{ g5JCtcgpeuz0A8z9c@~07*qoM6N<$g0Sh*-v9sr delta 442 zcmV;r0Y(1M1JnbMB!8PpL_t(|ob8y)Zp0uAMU!g!{~tVy=>o~}JB9(0O82OX#xZ^| zn80~#Tm@s^_hOS3G^$`!D=`YopRcgS+6(nLDEY8T*h2QG;Z0fXF09gS(j#VeIf}aAhA0ZwA(0V4V-&* zGaRZStvk^<0UWZ+kI=60@REtTEyr!mc9};vLIYTjQAU&KnSkid%c@lv%VhY1=o?o0 z3MQa9)%nN6z$Mx<4~i>i-J5{6*78=Uisjy+tJaiQi!+?sQ5A_xrQ=y^Zklf5l^6g3 k0000000000001}g2l5Lq#zf73$^ZZW07*qoM6N<$f`D?>f&c&j diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00022.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00022.png index ea0f2a1b85412d41e9537b8455aa404bd615ed0f..f9c016fd8ffc08fcb20cb58b525c73cbc8a613cd 100644 GIT binary patch delta 436 zcmV;l0ZabS1I`1GB!87jL_t(|ob8#*j>8}fMM>59{}1k>vp_=NS1!-C(mm=Tag1%8 zU=sIA$9TV*)9de?>o4YE$V8^r^1-~nUwfy91fX~tN+)wv$5j0081kiZ0P55V^{8@M zhM3-k*|lWLt=V=39L|1@DgRQN4v`v9r_NeU$)HvcrnKeV1%IHmU#);M*%#9bW@|pn zT`q!wvCh^!wCmvMUD)Wp;8lYfLm^UM)gu)Ooz9dLp#`4-nRo;;1XHmS{Wkoh^67?^tYOTS8%SI3a`(LI@#* e5JCtcWI6xOVo|K|6cC&M0000I4ch3#hc{U3NPW-m+#ia$rI*x8&fbJ2D{ zC>5mk3T}Mf$?5g$XZpeX6s~2FTFb$>f8Kj<4ROHmDhPSTNc$vqqYv>fIRIs}fYy>z zQ7Kx_hFwb>IUP350O#mOpW-j1;mAT$lhIMrNCd4wHk2KCcYgs$$5$EP6aDP=8h2Zq z%R?p_ifx&#aY*yvRr_P3d7)MfG>8mh>yFG?(jccL$Rx;D^31qLI%`1ieFieGyM<`9 zfzevo`Ycz9GF$OqVhJI{58K06q9zlYYCk_j&+b@C}I_9EyG@e-GFJ=xgmgT=pz?a4z~`O$NyH zwEM#iFNgO2zyf6xWk^xPz)u4E%H|}~Z74D(uJTp5lrNxv7qx|4ryT&$&+jS8P6#1{ g5JCtcgpeuz0A8z9c@~07*qoM6N<$f~KX?*#H0l diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00023.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00023.png index f9c016fd8ffc08fcb20cb58b525c73cbc8a613cd..3ed39eca9c766488c7ac9db99e4d496ec89cd8fc 100644 GIT binary patch delta 445 zcmV;u0Yd)H1J?tPB!8YsL_t(|ob8y|j>8}fMaii1{~z3k_5lfbk69-p-J?DvU@pcf zX1U5SK5zDV{hsUk!TcCyB2sJl!?=Imdxw^BK=Cq+PR5A()cUPH)T;K7w4nyHReNns z%-)6UTBe$CC`j|g3KB)R$_WJ n<0=3E00000000000AQXkz>r&rf7G7F00000NkvXXu0mjfRs_?z delta 436 zcmV;l0ZabZ1I`1GB!87jL_t(|ob8#*j>8}fMM>59{}1k>vp_=NS1!-C(mm=Tag1%8 zU=sIA$9TV*)9de?>o4YE$V8^r^1-~nUwfy91fX~tN+)wv$5j0081kiZ0P55V^{8@M zhM3-k*|lWLt=V=39L|1@DgRQN4v`v9r_NeU$)HvcrnKeV1%IHmU#);M*%#9bW@|pn zT`q!wvCh^!wCmvMUD)Wp;8lYfLm^UM)gu)Ooz9dLp#`4-nRo;;1XHmS{Wkoh^67?^tYOTS8%SI3a`(LI@#* e5JCtcWI6xOVo|K|6cC&M0000o|zeqkntPNaL(MMJKQ zF~K~}V;k4I`*{BD>-xd`7;Pd`wftk=ulL%aWdcyV4AIUU@tCOJ7DM}r{z+=MfLqZ= zGBJA>Zfj|td$;`x*qr?qQ~Nvmbcob=8lE){Wl#%*EA4r80e|TIvlXx>`(k*(XwBd9 zR2P9^tXZ0eejU8LFBW!Bc-4TD(PaAiL{m$j4-ZrR<6P63Dt)h3Z$Uc=9&p5)Pu^iH zHp`$_k$5C@OO5@{-`?vcAUSxBDE(8>-&^%wK{sW?UhYNSQ#1ipL(*=!3H4%nyHTk; z|4B^o8}fMaii1{~z3k_5lfbk69-p-J?DvU@pcf zX1U5SK5zDV{hsUk!TcCyB2sJl!?=Imdxw^BK=Cq+PR5A()cUPH)T;K7w4nyHReNns z%-)6UTBe$CC`j|g3KB)R$_WJ n<0=3E00000000000AQXkz>r&rf7G7F00000NkvXXu0mjfVlUIc diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00025.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00025.png index a1a29a201b83df603b39082d505ed70a4fad16ea..a73970865bd7c893ef7371fbc7a0fdbd392654ae 100644 GIT binary patch delta 414 zcmV;P0b%~t1Goc_B!7QNL_t(|ob8#*vcn(&` z4Kb|?wQEV5bG3N{1baWtDgCb89l|vw8SXU>c~A=oRa*1z1b>k0XAuzNeQ|r0yEWhC zE)$i3b(yVx$m8Hyy0FnaQOX7!kBrCGjLcecC+8_h1;~-y)9;B!4Y*>T0lnAFMAW;0 z;iE)-rZc9@R^m%6004wSDb>uXy=(1ecIFDVW^@1Qxf8V$o@Z>ys1YTrS;5Y%Z=(-D zZ~f=tI@5pAX@BVL5cvBOTEJ<=Y?DM#-#3{8rA|X>U^D84!iv19vtqGstEsSur71|X zTzZ$iGg(WtcZLbyhi<3=!_0^9{4O%QkXYXXh7n!gGpk}Sfe|2*l5RLR3!um_T%msP zJqrCpN}nZeM}4KgJj0&fI@}Ne=Q{-e0000000000;1{3r1y2JJLv#Cx%>V!Z07*qo IM6N<$g5N5^a{vGU delta 443 zcmV;s0Yv_|1JwhNB!8SqL_t(|ob8y)ZUZ3o|zeqkntPNaL(MMJKQ zF~K~}V;k4I`*{BD>-xd`7;Pd`wftk=ulL%aWdcyV4AIUU@tCOJ7DM}r{z+=MfLqZ= zGBJA>Zfj|td$;`x*qr?qQ~Nvmbcob=8lE){Wl#%*EA4r80e|TIvlXx>`(k*(XwBd9 zR2P9^tXZ0eejU8LFBW!Bc-4TD(PaAiL{m$j4-ZrR<6P63Dt)h3Z$Uc=9&p5)Pu^iH zHp`$_k$5C@OO5@{-`?vcAUSxBDE(8>-&^%wK{sW?UhYNSQ#1ipL(*=!3H4%nyHTk; z|4B^oq_mjWX)2oi~wiv=RW0MlI~EhsmXA!ama(EfKpXz9-RQBet#ALKHgWuYmC-h%ePE4 z8n$JI`a#CQUVAXmJWNDLjWrpHkVgUeP9n4IvUMOGR?%u>YikOz3ok6rJ7it1%ji-1keF&` z4Kb|?wQEV5bG3N{1baWtDgCb89l|vw8SXU>c~A=oRa*1z1b>k0XAuzNeQ|r0yEWhC zE)$i3b(yVx$m8Hyy0FnaQOX7!kBrCGjLcecC+8_h1;~-y)9;B!4Y*>T0lnAFMAW;0 z;iE)-rZc9@R^m%6004wSDb>uXy=(1ecIFDVW^@1Qxf8V$o@Z>ys1YTrS;5Y%Z=(-D zZ~f=tI@5pAX@BVL5cvBOTEJ<=Y?DM#-#3{8rA|X>U^D84!iv19vtqGstEsSur71|X zTzZ$iGg(WtcZLbyhi<3=!_0^9{4O%QkXYXXh7n!gGpk}Sfe|2*l5RLR3!um_T%msP zJqrCpN}nZeM}4KgJj0&fI@}Ne=Q{-e0000000000;1{3r1y2JJLv#Cx%>V!Z07*qo IM6N<$g6+A%d;kCd diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00027.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00027.png index 0778ddec01d74c65e67a555163fc32ac9cf6236d..dd15dbb89939c7e979431afa1f5778da7e84c55d 100644 GIT binary patch delta 401 zcmV;C0dD@^0;>a%B!6;AL_t(|ob8#*62l+}MM)?9{}0Y0U1Y`qMYL7aCihG?Aq0GY z54w>P=OG@qx0j>TX^XG(5TA2{(W_3p^hPui+I{`H*vvWNmV>*Wtr?H1q{TiF5$%eS zYqaJvBO1rhk}#L50{@mPM>e^Hn=*Rp5iyr*=~QNb_vrJcM1OvXlypg>n=1q(YT!q! z2bZgTEZXdn%26bV3>Y^0oM>oL)D-#3Y>VC$ZLvDyyz;2sQ%e8yJV=0E` z{P+dE*~Yn=Qh%IC+wk-#9=`!ByX6p(Qi>Q1uL>B&2GVY1H9Gt;y6C8diqzEIC>Ff9 zP`xMTB08r~G-3;#nVkWg`aY|H{GTj#46V5sUpgJD&{J7#0_quGHSuAkC5Yq_mjWX)2oi~wiv=RW0MlI~EhsmXA!ama(EfKpXz9-RQBet#ALKHgWuYmC-h%ePE4 z8n$JI`a#CQUVAXmJWNDLjWrpHkVgUeP9n4IvUMOGR?%u>YikOz3ok6rJ7it1%ji-1keFfh`-P3sKQlVFjE>^80%j@?*U$ezX!5bOOYGJMV zQN3{m?{hbK4$V(o|HMc}+DVis`N9@py7xtlYaeZTZS`+3@qY?guD0+gf0(`op7(pn zpHA)MIt7{GGX||!J1gnF=7|GPA--f@8iZLSy&_EYmgUvLlQz8wPfsua08nGq01uIl zc}5c{m|u&?O5bAqAX*Xs$tw(`436hg_+6RlDKe)ZeylDJdeD>E_n;L>6Q}+Lz47$m zlhf3#h~Nx#CXX)CwNn16eJwuh2_N-qf8EVyLRK*PvO|vWR z!l_j%6uz?tfZl{P;10}czXJdO00000008&o0|~1_`M1*|{Qv*}07*qoM6N<$f}n`p AJ^%m! delta 401 zcmV;C0dD@}1FHj&B!6;AL_t(|ob8#*62l+}MM)?9{}0Y0U1Y`qMYL7aCihG?Aq0GY z54w>P=OG@qx0j>TX^XG(5TA2{(W_3p^hPui+I{`H*vvWNmV>*Wtr?H1q{TiF5$%eS zYqaJvBO1rhk}#L50{@mPM>e^Hn=*Rp5iyr*=~QNb_vrJcM1OvXlypg>n=1q(YT!q! z2bZgTEZXdn%26bV3>Y^0oM>oL)D-#3Y>VC$ZLvDyyz;2sQ%e8yJV=0E` z{P+dE*~Yn=Qh%IC+wk-#9=`!ByX6p(Qi>Q1uL>B&2GVY1H9Gt;y6C8diqzEIC>Ff9 zP`xMTB08r~G-3;#nVkWg`aY|H{GTj#46V5sUpgJD&{J7#0_quGHSuAkC5YQ$i8X+P zM`F%nE8ef)@%i+#!*<>VA8d*%RFjxJ^ zX6)eo)J-La+Aj=0GGdW7i5Mkck{jUeeG=o`M^&!{|0);mP=Doe3orVI`#mUmf0TT8 zawq2{NDQAfaJ}4FM)%#mZ~-jDPs^l5h)uH8gpWLB({53c=H7(e3k(1NqT{R)nnSV;K8}oj8T9h(CIj{`IpRPp_qKs74iDFA8>1(N)A<>-y{fL$Nb_9u4 zK1vg_imS8i7gaOW#s)Wlz`b_kayy-h#46WvCm!`F7E?mP4lI15HbsV5r7W=9&Xx=) zb=OWvE|b$#Dc^O_?IHVmT$E@4`L1wpEvs?g31LOmcB!8<(L_t(|ob8y~lEWYfhDoP={|D~H_99b@oI;Gz?BxGuFS0fQ zK?G%?OY!&qJuk0$cFcu)VX)p=s>fh`-P3sKQlVFjE>^80%j@?*U$ezX!5bOOYGJMV zQN3{m?{hbK4$V(o|HMc}+DVis`N9@py7xtlYaeZTZS`+3@qY?guD0+gf0(`op7(pn zpHA)MIt7{GGX||!J1gnF=7|GPA--f@8iZLSy&_EYmgUvLlQz8wPfsua08nGq01uIl zc}5c{m|u&?O5bAqAX*Xs$tw(`436hg_+6RlDKe)ZeylDJdeD>E_n;L>6Q}+Lz47$m zlhf3#h~Nx#CXX)CwNn16eJwuh2_N-qf8EVyLRK*PvO|vWR z!l_j%6uz?tfZl{P;10}czXJdO00000008&o0|~1_`M1*|{Qv*}07*qoM6N<$g56x) AU;qFB diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00030.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00030.png index f12d6df3266fc964f005594a4523b23e7c611137..e67c683e4899e536c2841d34d04bf86d4943d11c 100644 GIT binary patch delta 293 zcmV+=0owk}1Hb~1B!34<)`A#0gULyFI`00000NkvXXu0mjfo3e;& delta 435 zcmV;k0ZjhD0?h-EB!84iL_t(|ob8#*62l+}MUzhY{~z2%yKrh15HUV*I`>Q$i8X+P zM`F%nE8ef)@%i+#!*<>VA8d*%RFjxJ^ zX6)eo)J-La+Aj=0GGdW7i5Mkck{jUeeG=o`M^&!{|0);mP=Doe3orVI`#mUmf0TT8 zawq2{NDQAfaJ}4FM)%#mZ~-jDPs^l5h)uH8gpWLB({53c=H7(e3k(1NqT{R)nnSV;K8}oj8T9h(CIj{`IpRPp_qKs74iDFA8>1(N)A<>-y{fL$Nb_9u4 zK1vg_imS8i7gaOW#s)Wlz`b_kayy-h#46WvCm!`F7E?mP4lI15HbsV5r7W=9&Xx=) zb=OWvE|b$#Dc^O_?IHVmT$E@4`L1wpEvs?gBf22Ucp;NUdAE!v~P}eF%qk?=z2S2 z_K^M$!Ww1ERs>+W6TM;v-$t~ST3BR!j_PZP!)lBIuAR_PoPXzAe6d+G59cG~$uQBu zpFtE>k^o2bGX-mY)VkBJ@r!Em3LQ1&sz`IN>}@!>iL}`iMZLExJo2WwEoq^rBgiEO zMGIP>TFJP|HnCv_DnEbgCLz4djD4&J_=wt_TTc8TwgN z2Y|kW(E(JVpGUTnGg|^Uk4wh1%zP8z4j2p)08TRV{Fxu9KaxkN|A=QO;Ux+H00000 g00000001cQ1(eLOxu-Q~p#T5?07*qoM6N<$g3soZNB{r; delta 293 zcmV+=0owlQ0>A>0B!34<)`A#0gULyFI`00000NkvXXu0mjfx|)cF diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00032.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00032.png index 4027411b7af1cb28517b1b0c1bc9a5011b174950..c3151dcffbbdceb2674e5d148fcaca645e9e80a1 100644 GIT binary patch delta 327 zcmV-N0l5C@0^$OYB!4MML_t(|ob8xF62l+}MZcZq{s+z?T{vYhXiVA;V)NfBkuV@A z7=a*cE4FpC69afu#{2^z7Trt_$#>17Nx-%uEgs%<$?i&|@`Ij3YXoI{t-2O@rXelX zT$z9&(ck&B3uyMoI+i~ZY1f2Sm*=#2&)4KYC1C8@zZ44_@qdZ>N1201OW@6YnsB+$ z%M#?D12Ly}K-UMmSAz7dE~dOf404&&kF);1EIx03eNa;7zrf zw?w*i>p}avEAjTffkhcOyo#`*gSOfFrlk_#;QJiyz)z7Se`a0BIFrnofNBYvliF=) ze7?WKiLv}KYd`{8Bf22Ucp;NUdAE!v~P}eF%qk?=z2S2 z_K^M$!Ww1ERs>+W6TM;v-$t~ST3BR!j_PZP!)lBIuAR_PoPXzAe6d+G59cG~$uQBu zpFtE>k^o2bGX-mY)VkBJ@r!Em3LQ1&sz`IN>}@!>iL}`iMZLExJo2WwEoq^rBgiEO zMGIP>TFJP|HnCv_DnEbgCLz4djD4&J_=wt_TTc8TwgN z2Y|kW(E(JVpGUTnGg|^Uk4wh1%zP8z4j2p)08TRV{Fxu9KaxkN|A=QO;Ux+H00000 g00000001cQ1(eLOxu-Q~p#T5?07*qoM6N<$g8V|1Y5)KL diff --git a/tests/integration/nano/snapshots/nanos/regression_batched_ops/00033.png b/tests/integration/nano/snapshots/nanos/regression_batched_ops/00033.png index c3151dcffbbdceb2674e5d148fcaca645e9e80a1..433736555d7b79aca4f3fdf838bdf1b4c92db921 100644 GIT binary patch delta 471 zcmV;|0Vw|B0`UWoB!9R`L_t(|ob8#-vcn((rvBn#MQ1646{$Vq`VAYbRuA@lps^6rZ<2nUxn}Z-gJHuxkt#*BJ2GFuO;P()j zk-1&HCP_T05K%ea-`0t7wDp#xS^hC@(GkQ&s0aMs1E#t?HS17Nx-%uEgs%<$?i&|@`Ij3YXoI{t-2O@rXelX zT$z9&(ck&B3uyMoI+i~ZY1f2Sm*=#2&)4KYC1C8@zZ44_@qdZ>N1201OW@6YnsB+$ z%M#?D12Ly}K-UMmSAz7dE~dOf404&&kF);1EIx03eNa;7zrf zw?w*i>p}avEAjTffkhcOyo#`*gSOfFrlk_#;QJiyz)z7Se`a0BIFrnofNBYvliF=) ze7?WKiLv}KYd`{8B6{SQ2gnMJB71O%f#Hx^-H4OH7AeBoZ%e9ai!hHG%6}nHzXCvW0$$nsYGhc6 z(T_rnG)`EA_8ffpgJf{SvMmo&R}ni^XVUt(4MAx>Fcv6t`Q$*mhj#7&*yaPwLuf?C zc9telOKRrQGd4uj+hP-$LB1%8Vt{M1pB*&a&krmb%F4*7s(QJ+98PvOkW+dZuk%8@ zdmpljMn1I-?0>$l*w8i`6y$)B_gTy_0>OBFfG0vv0CZBoKuB4)5zO5nFV#m^x-s-?j&xJN zb?Z{ delta 471 zcmV;|0Vw|I1MvfpB!9R`L_t(|ob8#-vcn((rvBn#MQ1646{$Vq`VAYbRuA@lps^6rZ<2nUxn}Z-gJHuxkt#*BJ2GFuO;P()j zk-1&HCP_T05K%ea-`0t7wDp#xS^hC@(GkQ&s0aMs1E#t?HS8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjftyi_; delta 463 zcmV;=0WkiQ1L*^hB!93;L_t(|ob8xFlEfegMM>B6{SQ2gnMJB71O%f#Hx^-H4OH7AeBoZ%e9ai!hHG%6}nHzXCvW0$$nsYGhc6 z(T_rnG)`EA_8ffpgJf{SvMmo&R}ni^XVUt(4MAx>Fcv6t`Q$*mhj#7&*yaPwLuf?C zc9telOKRrQGd4uj+hP-$LB1%8Vt{M1pB*&a&krmb%F4*7s(QJ+98PvOkW+dZuk%8@ zdmpljMn1I-?0>$l*w8i`6y$)B_gTy_0>OBFfG0vv0CZBoKuB4)5zO5nFV#m^x-s-?j&xJN zbvY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00010.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00010.png index d58a3edc056c1790f3bb80538af2a96705513c5d..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*&0`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh delta 299 zcmV+`0o4BU1I7Z7B!3M_L_t(|ob8xF62l+}0I}2l|G_=9hs;g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLrrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00012.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00012.png index de32f3ce07dff69f81610af590478fccb00eb981..d1f0c52d8077e5a03ec63b54ac67ca3287164e62 100644 GIT binary patch delta 379 zcmV->0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`qlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 delta 379 zcmV->0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00014.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00014.png index 9068ab50d49af8af99788f17c6939150c5387fca..ca3d9981762c636f11dddc5cf3ebbb25d718bc9c 100644 GIT binary patch delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF00006!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00015.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00015.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..caae0be866a45f241d0b2e3535081a8da8301096 100644 GIT binary patch delta 378 zcmV-=0fqjT1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo delta 378 zcmV-=0fqji1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00018.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00018.png index f20965b93a9104857683e8020bb96a3cd236905f..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YL1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK delta 388 zcmV-~0ek+W1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00020.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00020.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00021.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00021.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00022.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00022.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..9c2054a609aabadd8aa507d9098cac32d83ad4bb 100644 GIT binary patch delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00023.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00023.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> delta 374 zcmV-+0g3*G1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00024.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00024.png index 08b20a8371c78697a4e4a0915c8987ccfbb0132d..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00025.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00025.png index afa9173a2db50134265726a18b83f78c125c7317..7226a9e230b3e9732865ded1fe0d639b690029e9 100644 GIT binary patch delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00026.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00026.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7Fx0-6JmB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW delta 287 zcmV+)0pR|c1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn00004uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00028.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00028.png index 182640db43ff9724045c67199b76083d44b6dd53..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cc1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( delta 376 zcmV-;0f+vG1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00030.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00030.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 377 zcmV-<0fzpg1C#@hB!62;L_t(|ob8y)4ul{KMRDT%{|CF6S&%fPJXLOe+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= delta 393 zcmV;40e1eB1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O0000apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC diff --git a/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00032.png b/tests/integration/nano/snapshots/nanos/test_ensure_always_clearsign/00032.png deleted file mode 100644 index 7e0e238204773a5ce6d51d5a1ce25147473482ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-w=P)vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000ch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDekz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vkz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDe-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00012.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_added_at_the_end/00012.png index 6f75a6599218fd6ca395e5f014ad540381528c05..9fefcab8d139572d5628671f1d325c0a77df9f50 100644 GIT binary patch delta 439 zcmV;o0Z9Ja0?`AIB!8GmL_t(|ob8#xb^U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@J$|1q#bkA<>sFr2VTKwxXdnpk&2peN&+(3$ ze%upkq6s^@?|)M6aOX0FA$mO=e_A$!3&SsB02=@R001C~f7DX#t{XFIasU7T M07*qoM6N<$g5xsG+W-In delta 439 zcmV;o0Z9J51JMJJB!8GmL_t(|ob8#xb^U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42CV3vB!09HUP z&?-QxwIIL>Q12xULVy8CsSLaTAXZhP|9C*yFAMEQLi_PBgMN52WU&6`Eb+_p1ak^% zTkQpB@CS^l00000 LNkvXXu0mjfw~%;& delta 419 zcmV;U0bKr|0=xr|BYy#dNkla$M*5s%-wsJJBWqKWkXgMVcprBbO+fb}$m_)A{T zZ!~|8`UIpypF}GMi4C^6SD)Gge8TSSya9>vD(=wcF+8 zVA(p-ClaNoh(Pp!aJK-yMk}hHC*d1JUp;=GF2!VZsq0pr%VCBZIcOjV^38IfHqY^n zntt39YN81{yMOOe?sBsA(5ipsIC^vGjM&s8l{yh(_Wtb5n&qiu@Ni+}#-wE!=Zx4` zEaZr7Ghk7cva8KVMnnC^PX+Cx2(==I2ilS9G-#ualGvH6ksqD~QNoAO|0J+Wzc&Hx z(@+`8k+FV}cmD%G3ula@t?EB%dm(x~9DiCigA2niVjKVf0000WiGS2m?XDX$YH|Po N002ovPDHLkV1kqc%&GtY diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00009.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00009.png index 92b4bce4e0b6ca6910717fd0d8adde36278ae65b..218dc0511b0c69b94466f46b39ae4f591098f8dc 100644 GIT binary patch delta 339 zcmV-Z0j&P>1MUKlB!4wYL_t(|ob8y)5`!QNMWLhr|G{0 zCx{|O>zBjA`>Fpu#DnxbGmA8iYcY=dPoB=q^DNdSXH@Ig!hh1d6ulY5ITKA%Vz}qL zodqiE5W=AXcnvzlNf3KDehSAH^oSe;Z8IY_5GR>a)_^cR2kJJ1x^}A@;u6}r?>ueY zf}b|n1&_|XJJ&u~1pojXP;V*yD+Exe#OqurNy=F!7JbT0N@u7Y+M$(Bx#=AP$!3=y zp?z!g7P2b}bxcqaH|p_$vkDMV*MleXgaoL)qJHD%8=M1f##04|w;kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfD4*w! diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00010.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00010.png index 218dc0511b0c69b94466f46b39ae4f591098f8dc..9fefcab8d139572d5628671f1d325c0a77df9f50 100644 GIT binary patch delta 439 zcmV;o0Z9Jt0?`AIB!8GmL_t(|ob8#xb^U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42(1w delta 339 zcmV-Z0j&Pf1MUKlB!4wYL_t(|ob8y)5`!QNMWLhr|G{0 zCx{|O>zBjA`>Fpu#DnxbGmA8iYcY=dPoB=q^DNdSXH@Ig!hh1d6ulY5ITKA%Vz}qL zodqiE5W=AXcnvzlNf3KDehSAH^oSe;Z8IY_5GR>a)_^cR2kJJ1x^}A@;u6}r?>ueY zf}b|n1&_|XJJ&u~1pojXP;V*yD+Exe#OqurNy=F!7JbT0N@u7Y+M$(Bx#=AP$!3=y zp?z!g7P2b}bxcqaH|p_$vkDMV*MleXgaoL)qJHD%8=M1f##04|w;J$|1q#bkA<>sFr2VTKwxXdnpk&2peN&+(3$ ze%upkq6s^@?|)M6aOX0FA$mO=e_A$!3&SsB02=@R001C~f7DX#t{XFIasU7T M07*qoM6N<$g5xsG+W-In delta 439 zcmV;o0Z9J51JMJJB!8GmL_t(|ob8#xb^U3i-Fk_Sl0ps8|K8WUh3 zfiNDI41T`5ug7gw)QW_?`4Ywk_k}sdYsc+?L47d&Pu8v^Q!%Dj;4mTtwiJ662CEa%(ki`{d4sxhz`gLh*e#2 zRZPyh5Chs(RD@4I2PpPobj3pLfy<_-*CP{`Bzyn=GX&KWmiJ#D5WSi6$H|jM1iv!aXum5bw+U+0)42CV3vB!09HUP z&?-QxwIIL>Q12xULVy8CsSLaTAXZhP|9C*yFAMEQLi_PBgMN52WU&6`Eb+_p1ak^% zTkQpB@CS^l00000 LNkvXXu0mjfw~%;& delta 419 zcmV;U0bKr|0=xr|BYy#dNkla$M*5s%-wsJJBWqKWkXgMVcprBbO+fb}$m_)A{T zZ!~|8`UIpypF}GMi4C^6SD)Gge8TSSya9>vD(=wcF+8 zVA(p-ClaNoh(Pp!aJK-yMk}hHC*d1JUp;=GF2!VZsq0pr%VCBZIcOjV^38IfHqY^n zntt39YN81{yMOOe?sBsA(5ipsIC^vGjM&s8l{yh(_Wtb5n&qiu@Ni+}#-wE!=Zx4` zEaZr7Ghk7cva8KVMnnC^PX+Cx2(==I2ilS9G-#ualGvH6ksqD~QNoAO|0J+Wzc&Hx z(@+`8k+FV}cmD%G3ula@t?EB%dm(x~9DiCigA2niVjKVf0000WiGS2m?XDX$YH|Po N002ovPDHLkV1kqc%&GtY diff --git a/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00013.png b/tests/integration/nano/snapshots/nanos/test_parsing_errors/one_byte_removed_inside/00013.png deleted file mode 100644 index fda55f50120668ceacffb79c3b669070627c9ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)CV3vB!09HUP&?-QxwIIL>Q12xULVy8CsSLaTAXZhP z|9C*yFAMEQLi_PBgLpDzu>R&O@yqiBa|&u(?FDD!?!3!Yyx zU&L(lQOk1FIx|=w><~LD2Z;kvYZL44(k8-(#A`wI$k%z4#1-&_m3XN&v3CV006BL5 m7v<`Z#9fFGLI@$`57_~1yHn5b2aKu!0000g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00010.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00010.png index d58a3edc056c1790f3bb80538af2a96705513c5d..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*&0`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh delta 299 zcmV+`0o4BU1I7Z7B!3M_L_t(|ob8xF62l+}0I}2l|G_=9hs;g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLrrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00012.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00012.png index de32f3ce07dff69f81610af590478fccb00eb981..d1f0c52d8077e5a03ec63b54ac67ca3287164e62 100644 GIT binary patch delta 379 zcmV->0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`qlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 delta 379 zcmV->0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00014.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00014.png index 9068ab50d49af8af99788f17c6939150c5387fca..ca3d9981762c636f11dddc5cf3ebbb25d718bc9c 100644 GIT binary patch delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF00006!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00015.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00015.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..caae0be866a45f241d0b2e3535081a8da8301096 100644 GIT binary patch delta 378 zcmV-=0fqjT1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo delta 378 zcmV-=0fqji1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00018.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00018.png index f20965b93a9104857683e8020bb96a3cd236905f..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YL1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK delta 388 zcmV-~0ek+W1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00020.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00020.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00021.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00021.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00022.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00022.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..9c2054a609aabadd8aa507d9098cac32d83ad4bb 100644 GIT binary patch delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00023.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00023.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> delta 374 zcmV-+0g3*G1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00024.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00024.png index 08b20a8371c78697a4e4a0915c8987ccfbb0132d..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00025.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00025.png index afa9173a2db50134265726a18b83f78c125c7317..7226a9e230b3e9732865ded1fe0d639b690029e9 100644 GIT binary patch delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00026.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00026.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7Fx0-6JmB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW delta 287 zcmV+)0pR|c1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn00004uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00028.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00028.png index 182640db43ff9724045c67199b76083d44b6dd53..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cc1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( delta 376 zcmV-;0f+vG1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00030.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00030.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 377 zcmV-<0fzpg1C#@hB!62;L_t(|ob8y)4ul{KMRDT%{|CF6S&%fPJXLOe+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= delta 393 zcmV;40e1eB1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O0000apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00032.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00032.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..970b15944a929cb54b84d1187fb0c49d776ce161 100644 GIT binary patch delta 314 zcmV-A0mc551JweMB!3)9L_t(|ob8#x4#OY}L(^&d{}1Ls4@?M=Pz9t78|9tWF0E2K zKm;N|5CnmToFu2ke^GhuPGBBWWkTr-R0dq1?~hLIdRYT_pfW%#517>#k!yDXOXvxQ zQ+?qZ0fkO(TJ?q1fP>&PV6+GmLTEs{>W=y%9@q@fJrB7DmVW`TUoz@AnLSVjW- znCXG%?1iv`4kFawPk8Wm)K5CEhTu`_NS7vBQwUxeE?3ynj-;PsRXz)wK|C`Xik5Cp+qZZyP&s1Bsn{Qv*} M07*qoM6N<$f>eo&3;+NC delta 377 zcmV-<0fzq70+a)gB!62;L_t(|ob8y+j>8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfj%&5e diff --git a/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png b/tests/integration/nano/snapshots/nanos/test_regression_continue_after_reject/reject_signing/00033.png deleted file mode 100644 index 970b15944a929cb54b84d1187fb0c49d776ce161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmV-b0jmCqP)W-nCXG%?1iv`4kFawPk8Wm)K5CEhTv2Gq0-vaAjgxfa@jYGiT n^^^<1PeB1FN0fgM1i@ZzG{l9d4y4un00000NkvXXu0mjf06&f| diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00009.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00009.png index 92b4bce4e0b6ca6910717fd0d8adde36278ae65b..d58a3edc056c1790f3bb80538af2a96705513c5d 100644 GIT binary patch delta 299 zcmV+`0o4BU1I7Z7B!3M_L_t(|ob8xF62l+}0I}2l|G_=9hs;g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00010.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00010.png index d58a3edc056c1790f3bb80538af2a96705513c5d..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*&0`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh delta 299 zcmV+`0o4BU1I7Z7B!3M_L_t(|ob8xF62l+}0I}2l|G_=9hs;g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$lo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoLrrB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjfqlf24 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00012.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00012.png index de32f3ce07dff69f81610af590478fccb00eb981..d1f0c52d8077e5a03ec63b54ac67ca3287164e62 100644 GIT binary patch delta 379 zcmV->0fhdg1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1l%xt`qlo?KaVN@Qt1xinwAXr8izbs3kX%UX72z{>VIb|AjbP*dY##--|~`) zPRG8Cs~^gB@M%48G*7gm0cS>L#?~1bTS_OFA*fm)kK~?y&kS-vihT$4T@M4%>IR1Q z68V{0R2f&|Q!D@g#IYJo`@&oskJPG_!&}vP)1t+QsuDiQQj+l#Hq>^w9GS!V1!P)> z2cnUevO+kueSg&Vos(%%OWzc=yzGRF`RacdF^1QNO)rV9W48i^o7@XaypyIq_wU+q zv>$Zx70+SQ&efCM3;2&?jBtFCaB3tsr#B>y5zS4j3h#*Dk@|d=e%dOu&H;Y&zx)ry pC-K}34*&oF00000003P10n9o9OMrVEo&W#<07*qoL6!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1m8(r?3D3 delta 379 zcmV->0fhdN1C|4jB!68=L_t(|ob8y)5`!QNMYUu9|ASrF1v8lt!b?M-?LFh7N`PxB z31r{gxX$QyfBQ|nFfZkq@RThR{eGQeU#&$z!l4*>`iN_yd4q<~L_ZpBxB>4)x701` z6grk|hWa612S=`9;PgZ;8gN={TIPCUV@vGhI0PjNisCNUy zdx`u^PgI+s_@`I^0PyDat})jd4AlLr8ooURJVq-;IMbMy#A((rn@tsvlp+ktl@P>3 zexMb`Tg^M=R&;X#~Ubn8`Q&?YFKo1B(Kg{$GaJm2h0000000000 Z2tFcj`D!_`X_Ei|002ovPDHLkV1k%}t^oi5 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00014.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00014.png index 9068ab50d49af8af99788f17c6939150c5387fca..ca3d9981762c636f11dddc5cf3ebbb25d718bc9c 100644 GIT binary patch delta 380 zcmV-?0fYXM1D6AkB!6B>L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF00006!sag^DXop+t zC5VfBXRF=X6>td^%rt6!g+_9)Hv>d2(y7Tam}hia0XGP> V@nk2cG@Jkc002ovPDHLkV1mDHr?CJ4 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00015.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00015.png index ca3d9981762c636f11dddc5cf3ebbb25d718bc9c..caae0be866a45f241d0b2e3535081a8da8301096 100644 GIT binary patch delta 378 zcmV-=0fqjT1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|L_t(|ob8#*5`!QNMYUu9|ASrF1)WR?4?&WM<2}kW89D3_R(4dBy1TY&lqt{G;YukZqb)U8*adR(Is`s zjxOBl5F^xk!54O?`!{LciHsG|_w2U=kqe~p*I0YpWz0~Hs+O6IRDx(vn89=+}!TdAHHqcRqMh(z~ zPRHIMW4<5YW#|>*mi!}ZvIXt(^e_E$;4EWye2(3pA_FPt#oYbs{h34t0000000000 a@DhHe*zs^pt1UJF0000~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTXw;JZKo delta 378 zcmV-=0fqji1C;}iB!65FZ~?AGkEGJ{ zF3ip)TQ1F(GaxwoIi~zeWjaJ^dNMp~9LiuVAWYSky$e8TpMTAOnCy%0DZOoe%coo@ zin@$z9?E&}?7eVwPxPt*$0B3#bw_3{Ws=JhR85edWY4^325Ufy9RvEVhlS|u28L^i z^_g0lGOolgu>b&|a?CNK>{Z03TWFoCiMssogykK;C90F~eR_wZS(ZJ7*V&vj0K>?1 zf!<|a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*~Tnw|}h8iyiS8z@(`=ja3={eQC+kQ06NddAx}=klp8 zjE1&NXdL7^IC>8PyC-_tfHPw=)7KRnUu2MF3aS>!PqJp*3xhpi%N+xn*TY0~_5+5u zQu{OAY1)L6zr_LofXVLZ%s%5N1K#RXX0+{97rpvNf|5C^ldvP|)avebNb`Vpi;_OB z127b18yJg*-+$x>;M(nEP<)lFNUyFiX;wF>&#uF7N5hG)k_$wppymwy+R5$2C~1|W zy`VbRB7UwDpd@kt3ja~w2qQ8D&7dlP&8+qH_|;=?%->KYOOsQGpK+d}L=vBZ76F-X q%sK&DM+pD`00000008i3d;kor>C^WkB}f1O002ovP6b4+LSTX=Si4F9 diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00018.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00018.png index f20965b93a9104857683e8020bb96a3cd236905f..91ba67e9d58f19b59a4f1935d93924c881070be3 100644 GIT binary patch delta 394 zcmV;50d@YL1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1w5o6aWAK delta 388 zcmV-~0ek+W1D^wsB!6Z}L_t(|ob8#>a)dAlMYXg2{}0}W?L%f50t90Un0D@&eOQ%{ zD+XfXd6e;acZcV9UDq4)WtCm~j_;chQ67i$|# zi4hM#Zvz|?p?&cUoTT9=`C@oML!go;xqOEk?J-Q6=_Yy|drL!xl2xiokU2t^ojgvQ zlJYqq#Lo^-B1nn#JpdF^l>sw|-9WQyEsr?8#o{Dos*@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1k5It^xo6 delta 394 zcmV;50d@YK1Ed3xB!6p3L_t(|ob8z14udcVg}Y^Y{|Da1cF}}T`eW&UsySbFF_pG> z6tFx}7~fBE_;|-HePW)Cb3!RwHtPQU_}qgP=C(PA|OV6aeITiZNAH@ zB?be>Hm*99aq#M0a9p0~WdqKP&CFW=*w|8vT&AEZKrYESbig5Wtoal$~00000NkvXXt^-0~g1i8{6951J diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00020.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00020.png index e2e233f0147f46c5d8f5b844bfde76b129062a91..972f178b3e37735865d0e4ee44873ed4fd2c9f4a 100644 GIT binary patch delta 371 zcmV-(0gV2h1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1ilns?Goa delta 387 zcmV-}0et?B1D*qrB!6W|L_t(|ob8z14#OY_g}Y^Y{|D~Hc40z5k@|z!Cg;m8){2U( z96DY{7{60ozP@o=-@FN>5f8{_^v*B-6Kfr5`>6d5D#6YZOPNJI3c(S{rFS#(KL z)ZMdXeMu|JWn~5gM?d+LK8FlP7Mhw3j~a&}SQ=zYl`F3n0DrkY%Yc~ZXU8*6t3JzJ zTNo2wHg4I*>(w`vWvcnb((T+mhF{UWK6&T@Lj6;K8yC*uta(F}(nZcMYK4 z)-EO;2=4_fF2YYF_BU{qpkq!1)Vj*aBtosLF0nJTXopPQiI}c^qYoZHg1{Kt-?#t( h000000000mz#m&$=ZI+Ip*8>j002ovPDHLkV1i>4t?U2* diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00021.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00021.png index 972f178b3e37735865d0e4ee44873ed4fd2c9f4a..083033d454e290bc2cd0ed3d7c9958ef2c288adc 100644 GIT binary patch delta 379 zcmV->0fhdJ1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jKcwLJg; delta 371 zcmV-(0gV2Z1C9fbB!5*&L_t(|ob8#*5`!QNMX_W5|ASrF1=CCj;h~a1JNHZ%6$62* zB!F9R<2;hf?d|7!VO~m^P--j_bw3Z=q4jhiV^@qkHR63Dzp)ST7X9h8;Rd`GT~Za* zyJ&VSvE{VcbOt!9ANv%4A(cZ&Q?lWzaY(`3Ks1%NY#jj7_J7$7@KIk3uQFQoUB2X^ zQn7AhszW*t_R%%H?=ztHx*3SBE?{^q zk)NqVwK2s%#R34piqvDS2+DlPm{+{LNNu{V`yGUK6ydfoojnslJISezD)fySnvP<000000001>!UrMq-FRzV R3%&pV002ovPDHLkV1iCus>T2S diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00022.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00022.png index 083033d454e290bc2cd0ed3d7c9958ef2c288adc..9c2054a609aabadd8aa507d9098cac32d83ad4bb 100644 GIT binary patch delta 374 zcmV-+0g3*W1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+n0fhdM1C|4jB!68=L_t(|ob8yw4#OY_hV9b5{{#219ZU#(<^Qt7s)&dR z>XyRz9L4AMj_Z11UX?Q8DO+yz`{(c-+K2&)y&@FpBW@G*n{CKd^k-0p3-DI-NlmJ~ z3$?an&86CM2LyXR+mwH)bcb+FONM)mLmt!uLY3C+9RN!GY<~yDcwY?fWVF?_e5s3* zhUYS_ekk|B-l}lyo@hk_&WOxNUo$ecluj-~klG-RWKF+kIyoT4&H=6KZXmjPfZ?q~ zex{PDj4Sae761U;`T3aGs%@PSdAU~NXGUVFLYOz5Jk(7%fJG9~xEY?w({ut_Zw8`} z-(ZDsvN%L8VsyqB(-R<8hj^<=y$fx341;^z+YC4SL(pWD)Hml_%n*9)Cam@xZ4Nzn z-HVAC)&mKd0MKSS1c@iSYC;RR=)0P+`V(2qOZrpHxClbfKe5QtTf__i0000000000 ZXukGv<;0kBti}KU002ovPDHLkV1jX+wLky> diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00023.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00023.png index 9c2054a609aabadd8aa507d9098cac32d83ad4bb..08b20a8371c78697a4e4a0915c8987ccfbb0132d 100644 GIT binary patch delta 363 zcmV-x0hIoc1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1g%Qt?~c> delta 374 zcmV-+0g3*G1CaxeB!5^*L_t(|ob8!O4#OY}MUyJM|ADh;7f6;dbFmGn{!%y%r!E@|39s$nL51PX7h{GX5Q?lVv<4^=s1K}$5Y@GmN|9@-*_(WfHuhQG>yFAoH zrDEO2G!F4NxJow+nc_W%F@ diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00024.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00024.png index 08b20a8371c78697a4e4a0915c8987ccfbb0132d..afa9173a2db50134265726a18b83f78c125c7317 100644 GIT binary patch delta 413 zcmV;O0b>4!1GfW^B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfOU%Qn delta 363 zcmV-x0hIo?1BL^TB!5jwL_t(|ob8yw4#OY_hTElk{|D}&JD3naw00`m_qDu^)o#&AEQl0sx1TKew}@XR^mX!VF-D~i2Fo#gAd^q{V9~;0=ySJQWw*@ zQrniGS*n#Qz&ZNCr|{ckI8_#=wNq8)eYLwd1Hmq-srLx@wbMav6{WW4GW~8MVRE%o5T$O000000001BS$^Hs>t^^1iv0ip002ov JPDHLkV1ivot{4CS diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00025.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00025.png index afa9173a2db50134265726a18b83f78c125c7317..7226a9e230b3e9732865ded1fe0d639b690029e9 100644 GIT binary patch delta 287 zcmV+)0pR|(1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEj5T0=EN@B!7NML_t(|ob8yw4#OY_hV9b5{{!!^9ZU!cQf;GkkwM9Tw zM3*#;@27ZN-t$afn3wXdij*%W#{K(=?OKlmf>jZk86)l!+08!WPxPl#h70gk^hixq z>y=txvgT54xdJ9fKl_w_sSHOInwAWY8iyh%1u9iib94eI^?$P!Femy|_l(}Eb9u;w z(a@F&jYGK(*4BqW^F%8faC&5VY#ovDr3`YJg2V#3CD)95W@8UXbH{+@^=2X(Ens-7 zYJa9Ts!S;Jw^#rGFj@Rns;8SI_Px=BXv-VLlHr5uEw^R-aYCGg4-#~S9Mw5=hS*o* zI^jJ4NsE*nyMNXktX}dtDAjHb&r`~e&Uw_jb&$>Fk#*AqRhB)@wA31QUDry$3UJ|I zCuKHoS>bm?XVmH1b@WA`YqGy4U;u7(nNeL+pE2IvDJXYI-6y4(+;Zhr-98RZf*Y5i zX;;0`Q#kQt?e4&NTy+zk$&GSm2v6@n0000000000@D?O~H+t*qCA!kl00000NkvXX Hu0mjfo)p8~ diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00026.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00026.png index 7226a9e230b3e9732865ded1fe0d639b690029e9..dc7f9b18a8211268f0dd96c032fd617a091a2c72 100644 GIT binary patch delta 383 zcmV-_0f7Fx0-6JmB!6K^L_t(|ob8#>4uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1g-^wG{vW delta 287 zcmV+)0pR|c1G)l`B!2-(L_t(|ob8z14uc>JMsacP|G-{s7bHy!sF+FV;yLlcpVGot zTZ~I`;%w+=~_2wxFs&{*suwXHNEjJY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn00004uc>JMRjri|G_?N4277=KH=_B4I(hY40kLXXO4L9JW=#q+v z>PfX@2{p&n#xua#`=L$Ycf{^UT%*}=uW`tOxj|A@UbA%oh=1#6Gr-6DN%so9702=` zi9*4$jj12vd2neD4CM(e8gOcCYP5Q6#u7U@4nf%j*^)K=9(Y&-4&Qe`{dmI=>21(Pik4&0O4XcT8|0d$cbx%cCWh1oX|vYOdjUslg27+9IV)9x z^gRGLGHwRs$zgu-78ke90i`AGldNLD^d2j7VL|f`G83g=Vitmscv^_PHaq|T00000 d00026;}7U!4ErC^#4!K>002ovPDHLkV1n?iwC?}_ diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00028.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00028.png index 182640db43ff9724045c67199b76083d44b6dd53..f13eb25ed587c0b4a16f9b23cb556d08e40e6259 100644 GIT binary patch delta 365 zcmV-z0h0cc1Be5VB!5pyL_t(|ob8xF5`!QNMYUt^e_$8wf@vm%1W+M@{cpOc82At* zK-R^L&mKLlZ$IgQc`0SWQ*F7?@1MQz&}ur6uqj5KKH_~M-Oz{divCpEa06b89;u3| zE}CsiXgO{+UIEVD4}A*1C3c5!jb+2V#vu=;2BN97<=z1xZhxPx03Yv*;blgve#?g> zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfhexC( delta 376 zcmV-;0f+vG1Cs-gB!5~-L_t(|ob8y)62l+}MUzhY{~w%1x^RX;#77j#qxVb~jX|$s zL}gvvIQHmq{rXAYn2%B>JY~y;en0lPLu=_k!loE``iS?5bVDD)EBe!D!wq;XdZa3< zx@gvx&~n^tyaJrPANmx2OY9Eenw$;y8izcX8i=OSmS+cmxPN`N0(`tLhF2J^`YoT5 zC{!%lO!Y&&4z}EjiSk4)8gN={TC_%NY>Ay5hoEGEJd%6*Jy6*L7T-Cb@46a@&K_WR zEwMjSiE1+y|1A~(0H)J@Oe`3vHnu_({Zq4tokVQATR5Rl^2?8?k3cIGqM|z z%LITt!y!nd@YL<@Y!*RH$D0e4JK!K>hEFE_l|l$X@8X%~kXr}=0000000000f5Hz6 W1PdcZypuKn0000M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000 zG8OYSUHuTRgUx!;QJ%1(0jI{MM(c`ATVf~2At+fOQ!=LC1BE?c@tp(uu8V=_=mCb; z68kfis5V{k-(mp(z>i`iwF2(xgJxc(x6owNoXY1CYC)2UxB|bL299p}R@OljP9#*K z=>%}pj;g~Dhh{U8?O94!;(LWI(`^D&&Ru9vUw~(b_*y!8KqzJQ7@;4NOu%z-3_(_& zT_gdm@Li9!VKx_f4nDbfPoZiMf&j00000000000RP1oGEwEaS|Mmh00000 LNkvXXu0mjfo)@Gw diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00030.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00030.png index 37c456b81b45dae7b9f1c9fed698cb98d4d81796..873a1b0ad917883e58aab9725bc9765a1c6e0d27 100644 GIT binary patch delta 377 zcmV-<0fzpg1C#@hB!62;L_t(|ob8y)4ul{KMRDT%{|CF6S&%fPJXLOe+mhGi>(}*-`4sAmrRH*>-G3W)Y9j;4SPMd)Hqv8~e&ZP8Cn*fdXaU_yUZqK~ zccXSLQFE#`-2u+lk7J5YNX=nPQ;Ve_^yHc*Ih@n_W+|? znfNRr@Zud}N&y@pN~s8E+Ht8Hxa1}U0vtB8RK!GTDFjog zFSJHDTz6i419G+0f~nbcaqTMUDnI6hV7R-WiRW&U;lY^+sr-r4mj+mr}E&T6G8|fgb+dqAq2x8 XXmI^j`r+?o00000NkvXXu0mjf8$7e= delta 393 zcmV;40e1eB1ET|wB!6m2L_t(|ob8y=4#OY_McbwO{}1j%_h3R$!Ky{7**)3Ax*}Iu z!OFh5ah=iS{`Hfdn2+#V5-D3=jQe$tU0TfqG7iDWGe&$)q#NcCZqb)Y8*acy(IpKL z)f2b21kbVCI0KxcALbN3TO5ugG@1>M8iyj78zioB&!Y=K?0=tSfKT+3c@w;LvUilqa-mz^SpR(RyNIOC0351Z4@bBy+|+aI*(&zW)I|*SCeJ^#z8H zO7>^^MYI`;{}u}X0N#l8wEI<3yQ>xMX@#6{o^I}THKD8(@dSR3FW3-T+hAia40(^C zelk8nvrsr&YJWY3g5~XLR!p@KLgHP!JTuLJZaUVZb%D%4bxmmbK=vuw8W>|{)*5ujP?Mq3~mR= nNl&T(000000002MfAa$fixCsIJ5lfe0000p-(U@stE)_m9`sINU%bz?xxT-6yaFB#Im$yH8*V$QEbQ!QCgK zV|M_4bFRt%QeT(7OeRml^{v>(lv`*cz=e#mpi)xrKH7k- z$<9}kV{Tr##c6Z`X5tv`JG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^ z)LIqCmRxHQ=E~~lRE6BBD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S O0000apL^{2fLVAkTj({Rc?Lcp143P1&XxLCAjh1lGo+y z*Y%D06zYtn=5nFke;amcBLm1-3qqbY(qoc-;~3&6DGbVJ0o_VorAe`OqjoM)bE-Do z0nXNsV~S5m&0$PalhIbwhy`;2qbk>ob^xhHCnZGZ7!-ql5;VOs`jhjbsT zwGY7Vg_<|ejL3}ibw*|`sgY9`lx>hla!!R4DrxB|KjwvCxVxZ<=WdhX!I=rE{E8TW_S%o)20{2RCdrIjRHSlb5Dt~N zioW;fY3h>&B;Wm#@SC diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00032.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00032.png index 7e0e238204773a5ce6d51d5a1ce25147473482ed..970b15944a929cb54b84d1187fb0c49d776ce161 100644 GIT binary patch delta 314 zcmV-A0mc551JweMB!3)9L_t(|ob8#x4#OY}L(^&d{}1Ls4@?M=Pz9t78|9tWF0E2K zKm;N|5CnmToFu2ke^GhuPGBBWWkTr-R0dq1?~hLIdRYT_pfW%#517>#k!yDXOXvxQ zQ+?qZ0fkO(TJ?q1fP>&PV6+GmLTEs{>W=y%9@q@fJrB7DmVW`TUoz@AnLSVjW- znCXG%?1iv`4kFawPk8Wm)K5CEhTu`_NS7vBQwUxeE?3ynj-;PsRXz)wK|C`Xik5Cp+qZZyP&s1Bsn{Qv*} M07*qoM6N<$f>eo&3;+NC delta 377 zcmV-<0fzq70+a)gB!62;L_t(|ob8y+j>8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfj%&5e diff --git a/tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png b/tests/integration/nano/snapshots/nanos/test_reject_transaction/00033.png deleted file mode 100644 index 970b15944a929cb54b84d1187fb0c49d776ce161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmV-b0jmCqP)W-nCXG%?1iv`4kFawPk8Wm)K5CEhTv2Gq0-vaAjgxfa@jYGiT n^^^<1PeB1FN0fgM1i@ZzG{l9d4y4un00000NkvXXu0mjf06&f| diff --git a/tests/integration/nano/snapshots/nanos/test_sign_transaction/00009.png b/tests/integration/nano/snapshots/nanos/test_sign_transaction/00009.png index 92b4bce4e0b6ca6910717fd0d8adde36278ae65b..c40c8991909ea7077a4a24882fb4f363f288b5da 100644 GIT binary patch delta 297 zcmV+^0oMNW1H=N5B!3G@L_t(|ob8!Q5`!QNKto6Gf8Z|Kg)ch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDekz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vkz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDe-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& diff --git a/tests/integration/nano/snapshots/nanos/test_sign_transaction/00012.png b/tests/integration/nano/snapshots/nanos/test_sign_transaction/00012.png index 6f75a6599218fd6ca395e5f014ad540381528c05..7e0e238204773a5ce6d51d5a1ce25147473482ed 100644 GIT binary patch delta 377 zcmV-<0fzqD0+a)gB!62;L_t(|ob8y+j>8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D delta 320 zcmV-G0l)r~1KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000ch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDekz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vkz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDe-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00012.png b/tests/integration/nano/snapshots/nanos/test_sign_with_another_seed/00012.png index 6f75a6599218fd6ca395e5f014ad540381528c05..7e0e238204773a5ce6d51d5a1ce25147473482ed 100644 GIT binary patch delta 377 zcmV-<0fzqD0+a)gB!62;L_t(|ob8y+j>8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D delta 320 zcmV-G0l)r~1KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00011.png b/tests/integration/nano/snapshots/nanos/test_sign_with_long_hash/00011.png index d58a3edc056c1790f3bb80538af2a96705513c5d..92b4bce4e0b6ca6910717fd0d8adde36278ae65b 100644 GIT binary patch delta 473 zcmV;~0Ve*&0`miqB!9X|L_t(|ob8#x7J@(sMX6K&|G_P4;b|fU7#MKM;;u~b4S``k z0g9q1ilX=kr@`_2?HPD|ecZNF@anSx=~)@q&ES%*$RK6k@87kE5q3+=+<^N{tl-A! z`gS?vLpZpJv;e$ciUFYn{VF8kUL32D(@73eVqRsnd1vL=fPa<&PK(fvl5Lz8*{|qJ z0eXf*wTY|St~?UA{Q|az_p1VT5w*z3&sNg!19V7H*sm~$qD+=h>kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf-l*qh delta 299 zcmV+`0o4BU1I7Z7B!3M_L_t(|ob8xF62l+}0I}2l|G_=9hs;g-rP&!moi>QxeVZ-sRyYo4l6kMeE7Yq( z0dq;E^~+J=eeD0;#e?uU6N`TAUfDQqKXp12&y!f^oGDtr7JrrIXV#leoHKD~l^O1P zo~{OetVJX`0s0J1$Rt5*A>In{6|_VSq}0rq7sw=;E7Sn#pMzqX;cxAuZkQ$XXy19- zdJXejgH7n@jO|?8P$vKY0NPokDyUBp6JovzOWfP!WMrBKbYYTD7kXTroEW;G!H|H# xkbuD~QiONvZ6t2e6axSN00000004l$>i%k{V{nE5yl z@7iHmwt45izq9H#gr~(%S-DT`+20$-=S6w53q`A)Fm~VNe<|;UvxQ2%RB}m!p6cu% zmD^Pzx$z6rqSwx4Ja?17mTUjfWy)T@nr`X7lX;dg28L#yT`XSD5WRmEqutGZzx74i zZf5@s5}w-hb;iQV4WARVWhHLx(OAnCt7{`yM8e&_ICZAesglKNc&PvY delta 474 zcmV<00VV#g0`miqBYy$9NklH2m#<3l*OiL?N`Uy1>t1pO)`;a(i8k<&>IQes|ZwRvad*nfbQ0Zxn1j*@Mh7TK@p zO96U@L$!&k+patkxBUXPhWD!icM-M7$j?^N?*nv5QP{6AhoVfDQ0oxB2kbqybM>)W zumOrPybob^Haszppnd@sX)<~l*4@<@HaMlViilzUK4a340-V&&A%f=hU0N6)DfGY*?;x{WpGj^P|E`o!#$_OoXVb8r%P5W`?YYD)-j zOAd@;=h+@3#Y}X4{Me|Nn;;r?wz z4tBD576MufzZYu1vZyAup~uS+r92QV2PnZ!u2XKBf0cUkJ8N!PQuCJ3XIDrMJTUn> z{k2dYk1Hv(bYyH^Wr=3irulgVbKU$cY^7x;6o$^TMcm%U6TPr~)B*v6DwXd}Rd zjIy9oQtv+6fOD?bOL7L816f~>rEPAnSR#|$LJKqXTxF&F6b#ySzgQC2+^H*zs;X08guTjmJZZ<-4d8Y3vxo!)K@j|3 Y-r76Op(T;lvj6}907*qoM6N<$f>`>sr~m)} delta 277 zcmbQjyq;--ay`R0PZ!6KiaBp@c=9zH@Hhmnc=4D2Op~5cWSLr%hs>>i%k{V{nE5yl z@7iHmwt45izq9H#gr~(%S-DT`+20$-=S6w53q`A)Fm~VNe<|;UvxQ2%RB}m!p6cu% zmD^Pzx$z6rqSwx4Ja?17mTUjfWy)T@nr`X7lX;dg28L#yT`XSD5WRmEqutGZzx74i zZf5@s5}w-hb;iQV4WARVWhHLx(OAnCt7{`yM8e&_ICZAesglKvY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000ch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDekz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vkz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf+Vch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDe-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@kz&N>^-$}^|4y8 z0g5ub4`FsTJTZ@;egPI~GI|---PIU2IHk3Uh++Of=pN9j+-8nGrpXYS(3b*&YSQ#D zc8FERAKjhK{eNv90`J8!y-HHh&#|TfFf8wXRv#8N0F)yCZS~hvJ@_OCm_o`w9}<(h z;sOqEA2!xv<w*&ZXsOmuzx*r=G~>{)$SjEwgIiVwwNv9TgV^inP6npab0pBFMNN9a54yj8D; zGDgsMenUxLAK&^}(7oXZlXMRthLq8L8`^CcyE`_gA3UolilQirqVVtl&;4CqHG#m< P00000NkvXXu0mjf1%&5& diff --git a/tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00012.png b/tests/integration/nano/snapshots/nanos/test_sign_with_small_packet/00012.png index 6f75a6599218fd6ca395e5f014ad540381528c05..7e0e238204773a5ce6d51d5a1ce25147473482ed 100644 GIT binary patch delta 377 zcmV-<0fzqD0+a)gB!62;L_t(|ob8y+j>8}fgq_v){U11o^nez**ai$VXtMs)Lqy5M zjQJ-Df*=TjAeiPl={k1@;p1m_0P8@rKJk_)4|;*qGNXee&j3!>pp>vfJ9+8vik-Q`#HcZe_z0Gt$)IzVQ;v91E$I0{%u4K zcCvUD0$L2e7izz zvY=8@?>^dqt#ZlESCeCIUb)3|0%qbE?mN8eO&VdDe%B4h=oG|f!(s|9=qXWIVnL4x zZ$ke^7iDPlHq=@b$Cg}c5$4M3=TwE X+B?mmC6U&%00000NkvXXu0mjfmqE4D delta 320 zcmV-G0l)r~1KR?SB!41FL_t(|ob8xF4ul{KMRDTX|G+MsMU$p2En<`^lmFsEv9$Ps zf-EJCeN&IiH!t*y`8Z`pse5@)_kA1tX*~_7SRJEGjbxiRF13MP@lB_VG?2CUk*m1T zjoW)6&)Th?0m-E7W7X3bU4q`0pLj*`N!Pz zzJ7-MQ=HS#xjAT@vY=8@?>^dqt;x<;lVfgPxy5t>X5tv` zJG|>n8ey4!*A2($6vSu4VhS$kDN$KsL5~P;LjOk>WoYy^)LIqCmRxHQ=E~~lRE6BB yD~qbCQ(uI=%6L3!$Jq_wb@a1{1O!14{9oSMJI$dbk=C;S0000ch5b_4r=TffAhlv9nLvz0u5t!Q{}@!u44<`+nvpz0kJg>1 zwYOj=4PHWfXKdwq4YdORU=pTHJ0YZ?!7TM5*2ukQZTv%-VVUSNMxk>ONI`=k0D~a_ vgHitj>{IwRAR-*X00000000000FdDe!&8;_I0d)2q`?7A|fax=BVeRn? z@q_X$+5x^|v|gWA0~;sU6bo61#OHNO<}v&!hm+-ty%UmroX%f%krxsNEq z*M*`L_4I&VHGcygaF7%M!-l6LMI%!hm2MEImsvEpg)CgzUl#|NE$Imi1U6EMNlA+M>_Hfw<(Z>cl zpbVI9v}8lmS1@e1?Q+Fxs8X?YKj<3&`R#9n(rxp>yjuma&t1-0iy!tfYZ3RWiuiCF z%#9aOPy?uLB~PockwW{V%04Y2>|gLX<$&V39e5Cjp;>%*0*?r9&ffzbgb#q@IL`m_ Y0Td}Six)ANkpKVy07*qoM6N<$g7!`8qyPW_ diff --git a/tests/integration/nano/snapshots/nanos/test_too_complex_transaction/00010.png b/tests/integration/nano/snapshots/nanos/test_too_complex_transaction/00010.png index fda55f50120668ceacffb79c3b669070627c9ad5..f76bfbc5219d369a14cd7324fcc9bb0b880a671f 100644 GIT binary patch delta 463 zcmV;=0Wkic0_X#fBYy#}NklB*UY|p$O&zVyJv%-(BLq1Al~jinnkrUs9oT)MXs= zr27PL-%8nlW0A4wYLV&5=oHk0Ux+&~bOLByR}<0I3k>fi&Sz?YGE*>@H4nlR*ob~t zD&dXjJ5UUAMBj~=gOQwroE785TV;NQNDX&5V|Q44m>j!nXPN98DrzqSp(4TUjJkK` zB@_H64BbYZi+^P@y-^W^@LdR>s|N5An;2GXcVmGMCJAUW7e;P2yokYKmfo17EOYV3 zBznQ;k^u?D4yv{k`0`CV3vB!09HUP z&?-QxwIIL>Q12xULVy8CsSLaTAXZhP|9C*yFAMEQLi_PBgMN52WU&6`Eb+_p1ak^% zTkQpB@CS^l00000 LNkvXXu0mjfy~}=>5DQpQi^%4^FN?^G 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 delta 720 zcmV;>0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L400000000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@038sSIsgCw diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00011.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_added_at_the_end/00011.png index 393a15fb76753fbec14215b680629fedbfa392f5..551255b148faa8786f2789e7ed57e18fcddafe45 100644 GIT binary patch delta 457 zcmV;)0XF{n1LFgbB!8+&L_t(|obB0Ba)clZfMMI|O}PJ&xJw^)%Fqx3E(xyA|2?&e zp(P3uj{^Vz00000000000EGC83!QVWe@!WsgYC~Vp?WRn>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>z*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000c9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F0000@as@f}T8+_Qi8fxL+)qT516n{?5GoqPsZA!_ASx(i7 zwEu=)gEo|}@C5YkrXl;1obwwoKTvoA+|_qtF9(hbZ1h@vjEaO@;djDmRU6LTq-^%vti47 z=JJ_}i@)8>5?Ov>^Xqe`FDf6CWXs>U_Vb%lU)BDyE!ce0DxuFml3}v-ypZ?nCqA&q zSfA~yxzp`+=hgj77T?l4G;czF!IWEe{`*d=RbKse|Bz4IVzZZbTy(29%yI1b$|kb& zv*Y$zTMQi8cO)PEIPdcVwci52?V0y79<6owx;)fy@mW#HtutB}8L)x_HFp1^1fEUr RmFWS=d%F6$taD0e0suoivgH5( delta 516 zcmV+f0{i`v1D*tsB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000jEaO@;djDmRU6LTq-^%vti47 z=JJ_}i@)8>5?Ov>^Xqe`FDf6CWXs>U_Vb%lU)BDyE!ce0DxuFml3}v-ypZ?nCqA&q zSfA~yxzp`+=hgj77T?l4G;czF!IWEe{`*d=RbKse|Bz4IVzZZbTy(29%yI1b$|kb& zv*Y$zTMQi8cO)PEIPdcVwci52?V0y79<6owx;)fy@mW#HtutB}8L)x_HFp1^1fEUr RmFWS=d%F6$taD0e0szR0vp@g< diff --git a/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00009.png b/tests/integration/nano/snapshots/nanosp/test_parsing_errors/one_byte_removed_inside/00009.png index 393a15fb76753fbec14215b680629fedbfa392f5..551255b148faa8786f2789e7ed57e18fcddafe45 100644 GIT binary patch delta 457 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 delta 720 zcmV;>0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L40000?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q diff --git a/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png b/tests/integration/nano/snapshots/nanosp/test_regression_continue_after_reject/reject_signing/00016.png deleted file mode 100644 index 137ca9e4946dcd461fab8ca146124917077d946d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00007.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..85234247e808c9a4eed986210646699a8fad3053 100644 GIT binary patch delta 330 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 delta 720 zcmV;>0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L40000?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q diff --git a/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png b/tests/integration/nano/snapshots/nanosp/test_reject_transaction/00016.png deleted file mode 100644 index 137ca9e4946dcd461fab8ca146124917077d946d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00007.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..dd996e27318e3c2417178f9a8a22fafeca662e43 100644 GIT binary patch delta 329 zcmV-P0k;001mpscB!4SOL_t(|obB05l7k==06>$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_transaction/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_another_seed/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6y~}=>5DQpQi^%4^FN?^G zpg?_0S9!nR@i>HVS=>B_UeRkUd+N8%*0fw%t&yhDi!DF$N{t?n{OOxx#k7{k%aWu# zwh$Z4uUb|pUQ!wT_}#9^yZ8D1bc+m@_nAbD$03BZew=^i!+)7%p7ixvGMmwVD<9_9 zS~iUw3$g2}Vs~G2cQxW`J^y?rCpu+S>n5FeM)D|pOhH48!L+rRDNZ0a8M%!$U}`@G zo7;>yYwt~?xProB#j-07*qoM6N<$fwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzty~}=>5DQpQi^%4^FN?^G zpg?_0S9!nR@i>HVS=>B_UeRkUd+N8%*0fw%t&yhDi!DF$N{t?n{OOxx#k7{k%aWu# zwh$Z4uUb|pUQ!wT_}#9^yZ8D1bc+m@_nAbD$03BZew=^i!+)7%p7ixvGMmwVD<9_9 zS~iUw3$g2}Vs~G2cQxW`J^y?rCpu+S>n5FeM)D|pOhH48!L+rRDNZ0a8M%!$U}`@G zo7;>yYwt~?xProB#j-07*qoM6N<$f83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RTUqjv)X5 delta 516 zcmV+f0{i{P0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjfl+MsF delta 300 zcmX@je4J^5N83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RVF^j!ggn diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_long_hash/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png b/tests/integration/nano/snapshots/nanosp/test_sign_with_small_packet/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TI4g0DDIL6aN1s{xXM17Ba?h$gm`;IwdsV z1%rwE^8o+=000000000000000fFb-$lazCo=akYkxwQ_fq%S7tT&}^*ZiARFefAD0 zqc7*2QWAs9=dwk$%M3DMJ*wHf01Q{hN#11dWtA9MFlv;i~UhCyl{!+ef zDRU})G~YR5gg(PAjWXS>e7z5|cfd{dbmAQzwg3nIWyU-}wq3c!IiN;P?W?yDGlgEg zcXmtvPgcqfPK(9cvU&maO;@vj9GSuXlpS!;RP{kNJRR0xCCbUV6rpl} z`4!roB!a_tD1X~sC2pGPqm%G?qL{_FdcdljVP0^IQiN%?IoPR@IgL)Ymfq4WQah_> zt}A*UD`v}XN>;6jX^3x~X=eY2m?&!2$o#@tsa(tZ5~u!WZL0>S%5b&sOwkf&b-u+z}3{im4t>8%_MRF%@tY%olp+K=XI7*?Jy4x=g)3*nMr7wqOqHlvQD$pTrtfvuk{p$v?Zb z=0wZoi_>S$R8RMJcpI%ReZ?h3Y1_FIcTPPLDPflvEKhvOa$=X9+M>ncGj>h4n!ohu zl$%X^-99TgHLCvFZp5K~alV83372}QGY7pwCX^cb)rM{h?u#Q~cyv5xiCWeD zg>$VkKdjiV_I^I&;il=8t)gwA29>Y#>pyFJn>t@JZ?#Frs$1L7lc9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F0000cde=(wj{$Z7DJRiyqrG z@oSvtGG4JI zzHfeHcKH0Q^wkUX7N&ondv$5_8Dri!rRelG=e{ngU|F#Fs8vF*dnAMQj@qYN*yp5Q zl-tQ>Fg5>EYK;HGeG#<}C)+QoV+;AbLi*4uUv(7y6Bye-;ryKlyA2rioI@v|{ zuJTOZT;lNR?b*lGNgLTWKA)My;u62C&*ko3{l_Z~UY%3_{Nv^Bqaw-+oZ8=SukESi gOZdUefDJ_45P$5-XH?84!U2-@boFyt=akR{09R(YIsgCw delta 516 zcmV+f0{i`-1D*tsB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztcde=(wj{$Z7DJRiyqrG z@oSvtGG4JI zzHfeHcKH0Q^wkUX7N&ondv$5_8Dri!rRelG=e{ngU|F#Fs8vF*dnAMQj@qYN*yp5Q zl-tQ>Fg5>EYK;HGeG#<}C)+QoV+;AbLi*4uUv(7y6Bye-;ryKlyA2rioI@v|{ zuJTOZT;lNR?b*lGNgLTWKA)My;u62C&*ko3{l_Z~UY%3_{Nv^Bqaw-+oZ8=SukESi gOZdUefDJ_45P$5-XH?84!U2-@boFyt=akR{09R(YIsgCw diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00009.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00009.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..afb2b86184b57eab884c6bcbae24ec9baa8aa51d 100644 GIT binary patch delta 947 zcmV;k15Es$1jq-FBYy*rNklJbr0^g`YfBe02Q&#)Htwt@YVWaUiam?wHi<~Hk!UhY+_+Sep`a%1bHHR#{HtR z2OMk1pgh;zg~)noCP|VcNz&#cq!lb1RPFJ30JlSPU}**#_nkvp zy|moBfoftoa(}kNnX0=x+}fa5KDZb+gO=uX%z2Kg^WzZdH2pY9ebcaF0I;fKy=~Jn zQWfK9J9+_znMFN10RzzW%%P^yc;NuuwHEv2DM|bcs0Jd+U2DtkwS`rjry^9|h*=4j zkJ$SYrMT8w-+X~{SG2NX4>&@feUogiT%fEE_`J7fPJhDJ7UeNi@6xt1d%zNOF=Gt2 zjancvned({)AA%q?xVg0RmB7P5tnGpu&M>l81%$q@&UKsEiuIe*w~QUASj74ruvMu z(aUqK)}*oN!qmI8VT7H60*MuqH{X6yBBoUBl|oQg&xy*F=BY#7<>21vQCH~MExuAZ!4Xc}h#-rQolaP|%jKZV$Nq6yaE27T_5GjdUeTT2y5(W7Ns=TFMwvjJ1b1tt9gQWkSN1sQ-ko3>Yk{EFbtzD2iyDcrKj~Rz ztWvjJhX`u47IP^?XdAiNStvzmr3Br5z)h0!$PB1D9G;^rm7~K2HPFRVSULa;1hxAY z1S9)q!d3JybDl!*43L`p8bR&&`Dbr;>nsiw+IHE5G5nkF delta 517 zcmV+g0{Z>P2c86wBYy$qNkl5xVz)Zm*Sx(;7EA8YU$lXVmb5JTKcVlPZgBz zPq>GpTrJ_pVfG!cx@za@YqiM)ILhT*guAsth?bysfv%ZV8ArK{`%q%K#wn?FL?ZR4 z%)A36%2IRuGJidqk5=C@m{hZ>M=(QOWqmlD>D*`YEwFN&zDknOzvGz%l*{mbX7tO0 z2`EmGKQ{W$Lk|9uH>g6+KcC7bcf~9+nT8`ks2#jML3Ezm3&4 zHpIs1j%gnv`c<>fI^Ugj>BA`ZH)0xbMYex>Y;|DttbTId`vkX^*$GVQFjW`FApasgtBTV5Rii2eUN zV9)H6?v2rk_p+-CL(!I5IuB$Y{Aw50bzgsL(Vzt)gY-2c6ALoQA0dcukSF3h=lw$G z3@Cfopx)QrK;%teS}k%u*A`J`DfS<+i9{liNF;Rp3~OrjdRw5@M&tCia|5H?b$K-@ zV^bYnYpWn;Z+~KuIh^OY7y_iso~)C@84F6rt%k;b73nU+t<~~{&~xC;?%HIr2ws5h z7;J`zb8298DvU}AXI2(bq*Dvf9b`9jP9nq_$UpO40v>WU)`lR_tubZ|x4#V`y$eso zaJ+-uxJGdo5gEJ#kjRUVlUUbofi$m_cMACT=uNkZ}Q`HCgp&24k(+25}!E7obb>h{P`#sb}24 z*=DXawtxFIE$+iwGVXC?(SC2I$hh0_f@&O1LyL4flNK?)a}_RA%m_P{h7K6iylusH zq@jsKB9TZWc0kC2Tv^0G?g27-#Y{Ykl7nfEAuV{`B_=bPKfZ#Tvuxa=Mo58AC~a;I z!;H@p>bHmEJ+ zQr80c!Lc;m4m3VO#*r;~un&oB|Lh`mf1RSyQ+qraSpXNAWtYTbIF|im!}95;i)jE4 zJc5`vn+a delta 946 zcmV;j15Nzc2gnDIB!7=dL_t(|ob8)kcElhEh0~tyWcI(L?4=JmwG8ML5RGa1o-z(9 z!T7_?%*U~c^E~Ot*Xy;c>z(Dng;kuVB2?apSqYbq z*!vTuxYkw6J}9hTBBwu zJZh6sYJZk)uf~5**8<-ih`<4FtvLX)PKY4o3lLk!**<)iS4yyl+8HoU4%EQr_yUnK zimr!-C8+u?>43|<6s>%l#E4fCjaNR;!I2uflq5-#B*}7|?*j&N;1m9kqMCw~Yn)Ll zQ+JR|X`>{4L9wtwiQeBmVj163M>Z_71%irq(VnsRIE zDyJqOYygybN=xFWmgRR3_?EDK&<#g*kW4?hkZw4}z&QXwPy;0`G?rk1l~k3)+wlxQ zxS(e0R2I%q(3Y`o54iml;aFZ4;28jobR|n#RAn#a8-kD%QTLQgoorS4Q)phX4z|1x zJAb|tzL>OJY&ZrBgD19>=5 Ub0ZxBUaqb9FqzVZwL zl1N~#?N`}_^E}%>kK@>8`px*IheV|2;=#C|=ecxgj01Y`TMO-sQR`E+d--tPsu!e8 zE6~oWf7U6`x==fFsejxMYCm?s=ICEOT_~U75TUVT+NiZ^Ykvf_fKa71uTB6$|KA<3 zC;Gy?vs(BrhfFvVeVL_k5c}ZUy0OlDy|%JJ3r2>qbw_3{M36sHklr9a5$}xqh0Zsi z?0p9Hz3wKWXaUpC65r=K0%ewB|0gz)NF)-8gpDsa3cLT}_MCdI#R`xkT9vQa67y|2 z%9+)Lmd2JqR)1M`4MM`eX)K|(;U1MS7n9Umf3wu7QYT88+sq)jmy<`#h+pj8YLmX`j3SB9BF zY94cdndQjfZvYHv%gaYyj855)bwrJ?nJPnJ^$CB6s(*7~PAt8e&#!UeCqb_bI$-&u zUD6i2tBY3Qi9{liNF-hWmW;DLugvaeQ zZ23sS%Qx!x!2T_!-DO;bVqMKVa3}moxjM@zuV>vdt-Y%)#>lwgb`d6uSrc`0bO*z( z3ixra7=LF&tKPO%hJytyhUpJsYPKk;DO`fKXsu`#Vq_eo3bYubZEPiT=|2)nZQ%z% zK5D;si2A*b4!en^PaQmfYp?mKPy`G9b|F%eqs=nv5L(-RNl^n4bNmU-8pExF zS*=^sOJLnYT!1YC@5#*${B_X#6kh1p#Cq$QZRE>qL%wy!G&5@q^N%J%beSx&p&c__ z2%ck%2)R$6YFZ(q8_ls3c_bc;ewnfZ>g#!`Uj-a5 zLx1!-&$wBHIZ4&E)PHo=^B68e8J+x;pM@PM=--RlMBrm7uR{C$-m=*fiNqYp6r{iG z&WIj#PRhfY!6`PZ8cB>>?sX6KL*Jr$pjXkAVleG{wCv%9Euv9Vk^?T?SsLS&r3A`s zYQ#by-~G+7Ofz1^4rY;Ck6~AYd7%gPJA2XS&+4JZx~e5ykZxkfj-FZRHPkRit&lpq z$6kt&F?f)R8l)l?Wdo5b+i1e^bzlx-IbQJ|zJ(3FVC5nvN9~8@Rmel|AGZqaOmftj wSC42tWWIL5*d6ojCeijfo-UC{BoZ&gZyM=r**D`9UH||907*qoM6N<$f`DWE+W-In delta 962 zcmV;z13mnh2-pXZB!8btL_t(|ob6m&mZcyJr04Wb-2al?%Y1l-;pRmJ0$x3-uiKb} z01}c?`={)}d7kZ`$8l`y`kV2GH<6i&#f|fRp6Ak`ArA1yUoNzBj#{5;zn2f!rTPPu zX$4xX`e#)UdnaZihx*SAV)kPPY@YqgrwiqCI>^*$GVQFjW`FApasgtBTV5Rii2eUN zV9)H6?v2rk_p+-CL(!I5IuB$Y{Aw50bzgsL(Vzt)gY-2c6ALoQA0dcukSF3h=lw$G z3@Cfopx)QrK;%teS}k%u*A`J`DfS<+i9{liNF;Rp3~OrjdRw5@M&tCia|5H?b$K-@ zV^bYnYpWn;Z+~KuIh^OY7y_iso~)C@84F6rt%k;b73nU+t<~~{&~xC;?%HIr2ws5h z7;J`zb8298DvU}AXI2(bq*Dvf9b`9jP9nq_$UpO40v>WU)`lR_tubZ|x4#V`y$eso zaJ+-uxJGdo5gEJ#kjRUVlUUbofi$m_cMACT=uNkZ}Q`HCgp&24k(+25}!E7obb>h{P`#sb}24 z*=DXawtxFIE$+iwGVXC?(SC2I$hh0_f@&O1LyL4flNK?)a}_RA%m_P{h7K6iylusH zq@jsKB9TZWc0kC2Tv^0G?g27-#Y{Ykl7nfEAuV{`B_=bPKfZ#Tvuxa=Mo58AC~a;I z!;H@p>bHmEJ+ zQr80c!Lc;m4m3VO#*r;~un&oB|Lh`mf1RSyQ+qraSpXNAWtYTbIF|im!}95;i)jE4 zJc5`v)GJ|oIH-u#lXgkA3)e~wE1VIo417O5BL{W`WCjCwg3x(0C`swQsRtJQ!(H)5r ztrT`OZ6eeN4NKS2EHNk*N&byz8usBC=GDa27`=O{RigB(8H;^t+X;JN+_*Ukv}_ub zG7^mB_{*{mje1>0hgEo{AeaY^`rlmkWG$HYdY;7jEBzM1h?;07`P(J?U?tsMGEE&FxMj zz(~I$G?N#0z+Swt1NPDZckO^Y3ESUUTa$&p4=4ha&SxWWWY-ZOvC;G!1VKuF2FED8 TpV*qk00000NkvXXu0mjfLFclA delta 1026 zcmV+d1pWJz2bc(uB!AyYL_t(|ob6muw%s5I^!2=*WdBRbUiy(!>xBUaqb9FqzVZwL zl1N~#?N`}_^E}%>kK@>8`px*IheV|2;=#C|=ecxgj01Y`TMO-sQR`E+d--tPsu!e8 zE6~oWf7U6`x==fFsejxMYCm?s=ICEOT_~U75TUVT+NiZ^Ykvf_fKa71uTB6$|KA<3 zC;Gy?vs(BrhfFvVeVL_k5c}ZUy0OlDy|%JJ3r2>qbw_3{M36sHklr9a5$}xqh0Zsi z?0p9Hz3wKWXaUpC65r=K0%ewB|0gz)NF)-8gpDsa3cLT}_MCdI#R`xkT9vQa67y|2 z%9+)Lmd2JqR)1M`4MM`eX)K|(;U1MS7n9Umf3wu7QYT88+sq)jmy<`#h+pj8YLmX`j3SB9BF zY94cdndQjfZvYHv%gaYyj855)bwrJ?nJPnJ^$CB6s(*7~PAt8e&#!UeCqb_bI$-&u zUD6i2tBY3Qi9{liNF-hWmW;DLugvaeQ zZ23sS%Qx!x!2T_!-DO;bVqMKVa3}moxjM@zuV>vdt-Y%)#>lwgb`d6uSrc`0bO*z( z3ixra7=LF&tKPO%hJytyhUpJsYPKk;DO`fKXsu`#Vq_eo3bYubZEPiT=|2)nZQ%z% zK5D;si2A*b4!en^PaQmfYp?mKPy`G9b|F%eqs=nv5L(-RNl^n4bNmU-8pExF zS*=^sOJLnYT!1YC@5#*${B_X#6kh1p#Cq$QZRE>qL%wy!G&5@q^N%J%beSx&p&c__ z2%ck%2)R$6YFZ(q8_ls3c_bc;ewnfZ>g#!`Uj-a5 zLx1!-&$wBHIZ4&E)PHo=^B68e8J+x;pM@PM=--RlMBrm7uR{C$-m=*fiNqYp6r{iG z&WIj#PRhfY!6`PZ8cB>>?sX6KL*Jr$pjXkAVleG{wCv%9Euv9Vk^?T?SsLS&r3A`s zYQ#by-~G+7Ofz1^4rY;Ck6~AYd7%gPJA2XS&+4JZx~e5ykZxkfj-FZRHPkRit&lpq z$6kt&F?f)R8l)l?Wdo5b+i1e^bzlx-IbQJ|zJ(3FVC5nvN9~8@Rmel|AGZqaOmftj wSC42tWWIL5*d6ojCeijfo-UC{BoZ&gZyM=r**D`9UH||907*qoM6N<$f^W?HmjD0& diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00013.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00013.png index 6fb484ac58ed68718402bc8e263925e7f3a54d85..2f514b48f9d2027a0122623319ece3284253cff7 100644 GIT binary patch delta 433 zcmV;i0Z#su2g(DGBYy#rNkl%@}sb+Wc}Tl)H-;VK3K20A-EnV z%cwzqY(e<~@iusDR>C$*wrHFIVbU{5Q#JicF*p56{Yt=|^6*?PJ)_@TUekZ$?ok@z z6V&_W)N|uK;D6t0PS5@GcihP<0KjsuWi4$<&*gpignfL(`UBwbBS$CW7L$3gO1dpr zIf0F(o2j}y)Te2td}X1TDJsqAQiW!adZD+?D?sYMXLBO|QD?n~^`wUGIurkg z+3Tza&~JU-(8)ntQ0UuF>W61|KATcXuJeB}0000004e|g00000000000000000000 bfU|r9InYp>n=yH200000NkvXXu0mjf@etEL delta 894 zcmV-^1A+X?1C$4lBYy*1Nklo4 zB1nM0wm)eW=Xt`9$8k)ndS!m;Db!NFJlO8%c@DibO91rbhZ@anBN$Vz_ln`Vln;zH z&;XXoA9E45cI4LcR=;5&x3>{6x%ID@F4Da@P}4{@u+^a3+<$`90J)-`M<)Q}|9=F` zX?;|^a<}ZWTvdfqP`4S{4rm;FqzmJ!&&N_WfLLrSb@kZzf*Sdjg6II*ku}@>qA&-f zxqXnI>tZ6RUBJLnXnxLTSev2DpJIa`2!bGx`Jt!KMx0dwps}>Hm&z&|edw*IE_C{5 zEql%=QPF!5xqnP0Re&0^mdZX;zr@y6>qLs#9&Ou!60mZK*#}64sV~P>t(P~+$+By3 ztcJ3%*}!-|meE($I&2zg@K04wiw?@#DA}@jU*!&{62*`WTefQ3srOB@U5d1E7P$RvvYnMn1vbbkOEeVz9sc^fe+tk(L;(gF5# zW=Vw=3o?Uol{bWC4rn{WM%5E)5ClOG1Os5iI7Cs6QYQUQ4GV?Qsru>b5LO3-vC$og z60H<=HEkl)2n|cu(JV126-oY$XBzh58Rpf*)fl~ds#T)&s~L-ZYTF5WVcfVm3bbq* zlrj>Gm`ufk^(~xNc2kfhwU*rXZLHj{4tR_GB%X_j;bh`78Y=R07*qoM6N<$g6Q0`vj6}9 diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00014.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00014.png index 2f514b48f9d2027a0122623319ece3284253cff7..4c6054eae8aa93a4b1db94ce6fa78c923c951244 100644 GIT binary patch delta 684 zcmV;d0#p6U1H%Q7BYy&lNkl$n>2^|8y=7+p57*rqa^dU0L#5kVx0S^>VLJvzedA5oN~m%5BXvF z8fe}h)&GocLl7sQjvz67R>7U+bYFAB3*aIC^8D!<#3ZRD;dI`zWwy|ITb_iMA20v_ z001ZusvrYWlay(l)FGudkfa)hJnw`LRQ{w@M@gE9)-aiq@-+A2xeAnb%lv^q)cPEI z+c0_~SKsKkc7I!AzJ3HTPU~?}4a*~xl52q!pitw@;4-2)#C(%`T`KX z;y#_dHt9qi=meSr?2-7uL_=+pRLQ%Per%gN8QY<}0Dt1K#dBk|_qK$VBAGTt)~|XP z@^QtGGRkYwhGswf7pA5tyYp}k0As1-fX6etJOcoj1jM*%N!md8ny%ZE*m)ufWaL-T zfNIgwV|F_;1hq-(Si^83WvxfxBlIR=aa-77mCUFyO6>A$=oaD`)ChLxzMsA={0f?1 z6yrLYy?@Wzc7QG0@oqJfocda5PpmIPN50BXPWe(P;eQkLl~nU%b*DO6zW@Z|6_vla zpU#2AQ!ca;18%~{p+8ol8l_+lvC5cWzny^{pk>!iY_X54V`UPy?b**-v?lOrBQ{KM z*}eMl7y5Y%@}sb+Wc}Tl)H-;VK3K20A-EnV z%cwzqY(e<~@iusDR>C$*wrHFIVbU{5Q#JicF*p56{Yt=|^6*?PJ)_@TUekZ$?ok@z z6V&_W)N|uK;D6t0PS5@GcihP<0KjsuWi4$<&*gpignfL(`UBwbBS$CW7L$3gO1dpr zIf0F(o2j}y)Te2td}X1TDJsqAQiW!adZD+?D?sYMXLBO|QD?n~^`wUGIurkg z+3Tza&~JU-(8)ntQ0UuF>W61|KATcXuJeB}0000004e|g00000000000000000000 bfU|r9InYp>n=yH200000NkvXXu0mjfJwDTH diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00015.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00015.png index 4c6054eae8aa93a4b1db94ce6fa78c923c951244..db7c22e31883fd4aaee39ca17765700fb05d0318 100644 GIT binary patch delta 314 zcmX@idWC6%ay_H8r;B4q#hkY{9fg_|cv=(Reo?#g-{a0w?z9Xw7f10Q8UOQDA6O^` zcwerKc06~}EZEE6)u?&)+NL?16GFmUgDbY1uido&O-RN)eWAy;Bao8U$L9n)%)QA|CtvZcZ&{pt>Mx;sc&5$b}gaGV|uHm*!k*< zc^_+^EIYn4e8O9uX+MO-d~_HX>UAtw&x*?xy$O)DwR*CH*)6v%)aL2rOUyYRA7s2( z^88-$F8|rb#2;S^t#{?i%bFOx^B2<=*0xYDzUC|92lj5wzw+2g>2`hb)&)za&gq-7 zxn$G+zn7RE*nNNAxjS$6-C|?E?Ui3-7;u10`7gh39MKltSOrqx>FVdQ&MBb@04ctT AU;qFB delta 684 zcmV;d0#p6e0>cH6BYy&lNkl$n>2^|8y=7+p57*rqa^dU0L#5kVx0S^>VLJvzedA5oN~m%5BXvF z8fe}h)&GocLl7sQjvz67R>7U+bYFAB3*aIC^8D!<#3ZRD;dI`zWwy|ITb_iMA20v_ z001ZusvrYWlay(l)FGudkfa)hJnw`LRQ{w@M@gE9)-aiq@-+A2xeAnb%lv^q)cPEI z+c0_~SKsKkc7I!AzJ3HTPU~?}4a*~xl52q!pitw@;4-2)#C(%`T`KX z;y#_dHt9qi=meSr?2-7uL_=+pRLQ%Per%gN8QY<}0Dt1K#dBk|_qK$VBAGTt)~|XP z@^QtGGRkYwhGswf7pA5tyYp}k0As1-fX6etJOcoj1jM*%N!md8ny%ZE*m)ufWaL-T zfNIgwV|F_;1hq-(Si^83WvxfxBlIR=aa-77mCUFyO6>A$=oaD`)ChLxzMsA={0f?1 z6yrLYy?@Wzc7QG0@oqJfocda5PpmIPN50BXPWe(P;eQkLl~nU%b*DO6zW@Z|6_vla zpU#2AQ!ca;18%~{p+8ol8l_+lvC5cWzny^{pk>!iY_X54V`UPy?b**-v?lOrBQ{KM z*}eMl7y5Y7bt-bq>L+D6-(ague*S+kdpS)!cjsKRJv|qCM zW@_fEOrLK&KmR)}YJIeAD$AzJCnHa)?f36e6O5Y_fArOFq2m&@_1YV@PPRH#@%xmW z&&5s6rzLM4J<<2^q`acE_6^n*5q}T0ovnNET5cbE{l-~k?b}`z%|0Qu=UJT0d^OuQ z-I}wj-mN{8!GAXQq}%^Y$I|Nwefk%!O}eRdf6twyht>)qQOvh_FV$>Y&2oKrEsNy* z-uL^>{9ideO}S?MxT#oE(^20yVZV<*gPz$Izl7O4e`_?@m0oMo`R^^ATT(0jNbHIP ycSG{7clLJ||I)Qx{L6nw8(ZEY2JGO0e+|Q-1jZRb{)=CLRCv1jxvXpmT72D0%ZrcB*ChJV%@{TD%>U%fs){)+JJXZd$ z!co_)w;8wU22WjZIJeHP*v;(f{qTVQ%!`h@MTfiAaOs`Yw+^enmQdv}y;W1}eD%e= zkF`&h9p4!~;jPZJA3|b2It&c;Iu@*F#pR0L1jyQ2J=wwRmfIF;^K|kh=A4fYGF~is zey@0!|LkMpkFSN+yYl5_O$^@oi)jmMTc{Ub^A+&}d$;CadF-TgyS{kqf~8aE^iA1Z zvT6U{OH2>!zCZ8Woj3b#v7gcQ$}chuI6$WSm)|#zXp3&F0x9rx^>bP0l+XkK)U}En diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00017.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00017.png index 914563b11cce944c340e4df681a2a8b4a884142f..fb4e7918681a183322082ef74706bcf71cccf1c7 100644 GIT binary patch delta 347 zcmZo-{>C&xrQX)l#WAE}&fA-gLWdN194@}7n0)8I$IkBVJ`YX~D?f(6`AZX2)pQfI zH?bKTZ@wAmQ}EUIW2c958?WusdshWdGtHQ}s_n?-!j{=asr*0LSLqg=TW@dkzDuWh z)vt$stTQJ4Ra&OB(A~yv!{g+Y+pS&dDyr75I=KJ(^#_p+JD>lnkKXw~@_xo&jjV#) zQkLKIU3XYq^bZcG;k{JwQ}jab!FcWNHPNwkvoysYYF>A=)7)R`u}?@vxj56x=F{v%c`B zeOMBg6232X!Y!X79_)fF0a8AnTFE?%(3DDh;H-)78&qol`;+0MZwm=Kufz delta 359 zcmeyy)WkeNrQXxi#WAE}&fDv;o0=7P+7jQCsK2TAe798GXYLp7NAg`azV9s3Qh&nY z@lxQNVc+8~GRZcX)4tAJBJ<|+ul>7bt-bq>L+D6-(ague*S+kdpS)!cjsKRJv|qCM zW@_fEOrLK&KmR)}YJIeAD$AzJCnHa)?f36e6O5Y_fArOFq2m&@_1YV@PPRH#@%xmW z&&5s6rzLM4J<<2^q`acE_6^n*5q}T0ovnNET5cbE{l-~k?b}`z%|0Qu=UJT0d^OuQ z-I}wj-mN{8!GAXQq}%^Y$I|Nwefk%!O}eRdf6twyht>)qQOvh_FV$>Y&2oKrEsNy* z-uL^>{9ideO}S?MxT#oE(^20yVZV<*gPz$Izl7O4e`_?@m0oMo`R^^ATT(0jNbHIP ycSG{7clLJ||I)Qx{L6nw8(ZEY2JGO0e+|Q-1jZRb{)=CLRCv1jxvX*40Rm|DLFx62pU-G5lzwV^f0%bUPI#eB^iu8FL#` zftQ#f+<=#8<#ldNq4wq<=X<}_YIfXRNWoBv77^w3kD|63Q-4H^sH2<$AJ?1z74XR1 zH&^A#9zC?xXyXH&AlAWK{9&taGa5c;dE+O75v%Gu5o7$Z1sxj$r-M#*pLVp{b>|Ey z+s1(IA$&)sa&b-KmfWoCrDg1hn5V@iPHyr50002!@e<$sq^94kgqprQ=v;#MtG;D9 zYAy72!puNu*MBXwRxn+)c&ag)*l^ycqU8P*&v&PmSv}&{6pZ`zWg~U9Sx~&?k$=i} z02y^>qG^zO&lRtP(O`nI!MgDmk~35qnGG%3?**NG44Rpn;W|O7V~-|d1*AWQ;|=b* zrheI)HK9oK7Qg7UpNh!xw2%0{v`G32Fjtj50A+Rz&VTfaPS~yZ9jZG$HCua{aRvxy z@rfXo?a&O;XF#?7+r>30Jkzh}sg|r+*Ka~(3`~Q$o&f*=0Kgt(GHwF@q1#PY={#3a z*Pd>!&G%(qhn(gFvv@&;y$oH*Mw48A#jaVfmZKBD@=rfRymx@_hOWb6&T@NyB3z%@ zX;UpB!GGJU8;QAP&s$BA?^*%oRBcT<{=-Zjm&P@{*>_zJt%hbQA`wa+ zOs`Wj{ji809`Vdh^yM(N1x4`BWNyQ!&+Z1B{d@GZY>+v4%rl^sf}h|!=RN=c00000 t00000000000000000000006+3^9vq+5vG^LKREyZ002ovPDHLkV1h?aRFMDx delta 332 zcmV-S0ki(z1@;1vBYy!sNkl3-* zCM{qqvIa9Vv)NHhaP>{`iAW=c4Lzma)e*}An3<}E#M5zvn=)k&`3I^ka?Yw0BczUg>!N1qn;8}pV=YRfNx$qg^X#FT^aBX!2 z`=3R)IMGj2P<##2aQPL`jlo|li>zB+ewry4;VIWaJ}JL-NWKyzBXemwJo3k`v%vuX z03w&!0f;m0000000000GrafSd+k=txobDzH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|D zrlT*m5)eZigKjgVo>74`SYX#hrE9#IzY@`D{rjEKAO6`Jghqx8uhvwT`%TFKC%buIrt__>Wv@K905|BC6`I>HPc(qGNvOXRXe1o zvj(&(Eif{z2Y=rz!s(l3c}jMeV3sm*q_B4#{bNV~V8wNFy5efV6r}9YuX2s*wNKcn zmD|L@^KG?$+>*||c@4D@;9lfC3gu>biKhO%gl{4q=i||Ms)A?sS?we#tCjqhVk97azfh*!)V$JmB$L~L72m$~A00000 c004A60Tiq>(_r(*v;Y7A07*qoM6N<$g2Ow|O8@`> delta 711 zcmV;&0yzE41KtIYBYy&=Nkl*40Rm|DLFx62pU-G5lzwV^f0%bUPI#eB^iu8FL#` zftQ#f+<=#8<#ldNq4wq<=X<}_YIfXRNWoBv77^w3kD|63Q-4H^sH2<$AJ?1z74XR1 zH&^A#9zC?xXyXH&AlAWK{9&taGa5c;dE+O75v%Gu5o7$Z1sxj$r-M#*pLVp{b>|Ey z+s1(IA$&)sa&b-KmfWoCrDg1hn5V@iPHyr50002!@e<$sq^94kgqprQ=v;#MtG;D9 zYAy72!puNu*MBXwRxn+)c&ag)*l^ycqU8P*&v&PmSv}&{6pZ`zWg~U9Sx~&?k$=i} z02y^>qG^zO&lRtP(O`nI!MgDmk~35qnGG%3?**NG44Rpn;W|O7V~-|d1*AWQ;|=b* zrheI)HK9oK7Qg7UpNh!xw2%0{v`G32Fjtj50A+Rz&VTfaPS~yZ9jZG$HCua{aRvxy z@rfXo?a&O;XF#?7+r>30Jkzh}sg|r+*Ka~(3`~Q$o&f*=0Kgt(GHwF@q1#PY={#3a z*Pd>!&G%(qhn(gFvv@&;y$oH*Mw48A#jaVfmZKBD@=rfRymx@_hOWb6&T@NyB3z%@ zX;UpB!GGJU8;QAP&s$BA?^*%oRBcT<{=-Zjm&P@{*>_zJt%hbQA`wa+ zOs`Wj{ji809`Vdh^yM(N1x4`BWNyQ!&+Z1B{d@GZY>+v4%rl^sf}h|!=RN=c00000 t00000000000000000000006+3^9vq+5vG^LKREyZ002ovPDHLkV1m+_RA&GH diff --git a/tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png b/tests/integration/nano/snapshots/nanox/regression_batched_ops/00020.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 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 delta 720 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 gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@038sSIsgCw diff --git a/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00011.png b/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_added_at_the_end/00011.png index 393a15fb76753fbec14215b680629fedbfa392f5..551255b148faa8786f2789e7ed57e18fcddafe45 100644 GIT binary patch delta 457 zcmV;)0XF{n1LFgbB!8+&L_t(|obB0Ba)clZfMMI|O}PJ&xJw^)%Fqx3E(xyA|2?&e zp(P3uj{^Vz00000000000EGC83!QVWe@!WsgYC~Vp?WRn>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>z*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000c9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F0000@as@f}T8+_Qi8fxL+)qT516n{?5GoqPsZA!_ASx(i7 zwEu=)gEo|}@C5YkrXl;1obwwoKTvoA+|_qtF9(hbZ1h@v9lcFm`nhbJ{xd~4eLv+BqFsM9rvX2&;IAN>34hv5A^+A1-(64{q{ z)yvr_Keae!b!y&g`R!-QRSWYSR((mH9%Y{X-R!KYoXU5>E8p{1$^DsrrrWA#!C#)U zX?!1Z*UT)Im-Bc0S-qiN=+B>NXM#DvJ^&F7N_k$JtBO3|Zr=yudb;|#taD0e0su+c Bhid=; diff --git a/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_removed_inside/00007.png b/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_removed_inside/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..ff518831ae81679c8510e8cb4bff506d46ea4c52 100644 GIT binary patch delta 375 zcmbQoGKqPDN`0iKi(^Q|oVPav`I;4Y8WOix2*0aWdB2H$a@*E~)qE{a|IeGjjEaO@;djDmRU6LTq-^%vti47 z=JJ_}i@)8>5?Ov>^Xqe`FDf6CWXs>U_Vb%lU)BDyE!ce0DxuFml3}v-ypZ?nCqA&q zSfA~yxzp`+=hgj77T?l4G;czF!IWEe{`*d=RbKse|Bz4IVzZZbTy(29%yI1b$|kb& zv*Y$zTMQi8cO)PEIPdcVwci52?V0y79<6owx;)fy@mW#HtutB}8L)x_HFp1^1fEUr RmFWS=d%F6$taD0e0suoivgH5( delta 516 zcmV+f0{i`v1D*tsB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000jEaO@;djDmRU6LTq-^%vti47 z=JJ_}i@)8>5?Ov>^Xqe`FDf6CWXs>U_Vb%lU)BDyE!ce0DxuFml3}v-ypZ?nCqA&q zSfA~yxzp`+=hgj77T?l4G;czF!IWEe{`*d=RbKse|Bz4IVzZZbTy(29%yI1b$|kb& zv*Y$zTMQi8cO)PEIPdcVwci52?V0y79<6owx;)fy@mW#HtutB}8L)x_HFp1^1fEUr RmFWS=d%F6$taD0e0szR0vp@g< diff --git a/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_removed_inside/00009.png b/tests/integration/nano/snapshots/nanox/test_parsing_errors/one_byte_removed_inside/00009.png index 393a15fb76753fbec14215b680629fedbfa392f5..551255b148faa8786f2789e7ed57e18fcddafe45 100644 GIT binary patch delta 457 zcmV;)0XF{n1LFgbB!8+&L_t(|obB0Ba)clZfMMI|O}PJ&xJw^)%Fqx3E(xyA|2?&e zp(P3uj{^Vz00000000000EGC83!QVWe@!WsgYC~Vp?WRn>PSuID z|Atl7h&V=JJe%#wgz?f4=hKQE{zhKx}{Pp zLZZE0JL}c*)H3++!q69!9mP1K#3sg~EwPmbVwBsk>CbWI1xAg(^Hag@QiM7q4>z*^Px&#W)Y()|3!D3~MXLLn4e7O%(%1C9+p%|BY0?jt;d6*bxO|)2I`RpS zl~n~v}p|;mZ>+ulJAVy=;5U?ZGIGD1XCT==Q#itAg5mYVvHL zZn8r@0mFO0@FQ(nwq}1aQFpsRqvuI>%cwzBwt0`f7!oNTN4J%mTt1~fnesK;Y8Fwy z>tzVC56F6Lv#xtqTRZ)Y6xh2;Pr}2W1KI4`tLskGHSDzM#;s{no-(`l|2%b3KmPbO zaMl4>>GtUadVdXEbpu$gaR`d`3}i`EXq%Ed1ghM=Imi0000c9Y)!NVy9SkwQxtY-3U#>-(Od zQYGiN;--xN00000Ahp(7YwheRK6O32fIlh_eYa!-M*7>fom8QwRV600000 e0001hB5q2vdJ%F-?YF)F0000@as@f}T8+_Qi8fxL+)qT516n{?5GoqPsZA!_ASx(i7 zwEu=)gEo|}@C5YkrXl;1obwwoKTvoA+|_qtF9(hbZ1h@v9lcFm`nhbJ{xd~4eLv+BqFsM9rvX2&;IAN>34hv5A^+A1-(64{q{ z)yvr_Keae!b!y&g`R!-QRSWYSR((mH9%Y{X-R!KYoXU5>E8p{1$^DsrrrWA#!C#)U zX?!1Z*UT)Im-Bc0S-qiN=+B>NXM#DvJ^&F7N_k$JtBO3|Zr=yudb;|#taD0e0su+c Bhid=; diff --git a/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00007.png b/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..85234247e808c9a4eed986210646699a8fad3053 100644 GIT binary patch delta 330 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 delta 720 zcmV;>0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L40000?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q diff --git a/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png b/tests/integration/nano/snapshots/nanox/test_regression_continue_after_reject/reject_signing/00016.png deleted file mode 100644 index 137ca9e4946dcd461fab8ca146124917077d946d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU diff --git a/tests/integration/nano/snapshots/nanox/test_reject_transaction/00007.png b/tests/integration/nano/snapshots/nanox/test_reject_transaction/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..85234247e808c9a4eed986210646699a8fad3053 100644 GIT binary patch delta 330 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 delta 720 zcmV;>0x$i`1Lp;hBYy&}Nkl-?y3TmHEz3fk??RG43G*)uy#nAV2w&8(GFEtyA>-)Zw`l4;pP! zgY>TWGu~444vLj*>R&ZLv9A$e9Q~(G57#>!AT*dw8nv|87=OXs02Gy%tepTr`Trxp zCi=iV(c0p(+~tC}k+xBd0~iNC*abcJ@fgbnDJ?cFzBo3rfFQq8P(DC*WX-rgROW!o zwh!WST}?#23z+mSFh9pLMH^M@r&z~v9LI4~8Qv%n21OfLMkb%sb=70s(;}C<4qmS1XIw6$EvE;RMUc#Bl`AsM;s(aK#_sOjcJ^+j)swSRCpmH zPLzCCb2O|C2)4+g0~`Ww3IZZ_ak}f((TXpm#2wKUFmNP>&AX%{9bKM+j$+ew$O?`e z$KlhcvhlZ+W-8lJDX2>i*us$r!eZQEDjVNX6)i2OSbtG$QMOs^B;?72_}l+GF|k zT(6fdWPdhdPs8Fns;fQi9o)wI01-KCr?vKK2+CnZ3Mv|i zXCbU&e5_Lt@rq-hs5m~VGB^j-!Y9lD_Ftc^%t`!7c$oYB-$3;`Rkd(kF-}Ad8*rLW z@0#c2PYiuyNI$&*2y5-jz6uNF1L40000?wI z-!>^n)lQzxxKL|*-dA6f2K9+N30pX|FL5XAe%*J@)#*q*Q^t9lSCSg623Cb$=?g?0 zUd*dp!tcaj;JwaW@OJE%g2?`3{4syk=c%4D{%dc0$N$H<2f?-F-{&N+nk#da=f$~s zbEmU=>U~ykcyjgrwc7oTF&@z`LYDGpGgPj!m%6q1>f+l9w}Xr~u?aYaAr(D}CNQ|3B5`xr9}r+?MRW=j5tOh1YEpnA-Bmt76$6$M=bM4nNr? iY}c8}0`)wEGWf!J*nH32<4-IEKmwkwelF{r5}E)>ESNq3 delta 433 zcmV;i0Z#tz0?PxCB!7}gL_t(|obA|K62c%1K+)*96ZXF(_TmR4gFFgoONid{38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf*2U0Q diff --git a/tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png b/tests/integration/nano/snapshots/nanox/test_reject_transaction/00016.png deleted file mode 100644 index 137ca9e4946dcd461fab8ca146124917077d946d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-$ba4!+nDh2#B;O$e9@oI; z8=l|ytGsXJ_s%?d!PDvE>UTex1eaXV4~{klY65{3J9h8B|J!u!_cweo*Vb-Idf6Pr zaC*~`_EmSDW@jq6XfnJ`Rfw%Mu0H$jfb82Q<*3@pvl$m^ZO{AaYto=Tktbmbr}ic8 zgx#@%_&)K@;U~L{E3ACNW|0C&t;uc GLK6TUIGRfU diff --git a/tests/integration/nano/snapshots/nanox/test_sign_transaction/00007.png b/tests/integration/nano/snapshots/nanox/test_sign_transaction/00007.png index 59fce75cd1321a13bc8840b9bc6f48f87485d7c2..dd996e27318e3c2417178f9a8a22fafeca662e43 100644 GIT binary patch delta 329 zcmV-P0k;001mpscB!4SOL_t(|obB05l7k==06>$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_transaction/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_another_seed/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6y~}=>5DQpQi^%4^FN?^G zpg?_0S9!nR@i>HVS=>B_UeRkUd+N8%*0fw%t&yhDi!DF$N{t?n{OOxx#k7{k%aWu# zwh$Z4uUb|pUQ!wT_}#9^yZ8D1bc+m@_nAbD$03BZew=^i!+)7%p7ixvGMmwVD<9_9 zS~iUw3$g2}Vs~G2cQxW`J^y?rCpu+S>n5FeM)D|pOhH48!L+rRDNZ0a8M%!$U}`@G zo7;>yYwt~?xProB#j-07*qoM6N<$fwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzty~}=>5DQpQi^%4^FN?^G zpg?_0S9!nR@i>HVS=>B_UeRkUd+N8%*0fw%t&yhDi!DF$N{t?n{OOxx#k7{k%aWu# zwh$Z4uUb|pUQ!wT_}#9^yZ8D1bc+m@_nAbD$03BZew=^i!+)7%p7ixvGMmwVD<9_9 zS~iUw3$g2}Vs~G2cQxW`J^y?rCpu+S>n5FeM)D|pOhH48!L+rRDNZ0a8M%!$U}`@G zo7;>yYwt~?xProB#j-07*qoM6N<$f83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RTUqjv)X5 delta 516 zcmV+f0{i{P0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjfl+MsF delta 300 zcmX@je4J^5N83B7%7z!WUV)^{^@uv@6 z4}8p)Qe7G{|J-MrH80D*-Hqd#X?4A|(qFT*c8juXhW@=<3np5w`W<{}w1#ePdpxC;IJqQL5>()gPmE7(T?u{;Phzxc6t}h1;j@ t2e=tAh#N!Eo&)I`3=FCa$lya{9Yev{Q*-$}9x;N%Jzf1=);T3K0RVF^j!ggn diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_long_hash/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)0000000000GrafSd+k=txobDz zH0DAd{73>~^qq6MEtzF00j(LvZuG@g0)i|DrlT*m5)eZigKj4ORUA9djY)L3A zOU`QfpfbF-uEn`L=Qc9>w6GI6A^ zcOCs>NC05Pb#uDnYQYqw?9s1sjq0^e*r=7;#KH4zwSL@^&c1mKwGrT6$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!TwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbztwpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt$O~Ux-adO%C@tXICTM*5l7-wxd(8YF%UykH{{Ck16ODIT+R+W+o?)i)3zP4H(+z zVD&L0&e~hMF}Z|peeT>Hy~cH>!9&W?>HFk*P<{t+vYRE~9)D$lf8f3gZ|Y`i!0&mj zSGkzEHw|OK`a;}R_9Aa#<6W47I+K9TB%rhWi`exod>tDs!Tz6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0HU~<-v9sr delta 516 zcmV+f0{i{*0-gkrB!A^eL_t(|ob8!Wa)dAlhSN@O;{A{0UHae*gGoSQh~4de-&0ib zhXutAmI43(000000000000000089AtFYo()47P2P!(*JnsD9TV-K*fbDg2}>wpiY` z=a&X?hINib6R_{Q6~TjT+w|?MFKJ^D5d(eRvMELg+EprtTYqt_R!y&bupApz_LKMR zT=NkRv|E*pT&>31t?Im^ZyER=UaH-=yW`52;-M$tNO-$y>D@$PIrG?B`mKRa6_oBz zxQC-$E#b#u_8qXgYUk=}waElH%H>>yyR|`xmY{Zlu9;OCN4bpqP-42qDXDctBK4=t zyaOc4Qgi$=J%5^yR^Kw1RI{o_FhgBseK?%y+-LJGuyUNfN|MpP{p(LYa1Y_}J)y|^p@I^cNo_f`c)6F%%jny_b z#K!54X&)l`RkP1J-<@^o!zlMRVj6KpwtsqTbzt38000000000py!YOF?N-dWYd7FD=0YF*NCIN?opZV^nPn*ftr^B{^u<;Jf-DE7 zqc64+5JMb;Zaw-Ua?@_Wv~m`*8-1}g0)i~urlW6|#VtPo0DpV?x7D?>4ORUA9djY)L3AOU`QfpfbF-6>MFN_LoFmNIdquy-B(V@LpC#dUMK;%dPZr0mhJa*gV>PuQrH z+r+{1ZMA;flFq()4Yd*AUgSLrNr6uV_#RqS`+7=_=tZHc=?|xCe?*}>w zXq|FD&}V-0ssI200000 b0CYS76s$DUVDrbc00000NkvXXu0mjf-#XA- delta 344 zcmX@j{F!NjO1+h*i(^Q|oVPa}g_;$390K1|2*0mad3T95Sc=(EhUMtb{G}3%%?q}6 zOCPP)FW;UkeeKKS+Dl4PS7zUxQU1R6y7%gr4pBRnIVu;c{1&;*Tg%b@$St*pXF~eX zyA@vBN<-gHo&M`}+p02iX0~+uFPa6vOIBQoFf_{EbZf>z6Nk|Hsn_mQGX{M9pMGG* zo7K;_!)NcE?r$1su~Fu-DSwvSnrn@9XOHJ*n@-3|%DR=+xpSJ=r#wzC^%FhwW`2M0 zK=Q${KF2-l`NbD));IX1^R=c=_2!Iq$Ly0B85(kT?q=S)NnR!9Q&wW@!p^VDB)Hb* zO9cN}cCv=IcG>oO=PvUwybB48sK2sJoUL?S??3wlz1IAhn|Th%Y%1Sk%Djm&W9c=q gY#Rv%9NFVdQ&MBb@0NvS{3jhEB diff --git a/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png b/tests/integration/nano/snapshots/nanox/test_sign_with_small_packet/00011.png deleted file mode 100644 index 471324463647c42b2de74c282e34caf0e801955d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 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 literal 0 HcmV?d00001 diff --git a/tests/integration/stax/test_blindsign_valid.py b/tests/integration/stax/test_blindsign_valid.py index de2465e03..585ff9f8c 100755 --- a/tests/integration/stax/test_blindsign_valid.py +++ b/tests/integration/stax/test_blindsign_valid.py @@ -49,15 +49,15 @@ app.review.tap() app.assert_screen("tst_review_002") - app.review.tap() - app.expert_mode_splash() - app.review.tap() app.assert_screen("tst_review_003") + app.review.tap() - app.assert_screen("expert_mode_splash") + app.expert_mode_splash() + app.review.tap() app.assert_screen("tst_review_004") + app.review.tap() app.assert_screen("operation_sign") diff --git a/tests/integration/stax/test_expert_mode_rejections.py b/tests/integration/stax/test_expert_mode_rejections.py index 09c4693aa..ee58efac2 100644 --- a/tests/integration/stax/test_expert_mode_rejections.py +++ b/tests/integration/stax/test_expert_mode_rejections.py @@ -31,6 +31,8 @@ def sign_transfer_initialize(app): app.assert_screen(f"tst_review_001") app.review.tap() app.assert_screen("tst_review_002") + app.review.tap() + app.assert_screen("tst_review_003") diff --git a/tests/integration/stax/test_parsing_errors.py b/tests/integration/stax/test_parsing_errors.py index 36d7d4fa6..d528192ee 100755 --- a/tests/integration/stax/test_parsing_errors.py +++ b/tests/integration/stax/test_parsing_errors.py @@ -43,8 +43,6 @@ app.review.tap() app.assert_screen("tpe_review_0_02_partial") app.review.tap() - app.expert_mode_splash() - app.review.tap() app.assert_screen("tpe_review_0_03") app.review.tap() verify_err_reject_response(app, "invalid_tag") @@ -57,11 +55,9 @@ app.review.tap() app.assert_screen("tpe_review_0_02_full") app.review.tap() - app.assert_screen("expert_mode_splash") - app.review.tap() app.assert_screen("tpe_review_0_03_full") app.review.tap() - app.assert_screen("expert_mode_splash") + app.expert_mode_splash() app.review.tap() app.assert_screen("tpe_review_0_04_full") app.review.tap() diff --git a/tests/integration/stax/test_sign_transfer.py b/tests/integration/stax/test_sign_transfer.py index c1bcc73bd..11c666555 100755 --- a/tests/integration/stax/test_sign_transfer.py +++ b/tests/integration/stax/test_sign_transfer.py @@ -39,13 +39,10 @@ app.assert_screen("tst_review_002") app.review.tap() - app.enable_expert_mode() - - app.review.tap() - app.assert_screen("tst_expert_splash") + app.assert_screen("tst_review_003") app.review.tap() - app.assert_screen("tst_review_003") + app.enable_expert_mode() app.review.tap() app.assert_screen("tst_expert_splash") @@ -75,9 +72,6 @@ app.review.tap() app.assert_screen("tst_review_002") - app.review.tap() - app.assert_screen("tst_expert_splash") - app.review.tap() app.assert_screen("tst_review_003") diff --git a/tests/integration/stax/test_sign_transfer_without_hash.py b/tests/integration/stax/test_sign_transfer_without_hash.py index 41840b07c..277011488 100755 --- a/tests/integration/stax/test_sign_transfer_without_hash.py +++ b/tests/integration/stax/test_sign_transfer_without_hash.py @@ -38,14 +38,11 @@ app.review.tap() app.assert_screen("review_1") - app.review.tap() - app.expert_mode_splash() - app.review.tap() app.assert_screen("review_2") app.review.tap() - app.assert_screen("expert_mode_splash") + app.expert_mode_splash() app.review.tap() app.assert_screen("review_3") diff --git a/tests/unit/ctest/tests_parser.c b/tests/unit/ctest/tests_parser.c index 21f1a65ec..282ccc024 100644 --- a/tests/unit/ctest/tests_parser.c +++ b/tests/unit/ctest/tests_parser.c @@ -253,7 +253,7 @@ CTEST2(operation_parser, check_transaction_complexity) {"Destination", false, 5}, // {"Option", _, 6}, // {"Tuple", _, 7}, - {"Entrypoint", true, 8}, + {"Entrypoint", false, 8}, {"Parameter", true, 9}, }; check_field_complexity(data, str, fields_check, sizeof(fields_check)); @@ -281,7 +281,7 @@ CTEST2(operation_parser, check_double_transaction_complexity) {"Destination", false, 11}, // {"Option", _, 12}, // {"Tuple", _, 13}, - {"Entrypoint", true, 14}, + {"Entrypoint", false, 14}, {"Parameter", true, 15}, }; check_field_complexity(data, str, fields_check, sizeof(fields_check));