From 2e10d58348103e2f05e0c3cc8bc87de4f71e479a Mon Sep 17 00:00:00 2001 From: Lucas PASCAL Date: Wed, 13 Mar 2024 18:59:22 +0100 Subject: [PATCH] [add] Flex porting --- Makefile | 5 +- ledger_app.toml | 2 +- src/keyboards/keyboard.h | 2 +- src/keyboards/keyboard_common.c | 2 +- src/keyboards/text_keyboard.c | 2 +- src/nano/ui.c | 4 +- src/{stax => nbgl}/password_list.c | 0 src/{stax => nbgl}/password_list.h | 2 +- src/{stax => nbgl}/ui.c | 58 +++++++++++++----- src/options.c | 4 +- src/types.h | 2 +- tests/functional/conftest.py | 12 ++-- tests/functional/{stax => nbgl}/__init__.py | 0 tests/functional/{stax => nbgl}/navigator.py | 8 +-- tests/functional/nbgl/screen.py | 45 ++++++++++++++ .../functional/{stax => nbgl}/test_common.py | 2 +- .../{stax => nbgl}/test_passwords.py | 6 +- .../{stax => nbgl}/test_settings.py | 3 +- tests/functional/passwordsManager_cmd.py | 9 ++- .../flex/all_passwords_deleted_screen.png | Bin 0 -> 7690 bytes .../flex/confirm_all_passwords_deletion.png | Bin 0 -> 10868 bytes .../flex/confirm_password_deletion.png | Bin 0 -> 11936 bytes .../snapshots/flex/create_password/00000.png | 1 + .../snapshots/flex/create_password/00001.png | 1 + .../snapshots/flex/create_password/00002.png | 1 + .../snapshots/flex/create_password/00003.png | 1 + .../snapshots/flex/create_password/00004.png | 1 + .../snapshots/flex/create_password/00005.png | 1 + .../snapshots/flex/create_password/00006.png | 1 + .../snapshots/flex/create_password/00007.png | 1 + .../snapshots/flex/create_password/00008.png | 1 + .../snapshots/flex/create_password/00009.png | 1 + .../snapshots/flex/create_password/00010.png | 1 + .../snapshots/flex/create_password/00011.png | 1 + .../snapshots/flex/create_password/00012.png | 1 + .../flex/delete_all_password/00000.png | 1 + .../flex/delete_all_password/00001.png | 1 + .../flex/delete_all_password/00002.png | 1 + .../flex/delete_all_password/00003.png | 1 + .../flex/delete_all_password/00004.png | 1 + .../flex/delete_all_password/00005.png | 1 + .../flex/delete_all_password/00006.png | 1 + .../flex/delete_all_password/00007.png | 1 + .../flex/delete_one_password/00000.png | 1 + .../flex/delete_one_password/00001.png | 1 + .../flex/delete_one_password/00002.png | 1 + .../flex/delete_one_password/00003.png | 1 + .../flex/delete_one_password/00004.png | 1 + .../flex/delete_one_password/00005.png | 1 + .../flex/delete_one_password/00006.png | 1 + .../flex/delete_one_password/00007.png | 1 + .../flex/delete_one_password/00008.png | 1 + .../flex/delete_one_password/00009.png | 1 + .../functional/snapshots/flex/disclaimer.png | Bin 0 -> 22601 bytes .../functional/snapshots/flex/home_screen.png | Bin 0 -> 15408 bytes .../snapshots/flex/keyboard_screen_empty.png | Bin 0 -> 7866 bytes .../snapshots/flex/keyboard_screen_n_text.png | Bin 0 -> 7929 bytes .../flex/keyboard_screen_ne_text.png | Bin 0 -> 8024 bytes .../flex/keyboard_screen_new_text.png | Bin 0 -> 8115 bytes .../snapshots/flex/list_screen_empty.png | Bin 0 -> 4525 bytes .../snapshots/flex/list_screen_populated.png | Bin 0 -> 9772 bytes .../flex/list_screen_populated_and_new.png | Bin 0 -> 10598 bytes .../list_screen_populated_one_deleted.png | Bin 0 -> 8031 bytes .../functional/snapshots/flex/menu_screen.png | Bin 0 -> 15744 bytes .../flex/password_created_screen.png | Bin 0 -> 7708 bytes .../flex/password_deleted_screen.png | Bin 0 -> 7237 bytes .../snapshots/flex/settings/00000.png | 1 + .../snapshots/flex/settings/00001.png | 1 + .../snapshots/flex/settings/00002.png | 1 + .../snapshots/flex/settings/00003.png | Bin 0 -> 12771 bytes .../snapshots/flex/settings/00004.png | Bin 0 -> 11382 bytes .../snapshots/flex/settings/00005.png | Bin 0 -> 9357 bytes .../snapshots/flex/settings/00006.png | Bin 0 -> 10556 bytes .../snapshots/flex/settings/00007.png | 1 + .../snapshots/flex/startup_choose_kbl.png | Bin 0 -> 9855 bytes .../functional/snapshots/stax/disclaimer.png | Bin 19419 -> 19322 bytes tests/functional/stax/screen.py | 34 ---------- tests/unit/CMakeLists.txt | 9 +-- .../unit/{stax => nbgl}/test_password_list.c | 2 +- 79 files changed, 164 insertions(+), 84 deletions(-) rename src/{stax => nbgl}/password_list.c (100%) rename src/{stax => nbgl}/password_list.h (95%) rename src/{stax => nbgl}/ui.c (91%) rename tests/functional/{stax => nbgl}/__init__.py (100%) rename tests/functional/{stax => nbgl}/navigator.py (96%) create mode 100644 tests/functional/nbgl/screen.py rename tests/functional/{stax => nbgl}/test_common.py (91%) rename tests/functional/{stax => nbgl}/test_passwords.py (95%) rename tests/functional/{stax => nbgl}/test_settings.py (94%) create mode 100644 tests/functional/snapshots/flex/all_passwords_deleted_screen.png create mode 100644 tests/functional/snapshots/flex/confirm_all_passwords_deletion.png create mode 100644 tests/functional/snapshots/flex/confirm_password_deletion.png create mode 120000 tests/functional/snapshots/flex/create_password/00000.png create mode 120000 tests/functional/snapshots/flex/create_password/00001.png create mode 120000 tests/functional/snapshots/flex/create_password/00002.png create mode 120000 tests/functional/snapshots/flex/create_password/00003.png create mode 120000 tests/functional/snapshots/flex/create_password/00004.png create mode 120000 tests/functional/snapshots/flex/create_password/00005.png create mode 120000 tests/functional/snapshots/flex/create_password/00006.png create mode 120000 tests/functional/snapshots/flex/create_password/00007.png create mode 120000 tests/functional/snapshots/flex/create_password/00008.png create mode 120000 tests/functional/snapshots/flex/create_password/00009.png create mode 120000 tests/functional/snapshots/flex/create_password/00010.png create mode 120000 tests/functional/snapshots/flex/create_password/00011.png create mode 120000 tests/functional/snapshots/flex/create_password/00012.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00000.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00001.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00002.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00003.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00004.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00005.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00006.png create mode 120000 tests/functional/snapshots/flex/delete_all_password/00007.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00000.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00001.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00002.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00003.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00004.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00005.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00006.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00007.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00008.png create mode 120000 tests/functional/snapshots/flex/delete_one_password/00009.png create mode 100644 tests/functional/snapshots/flex/disclaimer.png create mode 100644 tests/functional/snapshots/flex/home_screen.png create mode 100644 tests/functional/snapshots/flex/keyboard_screen_empty.png create mode 100644 tests/functional/snapshots/flex/keyboard_screen_n_text.png create mode 100644 tests/functional/snapshots/flex/keyboard_screen_ne_text.png create mode 100644 tests/functional/snapshots/flex/keyboard_screen_new_text.png create mode 100644 tests/functional/snapshots/flex/list_screen_empty.png create mode 100644 tests/functional/snapshots/flex/list_screen_populated.png create mode 100644 tests/functional/snapshots/flex/list_screen_populated_and_new.png create mode 100644 tests/functional/snapshots/flex/list_screen_populated_one_deleted.png create mode 100644 tests/functional/snapshots/flex/menu_screen.png create mode 100644 tests/functional/snapshots/flex/password_created_screen.png create mode 100644 tests/functional/snapshots/flex/password_deleted_screen.png create mode 120000 tests/functional/snapshots/flex/settings/00000.png create mode 120000 tests/functional/snapshots/flex/settings/00001.png create mode 120000 tests/functional/snapshots/flex/settings/00002.png create mode 100644 tests/functional/snapshots/flex/settings/00003.png create mode 100644 tests/functional/snapshots/flex/settings/00004.png create mode 100644 tests/functional/snapshots/flex/settings/00005.png create mode 100644 tests/functional/snapshots/flex/settings/00006.png create mode 120000 tests/functional/snapshots/flex/settings/00007.png create mode 100644 tests/functional/snapshots/flex/startup_choose_kbl.png delete mode 100644 tests/functional/stax/screen.py rename tests/unit/{stax => nbgl}/test_password_list.c (99%) diff --git a/Makefile b/Makefile index 661495e..8d6b51b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ #******************************************************************************* # Ledger App -# (c) 2017 Ledger +# (c) 2017-2024 Ledger # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ ICON_NANOS = icons/nanos_icon_password_manager.gif ICON_NANOSP = icons/nanox_icon_password_manager.gif ICON_NANOX = icons/nanox_icon_password_manager.gif ICON_STAX = icons/stax_icon_password_manager_32px.gif +ICON_FLEX = icons/stax_icon_password_manager_32px.gif DEFINES += OS_IO_SEPROXYHAL DEFINES += HAVE_IO_USB HAVE_L4_USBLIB IO_USB_MAX_ENDPOINTS=4 IO_HID_EP_LENGTH=64 HAVE_USB_APDU @@ -58,7 +59,7 @@ else DEFINES += TESTING endif -ifneq ($(TARGET_NAME), TARGET_STAX) +ifneq ($(TARGET_NAME), $(filter $(TARGET_NAME), TARGET_STAX TARGET_FLEX)) $(info Using BAGL) DEFINES += HAVE_BAGL DEFINES += HAVE_UX_FLOW diff --git a/ledger_app.toml b/ledger_app.toml index 1876ba8..47d5e77 100644 --- a/ledger_app.toml +++ b/ledger_app.toml @@ -1,6 +1,6 @@ [app] build_directory="." -devices = ["nanos", "nanos+", "nanox", "stax"] +devices = ["nanos", "nanos+", "nanox", "stax", "flex"] sdk = "c" [tests] diff --git a/src/keyboards/keyboard.h b/src/keyboards/keyboard.h index 1e1148f..6382aeb 100644 --- a/src/keyboards/keyboard.h +++ b/src/keyboards/keyboard.h @@ -17,7 +17,7 @@ #pragma once -#if !defined(TARGET_STAX) +#if !defined(SCREEN_SIZE_WALLET) #include #include diff --git a/src/keyboards/keyboard_common.c b/src/keyboards/keyboard_common.c index 29ae9b2..e2ac2d5 100644 --- a/src/keyboards/keyboard_common.c +++ b/src/keyboards/keyboard_common.c @@ -5,7 +5,7 @@ #include "keyboard.h" -#if !defined(TARGET_STAX) +#if !defined(SCREEN_SIZE_WALLET) void bolos_ux_hslider3_init(unsigned int total_count) { G_keyboard_ctx.hslider3_total = total_count; diff --git a/src/keyboards/text_keyboard.c b/src/keyboards/text_keyboard.c index be0e8ea..d744676 100644 --- a/src/keyboards/text_keyboard.c +++ b/src/keyboards/text_keyboard.c @@ -3,7 +3,7 @@ #include #include -#if !defined(TARGET_STAX) +#if !defined(SCREEN_SIZE_WALLET) #include "keyboard.h" diff --git a/src/nano/ui.c b/src/nano/ui.c index 1e5d9d9..c756b1e 100644 --- a/src/nano/ui.c +++ b/src/nano/ui.c @@ -3,7 +3,7 @@ #include #include -#if !defined(TARGET_STAX) +#if !defined(SCREEN_SIZE_WALLET) #include @@ -638,4 +638,4 @@ void ui_idle() { } } -#endif // if !defined(TARGET_STAX) +#endif // if !defined(SCREEN_SIZE_WALLET) diff --git a/src/stax/password_list.c b/src/nbgl/password_list.c similarity index 100% rename from src/stax/password_list.c rename to src/nbgl/password_list.c diff --git a/src/stax/password_list.h b/src/nbgl/password_list.h similarity index 95% rename from src/stax/password_list.h rename to src/nbgl/password_list.h index 91165c8..42fb21c 100644 --- a/src/stax/password_list.h +++ b/src/nbgl/password_list.h @@ -4,7 +4,7 @@ #define DISPLAYED_PASSWORD_PER_PAGE 5 -#if defined(TARGET_STAX) +#if defined(SCREEN_SIZE_WALLET) void password_list_reset(); diff --git a/src/stax/ui.c b/src/nbgl/ui.c similarity index 91% rename from src/stax/ui.c rename to src/nbgl/ui.c index 9ddfda8..47f92ad 100644 --- a/src/stax/ui.c +++ b/src/nbgl/ui.c @@ -1,6 +1,6 @@ /******************************************************************************* * Password Manager application - * (c) 2017-2023 Ledger SAS + * (c) 2017-2024 Ledger SAS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ #include #include -#if defined(TARGET_STAX) +#if defined(SCREEN_SIZE_WALLET) #include #include @@ -97,13 +97,15 @@ static const char *const infoTypes[] = {"Version", "Passwords"}; static const char *const infoContents[] = {APPVERSION, "(c) 2017-2023 Ledger"}; static const char *const availableKbl[] = {"QWERTY", "QWERTY INT.", "AZERTY"}; -#define SETTINGS_CHARSET_OPTIONS_NUMBER 5 -#define SETTINGS_KEYBOARD_OPTIONS_NUMBER 3 -#define SETTINGS_MISC_OPTIONS_NUMBER 1 -#define SETTINGS_INFO_NUMBER 2 -#define SETTINGS_PAGE_NUMBER 4 +#define SETTINGS_FIRST_PAGE_STAX_OPTIONS_NUMBER 5 +#define SETTINGS_FIRST_PAGE_FLEX_OPTIONS_NUMBER 4 +#define SETTINGS_SECOND_PAGE_STAX_OPTIONS_NUMBER 1 +#define SETTINGS_SECOND_PAGE_FLEX_OPTIONS_NUMBER 2 +#define SETTINGS_KEYBOARD_OPTIONS_NUMBER 3 +#define SETTINGS_INFO_NUMBER 2 +#define SETTINGS_PAGE_NUMBER 4 -static nbgl_layoutSwitch_t switches[SETTINGS_CHARSET_OPTIONS_NUMBER]; +static nbgl_layoutSwitch_t switches[SETTINGS_FIRST_PAGE_STAX_OPTIONS_NUMBER]; static void _prepare_kbl_choice(nbgl_pageContent_t *content) { content->type = CHOICES_LIST; @@ -149,22 +151,40 @@ static bool display_settings_navigation(uint8_t page, nbgl_pageContent_t *conten .subText = "('-', ' ', '_')", .token = BARS_TOKEN, .tuneId = TUNE_TAP_CASUAL}; +#if defined(TARGET_STAX) switches[4] = (nbgl_layoutSwitch_t){.initState = has_charset_option(EXT_SYMBOLS_BITFLAG), .text = "Use special characters", .subText = NULL, .token = EXT_SYMBOLS_TOKEN, .tuneId = TUNE_TAP_CASUAL}; + content->switchesList.nbSwitches = SETTINGS_FIRST_PAGE_STAX_OPTIONS_NUMBER; +#else // TARGET_STAX + content->switchesList.nbSwitches = SETTINGS_FIRST_PAGE_FLEX_OPTIONS_NUMBER; +#endif // TARGET_STAX content->type = SWITCHES_LIST; - content->switchesList.nbSwitches = SETTINGS_CHARSET_OPTIONS_NUMBER; content->switchesList.switches = &switches[0]; + PRINTF("PAGE 1 READY TO DISPLAY\n"); } else if (page == 1) { - switches[0] = (nbgl_layoutSwitch_t){.initState = N_storage.press_enter_after_typing, - .text = "Press enter", - .subText = "after writing the password", - .token = NO_ENTER_TOKEN, + size_t index_after_charset = 0; +#if defined(TARGET_FLEX) + switches[0] = (nbgl_layoutSwitch_t){.initState = has_charset_option(EXT_SYMBOLS_BITFLAG), + .text = "Use special characters", + .subText = NULL, + .token = EXT_SYMBOLS_TOKEN, .tuneId = TUNE_TAP_CASUAL}; + index_after_charset++; + content->switchesList.nbSwitches = SETTINGS_SECOND_PAGE_FLEX_OPTIONS_NUMBER; +#else // TARGET_FLEX + content->switchesList.nbSwitches = SETTINGS_SECOND_PAGE_STAX_OPTIONS_NUMBER; +#endif // TARGET_FLEX + switches[index_after_charset] = + (nbgl_layoutSwitch_t){.initState = N_storage.press_enter_after_typing, + .text = "Press enter", + .subText = "after writing the password", + .token = NO_ENTER_TOKEN, + .tuneId = TUNE_TAP_CASUAL}; + content->type = SWITCHES_LIST; - content->switchesList.nbSwitches = SETTINGS_MISC_OPTIONS_NUMBER; content->switchesList.switches = &switches[0]; } else if (page == 2) { _prepare_kbl_choice(content); @@ -685,9 +705,15 @@ void ui_idle() { nbgl_useCaseChoice( &C_stax_icon_password_manager_64px, "Disclaimer", - "Be sure to backup your passwords every time you\nupdate either your device" - "\nOS or this application:\nhttps://passwords.ledger.com\n\nIf not, they " +#if defined(TARGET_STAX) + "Be sure to backup your passwords every time you update either your device " + "OS or this application: https://passwords.ledger.com\n\nIf not, they " "will be lost.", +#else // TARGET_STAX + "Be sure to backup your passwords every time you update either your device " + "OS or this application: https://passwords.ledger.com\nIf not, they " + "will be lost.", +#endif "Yes, I understand", "No, this is too complicated", startup_callback); diff --git a/src/options.c b/src/options.c index 26e452c..31d89dd 100644 --- a/src/options.c +++ b/src/options.c @@ -4,7 +4,7 @@ #include "options.h" #include "globals.h" -#if !defined(TARGET_STAX) +#if !defined(SCREEN_SIZE_WALLET) static uint8_t charset_options; @@ -26,7 +26,7 @@ uint8_t get_charset_options() { return N_storage.charset_options; } -#endif // !defined(TARGET_STAX) +#endif // !defined(SCREEN_SIZE_WALLET) void init_charset_options() { // default: uppercase (1) + lowercase (2) + numbers (4) = 7 diff --git a/src/types.h b/src/types.h index d5f6938..9d54d2a 100644 --- a/src/types.h +++ b/src/types.h @@ -16,7 +16,7 @@ typedef struct internalStorage_t { */ size_t metadata_count; uint8_t metadatas[MAX_METADATAS]; -#if defined(TARGET_STAX) +#if defined(SCREEN_SIZE_WALLET) uint8_t charset_options; #endif } internalStorage_t; diff --git a/tests/functional/conftest.py b/tests/functional/conftest.py index 9aa21df..c8b9408 100644 --- a/tests/functional/conftest.py +++ b/tests/functional/conftest.py @@ -4,7 +4,8 @@ from passwordsManager_cmd import PasswordsManagerCommand from tests_vectors import tests_vectors -from stax.navigator import CustomStaxNavigator +from nbgl.navigator import CustomNBGLNavigator + from ragger.conftest import configuration pytest_plugins = ("ragger.conftest.base_conftest", ) @@ -40,15 +41,18 @@ def cmd(custom_backend, firmware): @pytest.fixture def navigator(custom_backend, firmware): - navigator = CustomStaxNavigator(custom_backend, firmware) + navigator = CustomNBGLNavigator(custom_backend, firmware) yield navigator @pytest.fixture(autouse=True) def use_on_firmware(request, firmware): if request.node.get_closest_marker('use_on_firmware'): - current_firmware = request.node.get_closest_marker('use_on_firmware').args[0].lower() - if current_firmware != firmware.device: + accepted_firmware = request.node.get_closest_marker('use_on_firmware').args[0] + if isinstance(accepted_firmware, str): + accepted_firmware = [accepted_firmware] + + if firmware.device not in [f.lower() for f in accepted_firmware]: pytest.skip(f'skipped on this firmware: "{firmware.device}" is not '\ f'"{current_firmware}"') diff --git a/tests/functional/stax/__init__.py b/tests/functional/nbgl/__init__.py similarity index 100% rename from tests/functional/stax/__init__.py rename to tests/functional/nbgl/__init__.py diff --git a/tests/functional/stax/navigator.py b/tests/functional/nbgl/navigator.py similarity index 96% rename from tests/functional/stax/navigator.py rename to tests/functional/nbgl/navigator.py index 799834b..27f30f8 100644 --- a/tests/functional/stax/navigator.py +++ b/tests/functional/nbgl/navigator.py @@ -4,7 +4,7 @@ from ragger.navigator.navigator import Navigator from time import sleep -from .screen import CustomStaxScreen +from .screen import CustomNBGLScreen class CustomNavInsID(BaseNavInsID): @@ -47,10 +47,10 @@ class CustomNavInsID(BaseNavInsID): DISCLAIMER_REJECT = auto() -class CustomStaxNavigator(Navigator): +class CustomNBGLNavigator(Navigator): def __init__(self, backend, firmware): - self.screen = CustomStaxScreen(backend, firmware) + self.screen = CustomNBGLScreen(backend, firmware) callbacks = { # has to be defined for Ragger Navigator internals NavInsID.WAIT: sleep, @@ -74,7 +74,7 @@ def __init__(self, backend, firmware): CustomNavInsID.CONFIRM_YES: self.screen.confirmation.confirm, CustomNavInsID.CONFIRM_NO: self.screen.confirmation.reject, CustomNavInsID.KEYBOARD_WRITE: self.screen.keyboard.write, - CustomNavInsID.KEYBOARD_TO_CONFIRM: self.screen.keyboard_confirm.tap, + CustomNavInsID.KEYBOARD_TO_CONFIRM: self.screen.keyboard_confirm.confirm, CustomNavInsID.KEYBOARD_TO_MENU: self.screen.keyboard_cancel.tap, CustomNavInsID.LIST_CHOOSE: self._choose, CustomNavInsID.CHOOSE_KBL_QWERTY: partial(self._choose, 0), diff --git a/tests/functional/nbgl/screen.py b/tests/functional/nbgl/screen.py new file mode 100644 index 0000000..d82c320 --- /dev/null +++ b/tests/functional/nbgl/screen.py @@ -0,0 +1,45 @@ +from ragger.backend import BackendInterface +from ragger.firmware import Firmware +from ragger.firmware.nbgl import MetaScreen +from ragger.firmware.nbgl.use_cases import UseCaseChoice, UseCaseHomeExt, UseCaseReview, \ + UseCaseSettings +from ragger.firmware.nbgl.layouts import ChoiceList, FullKeyboardLetters, \ + KeyboardConfirmationButton, LeftHeader + + +class RadioList: + + def __init__(self, backend: BackendInterface, firmware: Firmware): + self.backend = backend + self.firmware = firmware + + def choose(self, index: int): + if self.firmware == Firmware.STAX: + positions = [(200, 130), (200, 210), (200, 290), (200, 370), (200, 450)] + else: # Firmware.FLEX + positions = [(240, 140), (240, 230), (240, 320), (240, 410), (240, 500)] + assert 0 <= index <= 4, "Choice index must be in [0, 4]" + self.backend.finger_touch(*positions[index]) + + +class CustomNBGLScreen(metaclass=MetaScreen): + + # "backup your data" disclaimer, displayed the first time the app is started + use_case_disclaimer = UseCaseChoice + # "choose your keyboard layout" choice, displayed the first time the app is started + layout_kbl_choice = ChoiceList + # home page + use_case_home = UseCaseHomeExt + # app settings + use_case_settings = UseCaseSettings + # main app menu, where to choose actions (write, display, create, delete, ... passwords) + use_case_menu = UseCaseSettings + use_case_confirmation = UseCaseReview + # choose a password menu (for action like write, display or delete) + layout_menu_choice = ChoiceList + layout_list_choice = RadioList + # Keyboard for naming password when creating one + layout_keyboard = FullKeyboardLetters + # confirm and cancel action (delete, delete all, create, ...) + layout_keyboard_confirm = KeyboardConfirmationButton + layout_keyboard_cancel = LeftHeader diff --git a/tests/functional/stax/test_common.py b/tests/functional/nbgl/test_common.py similarity index 91% rename from tests/functional/stax/test_common.py rename to tests/functional/nbgl/test_common.py index a162dfb..d802a93 100644 --- a/tests/functional/stax/test_common.py +++ b/tests/functional/nbgl/test_common.py @@ -4,7 +4,7 @@ from .navigator import CustomNavInsID -@pytest.mark.use_on_firmware("stax") +@pytest.mark.use_on_firmware(["stax", "flex"]) def test_immediate_quit(navigator): instructions = [ CustomNavInsID.DISCLAIMER_CONFIRM, diff --git a/tests/functional/stax/test_passwords.py b/tests/functional/nbgl/test_passwords.py similarity index 95% rename from tests/functional/stax/test_passwords.py rename to tests/functional/nbgl/test_passwords.py index 09447dd..d8129c4 100644 --- a/tests/functional/stax/test_passwords.py +++ b/tests/functional/nbgl/test_passwords.py @@ -4,7 +4,7 @@ from .navigator import CustomNavInsID -@pytest.mark.use_on_firmware("stax") +@pytest.mark.use_on_firmware(["stax", "flex"]) def test_delete_one_password(navigator, functional_test_directory): instructions = [ CustomNavInsID.DISCLAIMER_CONFIRM, @@ -26,7 +26,7 @@ def test_delete_one_password(navigator, functional_test_directory): screen_change_before_first_instruction=False) -@pytest.mark.use_on_firmware("stax") +@pytest.mark.use_on_firmware(["stax", "flex"]) def test_delete_all_passwords(navigator, functional_test_directory): instructions = [ CustomNavInsID.DISCLAIMER_CONFIRM, @@ -46,7 +46,7 @@ def test_delete_all_passwords(navigator, functional_test_directory): screen_change_before_first_instruction=False) -@pytest.mark.use_on_firmware("stax") +@pytest.mark.use_on_firmware(["stax", "flex"]) def test_create_password(navigator, functional_test_directory): instructions = [ CustomNavInsID.DISCLAIMER_CONFIRM, diff --git a/tests/functional/stax/test_settings.py b/tests/functional/nbgl/test_settings.py similarity index 94% rename from tests/functional/stax/test_settings.py rename to tests/functional/nbgl/test_settings.py index 926c78b..a176f46 100644 --- a/tests/functional/stax/test_settings.py +++ b/tests/functional/nbgl/test_settings.py @@ -4,8 +4,7 @@ from .navigator import CustomNavInsID - -@pytest.mark.use_on_firmware("stax") +@pytest.mark.use_on_firmware(["stax", "flex"]) def test_settings_screens(navigator, functional_test_directory): instructions = [ CustomNavInsID.DISCLAIMER_CONFIRM, diff --git a/tests/functional/passwordsManager_cmd.py b/tests/functional/passwordsManager_cmd.py index 8dc08fd..7f5c61b 100644 --- a/tests/functional/passwordsManager_cmd.py +++ b/tests/functional/passwordsManager_cmd.py @@ -3,7 +3,8 @@ from exception import DeviceException from ragger.backend import BackendInterface from ragger.firmware import Firmware -from ragger.firmware.stax.positions import BUTTON_ABOVE_LOWER_MIDDLE +from ragger.firmware.nbgl.positions import FLEX_BUTTON_ABOVE_LOWER_MIDDLE, \ + STAX_BUTTON_ABOVE_LOWER_MIDDLE CLA_SDK: int = 0xb0 CLA: int = 0xe0 @@ -32,8 +33,10 @@ def __init__(self, self.approved: bool = False def approve(self): - if self.firmware.has_nbgl: - self.transport.finger_touch(*BUTTON_ABOVE_LOWER_MIDDLE) + if self.firmware == Firmware.STAX: + self.transport.finger_touch(*STAX_BUTTON_ABOVE_LOWER_MIDDLE) + elif self.firmware == Firmware.FLEX: + self.transport.finger_touch(*FLEX_BUTTON_ABOVE_LOWER_MIDDLE) else: self.transport.both_click() diff --git a/tests/functional/snapshots/flex/all_passwords_deleted_screen.png b/tests/functional/snapshots/flex/all_passwords_deleted_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..e8bd1e52064755bf78b1e41e249eb9b3b0285122 GIT binary patch literal 7690 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/confirm_all_passwords_deletion.png b/tests/functional/snapshots/flex/confirm_all_passwords_deletion.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec33eede8cc1b86b9f9d0eec51fc595457fc5d2 GIT binary patch literal 10868 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 XZ4Uu~y=|cKoXJ2JdaLT@{n-BjvS`HH literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/create_password/00000.png b/tests/functional/snapshots/flex/create_password/00000.png new file mode 120000 index 0000000..7123e5c --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00000.png @@ -0,0 +1 @@ +../disclaimer.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00001.png b/tests/functional/snapshots/flex/create_password/00001.png new file mode 120000 index 0000000..b9898b8 --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00001.png @@ -0,0 +1 @@ +../startup_choose_kbl.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00002.png b/tests/functional/snapshots/flex/create_password/00002.png new file mode 120000 index 0000000..0357e9d --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00002.png @@ -0,0 +1 @@ +../home_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00003.png b/tests/functional/snapshots/flex/create_password/00003.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00003.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00004.png b/tests/functional/snapshots/flex/create_password/00004.png new file mode 120000 index 0000000..795d97e --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00004.png @@ -0,0 +1 @@ +../list_screen_populated.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00005.png b/tests/functional/snapshots/flex/create_password/00005.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00005.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00006.png b/tests/functional/snapshots/flex/create_password/00006.png new file mode 120000 index 0000000..c53f297 --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00006.png @@ -0,0 +1 @@ +../keyboard_screen_empty.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00007.png b/tests/functional/snapshots/flex/create_password/00007.png new file mode 120000 index 0000000..0123bbd --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00007.png @@ -0,0 +1 @@ +../keyboard_screen_n_text.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00008.png b/tests/functional/snapshots/flex/create_password/00008.png new file mode 120000 index 0000000..a19caa8 --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00008.png @@ -0,0 +1 @@ +../keyboard_screen_ne_text.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00009.png b/tests/functional/snapshots/flex/create_password/00009.png new file mode 120000 index 0000000..6f4e476 --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00009.png @@ -0,0 +1 @@ +../keyboard_screen_new_text.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00010.png b/tests/functional/snapshots/flex/create_password/00010.png new file mode 120000 index 0000000..b477a5a --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00010.png @@ -0,0 +1 @@ +../password_created_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00011.png b/tests/functional/snapshots/flex/create_password/00011.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00011.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/create_password/00012.png b/tests/functional/snapshots/flex/create_password/00012.png new file mode 120000 index 0000000..863a334 --- /dev/null +++ b/tests/functional/snapshots/flex/create_password/00012.png @@ -0,0 +1 @@ +../list_screen_populated_and_new.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00000.png b/tests/functional/snapshots/flex/delete_all_password/00000.png new file mode 120000 index 0000000..7123e5c --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00000.png @@ -0,0 +1 @@ +../disclaimer.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00001.png b/tests/functional/snapshots/flex/delete_all_password/00001.png new file mode 120000 index 0000000..b9898b8 --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00001.png @@ -0,0 +1 @@ +../startup_choose_kbl.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00002.png b/tests/functional/snapshots/flex/delete_all_password/00002.png new file mode 120000 index 0000000..0357e9d --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00002.png @@ -0,0 +1 @@ +../home_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00003.png b/tests/functional/snapshots/flex/delete_all_password/00003.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00003.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00004.png b/tests/functional/snapshots/flex/delete_all_password/00004.png new file mode 120000 index 0000000..a7ba4fa --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00004.png @@ -0,0 +1 @@ +../confirm_all_passwords_deletion.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00005.png b/tests/functional/snapshots/flex/delete_all_password/00005.png new file mode 120000 index 0000000..ff910fe --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00005.png @@ -0,0 +1 @@ +../all_passwords_deleted_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00006.png b/tests/functional/snapshots/flex/delete_all_password/00006.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00006.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_all_password/00007.png b/tests/functional/snapshots/flex/delete_all_password/00007.png new file mode 120000 index 0000000..4d19873 --- /dev/null +++ b/tests/functional/snapshots/flex/delete_all_password/00007.png @@ -0,0 +1 @@ +../list_screen_empty.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00000.png b/tests/functional/snapshots/flex/delete_one_password/00000.png new file mode 120000 index 0000000..7123e5c --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00000.png @@ -0,0 +1 @@ +../disclaimer.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00001.png b/tests/functional/snapshots/flex/delete_one_password/00001.png new file mode 120000 index 0000000..b9898b8 --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00001.png @@ -0,0 +1 @@ +../startup_choose_kbl.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00002.png b/tests/functional/snapshots/flex/delete_one_password/00002.png new file mode 120000 index 0000000..0357e9d --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00002.png @@ -0,0 +1 @@ +../home_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00003.png b/tests/functional/snapshots/flex/delete_one_password/00003.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00003.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00004.png b/tests/functional/snapshots/flex/delete_one_password/00004.png new file mode 120000 index 0000000..795d97e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00004.png @@ -0,0 +1 @@ +../list_screen_populated.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00005.png b/tests/functional/snapshots/flex/delete_one_password/00005.png new file mode 120000 index 0000000..411e304 --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00005.png @@ -0,0 +1 @@ +../confirm_password_deletion.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00006.png b/tests/functional/snapshots/flex/delete_one_password/00006.png new file mode 120000 index 0000000..9e273d4 --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00006.png @@ -0,0 +1 @@ +../password_deleted_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00007.png b/tests/functional/snapshots/flex/delete_one_password/00007.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00007.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00008.png b/tests/functional/snapshots/flex/delete_one_password/00008.png new file mode 120000 index 0000000..659f0cd --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00008.png @@ -0,0 +1 @@ +../list_screen_populated_one_deleted.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/delete_one_password/00009.png b/tests/functional/snapshots/flex/delete_one_password/00009.png new file mode 120000 index 0000000..32b816e --- /dev/null +++ b/tests/functional/snapshots/flex/delete_one_password/00009.png @@ -0,0 +1 @@ +../menu_screen.png \ No newline at end of file diff --git a/tests/functional/snapshots/flex/disclaimer.png b/tests/functional/snapshots/flex/disclaimer.png new file mode 100644 index 0000000000000000000000000000000000000000..01a66176578e9da5b772d38d78488f9a04e2922e GIT binary patch literal 22601 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

