From 1f01a63ad414fdf355022713f2fd6f545bbfbfb5 Mon Sep 17 00:00:00 2001 From: Carlos Medeiros <104493454+chcmedeiros@users.noreply.github.com> Date: Thu, 30 Jan 2025 09:28:22 -0600 Subject: [PATCH] Swap improve (#148) * add memo check * update snapshots * update ci --- .github/workflows/main.yml | 2 +- app/Makefile.version | 2 +- app/src/common/parser_common.h | 1 + app/src/parser_impl.c | 2 ++ app/src/swap/handle_sign_transaction.c | 34 ++++++++++++--------- tests_zemu/snapshots/fl-mainmenu/00004.png | Bin 9192 -> 9060 bytes tests_zemu/snapshots/s-mainmenu/00004.png | Bin 460 -> 462 bytes tests_zemu/snapshots/s-mainmenu/00010.png | Bin 460 -> 462 bytes tests_zemu/snapshots/sp-mainmenu/00004.png | Bin 390 -> 395 bytes tests_zemu/snapshots/sp-mainmenu/00010.png | Bin 390 -> 395 bytes tests_zemu/snapshots/st-mainmenu/00004.png | Bin 11045 -> 10922 bytes tests_zemu/snapshots/x-mainmenu/00004.png | Bin 390 -> 395 bytes tests_zemu/snapshots/x-mainmenu/00010.png | Bin 390 -> 395 bytes 13 files changed, 25 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 96ca1265..5bb48b8f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,7 +87,7 @@ jobs: run: "cd tests_zemu; yarn test" - name: Upload Snapshots (only failure) if: ${{ failure() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: snapshots-tmp path: tests_zemu/snapshots-tmp/ diff --git a/app/Makefile.version b/app/Makefile.version index acb4aae2..865f1530 100644 --- a/app/Makefile.version +++ b/app/Makefile.version @@ -3,4 +3,4 @@ APPVERSION_M=2 # This is the `spec_version` field of `Runtime` APPVERSION_N=36 # This is the patch version of this release -APPVERSION_P=5 +APPVERSION_P=6 diff --git a/app/src/common/parser_common.h b/app/src/common/parser_common.h index 20b654d3..1acf9cb9 100644 --- a/app/src/common/parser_common.h +++ b/app/src/common/parser_common.h @@ -91,6 +91,7 @@ typedef enum { parser_swap_wrong_fee, parser_swap_unexpected_number_of_items, parser_swap_unexpected_field, + parser_swap_memo_not_present, parser_swap_wrap_amount_computation_error, parser_swap_wrong_type, } parser_error_t; diff --git a/app/src/parser_impl.c b/app/src/parser_impl.c index 73f20a5e..15e71b69 100644 --- a/app/src/parser_impl.c +++ b/app/src/parser_impl.c @@ -115,6 +115,8 @@ const char *parser_getErrorDescription(parser_error_t err) { return "Swap wrap amount computation error"; case parser_swap_wrong_type: return "Swap wrong type"; + case parser_swap_memo_not_present: + return "Swap memo not present"; default: return "Unrecognized error code"; diff --git a/app/src/swap/handle_sign_transaction.c b/app/src/swap/handle_sign_transaction.c index c219f961..3bb2db5c 100644 --- a/app/src/swap/handle_sign_transaction.c +++ b/app/src/swap/handle_sign_transaction.c @@ -179,17 +179,20 @@ parser_error_t parser_msg_send(parser_context_t *ctx_parsed_tx, uint8_t displayI return parser_swap_wrong_dest_address; } - // Check if memo is present + // Check if memo is present. If size of G_swap_state.memo is bigger than 0, then a memo should be present displayIdx += 1; uint8_t has_memo = 0; CHECK_PARSER_ERR(parser_getItem(ctx_parsed_tx, displayIdx, tmpKey, sizeof(tmpKey), tmpValue, sizeof(tmpValue), pageIdx, &pageCount)) - if (strcmp(tmpKey, "Memo") == 0) { - has_memo = 1; - if(strcmp(tmpValue, G_swap_state.memo) != 0) { - ZEMU_LOGF(200, "Wrong swap tx memo ('%s', should be : '%s').\n", tmpValue, G_swap_state.memo); - return parser_swap_wrong_memo; + if (strlen(G_swap_state.memo) > 0) { + if (strcmp(tmpKey, "Memo") == 0) { + has_memo = 1; + if(strcmp(tmpValue, G_swap_state.memo) != 0) { + ZEMU_LOGF(200, "Wrong swap tx memo ('%s', should be : '%s').\n", tmpValue, G_swap_state.memo); + return parser_swap_wrong_memo; + } + } else { + return parser_swap_memo_not_present; } - // Prepare for fees displayIdx += 1; CHECK_PARSER_ERR(parser_getItem(ctx_parsed_tx, displayIdx, tmpKey, sizeof(tmpKey), tmpValue, sizeof(tmpValue), pageIdx, &pageCount)) @@ -309,17 +312,20 @@ parser_error_t parser_simple_transfer(parser_context_t *ctx_parsed_tx, uint8_t d return parser_swap_wrong_dest_coins; } - // Check if memo is present + // Check if memo is present. If size of G_swap_state.memo is bigger than 0, then a memo should be present displayIdx += 1; uint8_t has_memo = 0; CHECK_PARSER_ERR(parser_getItem(ctx_parsed_tx, displayIdx, tmpKey, sizeof(tmpKey), tmpValue, sizeof(tmpValue), pageIdx, &pageCount)) - if (strcmp(tmpKey, "Memo") == 0) { - has_memo = 1; - if(strcmp(tmpValue, G_swap_state.memo) != 0) { - ZEMU_LOGF(200, "Wrong swap tx memo ('%s', should be : '%s').\n", tmpValue, G_swap_state.memo); - return parser_swap_wrong_memo; + if (strlen(G_swap_state.memo) > 0) { + if (strcmp(tmpKey, "Memo") == 0) { + has_memo = 1; + if(strcmp(tmpValue, G_swap_state.memo) != 0) { + ZEMU_LOGF(200, "Wrong swap tx memo ('%s', should be : '%s').\n", tmpValue, G_swap_state.memo); + return parser_swap_wrong_memo; + } + } else { + return parser_swap_memo_not_present; } - // Prepare for fees displayIdx += 1; CHECK_PARSER_ERR(parser_getItem(ctx_parsed_tx, displayIdx, tmpKey, sizeof(tmpKey), tmpValue, sizeof(tmpValue), pageIdx, &pageCount)) diff --git a/tests_zemu/snapshots/fl-mainmenu/00004.png b/tests_zemu/snapshots/fl-mainmenu/00004.png index e99ed85195da9cfdec75d17a27503b7567a9f6be..50f87a8a4890a630d92e9f2e44d5eb140e6726eb 100644 GIT binary patch delta 7045 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 CpOhZ} delta 7199 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 F{{e7gz>fd` diff --git a/tests_zemu/snapshots/s-mainmenu/00004.png b/tests_zemu/snapshots/s-mainmenu/00004.png index 10cd4741742fda6df992d009181fb2b1749051a7..e629942809baccc5f33b0fa905cc85b8d0944905 100644 GIT binary patch delta 436 zcmV;l0ZabO1I`1GB!87jL_t(|ob8!OlEWYjMdhx}{SWMgdqG0Uni!HWbp5w-ups11 zfJBG@004k5a-DRY#`Bv){R@6)PoRV#ChAjX9U$Z`9s|5gYYIz3+zQyb#a0$Pz z(2GyE*BdOuy#E6dI|S)h8G9KQU#lhhwvJ6U98Fyo^eqw0zYlM7xjV^AtBNUEM?MAs e00000#_|Wr8tcu-P8i?-0000OtQMR6*9{{wsBER?8drf7&Ql=^Sw($wyc zga8u(0000ta-DRY#`EM-|ANoeFVM;HTKxup%u)mJy( z?#)DJEy%ldWA#l_&1kfVxGfCj0YdIy_degnU5TqsgXLC|>u;wt7Cfk}9| zLLWZePQF9S%DV3Xg?*H|iD!#(aapY}<~{cDIf6D9bSu-PCmdSv$%WTY#kU=AO#lD@ c005AfFJO`3-CPUmMgRZ+07*qoM6N<$f&`z;n*aa+ diff --git a/tests_zemu/snapshots/s-mainmenu/00010.png b/tests_zemu/snapshots/s-mainmenu/00010.png index 10cd4741742fda6df992d009181fb2b1749051a7..e629942809baccc5f33b0fa905cc85b8d0944905 100644 GIT binary patch delta 436 zcmV;l0ZabO1I`1GB!87jL_t(|ob8!OlEWYjMdhx}{SWMgdqG0Uni!HWbp5w-ups11 zfJBG@004k5a-DRY#`Bv){R@6)PoRV#ChAjX9U$Z`9s|5gYYIz3+zQyb#a0$Pz z(2GyE*BdOuy#E6dI|S)h8G9KQU#lhhwvJ6U98Fyo^eqw0zYlM7xjV^AtBNUEM?MAs e00000#_|Wr8tcu-P8i?-0000OtQMR6*9{{wsBER?8drf7&Ql=^Sw($wyc zga8u(0000ta-DRY#`EM-|ANoeFVM;HTKxup%u)mJy( z?#)DJEy%ldWA#l_&1kfVxGfCj0YdIy_degnU5TqsgXLC|>u;wt7Cfk}9| zLLWZePQF9S%DV3Xg?*H|iD!#(aapY}<~{cDIf6D9bSu-PCmdSv$%WTY#kU=AO#lD@ c005AfFJO`3-CPUmMgRZ+07*qoM6N<$f&`z;n*aa+ diff --git a/tests_zemu/snapshots/sp-mainmenu/00004.png b/tests_zemu/snapshots/sp-mainmenu/00004.png index 44fa345bedf4b23e36a9c753f5f36e07dbbfb814..b90112c11ead710c64a0fd5f83c3a5579dd29e4a 100644 GIT binary patch delta 368 zcmZo;?q;5#QXk~$;uumf=k3kdzGed+w~Ibk=cfGk{uK91!1U9RpNScrXJ5=yXK8VZ zcUqvP%76eL=bl3!2d#Z z$>F@!f92xrZ33MyN-n*>IOs~TTX;s)RKp$1uGgzu-e*kpdKGEeX+3l0t-1TRJya?G z{*hxB%hFJjvjIDwS48bleNi!G@z>+;=EPk7dv~R5!{5CtUz$jNx|X}NzfY*V{y|Adv@9vv-w(@II<%#eG z^@n`j5|w|i%XHYfAn4x3qt8=?f5%T(eWASgXiA;=jj+2-FD81w70=+5+F81>So4C= zl#q!#fA&1RwKBW4npd_q(r4ANn>DXCoo{&egH@-G2@x<2ulF!8uKeb3+xg}Kkf^7t KpUXO@geCxY;jCZ) delta 363 zcmV-x0hIoW1BL^TB!5jwL_t(|obB0LvVt%SfZ=+^opk?8%3jVx$4+c|QB;!Z|2;84 zv6Ga5Ate9+00000000000Pu}OL`3ZNiIr&}9@rgqzCW)Yo~S|5F-rGYDe5_+D>S1@4n8yMgMXawfU+d@s+@#7nWfrY zzjojx?(X>rT7uFlG)=19<9JxO67+Z|NA<_6=%0)nc%lk<;yLWehWFw!kH^`T&iv5meA_$1b0)XuynC@c zFU@!mx002ov JPDHLkV1l8MwGjXS diff --git a/tests_zemu/snapshots/sp-mainmenu/00010.png b/tests_zemu/snapshots/sp-mainmenu/00010.png index 44fa345bedf4b23e36a9c753f5f36e07dbbfb814..b90112c11ead710c64a0fd5f83c3a5579dd29e4a 100644 GIT binary patch delta 368 zcmZo;?q;5#QXk~$;uumf=k3kdzGed+w~Ibk=cfGk{uK91!1U9RpNScrXJ5=yXK8VZ zcUqvP%76eL=bl3!2d#Z z$>F@!f92xrZ33MyN-n*>IOs~TTX;s)RKp$1uGgzu-e*kpdKGEeX+3l0t-1TRJya?G z{*hxB%hFJjvjIDwS48bleNi!G@z>+;=EPk7dv~R5!{5CtUz$jNx|X}NzfY*V{y|Adv@9vv-w(@II<%#eG z^@n`j5|w|i%XHYfAn4x3qt8=?f5%T(eWASgXiA;=jj+2-FD81w70=+5+F81>So4C= zl#q!#fA&1RwKBW4npd_q(r4ANn>DXCoo{&egH@-G2@x<2ulF!8uKeb3+xg}Kkf^7t KpUXO@geCxY;jCZ) delta 363 zcmV-x0hIoW1BL^TB!5jwL_t(|obB0LvVt%SfZ=+^opk?8%3jVx$4+c|QB;!Z|2;84 zv6Ga5Ate9+00000000000Pu}OL`3ZNiIr&}9@rgqzCW)Yo~S|5F-rGYDe5_+D>S1@4n8yMgMXawfU+d@s+@#7nWfrY zzjojx?(X>rT7uFlG)=19<9JxO67+Z|NA<_6=%0)nc%lk<;yLWehWFw!kH^`T&iv5meA_$1b0)XuynC@c zFU@!mx002ov JPDHLkV1l8MwGjXS diff --git a/tests_zemu/snapshots/st-mainmenu/00004.png b/tests_zemu/snapshots/st-mainmenu/00004.png index 136bed48367b89b1ac93cbd4ffcff83569760082..853d40c7fd1f1c3ab44c38d4b37cde8758255bdd 100644 GIT binary patch delta 8544 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 delta 8690 zcmZ{qdmxkj|Nl`rA37*vPURE}Ipj3lD%BEl7dam)#GIM4Es07+Z8f(!btB68IGMv7 z%4wo3TP#L1Vln4o%=dDCe*gZizqV`dYkR$~>-~DYp3ld7r4H{LUn=wdd8MK+a_Rbw z2o#%Xen5G*jA_L|+ojC3tGoS=r%sUq_8fpO3vQ%4ca8^V z7SAomBtXj^RK*X!d|4ldEiIjxn5eAq&#^6Gv)O8fNFgVp9^bS2IGH)u^+Z;V$U`pz zEz@Td?(U57$MzdIIGl?YEaXnd<|+5lH54oI=IC^Kq>1tDLq((fASxunNbH7RZpc1PPwYo#;Kg z_7REy3cPH<_!!69fO^6^5Cnx5N4uvwq8UB(drI^^jxrQqNfL>~1`=o#_(I8bY;pLD zjm_!kyS0^Y*A#`xq$DdBvrzV`YB}~7r*kqA1D;AyLvn%(?~|0n8EkJ%A9hdBe2 z`9SK%!u}D|JT5OT(CRfwN}PI(6OJ;wclDp*4^eZu5l~e5kF$PF+cLZN7V-AGe$g1W zo0Rpa<~OHJi zvGZjr^rg*G7>IaPL-bS@LPgR`p|EJi#|xT*)2 znt!SJDCLCkI$tgi9)`P*(i(0;#tZ6e31~)2V7pv?XzcJv09K@3(3r~(iKW9IO4%$0dmSfoXOsY%p^s@ z?$aL_@%_7m{&VADwb#5VCV+T`1j|LT)+2qK#p4`?srbP2*>yV~%#g>LuAx5dnYyb~ zJBI9k4bnCF7fjZpfW;~HFHm>+SifgRkeULfJ;ZKl55ITfK~?O$EqfV1r3Vx68n09M zvaI(^TS_1_vxHk^d_lLYw6sLbig!n}Dt6OYkZ)MHy>%1EkM>rBqdjDVC4O#Dj5C${ z%CdQR8qX;oMBA&OkO+6L^+cNfmoiu0Nj+|*!wo9V!J%)+AM4RvURsI^%8l@r?hb2l zTo7?^Sm$yVbF4{gF%WYgr#J7Nq zsVIn2ewA-mLYf8=5$a+*yY|bkzZNWdacgR;;lO6WNF35>uu0$Mok*cv7Oxoaq#r6e z)y$`K>Ok^`hN`66HOM)U8FZ(+_rnL^5vZ~tYO#O4)cLRMR%EF^wr?)t%q8Fc;1jxv zK7($dx7~RhF|%7fW+q>)QTIYi!PXV^Oq0D^6nOHHJCat(sdG8EF+M)d0lM3i=K^t1 z)F#|t37I?tcQ^beQlx7s1|mN3ke0f-1-T#LjLGNz+8rm(3YSpSLW?Y5c(e@wxoNC|8DU|MH>VhNUDypcG zxw=)}6lw(OzDO)k-)^%*DHC) z54v4)rBi3k(`eLTjT&m6ua-euwdegfv~4;L*X?D2=C&ujO0QOpve?{Z^)zIGdidar zl957n>}Xh=N$$>>rCkJp#`446`2BFk>$Ox*P5QB())r;xj{Wq&WoI7ExT{`$@2gqy zts_-01Prus)P)(O|1B}{r0Q&T{SRCakV(J+oSq8(*n}vNx@x|yKjU=pVB6Ej5bO8L zN^+Xx+A;?_8V2q4!f(Go>cZbSlW{@zlFj3`D41{d!_;pBIc7Q8DluP=-R~qo(EUruX?3; zOIyAA(_UU0;7fS#R;;}hH)68I$k9x@fKjC47B~pq!v@tx*y5A=f1S=~=WBaPa$Fhh7(|^9 zOr+xQU7Dg@u+}1d8^-Gv$5eC)3EGy@z5I{2gtgdZCvLY&esGh_vx55wG=3f* z>^oU3`;{^_XC9o~Hce8HdXO!@`J#~fd}KQ2hTV&NV#J`2vm<4_QyVV$@NFeCObLq0 z8JgW1tx->#$LA$rzS0cLg(n$6Z{wn>im^p?bkD3=?lmPm-x4Z>z^lVjDtnZV>yP_+ zTiDs>-O={s9sJ%Sz6b7T`$J~vYDrz>Cg;foPMbxp?f=@|b(C^iLA(fXTT4s#s}JhJ zL&c9#VN{%zeSMIoL9xF{#B%#wBt9yj?Qfo;{Y-Q4aZdF%dasgBXQ)KFOZ6e3`wBT@nm)*nPA{)+fmsDW0oX(kGUq#{(C~hRc4kG}H6uq#LxdJmw978@t==zgZSM7{68|{!e1Rj!dX~K$ znKE;^FOCK1hzU%Z#`KzlJ!x#}0@=pKdVFnmNMYAFolal=9i6+~mZ<<_T26#NHr4wF zZecF6v~(W0l}!BN%#B-dP7V&A!@xBv970sHI~9kve$3-B^UVx=l3x|N@|3c@fPCG) zGPEsZp8lK-3(BqE^cJDZ&dGyvWA{o`m>g z9Z@E}jXkKHcHy+YSGBVxAJawcsxK*otabAbot|%N!Xr_?4Z?`>bm{DT+Icl-W)pnv z<=|_Jb#wDmYp-&%4Lr(hXR6H`9eE}#9mT=!o~|oDyim%zzH1WmkX^+~$Vlr_N_8`H4+>w|jcd`^DC?U>VJ1v3J~P;-|23yF(sCOLxuh zA<8wDWHe>EFVW6R>O7Fl2k6SIz`|`90A@}823;rZesO-fHz=s%Q zH|;oap3|nDw!Ew(TBt7k(Caha@f$A4!C|mTN0e@afJdAF5B)Jq_;|29bXkwEqidt^IlAGJ0T?-=3Ewt%d?+m+lYA z9(8nR7!9;7A&~+OE_Ia~E8p^#ln$8vYbs{F|%7Ax@w^3};#M$Jn%t|JI zM3=qfmRK3n#ZIgr&>@10 zb5nfKNr$D7_dF%7*!<+_-|++*^Yd6dexpNtLU-wcomhEaI%;ATiuw*u1f*cR1FHZ` zT+=07w>h!*0t{Yt@$%2Imwe;nOljC#>FXsazI?X3w8BXQW(v<$_`8Q*1Gcs~T%%ll z30v&rJQKUvIG93!Gey@3z*7l@M*8r zwxc*V1dO&N+J;@NGwvV!{qyU+gJA856^04i!1mE{^_mOby|}xSC|evP{prhR*^aZK z<;ac?kRgGo-xNe0^-v4B&{0Tjt`yB_Tq-i9H&PcS?>Og04EC*HBD8Es?oT#n} z^l|cdyVtRubo^k_8#T<5HN>F09;VYK1}xvGA*PwCUH5S-rRKCX9Dyw2^!Lp4nZ80? zkeU=%)pIdgKE!3BIxBB-_IV+BSERVK6k9yU;m!z%wDhm?mHEpgYF%MH0@P8Y-%LZ~ z(%ggh>cXv6{F-bw#`ta0i2j#JhRjFnxF;s1!xu1y;Ivb*u_XQEP|BT5>BjjnFFm5} znXO0@|MzqK;3XT#oO35>u6{Idde$g?UG;nUt0pDdf67AlmOVBS5DGoX$(tV=2Y4&) zEQKfHdu`SaQ*rAG=sz5!$KG%4fwO`CV30k^4 z7aP~Ocd`%yJv3}2tL_mLB`SaPdBOb^=T1h*#*v|;9`V8U_Y+o)#M??NV)KyspB1b_(+$H zo5!VQ%bz21KI^jF{X`#nO6U{^et>jp7^o*~XGxWh z=9o8|`3Ah@ImqVhx{Qp!tAx$ENm^-taA(A7ARqMqCN4}56>ZGOl*H-|9E#TGv;xbHgv z$aj){BF!!jARcyrEyMv{e)Y{pBH^Cx7s94X7Gi;DhkP;j=S_n6Fatzghzg>1hn3T> zcw&5pt;ZLlM3{#V=~vj*gR^zF0EgV;2T&E!qjV$rHMt@now}tIGJ5)Cc1QE~*CM?^ zp1d3b61|I7p2H6kE^ElKqo+4lf(vOiD7>mR`lg=T`%30C*3vXdfi;z6peOwYZ`*ka zkWFA>EtvFn+4WtLiWOAC3L!7BxRrnzF+6*-^rh_=#p*~I^>jLzIIKUiA&S-L**$!Q z7{1aEQ}(InJsL%q@O%i5t!b}X`O$77pMl<$QCimj-Spe&YO}=H71`H%S(Y+(bWH&% zSWU8(;nPk_S`f&NE|{$r^fk4Qn)3&_Y_l=L<0dcTw3^(JRrzUhBJYgf;UGPqYocO& z1x$R{udDZp{7sCs5>E-~W^J`;Iu`MAUH<`*p?%tJxjb!k0=D>&M%N~`D%+%&Z*N*l z;N*unah@Yq-#&t%ytx}~&NF`+i4o`=DOYFkY@`V^qp!*^ogSwD1h6G> zO@Xls!|Ui6nH<#H??aaCC*oSq=uT1sxe zEp`>wXzwTrpta5;S@nM5#DB_NRAC#{D;T!q;miNM-43^?F}2e_x#{5!Na7~L zJJoCFZx(;b_k1$l8T01Gw#_Q_QfAfBd85U#Ln|kC2#16|_2IV861Fz=myoOFAg5?E zy%>slxk?he$xi`ukmSXAnELsxgYIYZiO2BOXUBpsQ>PD^m|6VJoV#sQT_;H(0isUC zZwijUj5m`K-RMTul?#yyA>Jcx8P7c$Ho~3CrBF)xK@oR$|-c(Pq|0UX@`Wr%cVEqqZmhrmTAv{{c+O(XAwdJ@C|Z7F3{jHJ>^? zu}x(BjbV754S%`W9Fs7m%l$gT0LZ7J4GHE~sGdfT3B{Fa z2tDbm(;LH$Tth2wUE}O_w-5-Xv%~sk@)>2Xg}mfq^E}BnC=D26^Rjc2sZ*PQhYyBt z#6Tt-{GBl?o$6`kql-suTnQiCDI;)q3Y-FmIUJnyC=(MZR7Vc~eC3g0cf~1)x{+vM z^zI6IUM0~Ae7j`^ff7@kX#1tUks|litp9)DG2xth3U#%_nuXHD~TRq3$&UcL3 z86IyRCu5OacsDI~ihm6^EVmsce(Uf-uJeM!8y{o!Ae{?9XZbqT0V2P()88WRB;{R2 zeag=oe!2kw3=8p1ZRg=zJf4ldUhY~_3o2W4h3snnYwncrd6(|op;?$vwojJFi~xCB zFc`3upZll3C-98RI*DWpPcj`R9vkF!4=;P61eC|bz9q+vqSHaf$hfQ>K*}vhPf&01 zg9zLuf#fufhQ-h3h1JbgI#n9E1U*~__SzLW!L_(Ysv;I^+b#wQCQj&5MW z1agZRHiwqrfRSW)DmNi7LWIO~8&P?$x%NHxxvyVF`Q2+6EIFr)Tsr^@1=wzK@7J&2 z;O)@pL*$iWKIA5TBnn?O3z{Pb*M{`p)2H5(_@?m@gzHF<6bmn_rs%2B2S5X_mhF zMqs=9q|(jX0HFH2b|39ND*y@-6a~uYsrti5M~+^c6apNszD;ye;jce{9xzTXq}pI7BKGoGcIbI@v}0 zig&{R$YEQOCGRL{bu>yh!1eFBkI8y<3J#Yau0+^N>SED;sf!Eu{uiv0r*zi)^v&3Ib3Rm6}aBHXcG%i+Yc&1m-z+M7DPK zv*~QmF$eBwhiY=iA$-#Zu=NXhcY^FK{fWnnmUYuFs^gF0|D(Lq8vha!^@+NBt|}+a zA8)4sEL&?L2oiJn$|f>NH@%Lyhj9M#m!uV5;Ma_8w1qRiGCRw5*!Ma=hH%>RzU=?5 znU}o+e`{#`?;;zfT7tM2m9R4gCITQQ#~5CTS`Ex?PG1XU{b5QCgwwA9!yv6skuA&feP7E#cjORa1X__kW*hZ zQwqP^sz?B2Vb zUfM}WFCaT`K^Erb;y?jsW*7TYHzsb{smi@qhAx_{C-!=#J?b=!WU)jMO_^ds*~O!Q z=M@wbqI2WSn?``@&y;*{#Y>!-TI~N&@kzmr-<3Cccj<-8}!Dc&&)-v`Q6*Ao>E zCUL>HC!RmY1u;_4XS09^Ncw1oUEVy0>ta9lrw{j^_mfmF0XT=nAmJH9;h9Im0(u#S z&QVlCuGRLP325?~d5ux%S!RTv9Qd});M9UwSug*S7L!=W5J}%Ge~6wr8@rf8WwEVo z`(DBLQzG3BH=q3HYj}XBLArmx09L`J+xyBE?Fg&?o{R26}D*}yQfjpDFn{x@+-D>4O1MCBs0n?HEr+Dt83UEqF8^QqY z2c3P&aQf|Rft-HOQiD$JfZ~gi$25&%aOWW$wsH9PRPNzE*}xTCEf>Zs+m>Yd9yT;|MG*VkMf8v*x2Ql~lZ|g<-dSX*R^^u4Ph`63 z#K4j@8LQuox!FGA1K{9vir76I0F&y2nyCxGzFvMs^Jo!dh>72zeLsfqThfClS37Ex zqJws?{wgfhXuX~ev@T#K>`xM%?N7GjM{O)zDe&Z(D*S z_4M>`I2c zGYW`g&k0Zo%39A4eBP{UusUakM&%_V`?SwhUOhSs$et(K zqkVIP!mg?6q66xzJGIdEl2H+`AzZe%YuH>1@lNG4t|1ymIhP zbWMT+riIqAacDt8+(iXohlx(fW^Pc_BX6Uo8d#rsc?vpC! zI=-$4+8N29%?tp0bn(j7Ivf4%^LX2k?;V6Lbji+2CdB%;)G5_`mDkO^LyBh-!u8k# zXT-{($&gm2b7z=4y&dlsiwUiL*>PUI&j5OAPx}tn`NH1E*XIY9oAXq1%2V1Ovh4C^ zwfB(1CRqr4>@^%;inls}p^0!!-cva|*tEyx3>lZ09ia_;7|PnirP_UD-hEXS;KYy( z=g*&NUkQQn_(C?AJ}0owQrX50JGRYDi!(GUlp^}s1HBUSpmoMxvpMECEZ^=_n}KMV zPSdr`8%Lq&5Bd?p?Z*<+q^2YGpH7kc-ImZ)N^Sx_$E{cbMu8}|S zfc6~yN-f~kS0QPx$!uCd3|x?MbC96ko@)l>x!VsX@pHIQeX^T89Ae#GvmLIw zrn$Vbf8Ee#ioc3SHZV4{(KFleS4x(Z7cYB@0i1lZe^OxhTB|Y;(j?G3lj{FY9xwrk zXH>pw=kwxEI`mVCs5|Gdb+^lts362|`O;^!5T;!Hz;yF;2M};_{cz3H#UoDbiM?QU zL4EigARZwCq|W1wV|qKE`7FhkEJErBJ}=qr9Eb~YF$RK6^L*p1ZKrv~i`R3_T9;{B z^yV}$H_md_y3O$ZP!0a9_0xODgxT};;lK?!@ufU}JO4%tq#`E*>FH#MUOQ7Dd7S-r V?sw~%V?4kCwX(fbdBN-9{{iJ8(vtuH diff --git a/tests_zemu/snapshots/x-mainmenu/00004.png b/tests_zemu/snapshots/x-mainmenu/00004.png index 44fa345bedf4b23e36a9c753f5f36e07dbbfb814..b90112c11ead710c64a0fd5f83c3a5579dd29e4a 100644 GIT binary patch delta 368 zcmZo;?q;5#QXk~$;uumf=k3kdzGed+w~Ibk=cfGk{uK91!1U9RpNScrXJ5=yXK8VZ zcUqvP%76eL=bl3!2d#Z z$>F@!f92xrZ33MyN-n*>IOs~TTX;s)RKp$1uGgzu-e*kpdKGEeX+3l0t-1TRJya?G z{*hxB%hFJjvjIDwS48bleNi!G@z>+;=EPk7dv~R5!{5CtUz$jNx|X}NzfY*V{y|Adv@9vv-w(@II<%#eG z^@n`j5|w|i%XHYfAn4x3qt8=?f5%T(eWASgXiA;=jj+2-FD81w70=+5+F81>So4C= zl#q!#fA&1RwKBW4npd_q(r4ANn>DXCoo{&egH@-G2@x<2ulF!8uKeb3+xg}Kkf^7t KpUXO@geCxY;jCZ) delta 363 zcmV-x0hIoW1BL^TB!5jwL_t(|obB0LvVt%SfZ=+^opk?8%3jVx$4+c|QB;!Z|2;84 zv6Ga5Ate9+00000000000Pu}OL`3ZNiIr&}9@rgqzCW)Yo~S|5F-rGYDe5_+D>S1@4n8yMgMXawfU+d@s+@#7nWfrY zzjojx?(X>rT7uFlG)=19<9JxO67+Z|NA<_6=%0)nc%lk<;yLWehWFw!kH^`T&iv5meA_$1b0)XuynC@c zFU@!mx002ov JPDHLkV1l8MwGjXS diff --git a/tests_zemu/snapshots/x-mainmenu/00010.png b/tests_zemu/snapshots/x-mainmenu/00010.png index 44fa345bedf4b23e36a9c753f5f36e07dbbfb814..b90112c11ead710c64a0fd5f83c3a5579dd29e4a 100644 GIT binary patch delta 368 zcmZo;?q;5#QXk~$;uumf=k3kdzGed+w~Ibk=cfGk{uK91!1U9RpNScrXJ5=yXK8VZ zcUqvP%76eL=bl3!2d#Z z$>F@!f92xrZ33MyN-n*>IOs~TTX;s)RKp$1uGgzu-e*kpdKGEeX+3l0t-1TRJya?G z{*hxB%hFJjvjIDwS48bleNi!G@z>+;=EPk7dv~R5!{5CtUz$jNx|X}NzfY*V{y|Adv@9vv-w(@II<%#eG z^@n`j5|w|i%XHYfAn4x3qt8=?f5%T(eWASgXiA;=jj+2-FD81w70=+5+F81>So4C= zl#q!#fA&1RwKBW4npd_q(r4ANn>DXCoo{&egH@-G2@x<2ulF!8uKeb3+xg}Kkf^7t KpUXO@geCxY;jCZ) delta 363 zcmV-x0hIoW1BL^TB!5jwL_t(|obB0LvVt%SfZ=+^opk?8%3jVx$4+c|QB;!Z|2;84 zv6Ga5Ate9+00000000000Pu}OL`3ZNiIr&}9@rgqzCW)Yo~S|5F-rGYDe5_+D>S1@4n8yMgMXawfU+d@s+@#7nWfrY zzjojx?(X>rT7uFlG)=19<9JxO67+Z|NA<_6=%0)nc%lk<;yLWehWFw!kH^`T&iv5meA_$1b0)XuynC@c zFU@!mx002ov JPDHLkV1l8MwGjXS