From 102aa4d1b3a36935efb338dfc12bdc95f8c66cc1 Mon Sep 17 00:00:00 2001 From: OTO Date: Tue, 12 Feb 2019 20:41:19 +0100 Subject: [PATCH] - balenos UX integration - fix for memory placement of N_storage (on balenos) - fix to avoid ux_step/ux_step_count in balenos fix makefile against real target id for the nanox fix target name in main.c fix balenos icons on dashboard implement NO_CONSENT to allow for M2M interaction --- Makefile | 28 ++- balenos_app_akroma.gif | Bin 0 -> 1123 bytes balenos_app_atheios.gif | Bin 0 -> 1119 bytes balenos_app_callisto.gif | Bin 0 -> 1121 bytes balenos_app_ellaism.gif | Bin 0 -> 1122 bytes balenos_app_ether1.gif | Bin 0 -> 1120 bytes balenos_app_ethereum.gif | Bin 0 -> 1116 bytes balenos_app_ethereum_classic.gif | Bin 0 -> 64 bytes balenos_app_ethergem.gif | Bin 0 -> 70 bytes balenos_app_ethersocial.gif | Bin 0 -> 1121 bytes balenos_app_expanse.gif | Bin 0 -> 1123 bytes balenos_app_gochain.gif | Bin 0 -> 1117 bytes balenos_app_hpb.gif | Bin 0 -> 76 bytes balenos_app_kusd.gif | Bin 0 -> 1125 bytes balenos_app_mix.gif | Bin 0 -> 1124 bytes balenos_app_musicoin.gif | Bin 0 -> 1116 bytes balenos_app_pirl.gif | Bin 0 -> 1122 bytes balenos_app_poa.gif | Bin 0 -> 1119 bytes balenos_app_reosc.gif | Bin 0 -> 1124 bytes balenos_app_rsk.gif | Bin 0 -> 1120 bytes balenos_app_rsk_testnet.gif | Bin 0 -> 72 bytes balenos_app_ubiq.gif | Bin 0 -> 1200 bytes balenos_app_wanchain.gif | Bin 0 -> 1123 bytes glyphs/icon_certificate.gif | Bin 0 -> 1133 bytes glyphs/icon_crossmark.gif | Bin 0 -> 1131 bytes glyphs/icon_down.gif | Bin 0 -> 1100 bytes glyphs/icon_eye.gif | Bin 0 -> 1130 bytes glyphs/icon_left.gif | Bin 0 -> 1101 bytes glyphs/icon_right.gif | Bin 0 -> 1100 bytes glyphs/icon_up.gif | Bin 0 -> 1100 bytes glyphs/icon_validate_14.gif | Bin 0 -> 1125 bytes src/main.c | 409 ++++++++++++++++++++++++++++++- 32 files changed, 431 insertions(+), 6 deletions(-) create mode 100644 balenos_app_akroma.gif create mode 100644 balenos_app_atheios.gif create mode 100644 balenos_app_callisto.gif create mode 100644 balenos_app_ellaism.gif create mode 100644 balenos_app_ether1.gif create mode 100644 balenos_app_ethereum.gif create mode 100644 balenos_app_ethereum_classic.gif create mode 100644 balenos_app_ethergem.gif create mode 100644 balenos_app_ethersocial.gif create mode 100644 balenos_app_expanse.gif create mode 100644 balenos_app_gochain.gif create mode 100644 balenos_app_hpb.gif create mode 100644 balenos_app_kusd.gif create mode 100644 balenos_app_mix.gif create mode 100644 balenos_app_musicoin.gif create mode 100644 balenos_app_pirl.gif create mode 100644 balenos_app_poa.gif create mode 100644 balenos_app_reosc.gif create mode 100644 balenos_app_rsk.gif create mode 100644 balenos_app_rsk_testnet.gif create mode 100644 balenos_app_ubiq.gif create mode 100644 balenos_app_wanchain.gif create mode 100644 glyphs/icon_certificate.gif create mode 100644 glyphs/icon_crossmark.gif create mode 100644 glyphs/icon_down.gif create mode 100644 glyphs/icon_eye.gif create mode 100644 glyphs/icon_left.gif create mode 100644 glyphs/icon_right.gif create mode 100644 glyphs/icon_up.gif create mode 100644 glyphs/icon_validate_14.gif diff --git a/Makefile b/Makefile index e6eef26..9a1f818 100755 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ APPVERSION_M=1 APPVERSION_N=2 APPVERSION_P=0 APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) -APP_LOAD_FLAGS= --appFlags 0x40 --dep Ethereum:$(APPVERSION) +APP_LOAD_FLAGS= --appFlags 0x240 --dep Ethereum:$(APPVERSION) ifeq ($(CHAIN),) CHAIN=ethereum @@ -41,7 +41,7 @@ APP_LOAD_PARAMS += --path "44'/60'" DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_COINNAME=\"ETH\" CHAIN_KIND=CHAIN_KIND_ETHEREUM CHAIN_ID=0 APPNAME = "Ethereum" DEFINES_LIB= -APP_LOAD_FLAGS=--appFlags 0x840 +APP_LOAD_FLAGS=--appFlags 0xa40 else ifeq ($(CHAIN),ellaism) APP_LOAD_PARAMS += --path "44'/163'" DEFINES += CHAINID_UPCASE=\"ELLA\" CHAINID_COINNAME=\"ELLA\" CHAIN_KIND=CHAIN_KIND_ELLAISM CHAIN_ID=64 @@ -144,8 +144,12 @@ DEFINES += $(DEFINES_LIB) ifeq ($(TARGET_NAME),TARGET_BLUE) ICONNAME=blue_app_$(CHAIN).gif else +ifeq ($(TARGET_NAME), TARGET_NANOX) +ICONNAME=balenos_app_$(CHAIN).gif +else ICONNAME=nanos_app_$(CHAIN).gif endif +endif ################ # Default rule # @@ -177,6 +181,22 @@ DEFINES += APPVERSION=\"$(APPVERSION)\" DEFINES += CX_COMPLIANCE_141 +ifeq ($(TARGET_NAME),TARGET_NANOX) +DEFINES += HAVE_BLE BLE_COMMAND_TIMEOUT_MS=2000 +DEFINES += HAVE_BLE_APDU # basic ledger apdu transport over BLE + +DEFINES += HAVE_GLO096 HAVE_UX_LEGACY +DEFINES += HAVE_BAGL BAGL_WIDTH=128 BAGL_HEIGHT=64 +DEFINES += HAVE_BAGL_ELLIPSIS # long label truncation feature +DEFINES += HAVE_BAGL_FONT_OPEN_SANS_REGULAR_11PX +DEFINES += HAVE_BAGL_FONT_OPEN_SANS_EXTRABOLD_11PX +DEFINES += HAVE_BAGL_FONT_OPEN_SANS_LIGHT_16PX +endif + +ifneq ($(NOCONSENT),) +DEFINES += NO_CONSENT +endif + DEFINES += HAVE_TOKENS_LIST # Do not activate external ERC-20 support yet ############## @@ -213,6 +233,10 @@ include $(BOLOS_SDK)/Makefile.glyphs ### variables processed by the common makefile.rules of the SDK to grab source files and include dirs APP_SOURCE_PATH += src_common src SDK_SOURCE_PATH += lib_stusb lib_stusb_impl lib_u2f +ifeq ($(TARGET_NAME),TARGET_NANOX) +SDK_SOURCE_PATH += lib_blewbxx lib_blewbxx_impl +SDK_SOURCE_PATH += lib_ux +endif load: all python -m ledgerblue.loadApp $(APP_LOAD_PARAMS) diff --git a/balenos_app_akroma.gif b/balenos_app_akroma.gif new file mode 100644 index 0000000000000000000000000000000000000000..491f505a04487a97aed49cc68423de46ad442f16 GIT binary patch literal 1123 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDkcYT@EyV&ZJ> zXzpZcXy|HTVd-RM>FVn2Vq|J+{NL2k2&UO3Ke;qFHLnDwIR&BF0;U;RFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?X6e9yOV^dQ{14na5R}80sT>{aXg4-o#Fqfcs1Eg0U z=oWqSxQ2)TlMhG|l4^nJ6Uc$4`~M{hsd>QEUIa|mjQ{`r{qy_R&mZ5vef{$J)5j0* z-@bYM>g9{)&z?Sc{OI9>`}gkNxqa*AjqBI0Ub%ef;)V0)&Yn4a>g0*z$BrI3eCXhT z{rmRr*}ZG$j_upFZrQwP>a~ULGE9E=~@1HdYp9CPoGZ9Z&%QDm56G nABh)>(}cU66j%TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`WMF1&YHI1| zXzu80Xy|HTVd-RM>FVn2Vq|J+{NL2k2&UO3Ke;qFHLnDwIR&BF38ooYFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDHbr(P@DpG2}ElOZkJf%)TLqved2P6qe zwZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7xLVsUxPj^>mM|)dq zOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3oOmtLaM0i+eNN`YK zfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%MjhPs-nin5ZTg1nrp zjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpQQJ^d?JGt|s!ei$m1 W>pUy^rsTt?rgt@xUY!zQum%7*?2S4A literal 0 HcmV?d00001 diff --git a/balenos_app_callisto.gif b/balenos_app_callisto.gif new file mode 100644 index 0000000000000000000000000000000000000000..60e4f69cdfe245ff59a07cc72f16a91a4d8ad881 GIT binary patch literal 1121 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`Zs=&{=w#yR zWaMaQXy|I;WMS#%;$&`QU}EBA_}|FL6sFlFKe;qFHLnDwIR&BF4XPPMFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?X6i0IxV{=zGplOzF7)}AZ1fn$si%YeUCj zMISw`AtJ!!1CoTKT44GFa-iw{e~ChB9x$~R0h2Z3|9^k~{QmXx$MHM;rzL?XHK6wdE)r7qel)OI(T6J zzP)>P@7lRz`?jrHHgDRvVg0(bYgVsXxnlXUrArnsTDV~Tyt#8`&zd=7`n0K2CQq6; zp}()Ur@O1OqrI)QrMaoGp}wxRrn;)KqP(oMq`0WCAU`iRCp#-MBRwrOB{?ZEAwDiP zCORrIB0MZKBseHAz~9f;$J@)(!`;o*#o5Wx!QRf+#@fo#!raW%#MsEtKwnQ+M_Wr% zLtRZ(MOjHvL0(Q)Mp{ZzLR?H#L|8~rfS-?-hliVslY^a&m4%s!k%2)6R6u}A4F)Ee jp8l295AGal=J$A(vu#IVNUB$TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`;A(1Y>EdST zYHnm=Xy|I;BDn?CDdt$60(J>RYYJ|cSm4yF4|Iz@dR#+9fXN3W2}!lU z^a>*tT}-@bnN{ORL|_ix|4e)aOj^Jh<=Jbv`> z!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~=Teoc9 zv~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;um zQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLaP+)++ zpRbR%m#2rjo2!enlcR&Zovn?vm8FHbnW>4fk)eUUp019zmZpZfnyQMjlA?mVoUDwr zl%#~Xn5c-bke~oRA1@CNHy0-dI~ywtGZP~NgAS;G0F@dHOtL-wD_1kr%xQiYYPPx8 W|66Qrl#yRItC^7KCcS6|25SHoe~h94 literal 0 HcmV?d00001 diff --git a/balenos_app_ether1.gif b/balenos_app_ether1.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f42c197fa106f380c2135599fa519f5c193f483 GIT binary patch literal 1120 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`YHZEnm@Z{NIr_438@XHTCze)RCc z{d;%s+`e`5#`SAguUx)#@xu9YXV08Ib@IgVV@Ho1K6LQF{(XD*?B2C=$M$Vow`|_D zal`s`YuBt^wQ|MsWlNVVUbJw*{CRWd%$_xK#`I}Zr%awSaYBDzZ%=nuXGeQmYfE!e zV?%viZB2DmWkq>eX-RQWVL^UgZccVqW=48iYD#iaVnTdeY)o`iWJGvaXh?8SV1U1$ zuaCEvr-!?ntBbRfql3Mjt&O#nrG>efsfn?Xp@F`hu8y{rriQwjs*19bqJq4ftctP)JEENd(gW?JEirle1Gx6p~WY zGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&%T$P<{nWAKGr(jcI1=O2clBiIT zo0C^;Rbi`?n3A8AY6WEHrj{h?D=C0glw{i~If5hXl~0)0b01CWOxKFuxg^~J9=Hy5lL z7!<`NL8%DWVl}roq_QAYKPa_0zqBYh6{uVpWK)5ab5UwyNq$jCetr%t2m>`A zMVV!(DQ-pixe8!^TV=xC0(Xj`i=~sRi7U)BRHuMl0@0d+@{(ZdJ#@7=v~`_|1H*RNf@a{1E53+K6ZM9qnzcEzM1h4fS=kHPuy>73F26CB;RB1^IcoIoVm68R==MDalER3Gs2U zG0{A;Cd`0selzKHgrQ9`0_gF3wJl4)%7oHr7^_7UpKACdNjF2KsusI@(&A z8tQ7QD#}WV3i5KYGSX6#65?W_BEmv~0{ncuJUrZ7oE+?ItSrn-z=A>tR6u}A4F)Fh emj0Ei1$$&n{0{w+*v5UoB6PBO+T}_y25SKJ#)+{2 literal 0 HcmV?d00001 diff --git a/balenos_app_ethereum_classic.gif b/balenos_app_ethereum_classic.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfd24ca9ef12533372049d282b7f4d12ee946c35 GIT binary patch literal 64 zcmZ?wbhEHbVQa)3 K&dZjf4AuY*8xsit literal 0 HcmV?d00001 diff --git a/balenos_app_ethergem.gif b/balenos_app_ethergem.gif new file mode 100644 index 0000000000000000000000000000000000000000..995003658d8dece3de7dfc6d636ffb5a6adc6d29 GIT binary patch literal 70 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`X5!>x;Am{* zBDn?X6jNghS4%^4Hzy~c`_Y{Ob_qml3Ko|@^ja9;)TLqved2P6qewZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7x zLVsUxPj^>mM|)dqOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3o zOmtLaM0i+eNN`YKfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%Mj zhPs-nin5ZTg1nrpjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpP_ kJ^d?JGt|sUz7$gO*5{Ms-o(TSjn6LCE?K@UfRVu(0N_B6WB>pF literal 0 HcmV?d00001 diff --git a/balenos_app_expanse.gif b/balenos_app_expanse.gif new file mode 100644 index 0000000000000000000000000000000000000000..c19720dc3ebf369a9407ba027e5bc808a3b7b3b9 GIT binary patch literal 1123 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tjV%<+ zE%gjdEiH^pbQFvX49)ZnEcFddbPWux3@oh-3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IX0D*&o0y!L2NcundS0ve;2nVDkc;$m!MYGH0{ z?q+FdXy|Hg;bdUq;^gFLXk_MW@ZZqF5~kTDKe;qFHLnDwIR&BF1gaTDFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BHV)J6hlm>I2(W+0@0a*+aX4%S|OeQY1Ie1L?11tVM4&v z17boFEiickIk05^KQ#}S){B6Nn(_a?zkh!J`uXGgx36D5fBN|0{kyksUcY+r{Mpkd zj~_jJaR1)jJGXD$ym9^7)hm}TUA%Dq+}SgyPn|q*{MgYWhYuY*uz%m)J-c`9+_8Pz z)-9ViZQQVa-P$#)SFK#JeA&_^ix(|iFn`|MIkRWYoH2dc)G3oEO`Oo**W1(G)!EVB z*4onC)Ywp8S6fqERasG9R$5YAR9KLomz$HFm6?&AmYR~Bl$a177aJ2D6&Vp878(*9 z6d2&|=j-F`<>}$>=IY|?mo_rKzE=rmCW>q^KY- zCo3Z@B`F~;CMqHTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDkcXzpTc?&@ag zWMt`PXy|I;WMS#%;$&`QU}EBA_}|FL6sFlFKe;qFHLnDwIR&BF5vmzQFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDdt$60(J>RYYJ|cSm4yF4|Iz@dR#+9fXN3W2}!lU z^a>*tT}-@bnN{ORL|_ix|4e)aOj^Jh<=Jbv`> z!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~=Teoc9 zv~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;um zQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLaP+)++ zpRbR%m#2rjo2!enlcR&Zovn?vm8FHbnW>4fk)eUUp019zmZpZfnyQMjlA?mVoUDwr zl%#~Xn5c-bke~oRA1@CNHy0-dI~ywtGZP~NgAS;G0F@dHOcFi)D^KS#ICd8Xu3D91 R^(LlLM#bt`=OR`HYXHz=i$?$e literal 0 HcmV?d00001 diff --git a/balenos_app_hpb.gif b/balenos_app_hpb.gif new file mode 100644 index 0000000000000000000000000000000000000000..cc57e1de03ec9663250879cf38d1abd582368f2d GIT binary patch literal 76 zcmZ?wbhEHbl_+o literal 0 HcmV?d00001 diff --git a/balenos_app_kusd.gif b/balenos_app_kusd.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c8d03b869f6e95ecec941b8f11d3ce3dc0cab05 GIT binary patch literal 1125 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDkc=<4L=Xkq4N zX=Gt!Xy|HT;c9B>;_T$=W@2D!^54S10H)a`Ke;qFHLnDwIR&oS+yJH-SuaQ{C@p}3 z1Q@_YnPsUdZbkXI3SfU*Wg@u+)hRA8(@>lOb_qml3Qm`px#HBT4|Iz@dR#+9fXN3W z2}!lU^a>*tT}-@bnN{ORL|_ix|4e)aOj^Jh<= zJbv`>!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~= zTeoc9v~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;umQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLa zP+)++pRbR%m#2rjn=3Fr9UbiLY;CNqEG^8SdvHp literal 0 HcmV?d00001 diff --git a/balenos_app_mix.gif b/balenos_app_mix.gif new file mode 100644 index 0000000000000000000000000000000000000000..73a2e61da67b21965622134372e8f8dcfd105798 GIT binary patch literal 1124 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO-vQc zE%gk|j7=;pbrg&Y3@!8xEc6YHbq&p|Obo1yj1-_i$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW~rdzo0y!L2NcundS0ve;2nVDi`>1O2W=Lqved2P6qe zwZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7xLVsUxPj^>mM|)dq zOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3oOmtLaM0i+eNN`YK zfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%MjhPs-nin5ZTg1nrp zjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpSGJ^d?ZKRCcNCFEdc bfnDD#yVi~uwW`;9LcR3*#f}y-GFSru>%@>8 literal 0 HcmV?d00001 diff --git a/balenos_app_musicoin.gif b/balenos_app_musicoin.gif new file mode 100644 index 0000000000000000000000000000000000000000..63650a11959a722345804f257ab4e9367e540116 GIT binary patch literal 1116 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDkc>f~bK>||=; zXzpZbXy|HTVd-RM>FVn2Vq|J+{NL2k2&UO3Ke;qFHLnDwIR&BF5~dkhFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDP}O!P@DpG2}ElOZkL$j)TLqved2P6qe zwZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7xLVsUxPj^>mM|)dq zOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3oOmtLaM0i+eNN`YK zfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%MjhPs-nin5ZTg1nrp zjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpS0J^d?JKd8CWEOg+* TvrEyJepNnno%Sq{fx#L8o7#^} literal 0 HcmV?d00001 diff --git a/balenos_app_pirl.gif b/balenos_app_pirl.gif new file mode 100644 index 0000000000000000000000000000000000000000..78b9d0dfef961e7dbd3849986c59b8c73672298d GIT binary patch literal 1122 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`;$-A%WMN_M zXzt`>Xy|HTVd-RM>FVn2Vq|J+{NL2k2&UO3Ke;qFHLnDwIR&BF0;U;RFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDW)*fP@DpG2}ElOZkL$h)TLqved2P6qe zwZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7xLVsUxPj^>mM|)dq zOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3oOmtLaM0i+eNN`YK zfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%MjhPs-nin5ZTg1nrp zjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpRbJ^d?JGt|s!Hoju= ZIon@(e&XF7Ez>h{dsw!<3uIuh1^}T}j-mhn literal 0 HcmV?d00001 diff --git a/balenos_app_poa.gif b/balenos_app_poa.gif new file mode 100644 index 0000000000000000000000000000000000000000..951bb4960b73a3be5c45f9c94a7298972c51ea85 GIT binary patch literal 1119 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXzvE3pY2fSP$$Sz2y8{{ffi_eM3D1{oGuTufX0dE(uCS zxB{!{;*f$={h-w1{L-T2RG?~Qm|kGG;kO5*5a<{ym;B_?+|;}hPZwJypom^dW{Q=C zqp^Xdqk*}FrJI4Fp{s?XlYxtinW2fJo1?k8iLog}ua#$BaYP}UIa|ljQ{`r{qy_R&mZ5vef{$J)5j0*-@SeF`qj%9 z&!0Vg^7zri2lwyYy>t84%^TORUA=Po(!~qs&z(JU`qar2$B!L7a`@1}1N-;w-Lrew z&K=vgZQZhY)5Z>a~ULJ04E=~@1HdYp9CPoGZ9Z>lIDl{0Fq9`!YtKh8ht8|BjpK>``7F{}J#>!v~0P^9EH~;_u literal 0 HcmV?d00001 diff --git a/balenos_app_reosc.gif b/balenos_app_reosc.gif new file mode 100644 index 0000000000000000000000000000000000000000..cdd6cee4553010cf1d98fbfa5b92a9b17651ce9d GIT binary patch literal 1124 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`;cDb!Y~bYV zX5?gPXy|HT>1t$Z;pSvwY3%A|_}|>c6{guGKe;qFHLnDwIR&BF1*#cEFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDUMj30(J>RYYJ|cIN{W*4|Iz@dR#+9fXN3W2}!lU z^a>*tT}-@bnN{ORL|_ix|4e)aOj^Jh<=Jbv`> z!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~=Teoc9 zv~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;um zQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLaP+)++ zpRbR%m#2rjo2!enlcR&Zovn?vm8FHbnW>4fk)eUUp019zmZpZfnyQMjlA?mVoUDwr zl%#~Xn5c-bke~oRA1@CNHy0-dI~ywtGZP~NgAS;G0F@dHO!7VbD^D|Sm^X!UUgw5N Z-l*M~F;8>S%KBDth6Ud~;>*Zj4FJV2kH!E1 literal 0 HcmV?d00001 diff --git a/balenos_app_rsk.gif b/balenos_app_rsk.gif new file mode 100644 index 0000000000000000000000000000000000000000..96803cfdf424a856a99fc1f065da9d8d69514fab GIT binary patch literal 1120 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDi`Y-;LaWMXM< zW?=4WXy|I;WNv0=VPxWHXl&?e_TSOi0;bs|Ke;qFHLnDwIR&BF0;(BBFGwpWEr5aq z7{EoDWvMA{Mftf3V1HX>BDn?CDW+JR0(J>RYYJ|cnBml`4|Iz@dR#+9fXN3W2}!lU z^a>*tT}-@bnN{ORL|_ix|4e)aOj^Jh<=Jbv`> z!To!8@7%t1^TzdSSFc>Ybn(LZb7#+-K6UcM@nc7i96ogL!2W%E_w3%abI0~=Teoc9 zv~k1wb!*qGUbS+?@?}exEMBy5!Tfo1=ggipbH?;(Q>RRxG;um zQ)5GYU2RQuRb@qaS!qdeQDH%TUT#iyR%S+eT53viQer}UTx?8qRAfYWSZGLaP+)++ zpRbR%m#2rjo2!enlcR&Zovn?vm8FHbnW>4fk)eUUp019zmZpZfnyQMjlA?mVoUDwr zl%#~Xn5c-bke~oRA1@CNHy0-dI~ywtGZP~NgAS;G0F@dHOwv95D_1l0$e8F~QGIK> VGv7b=;fau>;zgHFv9U5(0{{U|i_-uA literal 0 HcmV?d00001 diff --git a/balenos_app_rsk_testnet.gif b/balenos_app_rsk_testnet.gif new file mode 100644 index 0000000000000000000000000000000000000000..acffd9c5b5767f140146a3d3eddd5b35ebe9c0d5 GIT binary patch literal 72 zcmZ?wbhEHb;5BmM;yFR6pj)$Y2csv&t1f literal 0 HcmV?d00001 diff --git a/balenos_app_ubiq.gif b/balenos_app_ubiq.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6f98257ed02fa0a7b7be733181ce1e3f8ba4a52 GIT binary patch literal 1200 zcmaJ>cYG8@6y6{Thz3NAA|k^^dbZ};F4@H7HV07;LO7+^nA@G?mSl^&o7^Q9EFe{} zH&9V*hz%4)u^`w%K@w%F=b*I`oeh9ZEY13o&)bF`I1#Vd>&L7RT-X?f8P& z8F8Gg;e@~@*;JZ!WVki5MB*1()l^Yo`2gethzi%Mhzf*~rIZkfKq`p@jt{Uf7=(E> z9l@hACx=SeSY@T)RdHN(I1-k*7$1to_^LoCTouWKYYfMQhJy08HEcTvuEyBTp<>iV z&^7IZX*T650Mw>T*K|^*1)@Bat1rL!{IgF#+57QFAAa!udwX{8+PP!6K4CxnlVfk3aV4Bg-CM`p|<9+<)Ja zd+%9%_g!}`T6o9px7~Wn%{Se6!}ZrKxb~X)^XAT(J?rY3Gp@Swip!^8cIhP-x3y-{ zEzPcDUu2nv-qbivOEuIZRY}6B7hZ7wdFM`#6C&bTGTqQsAcgg OxOd(1{r&qAqy7dtL#hq{ literal 0 HcmV?d00001 diff --git a/balenos_app_wanchain.gif b/balenos_app_wanchain.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6f2a304d23088c4fd8c460715beef70bc9ac9b6 GIT binary patch literal 1123 zcmZ?wbhEHbTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFlEiTau_y zk(-lOY*k^al$esAlxhWJ=cbk<>MJRLRg`4gDmj8A6e4^B6rA&mQWZ?~%yg3tO$-#w zE%gk|3`|T7brg&Y49)coO!W=SbPWux3@ogS3>Bb2$vOKg>t6#hd!kXryZHLq9?>>0h}{9OHt!~%UoJp+)3AU@44@b$&7G&dKl z8WTK@=NlI zGx7@*oSi{IW}%?ro0y!L2NcundS0ve;2nVDkcWN2XN=H}{V zY3O8WXy|HT>1bl;>}KL*Y~kwc^54|S0;bs|Ke;qFHLnDwIR&oS%>b$yMK4GzC@p}3 z1Q@_YnPsUdZbkXI3SfU*Wg@u+)hRAmodR|VL~9C8m$Lqved2P6qe zwZQZVepxOP4HOv~a=vd2{E?o;7pE^l4M4OrA7xLVsUxPj^>mM|)dq zOLJ3WLw#LsO?6deMR{3iNpVqOL4ICtPIgviMtWLmN^(+SLVR3oOmtLaM0i+eNN`YK zfWM!wkGGenhr64ri?frXgT0-tjkT4fg}IrjiLsHPfxe!uj<%MjhPs-nin5ZTg1nrp zjI@-bgt(Zfh_H~L06!lu4-YpNCkHzlD+@CdBLjmDsDJ>K8VpQwJ^d?JGt|UQ==H1C aUZj_&+&cg3gotOp4|bJY;Ff1)um%8Mo{uX4 literal 0 HcmV?d00001 diff --git a/glyphs/icon_certificate.gif b/glyphs/icon_certificate.gif new file mode 100644 index 0000000000000000000000000000000000000000..89b529f792aeb77c8cc3b4d4782d8280b3c6c204 GIT binary patch literal 1133 zcmZ?wbhEHbh+i z#(Mch>H3D2mX`VkM*2oZxP`3=Lf^oD9vKom`v^ z4IGV}EX^$3V0vBhlS^|`^GaZPQxJOHaOwpmh};68%`T}$nPsUdZbkXI3Sf_0W#V>= zGfwlMdQ)(_#RaEceV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|LV6Zqk*xT9KSX)_In46iJ z7#kTH=@}C@U!{$jiyfNJ~jdh>MAe2nz`c@bmHVaC32Tu(PqUFf%a% zONgH=z;c3tK?g*D$_@r5rJnxG17}|h+i z#(Mch>H3D2mX`VkM*2oZxP`3=Lf^oD9vKom`v^ z4IGV}EX^$3V0vBhlS^|`^GaZPQxJMxaOwpmh};68%`T}$nPsUdZbkXI3Sf_0W#V>= zBTn<6dQ)(_#R;cgeV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|LU=%qz*xT9KSX)_In46iJ z7#kTH=@}C@U!{$jiyfNJ~jdh>MAe2nz`c@bmHVaC32Tu(PqUFf%a% zONgH=z;c3tK?g*D$_@r5g`R%S3EQ{LsG1P=G9yPZ?_TW!_O_JIo#INXvMrLH1~M>M F0{{d^jc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*btCX0MpOk6^Wap-qB64UF}T4Rno+txOE8OpFwuK*`RgC?(A*$i)q66_97Elu=SrV5P5L zUS6(Ou9shwu5V~*X{m2uq;F)T3sj(6T$u;-oo-&SvJ%j-AOl=di<65o3raHc^Aw8G ztP+#*OG|8(lob9$J&;=fH#M(V59}GeYG-AXPsowK%`DC^;3VTp46jft7PnYGO%#QAmD%4lD=*GV)9Ei!<^I z6r7#GL8hSLo0y!L2NcundS0ve;2nVDi`Y;NgdWMu4QWZ>pz zXy|I@XlQBVYUE;UXz6Nc_}|je8K&7KKe;qFHLnDwIR&BF8LAmYFGwpWEr5aq7{EoD zWvMA{Mftf3V1HX>!rg-I6icj50lNgEH3i8fKwls^#1W@feV|kH(V`kA1WZ04CM4AY z(t84%^TORUA=Po(!~qs&z(JU`qar2$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY z)5ZeMTG_VdAT{+S(zE>X{jm6Nr?&Zaj`McQIQehVWA};$o%uI|73_73^0#s@+FtPL0rFC}Ia4}c|0Jk%O AU;qFB literal 0 HcmV?d00001 diff --git a/glyphs/icon_eye.gif b/glyphs/icon_eye.gif new file mode 100644 index 0000000000000000000000000000000000000000..df4bb829e6d06e0bde643b1b96fde45c093edef1 GIT binary patch literal 1130 zcmZ?wbhEHbh+i z#(Mch>H3D2mX`VkM*2oZxP`3=Lf^oD9vKom`v^ z4IGV}EX^$3V0vBhlS^|`^GaZPQxJOHaOwpmh};68%`T}$nPsUdZbkXI3Sf_0W#V>= zGfwlMdQ)(_#RaEceV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|LV6Zqk*xT9KSX)_In46iJ z7#kTH=@}C@U!{$jiyfNJ~jdh>MAe2nz`c@bmHVaC32Tu(PqUFf%a% zONgH=z;c3tK?g*D$_@r5`JVojvmYFo*YYB?T-40^%iq9xH)NNlPJ66kronvNgOR}+ E02G{#(EtDd literal 0 HcmV?d00001 diff --git a/glyphs/icon_left.gif b/glyphs/icon_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..524226ba11247d9c5f797801400fd630071a049a GIT binary patch literal 1101 zcmZ?wbhEHbWMN=u_`m=H|NsA2{K*1lD*orL$SqJvNi0bO(*Nx%3KEmEQ%e+*Qqwc@ zY?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*btCX0MpOk6^Wap-qB64UF}T4Rno+txOE8OpFwuK*`RgC?(A*$i)q66_97Elu=SrV5P5L zUS6(Ou9shwu5V~*X{m2uq;F)T3sj(6T$u;-oo-&SvJ%j-AOl=di<65o3raHc^Aw8G ztP+#*OG|8(lob9$J&;=fH#M(V59}GeYG-AXPsowK%`DC^;3VTp46jft7PnYGO%#QAmD%4lD=*GV)9Ei!<^I z6r7#GL8hSLo0y!L2NcundS0ve;2nVDkcY~W;U?r3IeWZ>*# zXy|I@XlQBVYUE;UXz6Nc_}|je8K&7KKe;qFHLnDwIR&BF45}GLFGwpWEr5aq7{EoD zWvMA{Mftf3V1HX>!rg-I6l1JT0lNgEH3i8fKwls^!~~~SeV|kH(V`kA1WZ04CM4AY z(t84%^TORUA=Po(!~qs&z(JU`qar2$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY z)5ZeMTG_VdAT{+S(zE>X{jm6Nr?&Zaj`McQIQehVWA};$o%uI|73_73^0#s@+FmbdLb7tJW=fuch4FGsN BgIfRq literal 0 HcmV?d00001 diff --git a/glyphs/icon_right.gif b/glyphs/icon_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..15ff3cf5994421fbd6e7d593aae8e438310f33ed GIT binary patch literal 1100 zcmZ?wbhEHbWMN=u_`m=H|NsA2{K*1lD*orL$SqJvNi0bO(*Nx%3KEmEQ%e+*Qqwc@ zY?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*btCX0MpOk6^Wap-qB64UF}T4Rno+txOE8OpFwuK*`RgC?(A*$i)q66_97Elu=SrV5P5L zUS6(Ou9shwu5V~*X{m2uq;F)T3sj(6T$u;-oo-&SvJ%j-AOl=di<65o3raHc^Aw8G ztP+#*OG|8(lob9$J&;=fH#M(V59}GeYG-AXPsowK%`DC^;3VTp46jft7PnYGO%#QAmD%4lD=*GV)9Ei!<^I z6r7#GL8hSLo0y!L2NcundS0ve;2nVDkcY~W;U?r3IcWZ>*# zXy|I@XlQBVYUE;UXz6Nc_}|je8K&7KKe;qFHLnDwIR&BF2&x%HFGwpWEr5aq7{EoD zWvMA{Mftf3V1HX>!rg-A6jL{>P64|FqBRA{B|u*wIm7^`R(+sT^wFXkCIn1AASNW$ z0@Eju15Nk;OB7P`fT_I*n5-H9|NHyr_phHnzJL4r<@2Wx@87+B^ZM1x7tfzPee(Fx z!w2{8-Mw@B*3BE&uU)-z`O?J;=g*xzbNbZD6UUDoJ#zTa!2|pE?cK9`*UlZ=w{6|B zdDF%X>({MavwGFa70Z_`U9x!5!Ugl^&7CuQ*322xr%jzQdD6rQ{e8VX-Cdm>?QN|s z%}tFB^>wv1)m4=h1nAc$w`R`@o}*+(NU2R;bEa6!9jrm z{(inb-d>&_?ryFw&Q6XF_I9>5)>f7l=4PfQ#zuw)`g*!L+FF_#>T0Sg%1Vj~@^Z2= z(o&KV;$osA!a{-q{CvDTJltHI9PDhYEX+)d3=BG;5&~3eFfg(6@U>OF>g8gv1_1YR Bf|mdQ literal 0 HcmV?d00001 diff --git a/glyphs/icon_up.gif b/glyphs/icon_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e13c064f7605feb2e6e04a48a3133e5c95912cb GIT binary patch literal 1100 zcmZ?wbhEHbWM^Pu_`m=H|NsA2{K*1lD*orL$SqJvNi0bO(*Nx%3KEmEQ%e+*Qqwc@ zY?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*btCX0MpOk6^Wap-qB64UF}T4Rno+txOE8OpFwuK*`RgC?(A*$i)q66_97Elu=SrV5P5L zUS6(Ou9shwu5V~*X{m2uq;F)T3sj(6T$u;-oo-&SvJ%j-AOl=di<65o3raHc^Aw8G ztP+#*OG|8(lob9$J&;=fH#M(V59}GeYG-AXPsowK%`DC^;3VTp46jft7PnYGO%#QAmD%4lD=*GV)9Ei!<^I z6r7#GL8hSLo0y!L2NcundS0ve;2nVDi`Y;NgdWMu4SWZ>pz zXy|I@XlQBVYUE;UXz6Nc_}|je8K&7KKe;qFHLnDwIR&oS!~m)pMK4GzC@p}31Q@_Y znPsUdZbkXI3SfU*Wy0Np?i3fSP64|FqBRA{B|u*w9AfN>Q>#AEDf(zp4HE(;9}p9g zYJuq!$bqK&|0N2kdBD_O1WeY9|Ns5{^ZVD&AK$-y{qp(KhxhN^zIpxX<%{Rfo<4c} z=;4F=_wL@gee33p>({PcxqRv3h4bgmo;iK$#u35cm<%;FYmM&SmXyJnS^XAT(J!|HS>C>i8nLKIYg#NzXp6;&Bj`p_J zmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3jP$hBl;otug!s7FnCPg;i14t`kl>)e z0DnJUA8#*D4|g|L7iT9&2YWkP8*3{|3v)A56JsMo1ARSR9c?X54RtkD6=fww1$jAH z8EGj=32`w|5n&-g0e(JS9v*HkP7Zc9Ru*O^Mg|5QPzeDlH5i!KTar5~xYlqnSOWmI C)q;Qk literal 0 HcmV?d00001 diff --git a/glyphs/icon_validate_14.gif b/glyphs/icon_validate_14.gif new file mode 100644 index 0000000000000000000000000000000000000000..ccb5cabe38d16ff857d540b64742e4b8346a6949 GIT binary patch literal 1125 zcmZ?wbhEHbh+i z#(Mch>H3D2mX`VkM*2oZx= z0Z#LvdQ)(_#So`neV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|L7iT9&2YWkP8*3{|3v)A5 z6JsMo1ARSR9c?X54RtkD6=fww1$jAH8EGj=32`w|5n&-g0e(JS9&Rp94t6$H7G@?! zU