R z2A>0QZesGvQQgxlRh$w9MFK#Hwp+cp6w;V(O~~1rCv!wD^BvA?fa?bf?U?WBpjj#a znxS)ZDkc_BECt9UwByf=Es1sdR-50#j*C87zRY6z53Z5l_)?#lBMQop@uplb8jBJB~*}rL5(v`0Sef<}N)OeTJW% z3ip>ymnT~B-^QuCZd9tnTn|Rae`3x(sbHiJ<>p~LAL~0H{V9~GR3)C2HgVeRZlV(2 zqlQ!JMfwQp^p) z-zG_V7D5j}19!PIYilL<_L*ON5+XJDjV0Ffl*ww@#C8ihk(xL3Tl@MmqsPl4-J%nx zF|D=C=Wp-^62`1620tP_Dm^qFTgT(ijpY(DJ z$6T;#Wt7QQX*rQUP^dCl9ebcdvd~ON_KTT-Lz0m3-l%-x%D6=te)#jHuU#wt@;R8J zDy`8Dp+sy>Pvah?tHK#7*Hk_^02L22+fU!MIV! zmhbacW_2A8-n~tk_2H7V*v#yfrjK$uwcFIC9CH@CM;4=;ECp)d!+BnsPA;bxLL9{~{RpDef3!$KxjzDs{=mdOr z^srOsaN+$jkY$W*Dbv1DYiH;|F!dC6>kh3@keg@;R*o~@EO!(tRN;|+W#@eDv>*ik ze)yHPdLP>H8)O=VM%N_uwNW(K3bnd$vw@DDJbreNZUd*EOaqzpli@H1M*tzv@*=Lu z_x2($d9~bXft{;A9sVSWKEvD8$7c^OXInxZ*l)a21;od%5h2=7{#Vj|&ch@()yq~_ zWH`67AiS?107G?ffc3qSA*}h34?R-dcc$ZuVOjf?vTv)EAQCvTrs~d(u~t`+Id-^y zk$Ud~WuMnuSJDbcc|NFVkEfZn4dcy^UMGP?g5flHMAz8eWyNAV(zpjsG?lNk z`dwo=d?v@h4VQC~((<3wr?H}97p)anC1W|=Pmx<5$+(ou(* zlmPiCpz+WkG@`kPV|!ktZ!@VVc~R-}jqFaA&o`ubE8GiL`k~-Y9^6>yjYL^ZWi;A_ zKOeTQez`3|Vs7#Y%8zS0ReRb0%U9mh!uHIqfJK4c;DQd?vDLKZfHvAV$~ZFF5u*ID zDbQEr;JXK#kcB%W^lk*HAoQQ47Z)C^|9-A!6R8tb=->nU7}y-2bOTPDYe{UP=n74q z2bQQRJNf!~cr8~~P?o*_{yf`&_-(OtX5 zev(xJN%|i0IbFnuvK#JMoRR(qA82APm*yo>TtD7V_R?FeQTg7%KM0`2QSn*@Jx&XK z@Ut3nv?DFtOpqG@g`RhVZS=B|DSDsvjQV7*JSVrwz%hTH{JVyJ#*FBZRmA`<;et|g zxs$v)WOU}5G-rs?QC|ljf97#*!{@`^Cx;o$v0M9bo`X~0tQ?lvE6nFX2uv&t@9;iC zT@HpWr?bdL7hfyuy^W1~Rgz;~dr++r(@r*@ck?6<#AQcQM%72&2KXb&fj%H9;zp$> zIt&5}1$nsfk-u{aS?0=C*p{il1CQnUwZ4tUrq>vI zoWXMUOz)E0^C9zwMo6)TesAj)WP>ucUQsiJwHGv!v|tQ@bN$LnVX?YIC3u9DiP8Eb zih#LpqE-sRe3Dhk$#o7V26VN5la=mVezSc>l-gct<0bX;`Q3tL@8tQAsbU3(^bf^p zsaKoD52d2m5v$KJg1a4TJ&0c}-r4?s^kTt`yb#G~JcY+h^jg)QHzTBjXJ*mG2ED%W zU2E=?abs!gPpv7n8fR^(Ek!N@LsHo>JjfB z%jN#Q2W3Bwu03RojJo8oWQlY~DP294%JJV`D+4$)hmt_PSu;wjlbrXukQ+L7!hXz5qoOzE8Ta~c6&E?)zXz}_Ih6h6 zIBXh?=;;YjR#<0WTMORoC}4$ zf9RI2xb14nMUgP4&Ab7oALqZ8rcL0p<^gtJq{JS7M)Q~V$l4YVnKakUmaSEx(Y!*H zd6VJ;_SJx4i0+~EgQo@?yhQHkdgyk<&nE@U0q74IXl5#%LdfI8aLun&3x@?Lmqpn{3S^Fja5JjM}sEC))dh;6#9B zl_Kk4jcrx;80)!UgNzw6It!J*UXeC9=nCT(n1MOcaB(bP~X)U6j0#-T$IUGNslDXx54E6m22D=p* zFDP;*4IO{|LO99*lk=ZmrT@I~%254Lf?dX1SCNpjD!Y>(=lDtYreBicqKgz1SNf!M<^z|Jl%*SaPaZ3` z!Od;kOv?dn790j;fNa823k2RDGA?u`5)Kn$A#t*wd?r2(oz7^?lC1z&SPA~& z(6ge+rN$N~lqDPoj4A)H+e6LyC~wif>s=r^k2ib|5`-5!cmz^$lsAtoFV)XbJ2Er4 zFH(mWk_)q*^=ka;OABTcZ@6Q~N;G=gf<3;(rpef?Au(_<+9I^127ZrlmS2CvI*~KA z!o2bAA0WY30Kh!FS=D}60>!+~`H-_4(QGMnoSFEdYM@;@)|s%3dD|9ztDtpTShnkZ zlr7|kr`maKd4TukOFhJU3)6wYr1xnekR|q@Y9;ZUUFVHDl%3k8)rniV2v}$N$Qv~( zE`cjg5-Rx`AXo6UX1>nqQ)%5qP3;(wvOx^STF-zSaPJ<5ZsaA{EVV;KeTK59(#ybM z&!XViT*hRl(RlGSO4d_rub^}sDPEhNVpmKT$qC+WOfBDQEaxTaV_A4+ts5Fdnbv35 zG_U&lB$pFh6#MFnB@*?;x?;x9Wwy?Pej-J{$gmtYI`h4ySbCN0CHSS_rdT>ln0e(6z(ODd#7hxZP_6FFxr3XqI) z-THxm0VS%Dm&p5ZK5rr#+FYBP466#8<1z~JtuW=|-LtTS4Wnesc93xji3^!ejb)I( zO#8VDu~RmuKp{c6hNZQnG}pRN6#!X-WALP;LX10pZD$(Oam{XO)J87(wa}>mo1E3} zfBe=7$E8;jlq)4>N)n>WY~c6JXK{sn_&8PH1}gO}Bk>nRV-Mb_IAqb^@J8Tm5~_Ih z@m*OmRfH__Hcb@CtTqq$N$sOuI5l6C?dhN&EIFRcow}?~_GuCricGcJ`e~GIH+>N> zd8&M{(IyEizmAGWy1g0*t#44gD7@+CVJqJ;_ei$!oA)h9|3VLpbNSQ`2jdM6)!G47!)CKySJPbtQ>2K$$w0|fWZ8l*o7`r#QwRU_w$U0 zxY>3YeZ23QwmdfyY*B(#mZ$3jwjzWC$73Jyhx99c@hpE+JGKL&Hgo9z$u}89WUA=~ zE}9tC&bv(QoB%5K-kz|x0<5yR@_Wa23rl@NI-GpkeYN0NTVg9Iis79InGDW?OSckJ zkJS|OKk3V65)RmPXnPJ0e8%f|ijD(?$q1L?eRJRDz*)9e5z#p)1&)^8W-HM#ia~|1?#5egG_8u#3+Qa!JjToW!N{D?yytv@p%f$^gA@H{u1MokkDzzP zOxebVg<|eNnCO)`ux4cDp!pcZjn$x|g0v@Pv3ehnL5nxfHt-C}Ox<3mMe)6~?li-& zA2qBAc^}oF`77}!9=AM19>;c(DCXK=$;r-eDMBf4zKh8G$lM4Vs)Ju$T{W4P)qL9Q znU_Hp;-SmagvDa>Cu5rCg`(IoGIxPjr|9b^%`|QRELOn7=Jl9t`fJ0O_JXX+Wf>~Du76W#p_Mh#vCN<3ql_Mj#*0IWxr=BwR}a3= zXgERKShuxg<19KOd1N(*e@SJNmxY%Oiew=dGEIyJP5W!G2R=SWpE(69w#An36s&7A zrlDGXTI9OEK0-XA>k*m9y+m0I#B%?JAk(#1i@Oxn3w~n;W^Axh1CfX6tsxJpawx@MyH@ zEV7xB(BP`3^uMGaBb7(6KIC_ndJ%)O2Z$kqo@0$}pO(m|(l zI9EhPvFE-W9NXY}Ezb}B{Ia7vX({pRyly2Xf!~S-?VtM%$BT_+}q0 zod^gI2LXHv;7`W#+m z#=84i2#<^86&xQnd7O$bwEP_9v7Z(lYR#}-JWFPWK1C4rLILHe-EcM*i9(#kX`=6k zB&t4Uw>R^uzi*2^NYD-X=~GUZKDuI?($oRb9c=tGU&*P9SRwxY0!FhcJsOPL^V6nt zrOEH8wS5$?+x$rD&b?9b7JuXSb93AqfR#UVp&!>~K>(V5x za^-d$jzmai96D%f{Tb(lxt*f(bf4y00L2zM8Ffe?&c=ujy()W41FW-FV53ZQ8-rK> zQ<|E+PdJ1|ZKqY5%AHQ$zSQ^-aWG@?&pcc1G$y!f{6%`MbG*hsIjl;csXWPc`F*@( zpw!yP4xxJPmfEe56upop&|jrR!*`jc(i3#b{fq8Dc9Vm*#pvD>zqM-LY!WDt|) z(py!^OC-5au$5HW2+)zX0?Bm#GdCL8U$_9yH?~qhQ{UkdCqa8&;?Hy#`|!x(RZg5u zg~=qxiO>(KBm(n6{d7a|LXxHWB2H36@)UlJ4iQ}eeaaeQ@shYn=P@(#%xRJ>X$1xS zN7>1$XVH&T^gV3fs%Rt_3rI5+r*`hK)uQbAO>o-S3cOR!*W;bjf3Z`WhtL`DFg%@d zFgwjXuq;XWT{9;(!4J%Xboa^RZZ(ZJj{71cws7-)%5q1il#MPN&f!#(LgXSjQ4N|H zr$wRgy{Oge7VCf9*@_aZNK~%8KptQg{3kos8_SPmrzXd0pD6IfBneGwP~A#Y7aFtt z?GsNW9$j~8=$ZaVkyHGEYxJ4Ba3*Z>Uh+$L@v{$99cLohOfGRx8tu?VUJ;qOQ`yEu z7YForj)e$eGyyG0Rj+*iC)vup*kwT;i(!&>Mvg2MN=~l7qQXrNYogZiY5fdzQPnJx z7Q-?Q`iwkQTKod?caEP8PnCf2yO=g?pYfN_ygeRH9IJ8F_$OYC!sbG|6loo`Kk!`@ z8M+1e-W{q>&s(Y^b1iW(j@%wm>F!M2g;h>iEA~9{Wa&N1fSLS-yctkDzSXVDGIdR;Kwt6aoK9akV{yZ zB~HG&MHfwy;ex3DLC(S|y>-c;`Q$vHSaDIM|JgRxW!FU0&rzcdC<7GO~@HWM$t?_fwLj9W=SLD?=Sx>%HyY>7vGJ#m>UL(Mtbb8Zp)_J66#G1V9$hx`62c2T0QhV) z{sy%TRcV!`yVhI4TU`H*cO?5k%EHs*P%?Lm9>b9A%dEw~_YkZ>eG*P-n}+$Z*oXsf zi?8DrDD$0HDPziB@ila9)KWkV5H5tY^Cw`FT^zkcnvVdfWd z^Vu$?!%vu$l=NiPTOq4BJ$=4l#M3GhuhPx6l@Er&O?CIIkIS}vxt&6rVNPOLvWwDg z@9<&qc+T&ijJqOeP}Vr_A785#V|SYPERo)WO6YyDq|z%njzX$WWhwjlE29(_=T!N- zlCKOt0790nK49z%bNT_}z>^A2=l*uog_3}7HC*-Jn|MNQC9Ln1+7*2IgygG_h%lG2 zH9^Or#uo@FhY~bZ(@S8gEFUdk!~f=0W-<5ZS(t8F7-bbq)nWGb_F%R8!t40@qe|v) z6&ur|Vz*Z3gMgR$GOq4p{Dh^(JAXzwCaN1Q43PAS5vR6LxfpGhrUf_XrnstPkOOsWpn`u`sA}rvQN2f z?uQ$;!SwjUgd-Dick}^HpJl4ucw#GH&S!Xv$_R@!o@RD&CwL4PxcM9=-uPuUaXLa8 z-;Q@4lw%8?Sfy(;`=#cuKH-jWHn7N1u}Yd8(5HXCWRNHA&Nq%437QMnS#i=g@^?zp5w7xi{%rA3C{CqLe`q@E%ko)XO?%ysQ0I?;Z9|WY2Zh2Wct}^mnaJOW7UJ!3vDywMZbX-LPb3(cLh*11<1RZ6*KI}`^JP`2( z$wa$s&8XbV6BU6j*5ENIzBg3ji2Z%vNoUb#?~+G{$Wk62K7G~6BjQtlvCNkQqGZ( z!Mq4oRAAoT6dCwll>=1IIr`Wc8D$QH*QG?|742OCE*|TOe4w83JYV%wAW`}@>DP^? zW&Pr0NE$OhC_p&k5JXgzC>i`c@lWaUu3-r4KJY1M!R>sLY&U)2L&H-VntKk|T@0pB zfV+AhyR{q-D5KrO{vXuHrh_+i7SFuTH1R+nSHMEby4&BKxf)sWKAIjVWt_$M{LKag zN1?;3gW+~ElpMJNxp|vy+hTNykuH?dBwC7DTuDU;OofrT)Uiwa@C@7v|Ds2oh@<(= z1WkOe#Yf^-*9Ce_2k?=vRn=HlO%f)_K6S5{XZt-JU_{m`;TZZS0#HX3&U5`ZsU#bI z(PrI&uKaYCR8UZuxe=!)#{@2u>4ZQSWrbK~=5cMdq75-BpjH(;XNM&Ln(j&~@qviwr5zUC5a zNYq!Ae99P?#|x$!i_O`t8_=U!^A&;%Ns)w3^0zJUqzyMjgCVgk$`hVt^6{`J^)-ma zF9Z)}K2LL*M&)C+?MBI`aWe6IM#5d&(LRF7Fqu;=njP==@7N!$>Riv zh9W&jqx2khBV23YVVL{iMzt}uU>V(YDpf>MQaF0*)gg0Fwo}TxU*UQ2%F46+ht46B z_To-8o4v&@;vZ|r^2al>X=W@mYjLpUXy32+FdvihGXJucxU7oJb7WG3Js94t%HkyC zBd)Izc>BUVk2h~-K`pY-5M|Tqohq)ti zOcA9I3cu%}JuI~-b;uKFLjKh1T+y)EL}CjLuIePdWKs*lR~Ia(_$GF&BDT;GvwNN* zQ+0h?EBL#99O_V5DaAQl&_2Tt`)ts7Gbc?yqfg(1nDU%s9IFEg`F2h&&(2H&swNoLQ%5 zu_!tVSMPV}s}P6d<3OF9{vdMMspJV&5*LtJ0Txo^i;7q;a0j0>nOb{@C+srjbQ3>B zF@iu&aK?zCSe1bx{He+-so;JpMxFM8A#2+0RsF&cHDD=yQo}*sOrN#X{JBGX{DyS6 zIk?OtK5K{pgHcsOr8d^VfzouKM$oUNr4i0=D9+&CxO|_K8%@z6;_*7(Au4Z)V z??uK^hH%33EfV_9TGsI`xGhJ;sTbU@_Lb`Il6UIyKf3_GNM-U!X{f&Fkyn1$E`C-xtnh&0xj9PaUxXo8}wKlUf^ArR#J!Qd85Y<1%dz z2nKX=Yx$y*f8-K5#AwbBhk0qpeM@vOHy%#5)?5FLU;D0PdL-CZG+z+6e<((%+v!ey znvCZMpqvIMODPL-;5Te0`cV&Ob=XjA+P_Oc)VI=Q4lvWx{Q(8=*%Lozl@W}N;=JBd zeY+AW{~TRF&FUC7E{fN-?Ht0NHn2_9rA|=jRum8 zZ?LQnKsY>Wf#QpS&2oK^4r2IrFZI01lao@{`YR< z|I3_w7-G-@m3Uh$t?5sG^- zfJ7qCjJCb09MvC!mMGPqE~ujxpXRa+fP%mHaAc5K{rl;#PbbEFEbUkXTvLoABo;E6 zd*_T1wDf}D3qP|hDdRQ?$Vc?~4{bMWW>h8!bYCZUg*sIcf0GsT^^5|EgUdPm@e3Yk z|1A!e@<##>U2QB-z{BP5dKB2qv5x`rjYu^)m3~u^2>?axZ0cj}*vxN;flnRutzg#{ zC<ILw2x}GZUt)f0X@sNSTX++=&6&nfNhb|?MF+RwR80X@jwBfie$0z|MmeBVJgQO zR}e@(JdKbM_V1G>e=TN$hj?OF1^PC<7ta8NSZMGl>ou@lZ(Y3^LnuFsx(j{ee8d0Q92{)Qxxe$$XEx!4zVg8hshpUW+x9QaTm*sw5AVF%dG$gP=r zdR7nIr1#A#=R2$ewQq~;q+@#!9$O{g#4s1&gCRh{cuC{jAMNgUKyf^((U(TWR)K%9 z9Uu6*MksuC#@}*P8dYP^UU(Pd)hL~z!11%>xP1G{`mkD#o)?o9K$KCg$J|9fd@_zH zZLz1E3d!*GBK6xkev5lX7nK5llxZs<0p10uGQSp$T_8IaLcU`JXG)B$0udU(%3?gtl1`%nUHOgZ7^ibSSHD?XtItaMP!Q_TOuYhMWU>kp~z^` z*fONZE@aD=A^CM*)9-%WkMD>7|KoFBbIx_nnd`fK-k;y*=Yo_{;(Ds>lN;`0&6KL; zE-c~>%6^Nj8$gCDq}F?3j-58zcwwQM#Evv9H>cq$V%!(VB0pmU24fURY56={8x|ew z1$u26Pq(JcG7gpKYsgHF>mp>bX)ZP(+n8h*EN57jpp6=yDr+d4e_bLV9{UOHCGQv=AAU<8dX{K1S`#SjYNFUvuN$bffMTXrsR zx@cce>!tpTJWjWL&YN-ubsFd^GiW8w-SXLa^PU6sK;SV5nC^npG*{vtUBKg?Sz<wg1iJqdSKSQ#3Dw8M-rDaKyBAZP z7pi|Lm8&))*M4Do%H#ZSmvR|_lXM!xjgD!w>SB*lxJZz@oH(twDuAVij&&||Ac>;L zauor84R+~Ii~UgB)rw7`(q~S5Gx8Z(iF_|efDxEsY<~y}9;;u}0n$v|l;VL<#llVW z%E`eP?FNPTWMv+y^f9TSdIXvvVygeNZU5q4$znxi`dWmpGfC|=PkAiWv-)zfl0#75 z#|{!tEvHW>yC2dx$1B|BS>gQY6?>^(9^i=pJX|uI5evH*G zrNM-S7Q0rX>|Wqw5a2Sr^yymZ<25j_!bf%`ZkWIDGJk7gv4*05^yGj{D; z?gTkZ4k%RkBwx9zPKq*9b7us+%yeqJbDXG{{-H-)LloV=3%mK;|A7giyYckF->#g6 z0HHh1PMKR~DnV~7k*)f;PVCfjx>bfN{Bu?!#6g(-Xt*U;>4Qo@iWJ1*GWIr!$-92MN3A`=G3#_V2&fI6HocB z^n5})@p0bhy@8C?`I@C2bU_F*j>EzScETvT0INTys-FD%$2|nZa?-1-{@*zGFY}F6 z=oO>yfowsrN?!jPAMJ@Y$sCX-gqp~Sf8!(ec<)oAy^ztYLAvO_k&%ZBuKW>lqv4Xk zgfoeQ?+!R!zyc-m;O|sTM99~^cn>6~HO`~Xlkf0hJ_uKVmzV#-zvh?J8EXmAY^ zMZ-bhe|k#_P3H*_PLu^+G5d|O;`rwj#lk_5*SaR0f;5%ZW{0fQf&5|5{t)5&0T9TT ziLan=4$^c&n+viczfV!W6&!dBl8++v{p$5%x8^5?-ERXKkQ+WiB)E|DCt}{+Bb;Du zY@&I{fL`A6K5&Hp67?-tmzif2@32yB1SMbFU;ENkB)^5)Qkcgmo^o_Lh%i~C1_&?!0K#jPs+iY zhZgj$xlcvLakj+ks#Pr!vE@$;z0_J9$rxRP6D#aPVVD&iQuS%{BI zW!BQ%-E_xu*@M4LJ!$F!>Uh|_KFs&B%tDz}4AAe!kg28?zl2NQn)keE?^a-s8r-W{1-q{@ z2*l|M7eZd&Zz)?f-&Xl`PFO&xma;8rYy(h5L!+fBJAg$IG^wXV%Dj&sL-WoCqQ)Tu zY8v|T-nYew!nxC`TpJ!&C10$qrMkhGV7@x`xtw#+=Lk;Jw{FS!_u7CXdAl{@Yd^Rm zWp+=--zyGg3}v+vXmJYyRdWs~S?Xu`hNLquNvUUWUG_$LIw-LC_Z=nE7-}J%Y)v-#k?LA>-cP5v)_AT)rwqoPE{^Bze3GdD!>mK0rLb#gmhb_jEr;kaLxw;dCEb zfgEsl)~6Y3P+V@!?MVImwK<+J?J=mTwd{&qA|75P-bPyg_)DNl>;TraXx$jrLRk$*aFJ7R0$x=m1a$crm3 zwhlYF)P;Djzkg|pc=r@ZHG%cxCc?%J4nP{d97dsklW`p0&H6av=RdzZ^PaM2 zeY?r|xuP22{5FB*qZtLA&{oo~$`zUl3di~@!1w8b#a}7k5UsOW%jqp^4Rw?W-N1R< z2(xMXAUL`Pm|u}$^gaWSOY7lOIgDnclW+angVQt}1!U_St8MmJxvO>K`@dKJ~&)U7O&*fzuM zv9b%V!E@(MiPiB2ui6{x(=ZJ1>;eBeY}M=?Ca%1k5N)Mx{ARcITDj(yymTe}_`@{~ zWWm{HXyReh>Mfmrcp~FFS9!XP*VIx4NQgA*#x!_1GgVP#%JAPVPV%F zcWg|$&(2lhjr<8Ipw^Me5o91HnXe-AnoZwUv!!3^a^@SW6}cT!LP3s&JX=bNsA^wz ze-W2BDs=rAmqFceB{nrNz>2z0i5vu-f9n&smRR+P+x4 z1wJx-AQU39?>S~nChY2)5Lvddw`6SY_?@j}XBf47udI6QiaPqZ~oYqbr{^7Y@l! z$d=}9bzTg!j@t*E40}%*>;oca{<;0VoJX8*L4b!P+Y)y}kb4gr(h`6auT_C}hxnr`)_l={qSe+gfa~EPl9<0u zfq`A`!F^K(2F4!@3`|z1n1F8-`U-Rz817Q_?rWL{gw zfh0gC6|vcqETBlSHWc)p*Wd#JcMph>{V^XL)Byq|e6}}v$TiA<+w>aqOb)A*EM8}2 z|52H)zdD_3v?jf0G?~xXI`DJMb7SEU3H)rHTRUYnm|_gY?tP&-ox;K{_w9l)zJhqF zDuxuMek$5hP~OIR=0n$;XCWL9_w^7~Y>`DtQ@Wsm;hucG&S2`2N< zHMb#FR{-Q$kKc|64Tcj3Jl0{ey#YBms7p<~QA&H@=bVdYXwp;7%T< zqoYGFwe>|w#*lN%LVIwD!@Y(bo9vN$mp?)H3^ls19?%bi!0q+Z--}R0dUywZ8{a|X zbRkiiEE=7G0ocwwiZx7qS~n{b!Y1qlTbHRAbYtSTnDJE9HjxRtn7E`2fp|5|7bQKR zSY(ZKA>zgJYg*~yK2r+l0!cSwP%m=A+A4L7{Ia(zRW!KWS&OD%;M0sm#uWtJ+D#MP z1#drB1_wWOaNB*9jjg2@uCpeH>4kLtDvw4HbxizKa&4MI!9sbb&thRdP4mB|I@0K> z1Rd+Y{%$`zQxWTRi|8#1+{@6l&lij_n5dUA;L}o$A`?G0Ze<+A`v=G77YKv(nXks~u2Vk&vSa=|B@LJ#}-Nm|7zN=E?zCxHcF1{eX;=YCEnu z?;`9F#ftd3oBlpky;8vQalxltzg` zqcE!^RtJeI`8BunQazjIhh1)0%N9m(JtPikYEXk*Db_x9DuNvDIjg%tp%@SHp*~2f zttQ@8&BUkOy{VsEB0mYM6tCF>8_R0{3bw!a+U}eXPA*&<*zN(%cCrU_90`ntImdBh zNU5SJaxe@Dg)NuKbe?soDq= zp23vR)d>t5bwDC5DUXDAI6M>f5;y3&^(*c6ecqTfR``YawfFj^#J)oJ6mnQz zbMnTnd_MIc?8W1z@4qYfCNN2R4uW2z)ftB=*}gJW?PZikBUz%h<$(Dg#rb?98t184 zIpN*EcC;cVLV1uXN;))x&wuoBA7x0FFbfHUPN(_e2-cYk^RNXlW|=kld)N%`X63zo zzvheDz}#9=!ydBpcXoX~Q?W;VuFTu^bJG8TU&#-dA)}Is#pnIC4;L^G(MAN156)#S zoK;8yl^O^m;eZ5??hh8C9<)scEPJQ*=FSn(7XM@wmyL;CJH<3LRg&2e+bv>fHg&QM zzm0{Z=>fqx)f`D{cSv`B;eCzX?p%3Wc)z_$$fxmatYc7{Jw&If{DPqdvsLP3Zjp6i zLxL6O8Y-dG9Y*YViiHi;zIXgdBtZ0l6Jimb(1odvC}4XmnW>xb8sJU?``abJTQ=WD z0^S=@KC)5y@?;TL|9)t|^zYtl`BALXlob11$+%yf>r&XcH!>0Zbh9kmN4c9hjgcdy z(7M@D?x`({sK}GmpC{HY_SO8op`??7L>Uzkyqj+8g!5>B62G2M(EmqKRVb-t!3cK# z?b6KJ)hBm=O>Sk<;NQml8hbUaV1BcBa6bq<2>PTi*tb{lJ^Xpod@jcIw1Yy-qlMB( zCd2$A9Rkjk<+Kg?)N=;A;G`C3t(5bU2Xy-^gi_unl1bOZ9GFOMO4qQxZ}|Kx`ec4hJogE590zQZ z=K9jZMDS&B_8Y6tvR8 zfQfO3%~?0aD08#jNvQA%hSs^(+sa&{o&KD*Cn=bzb^k1}!Z19xilY8^%`_}r0%q-# z9*LlG#J>B1!dZ=XhlB`o#A0D~A5b>*q4&;u0{$7ZRUhbwhx$7BZ7Le|uAubrdfYt} zS0n1ntfw9JL*8A44(>6E2t?dwjy*5SQ>pmDoaj8MhgG8P26=`%=3!hZ2BnmfF4CJ$tD|3|oO^t~<1gG`=5ooqx)-We&gcRK zLJ+pJj&rBFdv8Bf@#-JHX7Ul6{)B(qra8#>v7^=;Urq#eE3XP;0r{}HpL|DRN!fm( zvyK|lvrPwMfKU|wJ5E$@l9y+SXx+hW!5d?8vFvv;8dZ*rTMEKCg}5HXXmPRf1S$(6 zk#H+r6p_YGT{AC`yqcSFfkm@!K>1Yku!|Yw!{5@>Ubhb;h*j0U3XM7}p!7?9HT>|$ z%y{Y)S+!a>-T4*?NI!e!1`4WGyD`;TqbJ#=*ObI;(zg$w&=aHNxSMz=c|Cb#wGQ2T z(1<2w&npQs@&A?_^4qm|EgAQ~HCx-nUs=#xumu&OEXWfv-^y|6v}1;-USi+Ufsdes zFs#|@axXk$YLCuyN7sF{`rV`>{_oA?{Wp565^W@@t?U~xcNS2^Qm}niv9ooIpU$l!r-n!RB4`>*v&%GxHsf@O1Ub0aQo={7{I8Kxs0yw0(Fiw3m- zAT8Lj?S~vQ6MrKqEKjt-fj36@``1MovUHR<2Lma{HKV1;`ZrAifMG7eX=Cs5P63}3 zk;TnH^{U3XUD1^U0I%H%o6+uaHja%vDPPCw7T@@EjU6~EynMvXV0=~tfMxyqx91T4 z0YILrszb*&O66V#0*gUed?UDc>ik^V2nQqkkExCA5Lc}vv;}a%jJi98m4>ds1$Ttt zI<^-kXem}7M>x{N7=r}pS&Oyo?KGuVxnnY=n#@7cs^>11=~s#6UIv0E&Zi7Xjw`S} z2L!sY_-CsM&Cez$EYA-|15rZMNq#6^Z^2XD+5~j=U(`w85jPKMv8lJr7&^nq-gyTw5 zQHM{Gal)&2wC82H`d zCFP8v*T3B!-*Ef+=Q(0^{R5G--}>Vp2Hw~FF&2~>=$Jh=4%WPVB>Z;8yuti_u(_ipu$V++V|+v*b# zd+qPzsRx&))k~eN6_uv&Tj%?HF}-y%#J81KPOaFO93j8hR}HiCv+p*|S2lm^POz)O z9u~SUY|z889h|i?E%sHt=wXOai5by86yLGn4bP8tR5svy0zI|Xz|TDjKjdc&YgvG+ zEeWQ9M)Z<(e{(f*nwQ$$&s8<6!IgYoEdDQg4ht3jv>(am zOI%W$j*hf1A5d_+W=HPaI|j^8tu4}>1^aZO>n++SC!((;!<=DZLnar8YoA1H@y<@N zDTH+l&lQ=hQo!5(Dn-wZbL+@N))-u)+-wId7grz|7yt4mVFX1K;)tDC2T-UDBc_O6v*S zzgF&cs87b{@eiMf7xy_vKOTrIPkrI01vY%GOhVMcu(NoEh{Y>l1dEK7mah^p`CO{2gQ3M3Pqt|7&%X40xFH=A{&>+CP~hEr|?DlG6jzJzPN!AZEB9-xKZQx#bWWt})z{PPdi^7kUECB6I5ysRms&J zS>fMkOU%sh2dj5JHTi*CA1EW)YIs=4HVJ3eP)2?QGDC+Vyu;OIv=F$q$>fwBFhJGN zsTRxERcCHB#Lp$--i*}^$A$^T*zIqeUOSwbQk@+}l>nDuqa2w*R8P?TQ@+UR;(~J|)T5viKpls? z<|x!(fDu>p?eyD8Js!Shia|&hU-Gw*&Nk@C~uE_rzKnf%m_xi%SB(mt=3u? zgw}azZ{j-n+!jADtdn%e^h_wygsA{lJ7L1;^({j*UY90!VZ=11S`df_bu46h2c)@J zW{7+utDG}4^^3w4@v2f@$lUblm+||#v90sMigx~9Pt7&(^TibtxkeInF$7o`wBG6t ztmR?uQR)G7Ax}?&s~3Ni{R65y{$jb(Ret^#_iOvt8}2P@neGj`S;f%HaUpYOdQa91 z;ufFFKbeC;*SV?k`P;@BA~Mvp;_H?ni+_pSKmN89F1#Ajhi7nNVX^pgK6`O;K;9sn zlyKfdhpl6UN+`IxI<{TWf0-!t|Jy87I)JAjkiDkWV9j$uh^7sZMKcHh8=G5)?Q6;w zye%*GEIwBj zE$u!;wk?U^smttwF^l7U(ZQikT)I#!P?TgTaKv`6`;X@hlR`W2mXHSgw(I_Nl|nRX zssrB`$Yzr648?*JLgRfZG>_fgI&GKyg(%y?WO?jHWdq`cr zKY$JJ&-{`B?#^3jiHnH#7VLwv-X1#5Arr9lXs8x+VVKm4dN<%JC~$uLAly2gOZGzI zoH>?)CQ|0&o$%D`WyQs!^||#OKg13X?Sez#h^lZ;?5~7UT6hp*^&tGBwtE!FaH>WA zRJ1%BBr6Ev8p=CZYc34NQ@iEax*vtbb;(a&O859k>wS4ee&op{PIn#OBKmqsxw7R^ z&y>u7a^f;4hEyOqPV9o0jf6xO#?etlN$A63xozbU3Vc(=84IHp4kMdAaf*IU$=h^JW-EiGa_o2{M10o_tp_Ya6zOp z{X7%RM?Mxyk0SfSO5%0D$dsE##w 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/keyboard_screen_n_text.png b/tests/functional/snapshots/flex/keyboard_screen_n_text.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bb4c5287694d1efa929a235e3ea996e0c3fac3 GIT binary patch literal 7929 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 Uz0ZC?#~fsE$M|;5Er;m;0Sz|*#Q*>R literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/keyboard_screen_new_text.png b/tests/functional/snapshots/flex/keyboard_screen_new_text.png new file mode 100644 index 0000000000000000000000000000000000000000..35194cf1e8ab2d26d8cbe43cad7b3fdba01e1677 GIT binary patch literal 8115 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/list_screen_empty.png b/tests/functional/snapshots/flex/list_screen_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d806841a49ac3e02af2832fe38fe634d718818 GIT binary patch literal 4525 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 u(@lvTc8492)PC3!9{X|}&g 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/list_screen_populated_and_new.png b/tests/functional/snapshots/flex/list_screen_populated_and_new.png new file mode 100644 index 0000000000000000000000000000000000000000..33c7e8b95823db37275fcbca1e522602d5285cd5 GIT binary patch literal 10598 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 W$FWczGX^%!l{}6?kK&F*T>CG;tt9&Z literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/menu_screen.png b/tests/functional/snapshots/flex/menu_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..9483ac9aacced1398f73cceeeb264dafd0637842 GIT binary patch literal 15744 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/password_deleted_screen.png b/tests/functional/snapshots/flex/password_deleted_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..b50a3aa00f57dc026934c52d2ecf70f0c8009322 GIT binary patch literal 7237 zcmeHMSv;F*)HiCXt)d%hZ>KHo)Y96;61268>OyHq+i5LD6tM+Sqt)psF=MM;t+l45 zY6;Sg(Tr*=iAb#}L4*=S8WQ1q^y0hvF21X|n)mK`pI^@NKIi<;`JeyE)5|a$$$bj@ zL_|a+?QAbz5fS;}i-?HmjXk2^jXts1MnptuzuiU4Yms@2_TampNt@^NeosHq5$1RQp`OtZ|Y^g^_{?bj#klxbB>RE{# z+jZ>uHVgfuh>=s#55FGreOM%>aO`ya?mhPZE&ubze_;5(a$&x(&P@dQ#tX+22*dH? z$fl?QHc!BS-gD2q=T4xj?%!Q9;Ct>Us=45SZv1T42A}VNqb+b-XAK0xjyW!m7qOBy z;H#&CB{G5u^tcZmR*H_n%O(L$qfJds(73Hn-VJ<6A+QfMH}~@LnwXe)JGyvc=zxcM z|3$abC?lnb{+TK++Du6bfk51JS1?VtIP6xy)GRk{q_gQ06XxdTtENE_-TgnstG(>H z;{xp^)d%Qge`0dRkr75pm_tuGZ#N8sW%u1b@41sM?0?e9Fx7w50N08;_MC-6Ba;?+ zg2KYWvY%)sN>ZGSw(>y=Yb}@{G4{1Dq(uo!#6E?N-7!)s7{eMWB%4E_Y-8^wfgsu- zw@iFmS#oy*_5RFJX{+;HmdBzB2pt`+3wig3?>BnXx<;rBn5tkS@Z%vZH7Vsyql*uW z^iDaQ7IiujRUrMObACA-lD`y=AMhO<+LcUXki2!X9qplXHm`H?Rjp0DV6UD_TYLNU z1=GSlC=_}#t_DMZ7WOeYQ7opyj+s3T!!>#h18iOd-ZLz3w7C0j{pg}Sr+0KQ+#uI% z$?}D9e0emTP6vKtIrD{E-VK$;OU0V*nSlnmS4zOA$|iM{s48e3@`YqFqr(2?=RxFt zx6Z;C<&wUhD-9KOB32RGsj3Z|d)zZKW=lAxap0MSSY%jG%D8CH9LML5YSQ@;<~};v z>AflLIGR@V#U`;Ft=O2D(l}E6*Mr0Wy|s-EcZHVGo3>!17sQ-A{ej8!X=1Kss6qA@ zvob9x+2nP-p88%KmiUKp@ZzThT_u1eydaw8f=$h1plQhI`UE zIe-^Wf~Yz}D~DIXMWUkY;#N5vPJdWJ+Or~-1*`uzjh+HH6QF!+3xo6>WAhw{qw*Ii zd*jP@l}$88o*7813R~i$6W$li20Lt{Ru#6FeMOzb?N7{^Xm=vm@ce2T{iXXUn+xB6 zLWP^p#UrajaXP=s`a+KPql)x?>7ORsf>3B{Yr8q=kL{f0mUB4bp2_#^!QrInJs>2% zFT@pW!fHaLgG2MHtM5wX!1m}3$b@NajlCL(7?S_>fN$~H{A(ev2j)K^E)+dQHVmhK z`)NqeBYz`zkDl`BMVYo{iMrb*H)}%ujyrE9%AE#pnae2wW0R_llC+-T6i z^pDo^f!e-+bg7u7Z~kKIeEEbuzT4 z;wSyfs*;flkxcT(b!&;%DaGq^jx2}k^Xgi?XX*xAHlxf7=>%5*R5qK0<3iLmmsM zh%c;&<;ZoY07aqIBijp?#f&%2k+Fq}&Ts3otX2=uH&8;(1f6N9{WMG>jikE(?H zw#DbSeoMu>YRD#$88EfO;-3dJZG!t>oA!Z-IjC2C4afU<75WnBAVlTR?)rd+;m>Ba zO#nJK2z1=iZ~j|USKe8zH`n-+OlAdyvXgmf-FG4R<42}* z`sQYhmne(N<-Xtmrxio+I!E^_dDt8Pl_8f@4q^#BLvUG(Uk~g)4U$23myel7h zAYLssE!j&$78D574<*qxv;`WCHcy3qJ$h0B>|qFTtG_D=gj+(P5LoYZ4EkPVL7kod z`t8=a&x_&nj-YO6Tq`MI|I+EQgbOio=7l)d>Y=`$m6EMO10J!tt6Nk4(l7-}tI)x&%eJ zKrm+zQC&gT*P0d@AByXA{cs@NVwc#dei6&PdKQ;OCI5w`kiy-!DGIo579kK~073%0 zqY9W&m`(r8drg`??OuQ_@3`!crNPntDy^w+wL`6hQ9a(*P>JG=0js(>3EmBa8 zS#k9m%6UB2aC;Ey$~lGL>d06Hrmbc6%t$kprJkrcGa^kpCbKmHg`l2Q;e!lv2YgW> zvGp3cunH&H$WbeDE>$~DCtE4V_~`!mpgi;A)zta1o#bf=TjB`-9-Bs~(94}!Vc$JF z(EtDgRlx#65%S^b=0jZ-E3^2`zdx%PADWX;=t#o`B_#P70U|5IBe({zPPY=ZP@cv~ zWl1XZB1;kx+C#n?yJWze*gmCyyVl&bU84uKmExvZ3TQcv#T0}5WngDtq}@F4bi?=a z+)5<8^_R?hlC=4|rM?r!|}Qk7jo_g!*K zmsXW|vZ2QGG@JT&sOb2Hf!$LJ#O0BX5i&h9^{wuP?yKFBO?G1xqi^VTKz_pkWSN3K zrX2L;L`y2kJI!2^=^AEUn1y+t<6F+a&A$T#oIY>51J4;`6CnHVoq?lT8ac4n49>6j zc6UWPxm8o|H&&&HJ2?N+3j9N;0$8L5mTUxcwh+MnLkt;AM%@*9e~la(`}7TJQ+{pB&_F#PTwC`|2;i_bqha%oL49y5PsPJgdn* zj}u2fOg=bWdxf-pMPI^i^#*UOj1&0h&+#2a8?FTyE5bU)mid6vjM%)G-H~Kn;zH7- zSR(yi*J_+hX1CPNO{_qxuW=?pcuTDH(cK)B1+_HqqJN5d??t^R_dvdch( z^AFW;oXSgD(mE&8$kKY$+n$_*YkdSCH*yv?(IpUa2}3>kwZx`BKPWBlWWOA|F{2`3 zF2|xm8QS5H>&V)=X8x7_wxTTKF&xfhG`JjjwMLswvX8LvHwEZuz#2-hyR(c+MYX>_tH*~~DMRgm! zl;3tkBP9+-uVdvNZ+E&5DF)p{P*4yKhXZ8d);@XD-Ik=-45=7f{y-I@Kj;YIelVoH zGP<|X{LW-o{ub}BdcP$wc&^I@x54}yWoQ;Z>rX9LRS^HAw`;RW@X) z+m8O4ig>lQS?XeoEz~S^3aGcYVduhBK7dD{bL=-}w!|Un<_0b^j24vY;1vbBhDhO2zoUk`;gPa1q*i>BiL2$0(gL3LTS4 z6z2U287G)H$aPlpneogNsH083-+64%;F`So#-Q2pey730d13S}<gE{AWPPu22n4BT(X#0kJL6?jmXKZz9b|k6QX*KRy(SoObNTsSm z`rCgWm(27mELx3UF&Pv6&>{3EQyISJ>5?T&fRoAI46P3 z^)Y2tMOaPtn*GdrJ~MmC6K)GByBYv1Bb1YmPv38}FPsR?(yTQ;TH?ib%-mv4xhVOK z<-!lK6AxdnYn`4=5cR}!^JQ=6Zn7UJt)&gBTBBjyuh_t;sd383(!=$&8q+UP4?|mf z)p6btF-fwa>BKllg!~iKkFrUZIUKr2s6O_IF7GNM)UpI>CnKEUd zW~Zm)RGf}fyi*2wd{7%G+0Myx?>#}LjPqz$RW=anL2%mmU(nP>rcuYLI#j?%pwh*e{)i>OF8^|kpSOd zsJfnwq^SFdRQdQQgYG3CmitNZO?_(N0&iQ7-f*pPbg>HY#q(&gwOqvUEx7y~s;zLM z*}T6?pZS5Y5@SwKCsB#5(Ej&Lb}2jKw{Y!;@6u#wFM2s`%`mHh$NmunV2ydUUhn?09COW&3AxS(Llonp!WK$xdmHOQlCP zvuY=rN;mfDxsTY@Zt?@o_-1riuGajEn*);05{4ly1Fm{)ddt3gRfMBUlC+1~o*(PS zPpt`riG3FQlt5wS0#DEtW^&WrgM-)}k@z&RF<0h)A5pduc3Hd5dO>@ip>Eg8wFNGp z!C-K?`a*KsKdU=3nT^&&M-}Yo<(QbZwzl++1K7Gqmja6-lglx$SuO0LXR`umXai^jCm^ z$%e3^7JM63MysH8?dD6MdqGdw#eVOBkPgA~6B`7{YuWyWne%i(36r1K)KyUKp zzeNOoR8>{Y$1Q`-;0aJnHJuqRzJP1Sm-pT}XG^p>7%m1XGz0ZoS$g{P;;p^@EpQd04ItEf=lqJk z(I8`w6&&+Ylvq5bpzF?gB`GYWnR;R6uX&z;^};jX8MPmfePQFVJ=z~n7)iCp0+Gb! zHu5_eg-M4yv{f)*um!q7VW7Rh#{*%7ZeRrCq6+%F8>&-21iGPZ5hP5HY@ARLC7A0& zBqwU`b2~Wqi&9# zv3Ey^4KnKR_KuFN4=&bdYj@^hOm$H)lQpb^Q(DVXW1s59@ygz#T zki8*TbYXg@AofnM6PTAa(0Jb5w*eD)vUtAPHe&i3+f~n$DgYA|Qx)2n&Pe5idRFR^ z6vQiVb)W)WLDroGQrLuw&-mZ)1@5>_uIp9nD7VEDa(`=mJ#x!^FDq^K4k8#Dj~@b;M5sDQV`*7AgKjloSRC1?{<_rw$09~pbr z8Z>2-);ho73TjPwlE<*GyuhgDHh-|p?Q+RsuXLMGrL_xrd1;!nEPG~5#giI+IIJ7w zs(d1y@CXf@4MJGEku1a@JSG>zbD10Hb}h4uoegP)%VI-g!U1Q@g^2H2>h?ehbr!i^ zEYRoyO~0_`Oe{MV@8BDM9aoXyvkSu0S{yb+(SQ z7R{^Na%wy6%<*Y~Z_Nv@iNu|~s`M`k(|=6?|98;8GimtG&zH9)-nx%!m~2?w27eEV O*j<8Mth2iH>;C|vNpML1oRpjNPCRiaWBKA+l!Q8B9^BFk>HM zFi8wE7#c>FnfWf=&+~ro`+o2D=leV}|D1EWuIs$c^E$8J@Aw_ZA@NVMTRcZk9R-0v zJchS#Sb#t*-#{Q%8%|cB=SpAEEfDB(rQr?zJ0bb2Gjkb5-T1z_U-@3q7h*237&{uh z`=g1y6!>0ZF^c}<4ZDoK@p|Y>=Hibm$=I{L^HDWI;V#G1K)YAsqw};e=~7@2$cf>z z%mD&*92){j3bOEkuKjx(Uyd$SR%Uv$f^MIdDdbD&#bU7-3}%Ff1$68U`{talI^4{t zfs93LRpgA#!BbPqD@kEp7fXs{j`sR4FYbTc3Y+n6)r9vqJf9C)KH&rjMG!I@2^3S~ z206RBbCyd4sy=@w;k>aU%{NWTxOJiRYePiY;CmZmUcXL1Lg+K{)-Ih+-`Z*pysr2f z__1M4JhIL>wBiE_EMV#<^Z4ysE{n3q=+r^5%?#d}SCy3{GP!?EW^OS1A^iiZld!6( zrInR%Jo~1uTTV2iY{d4$af6ov?+w7Byoc%Ns>;fm$7U~zEQRA~w99 zqRgaZmx53ZSqwWjdXXNx5&jZOw(^OaeM-m=7Hi&qWf3+<-l{~2@8JErAo!MMSBE=R zCCTGf+V|gSmow`eKs0Za)TP6~K+HPq7AY=WYS@`3(I!pfgFIYJe@cnGJLJ@&k}?nG zx-TyT|CXYjl2^LXf1$sDs*_W?9KhuupA{ZA>2PS@geT!W{En0GV@2%e=<_pq>7eSY9$tYy00zb_y1@JG%PjHz0bcGrA$wJFL47 z#zcH^bjw~Ijg^L!G5ljDxk+oxNqA}@TLnv{p^1%+on5U73ZBw0?ct+29YP-#_4mZY z+4XZvLlI@}9xzUv!ZoeP6}muQy`hZsxpXPR(J?0avQ*)%Rh@9V9>swMISf^PrdHTwpy_3bewWdtxWd#ZLm@gGzE<9Z;+=)o{-1acloBZO2>Q%@} z4&C=}pES?ugKuu2Zs8?7Nhtaa*O>$s9gl?RDsLnqK*d}mW2$;JVqsfBQL1nin>Z>< zsWQND*T1dPbzF%SN5asWkxqvj3)@vYL8%RG8XIpSgeGc>LT(h_)!NM>bgNjm*)2YZ#bnzf#wwZFvd! zvo$R(<`o|`s%E`iMrlRk=!nYdw0kj)@BHQKd|`|ixnap14S9k#`4hZ5MsxQUA9pB2 zU5)r8r?s?HpmTZSu4-a8sb5_AB6CmV-ZC-YnN?3jC7YPzydM$WWsoLF;~Jd(#{@VM zto31x%zb&s02gO6^Mqzy&-cPTQS3WiYj90JHS+zpg&Wgy%MQNHlc|I}w-8M@6gfjA z68rl4TpD+FcS)VLP~rIVH*2wEAiM#8^HjyJPM{RNmB(d_A5%5YQI#@$kTk*vMRO?I zqr=N|=;z=Zdwf&IyB||>-PJr2vcvE#Ga*-Xb+zo&n`6SiwZm0uhn{5RJ$!byUx^xo zu-(oT@1&Zq$dqg@CBTAm5E^8m4C2oAcB`_-8`qDF{e55nn21<25YiU&YQ+~6mA$r1 zZ0H|tbr;Mbckjwi=LH^%e=Sc<{F8hkAjG{l`187w1Vpo~uwKh+jEh4-?Uo){ya??^ zKf{0Z=DvTJcRrmEZhY6uSqYrrxM^*V-S(b-ZB7?50AriG<%hMc1V4JWHWCbag(k8b zmkzBkkSUG=gxw1;&^?~dgoGor^G-QzJkzIL?8b_Z*~AFN<<9JVFcaA#^&}6f4%P&W z^n@$p!+pe?FcHO@M6K<7i|vI_Zy5Kl-V`<=Rf!U?U=GT3^?c&~X?NExv}zz^azuj^ zR%-&QtnJzz72wtkzReWg)Uiy}-$Q;*=|^97gNfo0dvgxu-wy`y8BpVZmsWgnV;T#n zASJ>m7d`CoEml^?4dzV5hb*5A!nU&3z+8DQ*;90VZlZZ zl^qr?zI+*YGAE{ls_^~!X3~+DH`h4^KJmJR?+$g{YLbR1hScXMY%$7qhh2;lwhK*n z)n`<~C+Zq@>)`3d^fH9aB;hE`Za;5*M@$omgAxYUnrHG3&)}Xwa~~(a5Szq*56;~D9<(Xzg`^#~07lg13^P)bp^*~8%5 zm@b92@ySrD{&$BU!b7e2)rhNmwKa;|3R(SK;eOg12Sd=(t(n(u=JALgA7WIm^eD>p zk1*s{@}*Wf2{wWTa4qOqPb>42KFo1zdbY|v7ai`rS+GDp;%46*V30q1shD*)QOqAm zBwmR{xi+bhf)(_M!kB10~y)$Kj?l&w|u%_k2jF4#uc`ZWL?B@`5dRu>dV1VFzR zbX^YQi?lFf_N=_K+Vp8&vfI7d`RL(TPwj)X*ZY+P0pnOkAf!lRVp6QA)gWj_X%Aw# zC9!=Xs_k7M@P=+Jo5H8y{c=BJcd(cCitCxzbWibrkGLw4+Q-;Qp%d;YHhzps|Ff~y zX_z^Z%28T}^W2m$08gI1h$WBjH>7?qbC0uCFFbydXP{?#p{BAjHI+}`1MNx?kOr)- zn};Nx>nrr4g>3FboCv9xtAo;Bz#?^uF*ZrBkhmN&H{3Q81X&2tCdpdn;}rJj-R`GG zY$Y$~xK-CY9ytk80a`BtIY8I%>al^iSxUb@Q4GzQK4Ndjf z{_<{dTdN9wpMAcN<(aCzCczj|_G!?i@y<a+>^raluuvYxCZkp5= zYG*)Bi`U=-_goiSRdYP3v&*5Bv1Iy# zOLmp$U|P@V`5jlkD$iVdd`pmhtCvW;6FQd56eakeR5HJcvKH+7w>qg3Io#G`>GJp za`xHyOO3WU!EzCeQCyEU#%EM{{G6e`PYwV_fScCDWIE$=?lRKuA&88hU_m&Bc$%k0 zBtTmn?wZLGq-6FqFG8&c_R;iiVXi? zKKtP3N&C{M>jWLJ(2WP3S*poc7>#|gvn`oX(_li(VP^mYRk{A zpXp4bw#ykK_cEPxY$wsNirkHI{Z#FKB`t;~GGzM{6{tO?w)f~!sNl41|90&z;Fg!L zMX!?P)l(iexkbg^KLam8f^jmG?hs3k~hjXCWVXwWwnPZ-M!mU4maf3XRsB^F}B+ zPhG!^M%OE2Up0O{_JLGxo%gz8)M^8j^y6^TOhMS>y>KT~y0b3c0j1*8K-$hjfpCGZfzwW`-G%idnId#|FkXEHqJ`-{O) zrOHOo#<*a&vGSE=e-X&}`HpF3=Efo384li#M0d@AxGwu*r!#y0?ds+ly+c-3^!@!! z>yFH`oVV*@qj`IWBK&}zrmL%qUxhZ}JX`IU)!r_sW-sJML{!wSvDs_o!>fns(c*1i z71Zje+Hc%VnA{qK<-n;`XaNv`B_#3&7lDFlfEaMme&!gvl#RZgY{^gUZF4dC-2L@SU6dDyqz;^G2K#$r`i>j{4&@_M8X1NH z_LZ|OSTM-m+R8Z?nN&2n3JnWX;=WED>#eY#&t+IV+^clSxS%@pN<&ffZKb9tZ>g1^ z=q=cI5K!oiw@>69Tuu2Jcm75sZ0KD|TRAPv6 zkIs&ai}KXrZa~k0!`bNFq<2=3<`~t+`rV_3C@(W1JBPS(YwZF|am`xZDkm$&5n(Gz z!{X72qC_grJ3~jO&^@<7j;g(#=RrujQ?Sw6zoDRkye|*bClOcqatt1S-5^>Antcv( zY1B{_)s*(st_L>br0&@T8lgf6eFtTSl}kaid()0xZdA|IjI|Nl@<>nz@cbiAI4>NA^DPYDWBHJvwUZ4(-D$p9W;`~8&>6QipK z*Z-wh=rf`1wneD;3decTqN&3{?e{hNZAqLDg2vvOPJO;`G?<*bT8U$9+~`HAzF)IA zq+du`C~(fv;eHUjkdF>YlXA~3b@w37bnWR*hSjLHDDTc{yEVQMSb~=891Nijz!BLa z#WF@|A5OX{*?9zqZ!J9Qo4?$z|wCr4)*Fa zBaajQSfgJnINz5W#aSH?cqQeb7J6+axi|pQIC?JPL58#{07P`fE+>lMA8u{Xs2iX#y79lDZ>ZCQ+^BeVui8 zaVE+QMbHB8eYj}u`R!fwgz>KPdBg9m?@<}>?hQob<>d5bV=?`z;Y2KsI?Y&_l?u(NP409tUI zg-5S6vB>w%O)V}=KH4Kl_mpf7U7(yT!L-2U(68Vny@;Llp5Ea{s82h^JFrW(9w!ci zxSPiK>ssz;%7zVre&m(Q>eS610*IuE_a7F<47)<)MSxV4@lv4B@*!|Ar-2?@^q=f1 z|GEZ%Bn-g6kpwx_;-X<%NgfNx_wompe-qn92goUqBHE=fr)eL*s_MSed$3kcr2914 zd)gJi0~r}SF$mw17aj!`X}Hvw82*Jk)`s)U{OZPfD*8_W18Q&66|QU!x$z7aU_BEv zjfjXiqJ(=+#bJBFIL2A-UYR6u`4a|U;rM{2mG05yH_T`AAse4S%vTqR*4r7ikp49z z%v36xy05BZX`d#wo#~$YNiMT=nY)_gq_!BMEsq!e=0N>f819rFSR8Ci!NJN3-$J5<+LtXv%@w6^-8EYL7H?VT{lmnS3+ta& zC)bZ&me@9vUJPARkT4kDi4Y(8mLPqEl0jL)^e_0=Ryf<{mVH+jZ<`RnkGGSHWG?oP zIQ;T&moofLAs$drCvAQO_8p=O!cNmi-n_^!@@=iLVh=%~RbQDsFCV$7cdj@)WW1O*) z0Lis;KeJ?JxW8dQ&a>>MaJ+5iLMXyHhpyAns2oyz*(?dSa9IDZQg;N=J$Gu@g<_?Z zvErYf@}oYE=<^h8Q{@tH~)T4a_q7W69Kr?q{1QSqPiJ6s9f>JLAp z&p-JwSFMxqMA>{xrPt@Vz!3DJy}S_h*Mfh2fl_J#hKQzVDVz^aH-$3&kt?)Goa^?h z!HcG&+5Y*aEx(b2-+K|uzmxuV*zqrXZb;%*T{EpGDtI8O1(hGpGDFA?$L!*rM+P6& z>u|4H(?39QETq(t?5HNXZ4s_OGYWh@Sx7@ZveOls5sOfRuaR zyPD^$6FDXgwgg9dA^o~JF1jP_kF2cF66a;;Wh=)ECglTWI_;C4&fu?}uJ|W@kV!3{ zXYDLG&K?NRBxN=Kg(l%Uq@!%Ytp6K5q&%4D2v!=@_RjM81T}qZdQ{r*`-j%huZU^d z2dI55mQgwz@ZZ^&23=)taNnU2V_8nOl2=!`h}r-G=8c>2b`=+8&{TJ>Bwb+6j@eV& zX8u6BR`;3_vktflGd+CS3SzP*!E_65R+gHY+B^5BU>u^XN&+Rc;h(~_p1IilX9@Ae z6cY_ldHoGVGNg{0%CBpM#|`T7tDEXB!tsk03F+@XU9rD_+z%HSIhnlc&)rotBQkz0 zU+T-8@1M*;?=3=f)B~ir>Nwac!#m#FSF~@~A;=yU85vY_?nfJl;*LmvN<*S`50~H~ z>rYpIrB1KmmLHg&MnA2qUxQ0Ei7flv#vD5D@=+!U;M1Pw;dFuR^lGSmcYU>?53W^K zdj+=4%=PZpCA7Qt#QTiQ$Ewj}-roEtas<$T7FJW*e==Zr4AxltPt*bMkhTV{N%ko) zzo`X(4e?YWb!Rzr2)e`g=udOeY{s8-{XXeXA7IfJfOp2W5h!r0eOpnTfSDD#Cu`Wt z`Pl8!|H#tXEM7$TE~TW)bX0vl+blQGtY@o0i7&VCNU!hbpL`+_l**G^gsOVw&jm;* z6%qku*Rp<9UX$o&?wK`n2T8=|%(&e6xcp;^id^+S0qi>;()d5{{~$Edi}|^D&f()X zc8A>3u<228)q1T+GgocHG!@fPmFB~73Hy@KqZb>ETzAl~kZ3Jq^;UlWGm|*JD2Jbk ztN#AFNkvkI`T7vcmouv`=6{7~i>LO<_2(-;Jztom`Fo51bEr_ZrwJ#;48TOrX1Le^ z)WDx@?~ciOt3eM#W-@r%TaDp&HI8}qwW18neXN-m(a}GkH$M6@;sG*VZ5)+hFC6b|J0-0PH*xrJ5G9V747XTk;C#}Fp~Tg5WiF*S=q#n} zmOXa&Y7b*IV^8)}+rG_W_a|k-*ssLZ2Fl?X)EmUQ+9Sj3Q-1Hm61!xZ+$Y~2jkrH= z0jNRSoC8ZcqqfxxM%O^UUO1d*SfF0r)??#$O@dT*Z}cl*a~t=nfSO#%R4}esY05Ta zG4Sr&y#28| z*=_ln6+#&2CqQwn@&+wV z0>lKrN0D1pc8d$kXmm-(2(X@#!xqcajqCeoFDY*oCKnCCo;nE|4EKKgt%IdxcD)32 zChXg=rgWB_(q}!yT~yd5q^ypsZWyqW(xlR@sln9$AR>TbZj11niwJr<`yBV>w<2)> z8q^@-Ln!lcgHovC2Nt~(G0RmQ9Hp*$!0kM$I2lwtFmW50f>!w4vk&`?>URNR*9+fK zgKyzE(B{-r_Oh^C4z*ZG&QFMtD)K$1lUdt%P_@MKqH?NSzO8{8CJIpQTD-`D<$#E0 z#B^#YsjO`A+M3Xa+td#75eO_{GZ*2VwvWm)FH5iasBz|Dsu06Z>9ATpYtUI&O}lL3 zj#pS|hm_&krBRg^wsNMHL|lWM*4a-E7X8#|hpS0N)E(_N@1YOT#DGy1GxsPk?II99 zFAQCMj8%DoGCHUkHS6=7b08zS&K?M*0ZU-sP^5;taJ&OdbD`PLPa-P0$ophphHX}kWTzPZRcwJG~V@^iyV#MLZkcMNY6G99Y<)Cu5r(dv6# zNUY>oM1jPM=Il+gpQH@ar0VyEcPWybngyikFE04)y~x~BGaD`V_j+VMLD{H6 zJ!M{9)lP>L!jjAE*eyAkt7(6n`Sx~{9^Rp-zoE%`m=Y=mS=3LLi!vY79v|gKT_&Mo z!mk!+Ik2O+-CW5l>Rhqk{M)n3R-U&MkIG+6d5DA}Q&+UFK!Y{B)DL#4C!ybqIyrKX=IEPjSSkN><~9K znRj7_b#{|~X4SX$cqL}3 zuEu@3i`CFUGeC+G7g5vp@Z&EuA)v4-$-)eaP{f`x4^aO5Fn(hPabzuN=jhnUCEAlH zJzW)#U>;rI$brb$M&@TWZ|NP7S;qlAB*@ANdaFt%X~w%O;cBmS0qG^HwB>xB^JW<>-=3(xzQg&Ev?|xv1yu*zyjE!(o*MdbwY%YqMyPPUDHbnA_Jd#@ZHPkcu@Grx9=}Pp!i3)U4tg-=>iupnd}U=) zQJuj33mH<0be(%Bs;THw@^kn-U@4XZm4x(AnPO^YmRb@yX2h1@D28c0@}`)=ySA>d zGkrH&RdTnwi>W40{m)~ju>5MK^UtkGvKc%`SE9+GMj(w(b@iO?*Y&K^bwxA6ydAck z3RIHkZ7@NPb3f(0zWm4q5n#|vAL~l|1U-&!!Snb+DU&nfC|B?KR3S%z!1~R=WxGGS zPT=gx7po+PA!nfSCk%4smlbm%1VIxQ8fSPH?8qgF;0Um=#T^I^CQz&{+E z{Ky?ve>G+{MldOf-0ja-+r>9mQE<1jz&6Hf1@UQ`TJBk#%Cj63K$4yKc2yZ6EH^Q- z#D64jWwHuV$}qQdc_2k5>8G}C0R}Fe0w|81TK5DEcJK0`=Ya?jaWxp?=&vm<4cGma zI=S@8-1=eJ{Kk^X*_3(e&UC0iNfxCB2pZXFu3JS!=H-~2sPv&SidNODhB65E0X?vN z|2I8QTjVp{`Rm4^05)<=KPn>lg$^Wo5_t{7YoNWIw~6a-)u4n|S{ zA+2nnU`23R%z8YCi@Xcu;GFYGJ>Zk8a@ql!Z^!9wa?!8^-Va%P3fiKkw8#0nxmSR^ z?AD6XeM9$WOSZoVKOh6T6FWxO$oBj!JdR=}_s!sA$;1YIJvN(@8Z4SuT>L=)+EV_2 zHrTp#0gw|%20@@UhD=GClx@dJ5J(8%!T&uDma&2o5fErz(BQKBj$xX~J%%s9b_8W> zX3>*Qn0o*#8rWzM;M&FYNd;I<6FKOEfTmjI{kNvpuTv$y=nZh>2L<3Q9{R3j{=xLZly_uB7)^dTdIMqHY(S@=q>`P zkIIP$^pl|2jdQ}^-*IBeTl2L5pIValWP5YU)?0zHj?VeTuJWm!0T@@-5qF2@;0KZc zC=oJAwcig*FRT9lY6jYo-~Eb=-d2vlZh!^ZW1`-8+0k!fD(*CPKx_(v$Inf_?P=Nx z)LgdOuU=AEKSvb<5^0D7_?J)iYxhkxK!S#%@2U=MX z2!ur*pJ^?)jo?QNCbcm_&;TGgooIu9y5n0M92|Bj^Bcl_8(3_X7|cnS)Ca!^gsnN> zbq5bWQHj)BTI{PAzc$=4%3%VuqLH|bBfbUD)ggtI7wNY%o!xVJaeROnQM(-TLNr`5 zdb=*=bV`v-cX#*xc9{hUkmrx^mW*w0Z+o{=vuY255AVJtywO4$K2G?d)MZTlMkKnr zf;Hvg*YZa+C15r0#C7(ZTJe!E7{P7>a<)&L^P5-IS-`jSgmIQL79cH%0k)Z?3U{&1 zI>maygiV5zu#0UbF*MV;RJjem8vg_BnIR5%e3~Os1j=?eQfPl`%ef#$OO$sJWtjHL z*j z{H$pVA0PX~W0IXTrnNBjq5TlkX?r&4+w^kOlL-vvc4$$ zdw^-MZYt<#mDs4AJ)4zYL@K!A0EODA(v?+C{;nplwKh-)r2O#!O0iMMr5e~9{;qXf1Z z@1^{r6AcPv>e9P{7+6Cs`g{{OGH2Gvv$~l}eqTf7pooMf^ict&E71KDzR#r6ynkP7fhQEqVSZXJhHiInLf> zVN~GeFFxj)(1NdSf0A&D8o58$?3;XN3N`Utj~HtFzJl25(u-JXK9o!MrBL4?n$$Wc z=MHWs0P|!m)RmTyg;4xc(7+yRWredZE0TdC;o{G@dxx~gbyYMTscxRh*d1_|qeaB4 zrxc?Aj#v#=+}F>gviI7xrNGwz&KEX5_H`GRqi%GBwGjZG73!&3_2!~8Tn$o&E8+fm zwhwkU0V~)d+y{1rQBonhx{vUt@YncnsahpsiY zmu(|rl;x$%sqb}|CpnP3!JI)41wxCLl@(ylQCn|8?U1%BL)q}ylYbi@+I?Y9h*g_` zni>T0z|~!!bm!7X;VE_0F&PDgA%^cybLFX2ZlBI%#0a?OPwj%$t!fN$Q;y#NY@5k&{EoqxV{}A|WHbvfw6kTS6#`(Z-lx=2CX{K|2)+-Iq`s+zhX6jAFJaeYvGP~I@D)LoPC6fC$98UJq4&6|TK^ZNi5 zb0>nfUATte)1KFLEpfKp#s1V-u6p&eAA5SX-8dnnNRMv#P~yDw_bu>R=bt6ijf07F zCJ5amU5sKc9IeuE%gYIRjENQQ8DMJ<7Wp22oacTN!icgZO70MExE>gcr1pFyYJfHDW#v>0 z97Wn5YViUKuIPPRy~IBR1QbBeL}wMrAoh-bF0+m(da6MVYy0jESYMzhckbxpp8;mR zxIr$%!cP>>N6J(&Rc>kezsE(Ptc}D{`^rSv^t#)_hZ1`AFJu4^bgTQM*btCFjn&xS zJ$2!6)7cbd*B9*znAnRdl1VCB3hQF{j~$AB)X33f2DlFwt2XVI`PxU9n*y(cOyZ&; zvRxuMd~BWdJFFd*m4FHKRZ@{#i_w9-MxS2>P&pwTmq6z?Tw8JjZz*uHipi=*e(i_t zzy8O4ooag^XkZ0=K4$&#?UEO;!-=baRtj{8_Jx&-MNxd!^UcZtD=v{b;>EHaM&L z8f|ioZFhEn{pM{?7a#ticXqi7g-;}f5yPPf^Qr7@$D0L)uHP;l;c;7h@#2~un~(ci z`qTSX8`pN(QUf_=$0Jy(51Zr&(5~%{ruc<^vmX>13LA?R-{e|`f2n4P3BKZ>M;2{| z)LLTj^xcC`E>YDdU}9mEWpKs!WU-EsBZIv?Ly$ysFeMhLw=%+vYS*8C3= zIK_}{>bW0gs5ZY*zMwr=R{98V#m9PNhmPDp;i=~Z1N^zDipR=&OiYh|fY-NGz_RKj z{K+q(3sNT11gCc5Vu?$n4sX0F_jT4&ArGncOQ=9@G^m5PzmHCV2E9?|I?nXZRDNqM`tN`P-m=@@X{3tP#GYBcZJ*>boaUf-)F) zjR0g=d#3n^+qcMUz@`pxGoBCGljcKE1TxC{}b6Ge9*c)vZMCH6(}UCjxXc8lFGoqj;6PX%bWuTr}B)1dWqoK6foz>}bqW9^juhK!yfp KH)^gq#{M5gW@739 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/settings/00004.png b/tests/functional/snapshots/flex/settings/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..6147284c10e9850c532bc5365a9b1f47fd4a6a5c GIT binary patch literal 11382 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/settings/00005.png b/tests/functional/snapshots/flex/settings/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..9a754b890404be81d191082087962a5221f99f93 GIT binary patch literal 9357 zcmeHtc{H1A`>vsMGHji+C~bAqR2>GaR%Wn^T>Wn|3o@d!I`Wsv~xqx5658<0EH)zTICbR$14=$VZHW>WYtct)@V>aJ-er%+1DE`r# z-qVH|l0aI}U7f<7%D{px$-hX$W>jRti;@*LopF%g@MEd$uiJWMj&Hu1T)M%`;jEm- zzC*IgKji#JUcZowC(tt(3dx7$6a)+gV~$DE(bj%HyUAhGIXUs{Z0IW=PmgE}hQyrf zoKuaW8wDOHY=u)xJpn^X+IT>uB*$Nx|9Ym|j85VE9KkJV($u=yPp*2U@2SR+!o~w3ZxSf2KJ`m@{Fw}TqpMDqnBL#W zn+QJ?;5&nAt^Ztq&r|cOJ}q@Yy>v7~lrQ)Sw%_hEPFVTgl~(Sjvex

RR|-h@I1N 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 literal 0 HcmV?d00001 diff --git a/tests/functional/snapshots/flex/settings/00006.png b/tests/functional/snapshots/flex/settings/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6b8e1a6a7421da73a6db620586354d4505d0a4 GIT binary patch literal 10556 zcmeHtc{r5q|Mm=ulBH6}S}C%VkliDCqzM&;hHP19NX%gDJ$SN4mNH?YDEm5tG02|5 zU@FTPOJi-!*bP~FZ_oQZ-sAZF_x|-h-#^}C{`nkp-S>6f_jO;_`8m(?bG@**bCc)z zx#J)Zh{yEL8+Sn<@DvEd_K=GW_~%+z-c1nb3cKkI!~2168Pw(UB0b91>Jo}^wC>hp z;Ma2M^{E;Td9c~QDGY~w&=ot6IbvkO8+bm_T8uqx+_PAL1{7Fi{y1 z6AVNl`HN8X+Y?z%r?$YlatHndtx!7>d`+oJ^*XmRXii-N4(A3jb+D0Zf z*^jg;m(UxEij+?rTX1mCjySMd^iFt@*Bw8VCxgIeho}}8H9S%rKWAL7e1e)|uqP|W zvEgGjZ*Q6^PK2!fZ`!bk&g6PagkVO_Ce6{c?;9GseQ?Q0MV0*}G-cNjWMe$8j*Z%$w9u4+_@f z9CE|h%BsqCw4KVfWxVrQ7d+nP?vNswFLUm9RVL%sw3Mk!Hm$jiGl?(9c^dtf{%#qj zi|HZSRek(X`2$m5bJ4BDMDump1+@XBjwnQti&VBXwN z28*ncr}hQWm%?f#lDjB-=)bCyCc2y6lH713J0Z-nd);rsaS=#0m*qx5()=^%uzhGl zdSyf6Q=3wrSq5UakM>;JRt*zwr8Ozev(Qj>(>BVGKTtS(e#gRbr$oBRha{QGyQMx{PT&O(ljl6)l6VceXo3Z|l_FEvcg8ud-kRy73%o+b0; zc-2Q7z!pRBf&*|ASz#(HE>$YU`aK21+cp4AhCCC-A@y;5S}^FK5~$7!d#Dj_mTmtIMkl50?XDwi;BV!B9&R^{F*dD6N( zaomSnBz~BFji_4Qk>&cv+x1o?<*$gdmI5#w1+G0tz2{>@VQc|kTjZ;~0ZB_Qupyf5 zmtesB|=Yn zXrq4DN@$>R>S}M1ziPXCWNnGp*mQ9!RT^*y?_>vWibH0sulNSmX8V~=>&|(hufm;g zY4OJ}dHWPXo{cSGKf5>YjF*|)8STcwuJCQX^5;u|UBRa>5qM_H$gosy+^0a?Qw@5= z2qPGJn`%`r7ZkwVfd6~9xboUlqmVsJy~0Ah^og819WJKLhIC&CiF59OTG_xJ)zi~E zU^V~V-&uF79^JT;Ar|v4aS#jRi*1{qpU>3~*VEU>ue0^bdcTdS2qk_$Z+Z$Z8&ru@ zdkypBrEV={Y{-s>4l0a786_!*YTm!8aI#vs7SL(1*S6>BzOw z+N8B7y1Mb3SflsbM?&ZPPsY3}S&y_3v6w&3(xILLD=6If z;(q;D8tbHfc0%H_-`e-9ie%9*PDKrdD`pZ0+Qt0n%`$Ps*$bpgW4O4y?O(tA^o_~f z#EU|ATVTy*9F*-0T!YxalRpk7AS)-4!`BDf*_~J&iA|O8V0{~#ueGP-mS1%rbD8ZN5XNm_SUUpwYUqr)zk(^9z3%K7w97vEaAP# z2oSS%Lw+pBZ@00Z2*jcS7Y;h94}x>w zF3rMQ;mDcvlfZ{5eYe}vU^nNl^`&iqELS056E*sm@)tM;YnbCUM z>TB0G!!Q{8Sp4<++p7oO50|T@k=%Cn`6Ff=>*es==d6Vr%lE?JNw<%=FYi1N_Lca!>}rtPTd5mm+)s<@@BGnDJ89~W=2X;)NS#sH;#LkQ;|pS99y6?D`-Bj$uQ#E+{{85 zn9MZ^jX5pfQ#j47qk{3lQ2?aRfjSD=14*J@Q(V(=&9Er3>)x%3;232 zi5mJM&;31i0$R&Vtb4~s;&DffV<|AvE>*GEMopwTJ_X1hzh2GnZ0ueo1!#&cQC~P{ zt88%9Uy%-XMEtn0hO>3KHHlC5?v>q>NAS+N?O%Tov{lGD*;hX&&Oa(h)^Odju$qm1 z*NWtB?C_lbHj`jFz@9x$xi{qade2EM515I#mF5xFO+a2)ApaO=I2 zQBH>6Za!(gx;54{5;=cok8*8jH=)-3O<%vB+d^U$$BKLx%`)fqs!6jqj?z$O>K0v7 zgXx&{JD&|UaQ86e9ufx0L%}?tihrN-{VZ20kcq1;27^}iuXRe9Rw1r|Kza?DAcHGx z=Rj!}FyQ}=K>AZrkw;do7kCP}v-^{$28ODCv=mO$6u&aAme}`M`9zy?2yFJUJ7sHq z{hp^)#%$m|cF+cwstwj@uSpns?xDbR%|O~@+SvOQ%7>+^MqvQp5St1PPA2&(P^s>Gd}D> z*g@r6(xhh^1`abcS{p*(#HJrG7J4uM>a{Qlia0}P)&u_&JHfc_k!A8-IL48mgLWo9PlhWB4z_uraP@AGU1!q;B@;^* z2abr}N~CoP{aXMGS4V~8kF4q7j#SCh6$TP3Wa9eg*SoPjRr1840}aSMyApZg#BG0K zpqI9I@@cPcx<$<3{zKk25k=T#o6@k80roqZQnu7YSBKIYwk9Ctn&0#eA@WYr>V;a3 z5bE;tGMTuT@9G3=nxTHpedHu~&z5+^Kf_f$rl)FyzM89LKKNZjCfq>_PYp#*BK7Otb(ANLXV$Yk#${IyJDF* z00VGh`|ZxWQ>6-m0~ZORw0#lvzwy(qlebdeBaI5ksRSwVULUQQMg8;DyWa`y$EI)(6)`?-1X1|!7!d?6yc&<%S#I)j@XxQHh_f;p z@Vf-CZd1$zlDg^N>@f}w+3*AL$M<)rY_!K|FSLqWcD$*#!OQU7J(2*rbD3?vHJHwPC5hPZ{|_N(xCA9!oM=_9 zIXQ}DO#5!{?d`44lK_&@UV)|j6bqPdny@Qo-Zi3wSI`RQ2ABrU+VW!ukAG!lkmp~b zzpbQ+1W&|g5{+Ab(dk|xPmv~t6Kq=nb1m#E7184NE3uSP#=uKy>ju8`I$#jU7~Yxo z{VDY;?Bo3B??o^QTqS5w?ilEqg05pTg=lG&PH7&bL}3>f_3prGVJNNa zabd$k_bfm?<;gU@L8nSRZI&|mb$h%#u5EgXKyRvQ(UAs)6`eWAizA$tF;Q zBJb6KkD?wPb3q3?J01xhS#vbnMblF+`txMG8OE+##mL|&( z?|NR6OR>EMp<#Qd(oUeq*h>=kD;u}`gkos3Hvt*>ThAmAuR%!h&DCDc(iH64h7ebU z|7iSGSM1ay1#-&PKS!@MU%o?XrosV@v%D_WMSH3vgZkhxrj3RQ7^`0EN=uhAy*nJR z{9Kk$&fX%=4H@};LsgO;`;Rl^zn!3fR^;V248zIf(<@h4tKF_3 zbKD(4PSBL%zk#Tqnu$JDFiKHTg341-PD5qnYMxA1fkzg==Vju4Xol5Y&Ln;Swj=Dh zBv+d+o~qX<3kqz~A^C9kRQ1Ath3JuN)k*7c45y(*#_YJ~qw?Vi7k%;MXAh2ml&T(a zH+W=G;nJ{qP66Z9%}v*YV^NZ(smdqN1u0w0PpYpF{jBf(qS5kUcFwm&yDSB2VRFS| z3`D0;))46a!-69W^|uTX*=}H%ZgqAPj+?McB^vVIF29{BML1J&QXl8R2P&^eDy4~_nixgOA_BzH<)75H7NaBhpN2LGjKru;BMFlS0 zV%Ar)J22r2lyY}S=<2DaHP^>xY%R7E+8AISD9KEjl-0Ghwm|N&+swhE5yL^t5eIvF zYMt#*b#SQQ_rtThVyd7O0Uyx;be~DiQ2%-eqXE>iPVh4DQ5UJF0uookeLcxvg=klk z4=!OUu#f4f+GotRe->#yE57KIfdgnnF{=5{p;>$Em^1&Z%bGGGCOjwaqteOS@^eBS z!x#Jf{j&^LJ{?u~frzn&nj3l6FGZ1;?Htg01rwiF@%*QFSdoPjbgqm}{Y&LC7u#Xe z*CYOx0)%}&M8hBhp{sZ)a`NLF6Q@izleOt)31W`84J&VL}M zO}s1GwOMhcxPb~s+-j6EEgLQlwG95~*7xW*s61Z|!+_}cOw3<#mTi12W}7bLd6Cnw z#bp4LHt?J73mdjRaLmj4=>0yg;6-1$0B=6l&uPz!5V=#|u$v2P&I_QDU)e}lpIKkdZ> z#p*YCGQkdfZ2*0e2uG@ih}KYEfd$O{0OfFnzNC?Gy^GRf+tE6LRN!he(GJW z9QB@wl`>t^alom9=I#!53}P8!%{UJ>kaB!2rc{zEPp0ZO;gO;r4?N*hk!SU2nrppp zI>?~#1G`q-1*NF?yb%WC6xqrOswk-O89X%%Bq@BVl*%3H%|(AL@novgp^xaCaI8%^ zE^l==4nlsUm|5U4!|Nj2HF+hZ{?SYT}U?d z{PC?CW;e<`8vTL=brX{TnGx6bwt^AQo{ExWeF^rLKI=Xe9S)#E&22IWJS%Dt3Aqr0 zeXR8l`{Vw_x;6K6=BbG$mS6XczXrg#(_9zf{dR7wgP*H`{>h%HQj^y$K-TZHF!Tm- zk7Gv-r(8F-4Web@#O1u7_u4%djAz=xU+0kK-x=%JYc_xxP^-F2v9^;;-e9mU-2nVB zJ}v@5LBqkUIBnBY9>xtkKLKNLb3~0VN|IQ$zO$50s#=O{g%>rT*KILIhTabT&Xy); z4?*eE?xmRnt?>v%GGOct88ii)(l5~o7%SCac&M#m+VF>(}h0Y(F!L{WMB(xA1cM#NSUTg-E0)U?3f+UxJBwpT*;!5Gmyus|s69 z^ce4DK{P&%C5FIL$L&vQ_|7x6BWmTv28Il(dz%X$*<`vdB0@(Z5VYG`{Ns9@q>@&R z!an$}8*DNP{Tv&!b!L~L`qg|$_r{iXOR38;K^vJ(aPS6r8$drxT%#kzRnz(bcsEUb zcSUvjnY=oc~ zZ?nt$Sb@&z&(A?&U^N7jx}1Gv@Jhjij~Cmd8up9G-1t(<(LA17^y$f={@PJ0MNU`E zB+u?~umMWLOo8&^cXlXeMaBnqTV}G&#rQh0BYqTFVpWxV`7pg3rg%R8VgoG%mG9={ zsDXeTk&1$am|?fRL#()eRk9y>>?mvUbi?m-pU85E1_m0GgI8d#`b4L+!n>mPN8!{b zk8oGp?HX~s1U~FIk2^A(+JzYJDCA(40QZ7rpH$ObbN@=B1uk6id_Y#SvN~ft-KVQ? zXpXoJCEG;9t}T7Xn?FV+JK@Vmu2FIUsDBW|N}u5UVb8q0gt%#cl5a^nBH$y;kg~C= z^^j`W*6Go<#hb)z+BBGE+WWIUXdiRH_0g>Y(ii2&4>rf9GT(j#l^@-#qk5%_ci`M6eW9SqbbJ6?JhXMoIl z$CPum2@4AwOY9j)EASZ4SQ;O-PVS_|Ji0ejs0R`ks~OVPs@oBhPQ zz`T!e6zVbH)rc844wm+a&-;jcxmnVR3qM_rc7lf__a1uy5VuFdG~|v6o2@z{?9CU; zhD6?KG=3SB!2%TA{&4kBrR4vy8x-g8uP%}Ry8%KTNz`+VhEaNsyD?g2fkhO@0&?wk z^agJ=dxS&M|LbCnHP-?bR$SznHCNezF1Ql+W4Z%81>J*&y>f7Hu(C>b6^@y1^ZGk) zAw*CA5$B8T0*_YZggluf8a^Jt&^(zjEP&%D+JI#4YP1G(Nq9lioQ7f{qIp>ED`% zSDp;YA>JLP2mHG01oY``v{ow+;|LvQ(*5AwC((6{2sHitenOml*bxLEHl!no*sgj5c0o0O#LNz)W)-5iolpXz6+)*fLDLX!* zGa2VDc+*l~ZbCt&rxU0(*HDeAIKh2yl%;Z}%S;F4ER@p0SVV_Kgq2=-;%j z$KKK34Mx(jR&=rA6yv$?Jx_3IGtx}$iLZWO-BY@2JIgSw#00m%@6dC*$5zX_7_qST zDsm2|F0y3Zj%=8rNlMhdDnJMOioTN@ZgPY(~xFgsB$B=SKv{$ zydM}Pw{z{}_SET|8!R#-@)}@|cvQ{>>G|_`Jpi0WlN@>F{M;`unCiKGM$fPcSoA%0 z|4beB3$OfibTJHMXZzd^^;Ho{m3YBOP>T@XTY4r8{XyF7+)oG!b7a+*)jI9_QteBX zx6Y=w{f3^Cw7E`}59dbO+`4ly^od5H&q7(Oc?^CjNVPH`Tmy#p8SOd}s}IR zNsNbv>GJZ^5l`-NMp_Iy(=f1`pVLl4v9D^7f0ENIIqsP}{WEfYBGbWJ!wvQk`MBI` zM(T~7O0t-eN@&U7X%fLAsGsrmLtwOTnX} zH@LB{3>JLu)(-QPD#Cv(@CfthhFqtf5*GbT!^LiaVE(W-djQVVTu31=0SuC(g4t!* z!@`1=eEKL2)X(s#u^b7Xl=|8WnDF#jwlNbcjThe9t?1~Xume=CR2uF{U&s0Q?shJt z#t+`~q0pYeJ6K;0F<_8!DT3EOsJ$hqaMD@BpI{H0(Ovn-YA>Zs8jE%@%k#^;&^gQt z*hW@w&iz_#UfU7-c+I5QA4-sWL6$#I3#P3v{u$M{P$ZpP!^#>I`$C62ncRJmy|!n! z{Jm@Q^58)35w55yCQX_K-jADGcf#+C#B?sl@buw_ym}Jb-|gIiOitcj2s=9-8DYpj zV!sW5U>R5Jf&FcuW)k09bOyX%T%s(oVZrAN9j4mdHWK4nn_hz1@C9ks!$a3!CH98T zG1AhO`!s{-^#l^I;E?JwdJ_t*%5O!q_&7FTQ)=tB515rayN1I}=KCQGEY^I_d3YBsa4$GoSd zN|$5EVa*Z^25CW@9)`{hAM6HxXlq1ANlIqFv(9jxUmrzVUrKToWp*^b)x_OJpY%cv;NBq zYLOBji;8NCBcvrUk-1NB6qq`?ZMp(stmc^o)By`TzL#}Naj3220|-xEbV(RpW@Qpx z89x_*;;85=;_TX4VTb{{ek{bz`F4h@r9i2j1T0FjqH9J$H7nw17?)BuSq+NQ(~5T7 zHu>jD@S+Y?#8nN<)2KTXREGTG&UP-)=l#0##D)B0?o){={gdzX4y&S2ld0K?`3~E=IUXT4Mh3MhY<{j3Kaemaj&QbQ+xOaKo|jFs6=_aTkLg6i{_NDX5X{rE9|bznZ4x)+woZ~J2+j!v8t-WTg3kMa++;4kJ&IU?$e^gkvL*&C@SGn!Pg>TZ%s(u7b1LJ8%3Ymc#S&NvtU9{V3--JINHj+xmq=QrP{ykF8Cb7QWPLMK5W z5SPi#>vusQFck!1d2pNssJV(SF$RI8ZkSv*xF7zCPFW2tb0Xm%{;nW_-m=|gk%@b$ zZ%RDVz@}hu>-m}2Y%&I>&(Hk+n8W;*H$9i($tU%79v+C|XpTMG4o$?Z&jzUfj1U8Z zUhTHGgn>ZBv{-h~+vA>~faL$K@M~aFYmNM;k)>7EWcrLcp-#n&Lx_;3V)jBZ_tB9E zd38HTf}niSxKy5i@hXuvMY>T#_hFk6>xpWOU9`0%jSB1XejCa3nLZB^G)A{DV)&(w z5S9X6q3nuN-gG}w+HTWE>Q-wH%ui)cC!E2bDl6M#Zm+_y^pDM6d0X&i(hB8&|lOwwj7FhPz41R)><{&q@8UqJjP{IY9Tze zE|lf&r8d}d(cQL}3t{w=&j%^l=`*B~wp{-)3NgUROA8^rT(;kg(%rsVUmT^0c6%6r zT#M4>@ZV8SZw#acs5g+#n~~ydjz$tiGVuK%yGm=d%Jx+mHg@wfD=;lwIpVI*PuQhw zLWilYo}NI85%bN^g&^eRo;FDnvG9&d*|!Sj>8u6rwrg+QGqR#=mLfwZaA1w5u0)mr zLwyT;+kCyeuxEsBq1w?xzQVKDZB=Gk)Tc};8Vp}D_&+#kiP`_UeQ#yM)<5ORgwj=V++oLbwrto zQyR~qIf(qP`B%*DonT=)aeXI3RnljMy+hSStjn_yH`mkx@P?a;f)dhJp~3---HEM> zCUxV!!2BNdwP2;StrCQaN|E2!p1C;$xsjfMcby)g-%B}^GeLGgsZqv>p|Pe$71w4T~90|{XrzvuKvo*vL>`y zO*l_!*+8)#bb;25sYE?D7cM%q4i~mRI7Wx5)*~eaoi=vp-c!d8*309>4%9xx8;@5` z26k9Q@}k92T`?M+))V#7Pkr{nWuJ~CZqfHJjwPj>%Pvp*tIOf`_EYPpBfWiE9I8fr zu*le{EJ+jWf|t$J8YDw=dU|@xR-8MLk+({&DmYQGWH;)M_YWz+q?Ei1-tQ{q{%}%N z$-}{8ItP`>j0M)bK@8hL+~AJ>Ub)#gIy><@JyFu6WR-^TY9iCgWHNz3Ad~I2D(Fw0 z?3|pP$qLmItJ^S$=9Psu`b2ruLc*Pp9=o9}llRy`Cr{y}2RmBaAAlC(;^NiS)iFnh zh=_=Yn3!g!YBYX1kBsfSi52|UJ`Jo>x~gkxhsX7^n_1!eh9%O-7j_1OvNFjEJzd=i zY)BT`SEE4GSVX?vAKTeM>yZpCn76st=>Jfw$X}DnJUCpPZYRvvNuLxX>eNuyt5#U0 z=6p&_ZBaIFRim7nAZnAO_hsHVCj!0CBX~P>5Gk42@GIplOmlMmG-aUALqcF)j_@7h zX2}Pv_3pyZmhq8j`!I}DZ;rekwmdU46QX&{GISdzkdkn{-rTnqOld~;TL@t9gsrBt zI-zERT86fI{yd#rN+qxpmusyEx&Iqhv=_BP)?dFD@!g}h)k>=^)Xwk z4sqJ7H6z{pFc#_lkO*w_gNTBq7qZEZS{zK7CDLwwFhd@BXu-hzLG-0stI;hyK2gV! zU%NBENshEDS=?LKz~SbigBI_A6?1vEC>_T7I6Gma5V%O6(R20sblmHWSFcik)NItP zoTaTfjupEgc#oFDPet}4c3ARZeS3Km3G_}Y^v0j7;XS)ix?&lLUBw5@ZiOkS=$a*e zy#ru3$#nC#B*aV+eYBc-8sU!JlmD$fsyEcnnLH6@9Vv${RbNr3vc~^G2d|2B4@P*6 z#I+=J>RwKEeWb`Tf!PqfqTZHGWp;WuBGsm5gEY|Q1_=-s-3K)j{jrBCuDG9lR?d&%wBd{^b&Z~>R9~I z@`uF*R4g}Rvgt&x0dTqJcov+q`X9N4UR4*`J{A(7gXtH1WH2(h_xzkO5M_o+>7)k# z<^HW|Yq|VNgw5IqxC*-zZ?rqMv-yyrV)RhBhby;6;K1f`^zI0&SQLJO4g>J0ew=MK zGoM8>hea{rTm(O(g_p>iuTd29P&0)VTpTFU?3~SH+1r>%P}V#G0RWMf+Qj&VJIBr9 zde?>OIi^?UVio4E7XBEams7$8EQ7)&m*Xn~)uAFn=b5G=CDpH^wZ-rQYoA^F1c~jc zXd`UV9|ucuO^|1Z=<`LhwP@bc?54P8-Par5Ft0oYuI?@AJ?>D&%=j>Rcx|v|cUbYp zbS)+BD-osoydeBee{Y>Hb-&k)<0C=_D{1l*`J?scNbKSM{v;j7Ab!=<^Ur;pfro2| zaMyq1Ln;XeF(Da~A58JJ+z!?|wdA@|8L`9XWn~QqId8Abl8$;|&d$zTbp*84qAt91 zB_HPd6P%rS9!-*1#mt!Glqk2`!inu4S5y7*>A}=X{4a7Jil`tUQ363HxOWAe9mi}O z*u|i~Vx`dQX%(YBXf^4H_zSV~xtn$(udlRapF_|7Vg}PsMHer^iGNpMy!cZRUfoQc z39o%HiLm6O>hc~_Sxoi6m_9=bBz4rA{XtYkyI&>_6Ov>85C?&xV`aV=w151l9eUtb zSXsEr7VDqL$zYAWckiXTYJM8GM3#6-p-U-fjRN$%`v)o&^|fy38JJp@WGWJL!n6hF zR9%Qbo(9HQ^d`EgfF|9(zjy+Cr>bo=s{88L9ljAe*jT99mM4gX3*M$S=hD1kZkq$v zqmBEmFg_zJCEY-)gEA+`VOGgHZ9`ItIigtzSX?#au_I=D*}hm)XLs_u0}Oc9h0h2$VRZSBDm`n=tS8}ydy?Wy z$ocktt#uyRAI&-IHn^;V%JAqlI#&3QYmqTvnIcbE9J`><3c9|{Q!wvaLuh-}}WrzhR4QHPGqwsI9bF_|*OAA(@;vHXAfJEA%-~ggl!~ z=$;A@V#OWBgT*9CPx(b{N^_* zrfg845R36~@oMk9IXSeai)kB+P`kn9iDG#|+aD;Q$tKK04x6#6=1Q&R0YgS3o3=!e zQsY7N(fa!O-rnB!>U4H?_V)I6QGCVn8|?y_zC|$CXJHsmR?CRsjieeMLCE?5@O56E?)>pA#!VL6X|8lqeCCx2p)I9E+j-LSn zp$Io3qt1#uqJqnl{M-A`$t<8FKNoW5$2L(hKm`AmjMoE$6I`=k4njeT|pS=tPZ}YYiG%dTzHM{=AnzO0Q3cB{emGDPj|y zEz@5b-5c4p?t&rQwoFH5C0#WGms?xPLo=x|?FEhBPzJP;=u#Q(HK zeO*}G*cG|0y(r9qb{`ku{xjehI1OJvh{C-8+<M|N0Dx`$&gj_aaeG0%7SaXqldZi$ zAbhC`<_h4~dn$)Q6}FNyv3$9O*0e{&aQ3I;580cYm}b>0;-P8N3&Bg_^IBhwUl77& zS%jj$UQo}&)Q$$uK|ZZVo+hsO;G8((Gs&g8vEr#ovTJfT=er+uT3G+EDdymMn}@NL z=ZDkNfvVY0>*UkKfL+o0FhY3%6@RPFCf3-#fjMkaaD0RmwOYsunH=W-1C?;DI4OD8kb z4$8`Y-pIqyd6LxA6A8!t0!1LUQqB38T8m<@yo`*DnRV%-zPj788m2y4LH;!!8d6?) z9=1{m>1Ab_g+p-M2pLOR!5nZz$M^T%(8>%ofiQs}Ret_Z{>4_29}C7yD9TSygj-cD z{#qw3U;(?du~Cn9FktQLrP5k!>d8|k;@=gUL^6z-eCdFSGWE@bxY#rD4Y2XPtMsKu ztnCh3>jm5IAUU2QA(nhiJdv8{$6`JO^G%>Sr)ocE@{O7*e3kZtGn)_ShETdpMz(wI z!MX9(ZD)svNJ+a#(7Z2<>{4kv#cX)~$`#_s3U}C3e|zkB<@{N3_mbEtXfvFQ$#LJ1 z_CEHC-RCr({t?<-d*qkRC)QK7kI5890H7W1InH|5DvNvL>{$@2{;^u-cV%L@;yt#8 zm!7jQlsoIiK3{!~^FCUGP4T|QRImJVja%*0fqZ$4bia#vD_1W277dWoXZmO9`Z3g% zG!-L#pQkq@G;1c#9k*rb=TqQX1HqN_33k}h0JkUeYhdWd-kShma717!BcXmvMgVk; zSpL;<>E~c~VUVj-z|dOob_rW_mt{-_Q1@z-hdpl@;JSpu@%|+k0WY z;yVv($n>eHsSw`1RJXCM(k7ODb{nlv!Rh0kxo|0(8CaCq37arz!nr2RsF+=7@2xw9 z;e>J5@WSStimE@_^Cc)$+_HSI)E_9Kce#k9;waC5H@=B!63DtUKIxbuaW?kh_#p9n z3sfL`LpwXc$nvHUGve5S%Yy`W4u;NWk9x1ds|V>9LS5it+t2j$^yY=y&tr}+6nQH} z_ZSdqjmMJ9%8-(^$2@W8TVz_agJJ;(1QD8QFZas&kTt5PIr$B`Nq zW*afJ60FiE%`JR^5eX-$0Q3UTe830!8pa(00ePkJ8$C=RG^NeCT3HR0`~Qq++nWz+ zS%4(bf3kGg+*YwPimX;Py$vOd!cNQr_W|RzEd8uMFTU?l+NX0-bQf&f=@|Klzk;w{ zLdrq`OWrmU1Ek zhc|_zi|QbBcJ^>kP6y;jyMwkb+VaWk_I7D4meOB<0lY5YfBr3O5eP0jsA_&3GBCgf zLU5rChbR($`?qK6eMHW;9MH1*Q=WiwZZW-u)j3Xdc4Y@0jp zW1X*G6k02#%!>+Q!<^YyX;NGZ(#e1hSq$+uu2G=&p6F`3$|f+ndTN0hwqF20rX@EJ zOtH2_A?kU--`=d6nlyE~X$21xXaPAs*8pSe%;(=J<(7On9L~i39HB1J;tT5K zk`t*00u}37^36u*ZbLz!YcJJ79WpFJpjUqtf&bycd%fUQ5a@Q9baGtehIXN^MHR57 zeg3XNU$T1A;y6pIbTZ&0!bI@4s0$|Fp(82)Rt{3vk*ol20x-%2++)8*(_gJsW!~XD z?$w*^2p$s>V5q65b2Mo^U1`^zR!?UZqzjGLRrz?yG`riwS0B|9u|J)d6&y`~Z&x+n z203}#4gt^}Fb3iwYE}wk|)1$;S*zkRxi6OP;d_iU5vlzd~=K0aCK{ zX^C_ddk9iewQNtU#D1Voeypobz8Y%u#!I%=iqD9oV#x=@k^V^m=7H1WySz;nkpq4? zzq%T29Y?#CUh3Q?g*4iIMKTLyE~nX(#&rXxQVUdymRbQ&KAY4MUD*UG=Y&`yYIdcEP4}Kf+ROST;!}AzU2>+j)jm^^7_5<6!|%sBMQkS z^0(-hI0SXpxF!J5uA^*`3LGKNw?bPv8pKP)wXLkiv+G5xt*lIT6!}xyoL+}qE|1a7 zr*B8L1U5278g_Sfo|Q-w>S!DQ9nMexh8W-rZ|eW)$5C|vrL-Vhl;N!pVR`-K!`_W{ z$3)Au2h{S@(sBmkU2A7YBgKDmFs1L1hXPlab)nm)YoK-CKmvS3u{v+^cy=QhwqcA7WKwE+U zJylFvUk??%rY%{t_2RayUTakQG$E#NTci3QOmlF@1PUjpFB)6$5ofTqXiK>WrPIV9 zMJ4ZJ4bdx(Ixps)N9TB5v>V{UcK5*sq9^NgPVdysm zv*!8L+Eh+ob|=IzzsTsJR@O@4OPbdVQ~K4=!uux=?%uT;HZ1$q@$uE>GykjI(%f3- z-ET(<+Cb_b+{4NfiXUEs0Je` z3(k+*vz^Wf5!tk9MVTNM?yLRr((Jc(_Ok{zu-89ky$y{%&QAoZCqXyA&MzM5HZm~n+D5t*cF_y)L!ninikJgG)l*O-x|&}qkr z0=<3T*W4+nBXd;$U^`FzLA0|~RtW7PS!GQ>Y*ej*td{N1O9T{EID4+*yEu0qT!n*= zgzFdoNhM2n7b}Z0R(XET#joaiCYl80_p!GEldf@Gej{Uk23D{wOw{;ki1)fV{DFc< zKg?2Y$Ub-th9w?-{|0vo?-NeZoDZg!vr@-xs=C+5bXtb5cP(q;JB*GLL*24@hAxDd zK6HBu8Drl&otvT_z0hN`uov^|SpyIxJo-T41xYM+_>N;Q)ZNzNacz{2Z@ya3t5!ed zAP3=beQ*2M`1iVF_Gc&CM74aLE+%xiNuBi6Y3B>M0(hTn??U=EWkt}GDVSbWb#~=j z-itZP!oa{Wc6zH2Tv&GGi3+b44rHe7o zUvSrxeO2#5Q9h<2{Xc{Yq%M}WZNebJqEFO3o^G%8Jn5oc-VeZ93RY^bVZp(fao=D` z{h}Gri1f@{r=52Q5@n}zTKjS~LwYXL2G+(@4(CyG)GNqJg z*xw@SQ$%+QkjY!aen_T1yvI||3QE2HAFIp%iOBnp+QgJd1J?Bl1q6C>c-`{l{O%+c z3_5Q41N6U=ar`e6mjCL0_zlMjy8OOGnti2jBdSiP1*l!KKV@9+HzSFGaC&N-G(o=h znivJlmO6QSg+ls_JYlmv)X~Oj>v`g9FCl!O2%e5DD=S-qe_Jt{%k90AJQGe$N?BI` zpAzQnqciI9o7!NCN}5aTn#wB*II>o;^@Sd*ySn0U?Lyp&Z{KO6 z-EiN={>l(Z7M6!0@qyjs00-bLL0~cQo>r;**N#yZkZS|BOQNfpvb-Y85CD37r)RYl z?`s|2&qtbmdMSfJk0-K)pxiazbyWqlPm`+!Kw`6)?Uygqs6*gN@$0|$8|~ruZdh1P zhRar7^7$K*%o&ZKo%er((GPb3jE2Ap1{Gab0CpifQ@Fp`%~dRZ-UO-bmhdkOdL_(O z@G~DahY{;Ouj4FS;gyGS*ErOsnRTbd{bHEWstQkrrILkf9?1WExftD^O|Emzpqz~L z_x>Ks{Yw~b|0v|!1C)J=FuF?;ATVeIjaqsQ!|A=fOS|AN$PYXh(Q8Bm`#C8t&l5k+ z@xPfo@4i4A!bpHuT3jNX~a3De^O>n&~#S{&0H>{wNbL`dYx z7tuFYbiW63v%tUncuG-{;hhdihz4DO?`U_}YCZ!@`Ay=fi@pW(-;EjtXhY^cd6+Jm zy2qW3oWu|yv#q=j#Zq(w+>Xb7oeU`>8g6UkNdc?b4mj7FamyszmZi1I$80Q4=3?FN z{z;LuLn2&Ye92OFU`cJ_gJ)2r zwA$#+-JLJe=JN8KQX|SWj!`?Up6ePc+E=+cpOD3y3I>LPUOoy7_M(nLZBjU&U(cCX zOIJ&0nG5o#F)h@c5Faq}?=fZ7^tp}l3iV#ui}vdGVxrMbHF?387+LgrLBk?zCL8qB zQ3n0FCO+40^F{{l>e8(jpUc$Y)+s;R+$R8LL^;$E zJElcPvJiKf$b8%YJvV2neqEJ6+4VObkw%r7$`Vh&LMaZf1RsPWZDri7kM`^br!v~J zr7wI-@!ozEg9|g575iUKR@mCC1r1bjt0kf;%Rorso?Z7=){)9L3}emMHF+CJI}Q2l zfpzJjml;E-0`0glsPqd~4w8^0w%QYB&uUpmg#25cc58|Ao}anvmSxJP(VLPnUFlX^ zilke=w(sC`nsn0|-qUl>*OI6Ch0CkY!$70E6eJyQ=0-Z-W5|extwXNZOzKmb(SuWI zeIKUvSkhRtUOU+2cCs?5B&G70GZj{p6!?ubiwvbh%`ZMOrd^n}1`=V{o4)s4R0#hm z{c4Y7qJm)aqQf5?yFT@AjUJooqgr-hNsa zB-L>c9#gzO4?E0`5I@7rU!XfmAjbr&+E`0Z)05iTaK~ zYV>eMCoT6Nub*`6wRf+&D_&U2o?DqZu}w%>rx46|XmWi!{`57Bo{_IP~M^5Pl-PgDO_uJdY`=ePH^_$-Q4=W5)ktccRY9UEAEy0&B z7b}5qIQ;MJHIMpGOIZ4q`4^vIMa^#;J~}$uqWO>PqlVwerph+R?owp&AYcWh0-E6U zDcuF+GvVt(%#VOnFnwAg-#yfnrvbcq@^6+Pq=C>3tc7UeQYf zYE{-&1ae=F5(D*L(iflFzH>otc))dOOfzF?)=ROaMm+&rB8OxYKS(X@HOG#(Bvqq$vsYYb@67eH(s7{ok${Wo&5?$po5oDOz-d!Oc&nmMdwA#sEagH>JZT;KlPO zlq6ehnLl0&oKi*L@=vNxnMyqr_9J2a@l&{7EjnPPX}0TYREmz%`Z`li5`WZ2^EE@jSlO*B*vQdMiEBk@o+vAv8^%;+$JwIFFo>Vgz9bn z+KvjC(9T(k07=&*)|PD$5g$I~1wqTniIwnce+>55yt##zfXLi{P#XKo8P;Uj5d7dk zkfIS`@I;Q1VdKO{HOQ7FLQKuzIyF}+W5~n!Q?$?4>o~z{%5cVLAMrndEmeP-TB%fa zCVNaDsNC^cg&kbm%U5HB92c@fYu5H=Ah*Ir8%OHv-r7{_anAr%`j&Rjr zzldiuJ0i1lK&rf+9T70^cQbx(5q_TI<uKD;~`=qq$oLNwMeA#5t zL|z!HPcuDoUyO`*UB)JWDGU`_gT4jdZBu(@Qy}+IS!i^Cvi^e11WAqV08Mcs@lQuD)j|aTJO!SOlMlY=gMI*7=nw|G@+Hz$}rgs0q+)9>VXF~l*WAKA?c=@tqE}xnD zk6U+%rJQYE3|lBiok>~j1D;p>gW`)c#~aKRN}lgBfLQHG6V!oUjP8}rEi!651tv2! z=X|lOT4RqeD-mlYX7**;uen5gO@3#yTTupzz2tKK89dO!^PWwWERd@+98S5{qh_CGxz=jw)iZexKgl+#D|QiA4~!qIWAkbNL$L z>6tOsOU4K@5o%a`kOuafNZr3r*%TywRt^BXB1;e!<%Z8Z^+B?nRlsnc2P@_0jwK@Q zW^%s01GSac>*cdefv;Iw$2?2e0_ltQ+h|1crBhzf_PGS)@^-erWC6>M@&A})o5wsd`X~^OlS7|YpACg` zVEC^_W54$)XyFs9NV>O93z&nVbdtS?Q8OFLFI1dV#~KZ6UOy)R^XY@~E~a@lgmoB3 zM)h<_E4BOp^HH(=ZVyNhq%se*ZX*iQ#k>yh{3!F)R*Bo*-Xj@nzigQKZX2h~$T~&7Rv&PJRvj$PYspatP=&y{n<&*L z8C!}nI&TB>blM9Gooi>0yl*Zq>y4g+&ewecC0S#7RxbSqPriHn17`D~ni6OijbE`y zyuiJ7?))^-3Hi;dcY`hB?#(9GBp8=j5LU!KBf*=O3*G~06OnULcv&bS>AwGwgCxHM z?WFSP`N`o|8L7d_Xsf|)Dc#w`VJ|CdB9Ma5b2a*cel^_0UK(=A0B{SD%KHmVVNd0k z#=F<>e8_$4mYp#81-3}OrLanr*zOJ7J~fPr*NAp1DDzDq93I>AlnXBBrYjSWp|d>N zYEhU1H&B-Vy#osEism%SpdAGnrl%H&4P8_ zkwv_{|1d1myKF}0vcBs3q!YgEo&P|)P&SVt{3^8wxqsH1@{Yk>dVahZK}d!>eN~=Y z@%O!Bso813kY{?@uyPyC3g>PM7hQUCI1rn!hoUd;=^rBCAy5G^xpl0+lgF;+UxEx6 zsxVyIqxom$n|-IgIs^o987N+%ZFFZ~Z5WZTi;O{|cP;Vps+hMiE^SM)UO4)m5Wgm` z!WT4is}1X2&0pGcckJMQyl;os9b^_ft;AeyZU*Q#OQZ(;CZ`4hf<#}Hx6)WkX$+iJ z_Iz(lb*S?nnq0<$_xeiw#WWriWz!aN!Zyqd60xDLvh57t`}}&s=1O zM<~gh$yQ~kWP3=|eq~(|UjSLbJ~20tx!u4vOFnuy8ueIsWMALvf)p5Z>|Qj#i*V8b z^`aH=RTgA99aF<7EmBWMcQR|M&*}&}Gyp*qJ}qYT@}pvwX{`?f@d1uM;ZZVypzlFe zl8mE=33bw0x7>&*i6z#sOgm<$o0$wm%In8Y{Z*>rkC`6vXF0pt)j3a%jJi##&D@BR zEAXurJ1H?TE;A+gA)X7prEpw$Gd4o(0;baIc6|QNFK_3>w|6a@->Phe%%QU>k+a?o zdHH-nOFS_dgM#JL+&4$w!*KJTtg4LzJ~)&VZ=2V@sYYF)2aR9gFv7`0Ddfid!3W_W$#2{*dvZSmN1vNdB^mRl^F~(Z$YOt@ zowy(Zkrs~d4=gO)CvTz#kmoaIVe-4zCaTN_{(@X>$ADlMSg(8;E_oIp3#HjRdgehc zXuP3i@{_GYgG%lJkjf(Sto!J2x@CqSw|X?6t{x34k{uA&xQUQI&IFRtSUgmHF%1-KD&+q9ageB}T zj%cXl2S0NX+Q?*p3$IJY)a2cN#`{lYuqtc-)v`qu*mokf6A_XFQr{!{-ly->9hSks z>bY@^nM(VS+~vM`q0PI+`Lg{y;B>g5A_I}$$)h93e@#SML9X~nVe60y^ln$xZfG~n z6O=KdOX_^N4AFgZ#DM+BPWbyX-bC?n4ZiH=xY(Ar2`H`__*;T^Gv&Xjh0@$v*iXn@ zcO8|F)D+KTU5@_Lhvaxc^Dnw~90*nD-5MZ3`WF*WmIz-+8p|KalCO5~RM^7G(dMZzG6#hR5@hp~;8rf7kEv>y9Aj3J!w~Cch)+uC9yP{q%viJ-4?A___o{gl=XBMV3WwNE z4ec!AOTSX+=s>A-oU-n!uIP@b#(bYK1y+g;UB7J7VhQ!GYl6uGLw_mQbp@4b>p(y~ zu5)4(vWA{BKeQcABIAMStEK6E>CsklD4;Od@I^!*91)lB>v>ghxh%Aw+Fg^*Uw7q7 zKKn1m+w~@*=;M%#l~Zx$|0NpV4&MxT7gSM>us2?QrM)p+}7e?BP+I>t`?67#4GgICqkUPm@C*(i_Bam(Ys+@Mg zp@^#6s_5)i!=f=}3zrU~&FWuGsoqz?^w2($ZmiiE6 zO)FRtxluc-R?I#plk*kv@6wlqBSpwNgvhnAE0WxgqgIjw6YXU^G2L`24PPB%h{hM{ zDyenGc8y)Km##z|hb{QThMsrwz>l8AWKHhW99*NFs(@KxzK!$hd84ae#3Y$d7$05t zA`1%#H{2&Zq49GEA5yu0Kt{w#D@Ya7{gppSzWVX&Nex$tnI;#T1CvL98ies)yE`pR z0|C1w0Uv>}N`<5|jt^CSDYI1TQzm2>hikN(x1l70eA8#9ri8wD1Wy!>!=>UXrmETN zm;);%Vy(j~fmw>S1`r^v$iwL9Jeeq49Xg0ubI$E{cLTqxXbUZM)CZ+NJ9zs6OAg?bX!NR z5_X42g87Y)Vc`<{+9GG8z?03)kr|<9U;X}``d6ri2l$dQJS`Du@=b>)ueFP!wL+Ss z5&}@ml9VB@+;a2G3U3Q#@27As$Y80WlyQN!6mou@ZuES-6#+^fK(0CD_%EXpIyF&!C|~u&~0pWHo1qg$eby1-A*7u zO@24@!OfGz>gY0uc{to!3K}bp7Upp)Iaw-}AA12GnL*jN{NV~KuUDJ&fu-*wD&d1H-IVcCRxy9_Z0(8kp7S(TL=151%mD_gA|X-1zA`SRy2glw?O zx;Gf9&SSS#V#jRA)rqX$xxBA&4*O{Sb5>>QFCpgP75T~ed6FLSr6kvt(#bsWi`b$N zt_G34ujy&`kc1^Y#?Kj#rX&p0S+70t`YlWo_5lC_Gk|+sCKeucKwoUml$!f6Y-v6W z0C2p__`p)m1v7{TRFGd{4tz|Q!pxc6%FUT#dMqbB|14q-_@;WkZq#r1K;xTczt)JU zom^k<_?XP1aZ*h>%-1yK8M_u?V-{~@PaZX4FzCzVjt&I_pr2;G^G^%S#;^P`QIL&D#3`i?Z0cOYRb@1jAJZ_VJDeld`eehIwb>NiL}T zqaxl&N!3v?fyQ*%3nE-->#U-6D8=wGd65emduUS$EX zr8_9zWdRynfco$2Km_anjlUZnOH&LDGylEy41Q(lcBV|;T^svFI;C_c%$y|T6^pD! zMoF6t&3!35_fauA)tc$=dSj%_QC_m)k=1^Y{&9u->(?0cE~o&q ze*|^cC;x(%lT8oFp5prjRUwdT(Q?t^OKB>i#k9U@ke0t=O@L|~FoTLOnI|OXd_E)NvmNdy*r{@MHK4t?m*$h&B zjHC>5E_u9>j>}6CmqO%SJKCSKqy7xzRMn`t6581gAWJt>)JG>o;E0#~PitrdoHu)F zVbh?H*QiXdH0TmDXuO<~bfbY(7Ah5PWh%|tmz_(o_ zhvZ8hZ!30qa4dd6?9=W;r`#yiz_EvhfV*KUTo>kF*xbULXKJ~3cN@*$4p+nl7B_3!vS}#m|mb# z@szaqN#!>p{);-oJjL{MY0Q_U#z{rc-}4BWv@zbuZ7v)?_oI%#kew=8O4vI@BE=UL zeHy4A_FZ$}%;ULB!gy#CYxY%vr;hL#N-`#tLx^RImz_%=M=pwX|CpXuh1rlGngv7` z)e|I_%T}YZPwAPfvc2u5t_;`AXK6DKW zo_BKVcFYbq<$&2Ro>i35v31`U(!FQ2kwu8LmMz{Oov|of14;|5F>Vr(DoxN=GcBVQ$6N6KqT!2A^Vic^ZXhy4F4`_{gi!TTmh&n ze}#C%^0pZA$JUOeZs>Owp@VF-)4R!<0Tb7m{qDIzEO%pF+(3e6oLRst%lw@gk&I{V z-E7!x^S?&o{bXl+{$#Qc&E5Ah7Y>(~mq*}($NjszUpkhCJs%CN0}hqTmFr%f-Q4{s zF|t!XpGOC|5F+|Z84jsTQo_&O0LdhdihV1)6%@q>UGoQ@l3IS81*Ks8hWVlX%-c+b# z^C%UWJyDQ*Q|&Y+?=w*Weyj1q)VQz0zrC&Z4iRBD_H7}Cc!$F9CX7^zcKHuofIpL< z^H>=zFrOa4-YbxH7Df2q*po`)yZir*J!;BLkv0BrD5;?B?o=xkj-?OL13k(B7yQWi z)eK(!Hv$06*F2CvIVm1s@DSK0e||rxY|UqYUHV@#4~CQvH{<`t`oxp`_)G+NAGSwC z2A>xI1f8?;y`mz+Sz{q%XwU-ytlj1QcmAIS;K--XM1>FFL??bSX3cJR=f4=cl6?0Z z>&6rYGdEF4&9#(W^SM*(;6(A>4{1GV!nuB_U#*l2alLRXikFS$Xg?eL3GKw^X@IaJ zz~S)w!|1&zrvxE7H9E)vyhiO~kx@M7L1o+dtq_g@{0aDL45Ie?`NgIxu^r4t)o-qb zgRPsfoX|}*UK+>)hqi-*1C?h40!pLRr8^C!6!UM(6>v)5H<*DA{cVX?<%KeGLv6Ha zOypAsyZ@TUi(mBW_yF~)Y1WB*Lv=%qaL4fYb;jl-u@H%Uj9P3}Yu*?mg?b&v-G%@mTPw2|DF4Yn9tF$?0 zRcC!sE5=Eg&cN$QpE9)NUMowc9 z#shtls)kS^_4ji2XPN<<0tm797tf_~#y-|z>^EjYIhe5dJE#0%R^wU*#RjY$Cxj{v zLY`h@hfh3>9n$h)F%iU7h7pSD>l@i-M_4FC?4kf(f8-Ml+cM(NM~C0f*-j#CQHny5 zbO@2)S745JBw{RM61HnE`g9kFEjcy(_8$%Ts)Nbad_uUofhHSKbIdr@qxgyF%MYlei;!Cb1HGO|5{4&fDmyiFW1B9Qu0nK$U(!tH<$q;H;-p{7_)NW+l+wu$Yh+Kz@-N)togc>?WQkTyvyJ54UomArLepr3aP;r``@hPK8{#>#wrqH$^5Y5>GFvxjFU0) zl-3?s5u1`CSLhvro1_Cxzgi|}m?AQO?|W8U6<{feEUf^UfoUXoXp71-Eb+$K8jkhu|1%bvfLutDc50OHPzfCz9gkACKBVA_}zT+&IUVrV z-#4gIhrog>jLTs^!{T-mxr=vxrY-pjWywACM2f90?Wu0lCwBQjIEptIf9V~wV+o!#>WAB*9*6OJZR=pxpZ-c#GSgZ_-f z|2#1=l3@v3@|QVba>9u@>FPYf^d1nFDUqK3sSTb_+V1*&6e5lZm&FG4c#3jVJJVmE z4rMPVhyG#-JnDG?y1@L+zNB*#ERUTN=>bJ_!v88XsLx(YuSg3^NXP`0(5(kQ&J=h< z2|vuo^A~!@*H54z&-44d>BSV@@1m)<<-@(cG)=GP?@3}pT`b=j1g+!~XzSFJus;RF z;J3L2nKLb5%)tOZvlS^|^nE-)|9VIe^aC#TI|}M=THyhjHk9yu^#K4I??|)E1ftd? z_zCBO|Hb+t8lXod;KC3&dGo6SA0XL5OGK6q{4bx}Y@C(=z*(clBVFKvZ< zQfB~|wv#bm3;5~}0|7F~NwE_~3ers6Fd;#Q-(_hXA=Y?@aZQzWEgmC}Qi)nWA1y21 zZtKX~G62{+cG6B*=9qCd;r;*@yPpTsPg3HqPEJk`c?5uo!)}?Lmycfm8pm&yT9|cQ z^d})|Fa*@Kv-vVLN{ZjBBx*%YhiX4)qz2;S+6z;$+7DjR{MTliO2hTj0z*W}`iNQu zrt{Q=U(y2=`(!p50kf6vpW>$)&7gIO^?)F!HsV0sYY2*4%Z3lZn8I@H&KT&uLA=F0 zN3sW?-?FPd`#vVrgqm~@@x75roV`2!G@A{jh5SP&?YJy8%vx7iIJ&j!V-nA4fGF|V z57P{$Si0iSof+aS{x|>OYJp|BVrqIbRp#0YiUkCgj_>q|G3Bi1;+$3urHw|ra$&fnQrG@j+$|we67`c05mVn0OD1vr~4WVHVR$PDZ0mr*L8})3u{~S>gkyGb z@5!O@N)T2;IpfKhR*U**dPIOl6)@qO7`cM0#bhOGPR}Rve5V6ks_{3XgDf{UrgqF^ znGwmgrgSAn{|3_wPIyY6sfVNBwxtgdA@n^JX8~O6dFW+k6H}0Ul}KT4q>O;5-g?uL zS3$w7tkO4@nxN9jqOma25(ZrTat|IsF=bM|OY5MIxA9s7k!7yRU&3gYb-#l;L_C;R zpDI&4GBH9_yD3g#BT=ew$t(Y1-3Ps&0h0{m0 z?Yo{uhKwp5*dOU|>lnqAphWVVovlmzeK67_At>JM1_qmFU8#0|ISPU*f!Ipb?Nr)QTugQr0!x`{D7~~mzycO)ov<`GaRDY(S>wt&={b)sNq$Z_ zeJ*W^!&=zN>)Yo8@J9;ef0RPFZj*kit_m2Dk6dW7nmrc^6aRVm!hRM}R^@N&v=WK^ zg+tL>uGs;WXO2vXYTJ$??y$kw`N2tpe-H+1x3y`#Gn{AB^<(-Z*-V}2nRDqV%8mLQ zvuPf5>5iBhG^q2dV~ZqrI`DN(mh$9fP2bGwH742EGUd<4W@We13f` zz#pPyfcW!SEKOm-SjXMC>r8rm*I=XbIEDs;VNpmxKDt*2rN!0@ipT)XOj^LT#7 z&7jY9$B&R_3R_*`L(nZgQ8S~(;i@WQXuQ#L#sim$IkxN08A(nJdA`$ceXrsq)H=@G ze~PK)z%Mb_HPis&yi!XR_ykv`{0uXwjBO+w*VCw->(EK)a14LJZeI1VlfL?2;qJX8 zE3U5SQag)JCJ`N(l9(dkzVP1fUu7ykuHSb!6}DW_Q_(s=54`TA=@9y_;ELP)6Wg;g zG&BU#V)OL611t_`DoE z6om@+`(=3kVbE3~abCy#qxls2*+6~d!FVMQH<3ovlmFigyaO*Tz+z}aw1EE0E1ZfB zErP9dqImb8DoLR;k{VK)|Fzg?Ql_ILu9h{Rh3v9TRpi$WRNGT7Cvh!A0kMmVrW%KT z{q_F07A($5GOlpF2SxL=$fFbi_OpmJx`%Td+?f&lzNORJ$Qg%JMP>pwiw|83e)=EH zpQOP37)Cas*5crnf^ILc>Jzuj} zr;^HbCx&IocbY}RstY-~EN zFdM!q&>(iiGwU|rn-5HaCK+ok1ELnzmYs#biC>8!Tvx~WN*Mv+I5&Fi=`QLHA42Z$ z5DCPrKs7#8w4EqSdN(-S4hAgRsC34QCuN-(AU8gl^EMb2WOVwxJoETqsiYL0D903r z!}PLZT4Wt=Zoke0wg%9>#hj3$z(+JauCwSWVrB=FNVc=CHEwT*e653QS;E}Du8gfP zNq){i&~h42ma5O!yRcI zEz)M^K{xgW(q47RrOP8<-%HP#-({{ZF0B{EsqW({*yjjTq0e)V& A_y7O^ delta 11251 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�!l)|7=ifQAeHB#7#H@TzTwi4v@zE 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 diff --git a/tests/functional/stax/screen.py b/tests/functional/stax/screen.py deleted file mode 100644 index 28c2f6c..0000000 --- a/tests/functional/stax/screen.py +++ /dev/null @@ -1,34 +0,0 @@ -from ragger.backend import BackendInterface -from ragger.firmware import Firmware -from ragger.firmware.stax import MetaScreen -from ragger.firmware.stax.use_cases import UseCaseChoice, UseCaseHomeExt, UseCaseReview, \ - UseCaseSettings -from ragger.firmware.stax.layouts import ChoiceList, FullKeyboardLetters, \ - LeftHeader, TappableCenter - - -class RadioList: - - def __init__(self, backend: BackendInterface, firmware: Firmware): - self.backend = backend - self.firmware = firmware - - def choose(self, index: int): - positions = [(200, 130), (200, 210), (200, 290), (200, 370), (200, 450)] - assert 0 <= index <= 4, "Choice index must be in [0, 4]" - self.backend.finger_touch(*positions[index]) - - -class CustomStaxScreen(metaclass=MetaScreen): - - use_case_home = UseCaseHomeExt - layout_kbl_choice = ChoiceList - use_case_settings = UseCaseSettings - use_case_menu = UseCaseSettings - use_case_confirmation = UseCaseReview - use_case_disclaimer = UseCaseChoice - layout_menu_choice = ChoiceList - layout_list_choice = RadioList - layout_keyboard = FullKeyboardLetters - layout_keyboard_confirm = TappableCenter - layout_keyboard_cancel = LeftHeader diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index dd40e12..5a62ae3 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -38,18 +38,19 @@ add_compile_definitions(WIDE=) add_compile_definitions(TEST) add_compile_definitions(MAX_METANAME=20) add_compile_definitions(HAVE_BOLOS_UX) +add_compile_definitions(SCREEN_SIZE_WALLET) add_compile_definitions(TARGET_STAX) add_compile_definitions(OS_IO_SEPROXYHAL) include_directories(../../src ../../include ./mocks/) -add_executable(test_stax_password_list stax/test_password_list.c) -add_library(password_list SHARED ../../src/stax/password_list.c) -target_link_libraries(test_stax_password_list PUBLIC cmocka gcov password_list bsd) +add_executable(test_nbgl_password_list nbgl/test_password_list.c) +add_library(password_list SHARED ../../src/nbgl/password_list.c) +target_link_libraries(test_nbgl_password_list PUBLIC cmocka gcov password_list bsd) add_executable(test_hid_mapping test_hid_mapping.c) add_library(hid_mapping SHARED ../../src/hid_mapping.c) target_link_libraries(test_hid_mapping PUBLIC cmocka gcov hid_mapping bsd) -add_test(stax_password_list test_stax_password_list) +add_test(nbgl_password_list test_nbgl_password_list) add_test(hid_mapping test_hid_mapping) diff --git a/tests/unit/stax/test_password_list.c b/tests/unit/nbgl/test_password_list.c similarity index 99% rename from tests/unit/stax/test_password_list.c rename to tests/unit/nbgl/test_password_list.c index 1b3f958..349e513 100644 --- a/tests/unit/stax/test_password_list.c +++ b/tests/unit/nbgl/test_password_list.c @@ -3,7 +3,7 @@ #include #include -#include "stax/password_list.h" +#include "nbgl/password_list.h" static int setup(void **state __attribute__((unused))) {