From 6c84d35c8586ef323896b740c747f1430a85e561 Mon Sep 17 00:00:00 2001 From: niyibi250 Date: Tue, 19 Nov 2024 14:48:01 +0200 Subject: [PATCH] fix(preference): add icon and able to expand - add icons on preference settings - redirect the login activities preference [issueid: #104] --- assets/Preference_icons/down_arrow.png | Bin 0 -> 2859 bytes .../Preference_icons/email_notification.png | Bin 0 -> 13218 bytes assets/Preference_icons/forward-pref-icon.png | Bin 0 -> 2759 bytes assets/Preference_icons/index.d.ts | 6 + assets/Preference_icons/painting.png | Bin 0 -> 13373 bytes assets/Preference_icons/preference_icons.ts | 20 + assets/Preference_icons/profile-user.png | Bin 0 -> 7870 bytes assets/Preference_icons/push_notification.png | Bin 0 -> 14932 bytes assets/Preference_icons/translation.png | Bin 0 -> 17398 bytes .../two-factor-authentication.png | Bin 0 -> 10921 bytes .../settingPreference/SettingPreference.tsx | 375 ++++++++++++++---- graphql/mutations/two-factor.mutation.ts | 13 + internationalization/locales/en.json | 9 +- internationalization/locales/fr.json | 8 +- internationalization/locales/kin.json | 8 +- package-lock.json | 93 ++--- 16 files changed, 378 insertions(+), 154 deletions(-) create mode 100644 assets/Preference_icons/down_arrow.png create mode 100644 assets/Preference_icons/email_notification.png create mode 100644 assets/Preference_icons/forward-pref-icon.png create mode 100644 assets/Preference_icons/index.d.ts create mode 100644 assets/Preference_icons/painting.png create mode 100644 assets/Preference_icons/preference_icons.ts create mode 100644 assets/Preference_icons/profile-user.png create mode 100644 assets/Preference_icons/push_notification.png create mode 100644 assets/Preference_icons/translation.png create mode 100644 assets/Preference_icons/two-factor-authentication.png create mode 100644 graphql/mutations/two-factor.mutation.ts diff --git a/assets/Preference_icons/down_arrow.png b/assets/Preference_icons/down_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..0b353b71213657b0d68d3dce7b60ce0cfbcdf326 GIT binary patch literal 2859 zcmeHI`Bzid7CtvbLIh-TU{X*5p$;U-;M@csDiB1QnyiTtw`ufN0PV z!xSH&QW@)1DuD>KHcAD=MF5$NXyJ)52uOhBo$w!Yt^U}%)?NF4-*@)6&)xg1b$(SP?fk&f` zCm%|T1j)(CE-~@3N#TbQB3+IqM(2%fwFY3}FQ~Uy(5d_ny?)t|d#&^b9#;HZQ*7+! zVJfsFJ81}%_jqHY-L_v27@W6CwYNZj^K4^nC-BlW`UZEQ<6WDK82 znvUgbgMM{ko$a6*DQZX*5@(C-2XqA~LuOPMxN z;`!#CzGtEAUV|ch1hO~fL%O9`6lGmsZ@XO5+pc}0W7}1bm3%D+V6-9sjj;bi1re+N zY_7Ret{ubj#*Orp+eauW?z3#YfrJX$Brj+#LU0ABPL5EN+~+xeOx&5Y8zuZt$yDO&PjEb zjT`tc>~w%CqkGxB5u(ov`v$P5>Qtj?{ zirAWwTK(YaGEE)cU_s9_^%~Fn%cgAKt~r-kGF7GiZg0K5f!j27V%e92Z&Bb7tdjAr zDdzsVaIuy{5L0-ST*OVa#7hv5hE2R44!BPNf|2Q0AC=pP*xb4~_}eZ19xQ27yi;wi zIwNIF#Q=UkD~hJW%Fld~BTeOfK6B}nM65Rxc9>MfaF3EM4ItMRsWT+r)5pLzo3}OE z)v|YJVSZF6b|+J{n6)GT_rBeStlgWhxgmU-lfqYL)CY0Q=>a=8Pgn6%7B^_^E~-QM z+MAjo%HBeJYg!va6O9%YL?|#xUB23eE>oSsvAbeAlI~4z{wjpRSf42Eizn6QsPmvi z!j@*8RE0TC|4DKn*v8!}+E6)!g72+9DLzVU*}tLuWG+K~ze_I1q9m6etP5-XLNz5N;8Hjh7&VY7>NKM4&TUNmvSV zADL;SLvV&i8tsDD`h%?^NC#K|6AO)$>W)-9&87~rah3&2!i7>IE2z=VvJei@fQK3T zgJM$+$YtY#HxHUrr#oS#<{BVx#aFvG+Oc+tfMELGs4$Z4y?n&qvD4x>BVua%};u8?EEZI+4VqBP<_a4NfJ@)<{5t} zauIU;nf{9#&C9VDU4L}tZqlnZ^*nwuvJ$M#%qkcaIsn7Sv}l_oJ=S2{=YvrUVAOb_ zWm6KuqI#ZfMldfTcC2;^q*>tK9BV;*R+;V`3e{7ZKCVs~a|PKXd%<(bf&t%ihdDig z;N&W*ph<#fQO*_f##RD?nf+YiN3ijt{a@K<^ra-cFRf<{aB>XpezyXl8Y1m3Q~Fp4 zQ8f7r87y9z&^;Imm{$kNTDAf4LL?}=h9F+;6;$X-5EF4_w&BL~Kz#dbrYrC_XO6o* z0Pg-w{}v&xbwR4f@^B)3KVJSRb0zrBob@~7i=L71Wh=Kq6RLA+R5@(67@y|~CzEEL z@cT}k*lJ}lFGjDO7mHj0i|IfZ_@ih!NE9jJM}7#DolXwCUsW8@o24WS@XZ369IoZi zz=0T?Af(X_i-mD7j0G@$1EVAcr*;`Mkv?`uxbVacutiusoHfu=9R95)I-prTh!UM zM^^=$8IkCAksuDu)4^RM6*@@05<0J1#LlbKoPG1ETkO2b^jV|ZC)RjGR~D?^ z+oWZ{DnTb4WPa$2^*m*fBj?z-77whIO(eVMdZpG`W^$2h4Or0+bLs?&jNQv-i^!Z4 z GI`@AaJLQJ} literal 0 HcmV?d00001 diff --git a/assets/Preference_icons/email_notification.png b/assets/Preference_icons/email_notification.png new file mode 100644 index 0000000000000000000000000000000000000000..d62d94faa41d91b2cb40eb712d7aeba63a2319b5 GIT binary patch literal 13218 zcmd^m_gj-quyzuffD}PMnzR7YjWp>fHPV#cK@d=o-g_b{K|mn%ZlMLKBGMsBq(~D4 zL~1}f5}Ndq^YH5V{(|qfb6r5Vo}Jy9ow@JbeP%W>clEVssMx4LAP@~)Tip-@f&l+Q zKo`h?k3T`fN5BWAm$rp32t?a{{tNE(EO`JtWcAZ9_cQWz_6xl4;{*x}3>1Il;pXdj z-^)qd)5j&7pvVRSaf9IMw~T{w)~AB&Ih->0w>+6|-@ZVPB;`@PYnsIQlgZfluD6=H z7pJk;eVjMzq@AC2r#DB~6kfyI@vil^TbwLj#;S=LX{uxCRcw1o)bRe}&hQW)AH`xL z1Ah~hk*S#h|5NcrpT;J_>S|6%>8gb)8VdhE{=;^Y(TC;wa}3tc-o~E%x}2vRx&VEZ z{3=&JU#8pOwFY)j4Pps0K>m^BBbiLUWfBxan*jPjvm}AtKpt9%uzAU`fohO^2w70m zgVI~*lo=Z=D>e|(Bl+WoS7Y$@6!?JN>&o}R{DG(4NCJ8quy3si}XdjZeIA4Ub+El1|JAiX@1EU zfwMh!foMTueOZPi1WXSsIxnfoDIV&eOZV>Jm#|rY4i=Lsa1iIFO{x1`ZM4+*08$OP z06g|L`2!9D!;+#LkNM&L6U^px2mXZHAvVP{hiC=-cdSqp^nyzqB`pp1MqB9`LR13o%JiI z`I=tZc(8-87t8gU=ax{o@S1%NJ2!ll6Old(Xd71a?6Og zH_=89%MBP&8nS^VhE1PA;knsliu{3>T6lrxN9WDPGy^7Ng;JnVOgR-CT?*q11fMtJ z(}m%#@)D-hcOHRm65F7dm7)dlS7s?TwB~5&?saw$8cM_c|LN~5!0^Mrh7&-{^WtyJ z3Zy`LBp*qX=@jo8$f2S97T_G3X7VveJ=9aK#qoCcz8)DZ_$A3+c?Aa?O=WQ*jQu8S zy_}~|3+6G2eZdssE%FEWyU2ke9Npn7mpd{D| zT`;|W%}aih2LB%DSKG)A5@SRzT?!<#1(yvLuHQk2v`b?HQ6gs)0Hf#|M?hCrFj#hE zASl~qtQCr3O#=}%a{dhTTlZkQ2SE>6gU#?J*n+rPZFJ)jIX=6+LBdyzM8pM{h#sO2 z7}nXTLIZ8wQivUhd3X9BO-cYTqzPerVwxZW#lgF9^w1<_SpJpIfm(}}Qn!;0s;o$~ zz@B8I1JSYNH^#30oCpQHx}(m3#_Pd9sFzN?emW^}r=; zZplcqImTfG(&<_3-3G%MW2grt5rUnV0diFu)BU&RxUWqRxiX!TYfH75!7GlsAy);& zKLqe5#G|PDtj34OUeF-e3Qo)`1Qv;Q3Oa?}X80yt{r5?tR~)R!?0e(*z;0cb%G~E0 z3!V*tWXj=|;_VM?f&F(Su#ex21o>vO#lt$vbO}ujYnS3*z5@mnmjStcTS+Kg8HkUA zIVbvxd4KwIdAp=kB^~H*yvyfyXJC-b-Bqe1SZL|8-T%c~c1 zG~zh>PU!$!8&la))URo}9nI!$SG|<8c?=qU)z9^73cG|5Yy2qtZrms6c>lxstU}~^ zV!C~3`36?s8AaEfHa*!*iwCs%9aG3RC^Xf+khVA^*{wjpinx4Oypc7m!H<=iPmjlk z&7IE2oKP88h~erhni^|>J(dI-CWarz!Sr+qu^6HGri}N1an>sHPB`Bq>s({Yy7GPz z^GaC9{MQ*2b$W49Cx=5z#UoG6?p@l>jdhso6f9+h;b*uQ@CvyC8=)>aI);hiTj*Mx2!j~Y;3V-x*Q;FnX zYmVrKuY8YvR30FouK3ZRO8oj?zpe*(2rhoeGx-!~))DY$LrmWBNJ*sY80F32bs_2y zHTc)5*4wNi@E8i=F6PMw{i`x(VZ?u-{#h+gNYe#nC8YTox4`sZiz5Zj?!cgN{okZ{l zX7;91y?B9t4wNYLe^zCR@obb-rjsgawAPVKW3QVr*!mBDQRA_}sDsX?@R*GzDt5-m zX6AE-)VOMjcO*N`56I)la0_H>((nG6Zact_%b95CAZ@ym1Y7qd8ML2HRJ1fZPWXr! zEK~k#*`CgsrtW5q#`q7rOtI*?NCRM=tSO>=0zGn1!(z8?9=p{3L%_@ppYhpl%Ffrq z;+hZ0By0zUnDTt%I?_m)wsXr%U`e{ z&(WB!{X|FdAJ1A6CljXfl$%eV0Sp=W$A??7oand}(el}Pqm|aAcJK9|iK&0xOT4ww zurJ@)LXLH}gM?{Y`Z)gvlEzw1Qh-1B4S=M1RI+EL>0hWwi_}~=5U+BZ;4{r1{ZL?5 zhZ)RhOb$I-w@{BdDUy-SBK(b_v1EXynez8e6~Ed{>{k&k76I7Q*RVO9Lb75r7-2-<=@ z0S5U33<~(mprXUS!5A@4ZbGT}WG8o;wokMH4086m@!nfLhG50W@@u8;pT(u|kwJR> zlX_C5OXz5t!L##ab6&ZmsCAMyM>Wo^|C3c^R1(vC_+{xB^SvKh_fG%0Q}48U>d+Nn z&!>K~(^QI>ygvin38pT?6XU}Vj|BhXCW}xcec~Fv?R8+X(K%Zpp!Lt?!E>ad0{r^g zPCoy9o2+6+(g}7;jy9^2k(DbhARnVEE|9tOH*k8s=+H}PKkF~(Fuq6KTp>)Hd5sj+ zUK=q1@DRoFPe$_Bjk2ipB2k@FfT4Z(zu-3h{##M~&B+M&WC;z!2L@=G+7qfI_O=-IV`~Jyp))qj8s`2X!+{PvTwZw<#h-dw$Yh%F^ zN2+3#*!lf07y4#gSYa0ZJo8p@off=$KmT_~S-xV@H(tcPX0rOYzc`%AjmH&oD*DBk6y>Jd5Y-Yh+P)m=%%mFGR$1 zt}g?Y&WvYRmY7a1xn8g`cybU}W=hXDcOaV1RX+Ti`VJ?7v`rwpqQD=q zz-t3X5ZPhH9vvj&x!G}1(?7^ubiPWaPaeRZ(2b>j?)EUm(VlWs2j7S7WowP)btd5= z^|<<0*|8Cb3|XOHD_dzf6(%DV<+7{7%}l!b5ss}viA+QxrlN^;IUe8$$sAu4xlx@S zXpdr=wi&(rQ(|G;6)y;!!pUSn!?9O+kEn7;dk4%rFWO7I8Tf3A)yMgK@DGkNPug<8 zhv60H8bZV+k+R@U(1dfD8e2EH>Mfw(+8JpW$$^kJwPGC&k~8MMht)+FM*Gv*$Eu24 zTs?d^$LGh-iJ{cqBB#uAxJXHusdAkXaBgcyKFV}U(yRgBO{4+s#)cw|VqA7*ohk}Z zwH80+Hh8j#8*b!YQ17{c+KV5IpVA?bI3E^Yr2t{GDIprTOUC}xDEW!y~V@AMuO zGGV!pT$chVm>0#08H|uDmm)9Q>0ew*KFa)WV%m;Yv^hGWB|C2T@#Y2SPlS0JzOcQ! z_7yrM>aW0;$veGu#83yeX@wfon$p@B3~FDnVlS}$l5*)NJ?y8cNFW_?KW~GGAW;=|0mE2`g}9+FX79J@ z?&pp|J_;7GPqU6in@3@1<4Zq>V-rlc=IYzB}MW9pu+)B!9fQ3itvY(zAg3FhYbM z-{Uv5k^w<6vN?2NR}aYcx(&%5gR~8O%Rv!jVN?e?im&=dPLQ>2)#&4c`1o>f}S`^wLZxVVh+52K9r&&=&! zr3(tI0;f3O&8eT_CD)m!{&(|+X&fz1@x&L|7qe2j_MWsp{z^xX*mb&kNIhFnbH_TZ zs2~Jg(Ck4mO>!dD{!tJ#K`*(yuBBVvB;99e?Mk+FW&ZXXZ$D)(nrX4+48Rdzf5Gu8 z2!n4^B9nTEC}b3hzd&|*?&G^{?oB~_TMXu9b|dQETL8QT1O=8L!Ku*xHic^K{!h5_ z(+FQ0nB|-xE*COjMmBaX5qvp_%ZqB4s5iwL)aR9FyYn&Y0T{-=&5Co-W{W;|`%7ws ztl>sgt3R?GSx3?|T%T*}&FLk)DdvDfYF2@{;k%ZQu!{%0yZ+V_)Ik(pR|aG4-dRF& zD1j9Oh#gxyIRZMeB#hT~(6$;8fK+l{75Z(|zO?^N2h}l_fON`q>;8H!@=FSTrF3If zh3w{wn_He1TP}2HGHe^;J0bCYYaQlupIY`H5*VoWjUUnAFW`S&G%apzoKlk_)qj9x zgPga^2hz6?BuX|V1?dwm>0?FC1z5xN_Apv>n}bKT-ZgQ_44Pn(MQ6<|%cEx*7CC|~r( zFJR?3Bl@$jZIBH@J?}z*{H9E4{(7|tfbXGIF$itZPW7xWiYJP8eT~ZuR0;9ux6u~n z0&5$F_MlwOa`R5;K;mDLBinw)EVFod5pElv18Ixq(y#4-)lJ{&izmz(Bad#m7G&Z) z3yQCCS>F4A=%IKFs2x)#2`d2FdGt@TOpRWK zbPb?hKQWjWF96Ot=s)}Y(4r?|O~R8|Kx(f?_?>pkqBXt{%hy27ngHO>a)b%nn!+_M zom&r4ta|@q_?_DF&vp@ZmwFEF(9?WnF&%Hy%fZ(J0gZE$4u2lxc8IK z0DGjm(tvEHxbWfG0146BMo#Iz+~8~X*-fI&sJeqQ?k9GhYIT)=1~i@2gu1NOapk*9 zFxLX-6ym5URS@Y3k$82)N+Wn_4I0K|K8XllH=VZo6!_!P21uLDcnN%L|lIhVe?u*-3U_K8bUdAh2ygS5wbZtTZ>^p)Bc14i5vvStW^~QHn0i_^%>f!D% zzT)rucv1lvwC@=B`!j6~fdxBF_XR@cmMQ0(D3d_Gz?%Qe}@o;vs&b7||`W4Y#C0(D|B zO`s@y$|@GG;5wOyB&tKN4%n+`R(fjmc|tyKmGHfrJ#P8?`tL&3qOQlL z0vR~puYJ43TMn#dwRN;rCZE?l$*-1S(juz)y&zs;x$M=zNcrU;W!t&%2?!UaJ}shF zc606Nk2dCm`+Bv1lJ^-TVYa3}$iqkhxm<9s$X2Ta*v-^BHpSsawW{IQhb>S5U%T%X z)alNQCBU?$^~{*K7G(R{kryzDqmf5g>6i_RC~?|$G}VEkwEu+bSM)i~t z$%mW}8C&$Eif|E=xN~wcY`b1;R%Jkqth@J^ke!Q)dF#ViX%VcOd<&ccSk zAAWLXi3{6laO28Vp*K4bDq>XQ%D>jo*MndY@Teh>VlSBt?esgusR z!Iv{K>m^dVT7Gq0scAf+SeYI{G-@qr+H1yyKguKtOAiXW`ykZpQlS1Jp>Dbs){(I{%UT`BU4Bsuqt0HO}8gj~W8UuQ-~f=W0t{s&57RC-mNMVEQbqNO9nn z?LMWU+cyD^tn!csS=#C=_Hb?NEE!Fy>suL}dEBvSV9YQaJYz}=Eslp3*@*K`iLl?@ zUk-bVi})a!6m-_&H5|~YCta7^GzCJ`D{M2FwzO}7yg0lUYzre_?>JiePg`#(SC|qw zWjZnfVkF0k9og2gOm;<+27Xa6e}z! z0zv;IhZDnJ_I%xuI(n!6WqtXSn{C#?5zAocQr>q|(gnStt=tq_g$rn@w0wcq2pT-s z>a_xr4YIsm8}&D*+FUXRx_D{nVZ&k`2gqwCU;&@?$I*`t0b9?ie-AQWuyu*s{w>tgX=;yxb;P9xCOZpndXcPp6!w1B_%@|* zg%LGzI>W1vFd+~fu^4R4ibsCjPyU&Go^7JDrG@U1XmsKH^gX~sBEInN1=YlT&>H_J zT@@W{dp34B6q2F+2ho;B2;=$z@&pNt)Ej({sXjHJ=VUO_BlF-TdKRb3rjA8FXb2p- z;;6YKFm&ny=w8TR*fn@C^2L=IqGfan-?7L0Y==qgAlrqf^C{IGo#!*o4pXvkmcZk? z>{3cpEC{(kns!hwQz{v83?PKQdQ(3$dGDUPvL}%tUv^v53a}|TDW+y@*H1k)pu6kA{D~9g&+ZecqGqg6^DDz=;}zh;UaBF5&(cn|`;rW6 z9*5SS2J9d?+FMLyf*`?f&6$_97NIXBo=85ce=jlqbH|NLCGbOK!2Pz^f?nYa_`eZM z3YzM{{t^N$zj$%OUt$^S{1ssLb(^MlC1d0+_(V!*Y-`Pxw&t3lr{SKgRli)714Y^C z1L=X5AE_luZ~`abk0f~bnM!ho)V07VJN>ezg)7)bx8V8O;F`5H?!)?&u ziue3fJSFb4>XP4P!_o)hQRi+qd6=LYwg~gAIIe-?&Z!r?bP!e`4Y9p=^1jH@@bRrO zm;5OOjpG5RCeFMyUtaA;V8Ax*t$DZoSH{ANnU30X-~nM6ej6- zzn}CP#>@twLbxl2x6h;?{{+}eOCKKBppqcRLleLrx8Wq{VA5QgcJ~Yd>sR@rR6t~2 zOH{1go|i98EXWcAFY>n*Q~D0r0n2YCU&UzlZy5ge9N{w!?lCffF+Pq4SVmobhmyFt zlvbmPF9oLQ>xRvInfJ6G2hJ4qi(nl_TNT!^x4;ZUMYr;ZQ2hcy`qL{}bGPu(*cEJk zjMer#N!Bsen;b!s3(sdp7GU@q+`}m21Y>I*Rt1JrUaCqHJa9T~xwf0OHtKi(eG25O z^{F!4k7JVRKz=X@R{RWm977p04L*r+5R80o7f4xs;Twko+r)%x3G54f_1760tP3iM z8I$D&Q;NyResx||3mKG-sg#h!y`#+z+?+l}1~LpZN80Jh!AQ4_HCM zSjJx7+!9~e-1&Myy=6WZk0aG_ayQbG<2)z&##F|^QGrUFbcoDKZm(vx*2R@jCNJMk zCMI7A*o!%H{OcDg$CP+J^(9=B$l33$NsY5MB)cJhGW}?jH{f}$ zV|v;`e7d|~R|r>+Oqp!Mm=fLv5zovBoRS?GJVWWAJY6X^pC3v$h_c>XFUF(lpH#f* zP*^D&xGlH{qNW-)hwdPjMvRxDg-ffy4&P`~BjnyV@93#9;I7)|xDXX{d~f*joNHb3 zcpkK9wC|CGyl4ICizCfQ4h=~bgK^9l4=y>(y}IE+u54o?#Cb@%!l!Jhto6CzCRxk#D^HHZvx2vy&E4M6pGUt>DW-C! zK25k(GP^#j8Rc3ma^~N?f68Tl@0q`!gU}`hy>VJewKn$5{KY}^{2I$WelXh#r%L+w zpL~gF7PuG5>4|Ly>i23-rdg8Pe1S!uLpN(f>eb?~B6(O`(6sev0mH=U!)|wX)yXgB z^8HKV6cOr&&-GkAkC|{e)J}TfX)WE5l;gU@to*>LnO}`{U@6KGVv>LAzdJgyXyt6Y9rqzEbTEfRtY zuWsRfRNCnB8UYLgH}X zSW3-kmp={)V%>a$+n2gG%Oq&T2KteHO&wjD*62E!RckyLj&bWR)(;IenOoa`bwat* zp#D}s11Q)JpGMx?+SM}&%K8mdu>JX|k_t)-Wk7~MXdadhGa9dws$r-_Inxe~25I%e zPDf%Y4W@|07eGzw^6kCU@>b-@lF8Sb~)5kSL3 zpquH-_pia_XwKD%41XSY5?vTj@!PNYQ1e_ImDfl-^`Ur`rUlwhJd4vtm&yoj?e@4~ z-W(SRw6+rZ(YgKA`SN-j?{Pnh36ZP&6UNUXH!zamyySxrc&X)-;OC;!TWgx(q4o76O%@Mq=Q1uJ|vX+xBnJ zAd;8!r_tyT16LAm{{!>yCrERl%@o{zVIF9oI~<2&#Zty>9P(~X;r4Ywdj??!t7k;g zG4O%Y+;LXX=0=My37!Z4j(=JZZlc{{5*jIHGQ7d;!1HPeVwMs_+%2G)%F}GfJXHoa zXO1MijeJt?xOv7fF-A9beM?C;ZLEJ6=b%dQy(yuInmFAf1p>7`4Fp3MUpYDN3mzaG;V;?K}SjhT? z=DPNQ?$;t~dmLJ4PIU3GsPz5B#bkgs+NSh%9kTGrwk=&=Hn5Pis9<D8%q}OG02mY zP_`@?C>YLD5Q8li9^1PyM^IzRT~&rRJjb0eJ!Z$-;;+mdpBQQ6TNDG%)@K9tAnJxx z93S)VJ|8B>KCvt<=^(*oBU-fW2m$_Q)$_+MxdDqBf0Hy9&W9%O%hQ=I+?Wdu7W2}2 zmTy&CaWcjuY8CZq}8zANq-YPFLE;Psb4D@O(x%dU7*E2Gf zEH=N7%kbs)KSlA5^2#eNo{7cl+r)qM)^l8NMRr^?U9#rb&x$44hvm7c??#%~g9 zYwz;>%Gdq8%E@;fldSbG7MG1L;x;>h-6pB6Tr~b;re8!;#}&sH43=_}K4CkU+iuFcG80>(L|UE6;&JF84&ufHg>PCX8Gno0uSi6Acc3tHG}Z>PTii9>DdrD zvxc)hS_6o>$6nHtiq&HZ>vuy@1}MW7V=E?R)!Uv8A0EVxBd<8@H)bhE7GSW^$TfuQ zw?l0t1xi6z@4Cdo7yrr8VA3Gi<}RDE6`H#RocJfYS~GXFntD?UAC22t@(5wuRKdzd z6E}o)1+T_f-zn4hrpM06C}9Ko{d3kudSQPg<+(V0`LKY0;`NR{S`lhlyCoZ}!FO6y z%maHw@ei^j*{70mU#pId2)BK79PYiMV5^c)E6aK2{fprkvUN>hU-@Fvv}{p8He);7 zCla_ca@HMQFw@vl1olsFkUVm5P(GThO-OG-DKmTWn~HIqYCEubcjEc6ET|+Zy+>Vf z{cmy4+)5>+UhNGpyvek7&@vJO+1@Iv`lB)AIRzhjxW<^fVrUwskZ+zSP<*4ESV1~k z(wIo4l$zn?@~1$7j$tW-)uytf8I!UGZwnrImXbJ0_d5F*S>&xU4}a3WU|U{Hpppo% zY%iD8QmpLk%-m|-I>^m{d*+_-5We*qgbh5vA4(6SO9yE{s0n2iPyi%POHnQ4Lyxrf zDjg=bBkLO|gSNR9cigJ#;@e!woyM%pF_yjjXD>lL`m-&NQ@-pi{*ydN4))Y57}#o6 zU_~k;u^5kqPx?}``?-(B@bqtddzqx(zI_QRI)tA_$%5;f!2Wh>4V{&hLJciDsMOyb zzEE$TwBt}A^cU=)`<_!MzK&nzIM-b{P>~VQCW8+R&R}T62%Ft0{p$BdqmE`P&XasF zDv*3?rG^_LE6Qs+q_efouz_iBLR6*(&2R}RGZO>wL30&r-&}2*_y#SSRxP$m{aC8I z?j@Np+R>h{!^U5s-l2HXdKlb7lr~#%`@^%kc$0?M!~y|@oD(xQHQcr5H|pZ81Tg{m zr=**dLxLB^K{uP8hnMq4^2)OpnJ1fHDCxTU=f=QhG2^MEPo%6GcH+*k1f0Z4;GGIG zK*UbGfljdQu(t-$z^}qGSFt&Wd+O29me2DB=Bt=nzF4R1#runEKR@kc(xAL(&!fou z7m*(mllA`kw`5#biE+)raWGh%EYD`HrlUq~Fr(}6^n`f~sJ)EGFVn$%*kgt2WZJFg zE*TSMzR|xdO)mI6t#zg{UY;{Gt2{};p{2AoMe$f$!v2hNj+Y6shzZZQE&8y=BW6FXnhr?HU)c?#&_Qs4DF$=U^GE?A7s0ebP=C3_o_uijH&yA+{dcI@Kz2W0LHX;H^*JYPnMpJG zP@zxW^Tc0DH@Hdy14U#h4@7gRN7Vp{EpgG_I8 zW1biv*DJS6sDSQPvLq7|4!T4IpO@}t4J3cex9c`?*7^ueLlb3h+|U|s>_iWD3V`d9 zh;)ZtIXW#Z_&Ty_1JO{c)Zw2@?{aEAZfttkFHx!Zinc+Co{kR)Z^s=0-AljbiH^$h zmF4$Ue(*6{yV-oPrT%R-=+c&`cw8qb!ZHV3hEUf<8`l<139<2B)zU`GSMk869uriS z`DzfWc}WJ4>He{Sm2^g<`HHDonZ_xQdGeK8*GI(;qY?WMH^2J$G$D0Ip?yz>2YFCu z*A%G#^4dJ{t+KpbrF|RitFesTXSlHA?{_?kt!NO^2w8~i<*|-k?0x<^$src1$L}WO z%AcH~pS&;sUS7aK)Dc7h-eG4VFTFPal zE6IB~A8PWLC975$+hu*R8L`CL2%mJ_7_Kx{Nd? z-ti5a!-U4T`fVktKpsaRam%(J;E;i@#hI-80k2pQe$z>w^p8PdFRvVW zgS~h*uMO7OyEz!+zP~rA3u)tH6GRuha5s?5KMYVf4WW4TqsDA*|D&Zwz8KuFt%>d6 z7J;__b^;t`?g;@e7$1fxVuHa1Mdq4*CB;0WuX33 zFnJYpR#-t-2h^h8g+LCp3A|9eBlgrkyuKa8zp@dYpAk+t1g_eG13`j<&1Xf8R4bA! zkeM!~?7l-OU$j#7;+ldsf@{i6R(eWVNBPaA&JO$zvib8#!*GK4poUucSdL$;G>DP(Z=&_(nz# zMfQk`(BX6AJLpEdJ-Hhpq~=JJzep+#y4!Gy)ar_ygB{k82Jxc{kXxc}>H-OjiQVa) zNETi=+s&r;K4s0UWr~QMW1S(@2}p*)86$ed)`R?`8d_@88A4P$V@$@VMDjSxra&nX zLfE?Q$R{^;7qqaJz!mN1Z&`DkJSg~k5R6`~;qW2X-?XCK#F!qxyig?La;Hz_k<{aeXU44(poC5iad#dJ~FzA}J94_zRvOFo@IO|{VPh}DXb z}G<3wp44*Ks0;9bx4%!nBFb4!*o>uYPHCqHn z&pwVo7mzEE)~B2Z_C<6l;_oVM>7YZpBCr-X$+bzrA={o{b+xaIz^!SQbx;nKC@(Rl zw%Y=dL;Ks5;Fbo(WRCKivNy+_2u=tr$m4_TO%E%9nNC-+Y)aen92#Kde7L-BZ2s17 z(}n{HAt?S3C-re3O~hHdTm`j~aXh8oz3f170nT=j5ov=UiS`A-*6by+4g8)evL7&3 zNdb4HzW}vanj#wH68&4sJsvg+y;dJv&9bbZtD7!(IvgKu>Uk}nw2HY(p^6dq-d@l? z)IQ|7B{SHJQSca*RMYe&d z5mpGRXksXPRrAjF$V&j8hQ&pY?Cc0;gLr#%=CYM_6Iw&vwO~dyZh~# z@9b`2EGNpz(cKXMoRH{uh+b%!wAmiVh^MtS z2dEGyA_cc=j@xVlCL}Q2g@EAu9pfrQ3Sa^u)>r*w|m(O+_jl!u z;>D2(SxKu4JTPnk_LH^w*zw#Tjqp=DjCmXQjThK7?YmsYoPX#iWMGW9%FqXGy)W+` z1+9IE^8OqGZLR>W%~gg&fjAREA~NF_s>iut%H*Ee1}XtIUF%Xj?VfEo5{&QNqby%CKamt? zxk{KCDx#N#-gf8VHf&BWo6J@RDq0VNSN7v5^~4x22qeKh9$Nje%T(u=IRKr5v_)VM z=PlQ^fD|b8we8PY1n9k3gs7s8uSdUT-I^IC_V)nvp1+Hzy2nnUax)9R>_u@K$BM9F z<>*=nKXcz&WkY@UI;;W)A2B@R8lU@LC&1y2V^?eiaj0`{raYJco@F1}Ec88$8?F%h z#l8}YNnt*vD_n|2{0pwNjggn~T{!`q%09AH)>p*?l<*5nEVgaN@%ICX;C>(csQ9U^x!|>cPizNHbead-)g<=Pik_-+{QWDS#^OH@Bt1PZ1fO#)*LQ@rupp=5 zvlMO%2)vmis@DxH>R#xr;jv~&SkRtD>y@G2I(QO4My!DO%NvJD1)d>!p7&+gGeuH` zAqya?QK?&~NHS-5=A}H^1Hh6O(+9*YT+-{b>AT-hnHN5W&2_)ls~G&izmKCPZQIZq z5f6*ZJupS!@8Ejod27-U9>V^RZAK*SnGgAY{E=Fuwy7Bc5Xo*rvd&PlCxqTASwfcVnMs9Y8%wfeo61g>ERk35 zL=iI9tdk1SLY5@U?|Of}|HAL_;9=b5+IGRe>if{@@N z5@JJxKdT{wo8S+-AL(2G1bx%o`$b%n?*bp7LxD#2f!4m41A{O4UxI>zgB3k|yaL=V z_+3);^>@$yp)CkOq7d2eq)kZ9_sQVK^R~IW%fC;v-ICO!ybovRv@MNgoIG%VkClV% zW{}~@BPzt+;(IH2R&F7i1MPSBkuWKRt8(IO3_6BQC;3+L)QzZeJo$OkTuylJpUV2* zf7i69=g9hk)Tp);OSlyFY~9u75g7g( zFdq@+Jn?f%$#tI+Uncq#^!WEq1bYZ~NagRoK4cQ=45Ie?AG*mzMo3;jlpAnzkJJ{F-$hCx3@f|5%; zPdQKhPW@uQ`x=kg5^fY|q^%x4X_YVv72mb{vX;HA2&=)fx#dM*@Q_jYDQx;Cq987_#=u_elle>C|=|&H3FY?v4(+wh+W`jcl9>Y>nG1wjx5;ppr_&_ zWjW*#GKc{nM*E?vW%!CD`9c^)f_gu;P1b&`G@Rt9Z?;cKlSt9OdfK68?Fyq%*Gi+p zI81G+bY7HZ!~cr%$**zxZj}~%Jb5taMWXcy3}PBJoQM-&3&V}xR6VL^b-(eFdt^DQ zlkr&LNOqfl4chOYKsIt|VKnuAoXC&*@)w@CY7JU*hY2+FOnQkoqN7w<8|iJ7l`UTK zDuN@w8He71TEvL4gZb%HGOW;ll1}tv$qyTbdSTyfxq&iR8s-3vr2#DY4pRsxc5hyS zp=ZA`d>4N7f6an-pk4L|?DRK_KbKQyk=g$%;Srv=t(oJc!FZxT-2 z_JPK|8UilI)WO`gl-2}ahbQ-F_%}A5lAySt+WyUMD=oon7zeVIbO|92_jSOx>F#u^ z^d716bH7b6DWz|;pi3W;RJ)^E=S8jfSD|j?eZ#$GZi@0Mv}-i>vaeIUH1!Z{43B~V zLz>9swl9=gN>TL%>upZ7G-|{MjPAgjPN}05k?ILJan`Vm)lo0I!2KnrLgu|AQ*cGd z%KhQ?M-`8r)gs;uaKn7?8>WzzqAoWn}9eZ#u zwdfNHTwAOmlEhdWR(0s9I#kJO47l8PjJHvfc*}-W7a3ctwIsukH>U}zAnX(B^z-S6 zB{f*!IHWPtR{G2Sg=vG zT2(X=3hWCfFK&jf+(%zNP;Cap9QcCuJ;4{%E2FS3;lXs4P`Iy9Vgx3)L{iNt1%TeZ zLuL*JZa#od8_- z6h@Qyo&^H~d$AXBrLBU3C*ik93pr=Wiyj-q{6VA%GzMHkrb}xg zmHcEr_PE?tW|>2f6rLgkGLIrUjboBMeV)uiR&m~t!*50At@-^lAw;snM z3`@2ucPCddO+9a7^;Yayd@y?oSUpn)eJV5{NiB2h1)vdaFSFay@ET}Z7T8S=FJ-&P zfaK7A5HQOag;al7Fv_FIe?Djfu?ylU9p0E6Zi2p5o_Z`!G`$0zA0bVkG*j*6(gUv3rAMKbA0($a7r6)VLFCib2+}Z%`CXithaM14mMbcG>p;xTBZd}I zRP7}i(nWs*dtp%a{w?@{g&p8Hux|Zr3CN0fVG7E*W3X#wtGU5V%God z(+stw#*l!p6GiZ87zRkI2D^uup3}N{ODZ8)-X2pND9_l(SY9f+~lsP9u6* zbq&YVo5t@T!co(#4}C|Yf_<$|IewL6+V2sS2feDZufxI^Mu;-3M16>s5dHo@f2 zI@G_hCwlFIz4#@Erp9A;mAdMC3xqkuv4|Ij4$-2UnU0es6)8618a%rf(j0Y8hvioK z3`2?%I~$IUcS;h(T5wFS?ohaG4*~rbaLWA>Q&>hH0jOg!_Acv-|L?2MB=I*ln$zqJiGGep{uJRHj6(8 z?gmgBQk^5Mcg+#H$anW}g@|w|B84tcHpBUI;3>j$=tjtPn)4F{e>*7!OIsg-JY+^3 zj(eVmd6?m_;W@=Z{MCQPl@L#>bkQg?*jB`yKNO3}mbS_Gs@ymcECC zNIDtM&gX=aqjo*|Ps+`7!VQH6#Zn;H!=5+UTIq}p6S8l`cAnu_K-@UF^`}0oEb?Hm zvXt$}!NCBojYDwunBP`iNH-MB9rduHqdS2@mrmbdV_sQkdiVV-<%CI0arIaDFO}SX za!^SGK~huZ2}#)S6`ri@E^!~={m3@c*Dw^-BX)K7NQrc!_)heb@ioqB)8n{@g6m#0 zeb4JZ3r^2{NF97a6F~?G6GUN?YsIzWiO3G)nD;z?j*Hdj529UpnF;-3&ENDHcAX2A zWVp=;^fj?158kxGQ<5yI=9t#hqed~sPXkCCin3=CA(F!3r-*q3E)Lg!Nd`J&7*pKT zhpa6$xbhTSzk_L`&^PvS5kg`7L!>#dD?el^4is-~u<3c8jKjhg`Vr0Fyx_F?{YYkZ zh@!u$BCv*q3_;3A_-~;>V81;GnP8DZuNm*F!-23NSpt67e&w6lbN=&anVU%E_nE67pB2@8(`^bPogTaZq|LeMr9KHvb)iA_Z zyy`&xHU`2i0fyWv9h|lOU~>;K!il(o$D`G+{ek7PWXHmeMX10OjnrQg0)+h8J*Slx zj#ApH-~n`GF^b8QZ!QhLx0Qw1FO*0 zgc!}PW3xCP!Yg}!PB9S}*}@z=r4`uO2fS~)E}`~!0?(6z)zfuO#N}tS@(}VnjEykK zrs=@yJNpj3{X7qOe(>5LI;7PXf(zGGj~JCD>Os@c;SnLH6vZwj*ViC;iSxe-UB8Fh z52N$FQwvdpnMFXGplwQkAWFgNebA1&ws-tKk3yV}ofmieKE3#LDI2J>V?o`8@q3Ei1zfWzoq_aYb3wT=@LwxedP=>N#*Y5zu3)kpm7EKA%b4ZURaei zAxKdu{<$-SH^x|WYX>jmB-{E_WWAcU|Mdpf@cles`N5px)B>GgD5Z9|0qt5l4^dm< z(!4&+LrA9Cp6mWR3=M{|xa#D*bt*kwh+?BehMQTT{Jo$BZKRSwp49y=Zc0Q1mjF1w zawpBPuyP2hd{I7G3V*WIq|(1u%g+jgZ7f=9P&Vxa>&Szj%J=7b27mXYI}uog@C5y? z^X6E++?d_D4?09j)-%UINMV=^AL|#R=K#H5QmqETHHaBR&qPzKDb{3;dt?WaIhN9A z$?JRgi~Yg5tDk=yW>z&CQ|e-YOMTaQwuH7#1vk*bU|ssOv+a~Rrt(KcD&+*C)_}Ku zWFLIk^^)tKDZwd6`Q&G%4}bS@9Cg%5GcqAPMp;wd!kn&1C5{lj%zgJz4>8V2XBOux zzg8i#!n)Pelk(oTd-*YS;ehuFSKDcgFlS9C``9T%BoZ+~# zyV3=la%|swsI9{nf()toJ+}=8UYJ2HNX zfnBVE&%@U6035)%HCwOx)vTw*AudqG<@Sj0d{LO!+EkwHxZP$b^C%hwHYYurw8=rmr5NEiA?M`4^O-| zRHJn}LW_o&H}90;f_|~VC-tP$WpwHx+&ADC!#GtkRu^WS+xxB-w>Sw>f{IWV=i@)G zW!!Q89XioSUbv-3uJUm<$SMz&_MrDnH{jkpLf9WC>fKR?aCdP9M)z1i&Z1vRO{csf zC5<~X*Dk|Hjjz(oP)s&>Ch~T~tjA%kyQ=+WR=@9kUc1bcWk^If`wDBgHcdDQ|9hLV zS##9mBhPEcJF5?CyVcB=XQ2_~39*VrB^7n^P=60dI`ts@zR(9XbyLMHV2O3Y)2^$3 z1wKj{AW5)z>fx}kKV3?Cs39r&VU%pICq1Q<4@9pE1E-im%;WTQwt5z=cL={f(>uA8 zzTBc*ibj-dumLH6b;msGX!UvToR%-|q4EQSe5edH9gDMcJC2G0W_hq$n1M$H(`GHM z^5SLAXsJSpkm~G}31zK+MVXk-%Z;b3R@TMTkS99XTR7enAV4B}%z(54IqffczJnUo z1%W5x5Q`AIHd4rB4BfQue+4=?mFEyS{&01ttof4yor{A!q?EI&xu)y-lX>JL=(kJ6 zS!B9VfnhJErog^_L&r+)s*7LM4OH~N&pLGdw}zGu+(*JQiUV%ofQQt#G9jE2#EzaI zl5PnJLNW+--vb^;H!l@N+YItkP#}3&xI0AYru?+7Z9)JR%#q$bm2@&yE9aFQIK+F| z`}rY*uz>}fXWfxVoCcQ($X#wQfp6uj;a9h{%Du|Ib-V74-WO~l4vN?pj1r2~pk=hR z$P!5(pCKwGdw4QzTnwmO$;PZcoV^UoCa}a6d}b@fo%*~m`hcedQ_xczZ_hx6QFKVW z)Lp%?&}x5wfrUWvad-`S^6B_u#pu39#96k~y5c10tVMsTJ&?m4Lrih3Fayay{rZv@ zzFxymB~g#OFg`_BL&^Q_3d3P3X5-IB_^B>#ZbNy$Y0ldv7u}DRR9t7NeDsfR1<+IU zF+1G$Dw<}u9+9GUz5HtO=1rtY%t2<1GoEu!?T4|lyh zCppyjfNqP5rx~D>2-7TYUMs-tbTyV)w7W<9COk(?LcRK@h*aA2J9U^}))-u+i(5;* zJw@<`)-_kZjN26?hu1$1=siRs9a>uSeNuRQ%YFjg5}c$eWH&I>c|Xv-NJViqG`BI* zS7LH?IuTDIcMbSbUKJXs%Eh2vk=6RZ2Ye1?N;8UXW|LK1jxQIx@-a`-Kh*zC&S1W~ z(6f)c(C18N9j&=aOUvgDp-u2Ed(Ap-q`R>T`!_Hy8q2r3+zhJvyJcUN>IZKvI-)ci%aAeQaIa1LB>%!zfj8t4 zd9k>slIjpmGN|JiUEytQ8W1FK@BoXfR`l}=jD7LnK&?(g%zQi+H0Q2JGlUTz{-ae} zGa&+_^=R~7qL2U&;hzit(HZuHr~1VXW&n1r0wFSu_zj+iIJyfEA^)Sh?(?g0ZpRvT z!5fk!+cpS(O`v#xeh-~OJ_g}}WXY>3K7#8FpaJG#ie$;=`aPV|2|OUv>=y2Ndw&1Q zX9lDVq7oV%hv)nT7JUc|`V)|a&<0t<4KbM@kfPCle2^u=+W+mQ@7YEFpFQF%OE!CZ zX?A5%A`)3X4?rNvCYQ#4FGT6-V&MRI6(rV@K`)>6BSiDiuIftC#9NZ&^GpfKZEeB5 z#S}*m6QTb^aTSly=@;|&goNX9q5#L`L=6KG+5}SmXd?6NPDv?9=^!#0j#cYBe=kwL zklMUo0b94w8kIpO;dxp(Z-6kwpdXP|5AZ>_m410SWlC`T-zYByS2u=XPCuLhJHEM+ ziX*4bvB41?$uC;59K8kF_b@(4pZV=S8m@NPJL7$;!`PMW=PzMAWpcJGeSEb|hRorp zK-2@Yg_t52YxHjFpJJ^<^s*=-E(b10g{%9W_1zXJ5gR?E$+;m~9l>8qDt%#Fg!-(? zzMr`>4=prn!Czo8_%IV(*Uo8d@%bMYI9Uq=K_ z2XA6kU<|x;1!5yS5DI!H#L$=n0aO3jx9yx379kVQi{=H9ya%L)3^o?uG^s&nW;9CW zHszNtgK_txYwN~YnD&gKdu2CkNpdk@saa$&h$qHdpa_-_3BPc^4D)cdkmFwysP14y zR~{DrXG?)d8JiJgWZZYB2|jP$AXKyZ0R)bGj>Bc81FiR6op(cd$&T5?JYp$LGe#z& zA7k88(w`69EWqTGpQiZROmk?UTgKMM54 z_NHY2CCl$~K1492&E9uIDP^mAIelql8O>9baE=d4sQdS0A8^`TcO;<5jetN%?HfP+ zlK&H9%-e}0OkVoyXvw$ed@kFlOXYHjDBZj9OjS?CubGi4oHzbR4LMd~;j8_K!K$iH z4Ik`sIV048^R@Ws%l2gqYGJz|*q1Pu4c2k6L4Y(JuoVnY25 z4FEU$&YNk$oB{xPbC(HZwzPi<&_^gmul7X!6PSEAOP}}x*c#G;pb4~j%{mZ5Eb%dW z!D_!D5627SwI$O)$^;$~LAC!yEk*TN#rgL1+cQ{3cEmGJA&^4UDg zTn1glAFt=3CJiVFO4`e)`%+KdcTnM_p4kgouBk&;F@ZvZiH)NMbNQSMa z1Wl77o=yA6ry3v2k+GO29#Ffa`SnoHYFwEo;r&L51!Xd}&A9noEp>pT(Oo)rcQq?u z_35)_m*WMGbIrEm%Km9Z9+_+pwfMaTxy82GHCqNlzMkEd@~;qsa}y3FH6dxX|C&-( z0y3LbdL>R4w+`L3Qe}!R$TX; zl|20Jdb^8!Zs{?&_v&%0FGQhC!>vEn#Iqx`IEFFwIA#6G*}vLmVQ0_%c^+S<>^hWV z;9&Ig*}Ui>P2N%NMgW%+XGQuEv$7QkaB%C!>*=>mZSIs6q3Zg*8JxRZA7_uR{Ka_S z+8==BxdFVA`J^4qG~KGc@&pgi3Rzn%7i(%XMZ^U2c2Jec#ytK~Yw*U0dr;cKshPY_ zHjmUjevQfxFSNU;pemN>rvpKnPA-z_pX>2FQ;~@NoZFt)E;ks^BOG$+OH^EUf2HNu_B!FBX~qzn-dps?Uk^|Ud9O1(48YEey$*i;Q$MzN zai*_gD59daF|}kkB6@?@!LtXE;kA=2kBX*#ZFez980;qy(Loxqsz*gPw;U2i%;I%Y zJwFiXz5@L+&)UPD-TqV&p-tLS8+5Ua{CV?=1hq5nM4z2o`lQ@5sXhc0BG@QLG%R?S z2vCW)+gk|;kc<`1NJBA@N>OyN*oW32+b|TgG%yd{&H`u-inj76n^ov;)xz~xdDJT4 z9}K)9BJ;Oq&g9*ZLev#Kf88h-lurWAQbH!#ncL>Y%pb6`TeY2f6#?H zU&3~N>|t}3Dgo3psXx`k8go~P-gW@agmS3I$JDyH;%mNau(>KO9bz=EEmS^*8;T5y z&wRk{8UzVaWGIV;1_v&C213|3Y4cG0vOGh@cvHnZ&#ozfAj@lPRYL@qg0i=n(*qW+>XYxH)j607P>_ zI|&o?IU3WoMLyV;A~JDXhlz$K@0je-9E4lhat;E>F3<@e7NXlIc-e5%D%F;5lhN$PTd7ugWZ(->-I^S4j~>vNpicZ8!%~ zke~e}ECc*CeFrFJ0AO};H^CG?_xk{LdRy6#SjxU6dl|LoW(wMp)vt6pq~jqGTdPKmxl&hjsu9Wy`FwF+o;$K+#hQv z{`{jcJW+0zy8yR_0M4nW5PGLBpoqA5wjYsY`2_7Mz0?N4oOOjUv0a8rG7>=8#+MDKOYI1jI!sOu9(r>s z*8~!soPQxq5I2yZ`hsVTCSRHh?`%;)4K@yEaq`CBqZ3weYkM%QX~^642}0;>y^k5A zE4_aN{#UI&HOeDs!Wo&p^XAUg&-0f=2+(=aJ-0aoEm1eDDXZrroJa6}I4-H-LVV`)Bg)Z-(_;|Kg zT{3rYokoyPc=N}k*y&AlvHjoxkS5B58+g>g{vJRuT zKwc&o54Zz_yUKm%!<~$ce(>JNKYE4e@hN>~IPk~KR#GZ*=*DzmPUn%LyzS^I#m}$Jg*byI zGTL2^KN?XuEfU1{U1;WLvy+!{waa46v*GI)X`U#YqXIyk=d9aZG#-uU?hU$nV2Nj$ z-?>taVXg{d1eUHn_eCpyWAX9l=B7Uem2#T2jrgN;K)53dFDoAOC9m7Z z>bj#URK_D+2e0*d2-<(|U*$e4wF*Uv?;zi`zKE$xUw?$z5Si(-eC~P5F)5LFRbr;< z0c~+?maD1sB7w;_bF_V8QQ1k>=Yj-vCGLdA_sX^Lkb8sYM5K1YWSg#E-AOLAwZ zI>G-Ob1Razu}B}>Jjv1N$k!k-v~zjnM;3dI`Plc$t~)7HcMe~>mS?w!|E}q`P`nt| zW^P)(+!$WCxfC>W^gUxClp&vP8*ZJC(PR-Y+dB5+y6rzEb^9FSJzK5|TJ8@2yKHxw zQ(A$OJ2EB1J{XCyydj~)7Q*j`U+z?`Sr?wC+H`K6n5jzQS-i%WVzo$FL z5$S?{D7};U#crIF*;uObLT@X`@}Ki&VdXMvpU<|t)Y%qm(OaJ-q3ygDI0JhRGY9Aj zevuht!MQ^V2s@J_2??I^YJ|~p5c&w>(G#b)UOPU@G73xoQ3fm0x$1lbkl#*iK91u1 zioG-MW~tvJxyzkH)VjIhRoK31$I;n*1s7D;c?Wi(@)ZFn)P~td_nrBTOiCVh%T%W9 z&RQ_Szu{BYO{WtAS44F4>1#o_rGokW{|J2jelMsf`oLvQj~*H|;_-n_bbjPI=Ej*n zwc}>W8H1enq_$_wA?e@4Ui9oge&B&n|7YHa_~h!y%f+_bS!6g8yt+)?Cn0i<8Jbdeb>wnTNBP> zz8QqoTjw^&eLYQA1HkL7o$Fc8h}=!Kd=+O&1({Hb!2Pl?n(p4;02ZMFU|V3^1S9+I z0P{QC4c0j?!+WCr(m8Im=v9YD#KrFRyhWbHOi(K@^dHKJ;D>(3f%>J8th!T6^5Biy z(}eN(;-tgjGC3cyiocfQ1-qdjg!I+)IP-%5Dv-DUswi0nKdH@bf*PR8_$>hrr|;-N5kVOKc2^^{{H7TDBZfh2K`*v z4vq9qD?EbQI=JB%n5>_xmlacZdlYJKq}JJY;Xw+2ei-!)QO@aP6sBJGqJquIT=0e6 z$`1&KxeTg!W*bzOOlD*{?CorF6Mj}7eLF@c94zXyE>WY_85E{H`ba0R6h&DckuR;p z3>$KUb9lTkT>T^4r2Br=@_w^-C}X{(zwJl{pY2h^Ps3#4l!(N-H2>95*(P)Eb=b_( z7#YmHYvy*&QVpYdJM09HeR>^yX0_>XYvs$c6}Fi})R@@aFHg(gG^0juZiZ@nJ-;^p z$t5fSVXPKB|46(1^q8^c=KVJ{;$G4os;;c1zHUtAnWRuYPq`mWh5ue<(KgsRntI7- zM3b?yB=_T-GN&dk(|GGzrD??D}vFawAzVUn! z)04v@8$6Eq6u0}jrrc>km|@i@WxnLVy&<=xz1;cKbIrt+^y!Jd+^g%FJg(B~3QPYUdDTIecHJw?dn}E*Pg{>@LxhyZ?~X@P6v+4p!sy@HyS)4X z$`1l_0BCQejHmdQ8+ans!6D{z<@A#%IkX|aq~y^NdAyv(d*8QHW20C287en|I=vZe z-JsOa)E#A!F+}Edes&kkxU8sjFofRF0aZa&2GjG$I{|GMuP}cSW%HlCMECoCFpOh>y>t#ul{EjbB zuSOgm@ngK3YcR&7&~e8_HblSvX&bxf2O=|XX+L!jXLudJX(iT`Xq%c~!GeqQn8bh@BjpH@SKlWr1x#aUn4lv&tp3y6SLBB)RNxDQc_3ULhRGPjkLN zqgzd$ad5lfX^d`S_uo6exb-5xv*#F$EjrPfFDNcu zVz$qV)*yPg$kf8&}xG+Gd-q&bU!o z&3L-> zxZXm9KaMhX$(_mR8V{Hz&YXce{R&+!0hInasKeB7RWCVYFQ=YJR}aN*2>BiHVA12d zfXcs~g`I%5_6Zn;1zA`%`H1zbE%Pz={d!PA{OG~-b3Ma+$UH*J(%{?J=iyduau51%YR#N5R4A(x#6%p*TQQRxRi^tYaq;XHc%Ew-xyTH0 zWtA)uN27j9RM;Hc7V|pSG-LzdZwHdq?Wq@AsoML)2lG_Gt)gi{s48*#W8tNxHBPpTiZYYl? zW`lhx#P8rx4k*}ZxJ2D1C9zMjbH*nW>FZ#f_Tn=~zk^@%Kut{tr^NS1FGQBEyB3XV zc1=XXMy)|I9+%tF`0!AP8lL8?FcCAj{|GxtfCt|jTHyhONe#}?#1Rv=se2sUUzl2qTdko% zDju0GrIL6^c1qOMn(+o!Z#~h#YM01qdo7iu@n<}I@hGfP5Jy+6MI`^KSM*THRG{>P zNBP_tf2r;!_cgr*LsnT4VF6`pO+Qz{hqAB~n+#!B9amn)#a9V)Wmsy#wf=wKAs%8L zB6nUcYW&5J98W%f_M%PzC?IGx`TB7uetW!q%;1sofxkb`V(f}q_^>iGyMb^}i!#8m zy`lo&s}8g(0CL?tWbVmgCvi2RPF%_Vg+t0}<^{>>z@NL@N(^20?o{8m_Fc+xQY!%c7i0AOy(;=@Uo-PicKKLbNS`9Ds^P7V{dlR=RHgiV0u zZMT46r#r3;!NI|*9zM7HZ#wz9s@}fiUhq{1a-xR;eHDi|K0ZE~|KH=k9{B(10Z!TG zrIR;54#1jQGB7eRv#_$A0Z8 z9G#qRy12Tz6FfX`d3pQX_Vv5t9}pN691~?CS36?R(ij z@M`e&(D2Bc(J|Wi#3X&{?exsM*}3=g3yU9?mRCNmu6_EvzOngb>+84gKYsq&-r3#z zy?^lM@8QuV;GHG|14PcmP#*^t+3Mkp&Inx4`u^?x-iWt(W%WQlN8WwZZNq+utw7VP z*^uJgK(0AFE2v`GLp}TY*kr+$%NKbI({qZ*vtxKK=f_57vhU11pXG`TXyl5l>G&@$ zYB?3=^&NKAEgrWWJpz7!IQ#5=l*nw(ib=l z$l0+sUMrTd4&8AOdC#99wXkXA9%W=2nRD?V>@3%x{`c9tJ<_wwv{N3<{oVEVsy55L zbiG%{is@6#eQa;O-hB}*18R@Fdmeo4XFw5Yt4iwVi;4YZHDx}{kcBH8)Y}Umpx_h) zPsCG_^TQ4;D1U~SwMSm=M6KJDdnxr_;Fb6L=g7oi>lMzgnC-k@L#%}<7&4WnA>kW?s7of zUpfrD6WIS)E+DNTZ_ANx)EpnBopRR?2oC(XzQ->9`8m-6{7LxS9Zqr2xfP7ss7hGx z73~=!9Sn9CzE~H{(|o)R1-rj>xhi2Vb^O{FT=gscJtAl3^3bUjmr~$XN$STdVjL^5 zF<}+S!ecZSCK1rty?|=f>DW6NM%Xt83 z_Izlvaw@O(19HKyLL&;NJ<2(~PR&5p1{Qr#U7D=%C@cxX!|YCboKLs(GLNx+Im$tU znK@olwktiBfVfkubPLa3NgcTE+TXYI^`Lm*B4|7Q0m6j_yO)>g`y``)P&lnM-IoWC zvNS2CnkXaB|`FGohoiLH#nAv@P1 zvA9`*=ut zQ`1F_z?~q7e*K{*Vf`%}qK^qVqd~Gm$QsvVl@^(3#1QzmmkUf~DQgEMnKM%wF`@=2d7GF zYLIG7h>rJudq9Q2tj`7}>bpY#n#2UT38@Jdh)^CEaR94uv~0f^(YbNhtggNgc6aL2 z;uob|ONABbQCa%SI-pxxYe(a$s_)d!$dNQ)5Juphey()XP;>B6Us0K_Ii^UmxGU!; zD^_YK8p07Qb!%IbQg#dJE?(lRxd*?0;~IwgW-M^G#6hR%(cIPXnghMG;#H8>ahea| zzR&qx%lZ@tUUE2lf6d6oCxh7i16M2TlPtp|T165z^7spaP@Yq?gFN>h zWCCIa6@oC7zbrGVK?1I`SIF!!FZTw!6elZfW=5LxWxPd%Qlx(J>}Si=?)EtND`MUm zO2#OES;wL@gq!jWle4J_OtnImWRrS~I_vC$aLV>OBr(gW!1giJe3b-%3Y@FRTE@+D z6xi7t`yB;}liI%8rdWn(dW}b1>dzDA?k6vjVRHq2Y@Lmy$_SY9ceF^w_08BFH+248 z`%|WNFOnx*y6?OuxkYIx^Y6Q(9x$Z_DwU~?^})x`xj#qi>G5+=(>K008$`%Z!-})b z;PbQw(js%}j$)be8J&7_i0effbM|IbbVGTcdN3PwXq2bENAr>*>Vt$$xtTQL-8g>} zp*5BaYEG1sInu{)%=XD|aYBbG2{umh2*payvWcb_LWbxEmRa!;tjRU$dA{ z{9qJKRC#NN1#m^|3WB{9fMVgz`Xd9F! znUTsra{y><_p>5I*#p&~LwZTRK*YW*sWp{663u%SL+V7IJ_<)Qbh5{NKUu`FT#6Ku zyEwz+OjRvEeH~5KMTju#Cs>k>&{9D_x%~-FeVunC7YpT>+d^{ee?jDcUCXTNfVOf5 zxlrcbcBBcD383No8WXzAl}=tXHj0%$0U=~)!wI+mAZJQO5%7UUdyM-knuHWWMx5i!V?5(^%3uu|4;)Uon+`#97DKgnR{9z#huyp#|@70udNcbNBZrWAh$#y zw`SHvxj{P)b)KJ_?jl^V&ix|{oo{bOQ@aT@L$JK$JX5N1lO~lJN^;ZG_->7QAe@{4 zHu5WuWh*AbR%i_4tRMwG$Y;182N`o$0BW8NgnY-L3)v~ngOMP2PU?5T{&&L32M|Q) z(J8!*aVWC1SjQGRmP+fz4L$FVJy^FOCKzzO22pf3+*MfHSn;1x#J6OJHcN5{K{}g1 z&?wRcQ{qgJdBo&eDlvPYNYf@P3vhhAo!T~BVt6-JJ{wEsqF=WYksFGUU$Z1P!01*= zh)Br|MFaH&_AnGh3iCG~4o#MPuyJWnxL;JH;uL@&6OY~L-&d)?S?CMgv#hCr zJr&XMVR)meXv`oa3lf<($tigj#U37r3#m6 zeNJm^!vwT&-ZA9@0N;{I<{o(GilH7y3k_hX%7s>wcT#qRsA{R?hg$vb-dnu8k|=bA z?6tSzm5pw4CP+VOQ0cjDhc;PKO=QcrY#HM8b?bxLb7*`&gVN%1Z%UeY6VK*Q6_DzS zEbS-x2y4_ooDfW0zUosMVGVD;M*8MfXrjF;%J>5dy`eqoa(Ojec==65#HJtH55}Rr zNI>};Y+h}ngfnhaPn@f7UA;PXomaI;d+?=)&Y$Yo4u>S6pW=b_i?No0WfD=0 z<31G;=o~AoXhkV(Je@vx6|i&4 z^CPm5psb1YQ#ACvhDuNCPZq)|OiE+50~>f1hRV!Q%Tj2sbAefj0@PB6C?K)8%3=0H zi_1m@S^Q;dJ1NX$!0)N$`7=_Z$7OB~ul#Ocv|^=3?CEc;DXWhweS$ROp_y~l1)h=_ z>&A!e08AxTSKMy|y-{_b4Y*?^w{sr!s$Gw}b_bqze~M1ygt=V|B(a^7#~Ka$jYw<^ zE(*Z^K1tA?jV)WIRJA|Si)*o`TZ(0THZiLO5E-P0Db>ZWW%iAY>wxbkA)F;6*Ua8Z zp*Lv$arNVOFqy>J*-6NSTOEnBLp}F&T3v zg}kfY=h#{wN?$O7c`58Pt3!lR@#cqHFM$zJ+Ir^aZ8ny@w4)bKm2itY`7P0~lB4NxSxjdMCn6i3949^d>=<0wpgm5?0InK{uOU98hf3FveLxBsZ zPr0WY1;xvM`av(WW$`p{bhBv>Et{6oDpJ>>q6}ZkpNmDPgHl3XNt8eT!h%Lt?HkFE zey_7>n~Cu1e`0Tc$E6?q;|W8N0+Y&T!&At3X$oBOosohkF(aVz{i|L+4Kt)q)%id} z3vH`~76J=`etVZz9p=nibZgQ78G$-;JY)0;62}+NusrPpFMGd@KUd_%B0sUzSrl>+ z^7&`-;>41?v$puz`n4V~-F77Q7E?g`dai*M^v3>(nFBp@ABH%&H!>1Wv=ha!-d(6Q zczjK~?Xdm0ethicsOYTe`js>F2??pSJyjZZUo0c^`}#Y(kr34;K3hV|jL^pk-)DAT zDwdqXF~)uU92itzKMG^e*YAn`=jET>e+ZuCB&2R3RJnzR`-M&xvx<7O%pm`z?4Np{ zlrA~ns*gFb(~UimgE&v*@R5^2f3>27RI^ux5Y-EOvL_Y+T;wI^SlWYx)Ez@3i0WHD z6+(**ryAAH@His$8SUSCmO`*Z_UMa`5LJ!Z$4)8mafu{7tB>6&@e^P&ibErD=l&=kccA+H!H=2+!l_znkrm>{ z9p9H;9KyNt{IebxFX=70tt2Tx=i2IM*ybJ57Q5K^gRCvdC1Rz{Jwa?kF-#`o4y#+g z{>?WFTG27XtKIJUEZ8RIT&tQ$!;Bc@1ew0U2Weg&y=HW7aVllxcngPQKVg;Qtm z31ns8ZH`~DduV$71hig*TqFHqG}jv#l8e}MLe>*c4x^OAq%3L=`%mbrOIKjH-_Aps zi2^F+;5-RfwpOaM^2_7_Y|5&WZ@s)EHs#p~nu3;}Lt*$4VbC(N5K1M zgnK~Ee@e>@dNaPd)ltA7k#vI446IvAOw$r23=jMo<~+LcAN2@^{qg9U^J@U>dhaRQ zIjehry4R!F;L+?V?aTfRGOHq5g(`a!G|;1|dRTnHw6D5t++ix&H*=1OYOPf`^!!m1 z1ZbUyvfbMIppi$NY~XE4*%O#m6sQtKiauFEdleCVh*J%Og)>QS1)& z&9swm5#<}9UEI*#8O9ZirIzo^oyvF zFH6Ll9%k&?#GMyK+C~Vo<+PO~HGvb(zbMHH0&`F2!!O|+qMzHqMZa(--s*oyV>9)= zus6xJvgADJ5&OsQg4wV~E3?^>bIvu|omDfxYuBmofB81%QSF3Aebj1$zQbGaaLw8a zC;M0{RB8uPPWU~cGwHn-+f7pgiNiak{R{oATqTVcdbi+RRgEX9fDF$#)}m*}p|XMp z@u6^S5~Z2byVFL){_^t)rlE$NKHS2u^Ar{+uak#2Ys5($!_Hz0ESJfNBTuA%u@$_z=;SPP3A=h zC03C-IHwjxO%Te9X)^}UAi$pA7^PZ1W4)p$<(hTTKgta8H{~|mq*R_U5AZq3QD5rO z&1|mJs!0xD9(%<9RimHGzR$5j$)m!RHk9hpguq-Y6a^3BNq%;nO@+ocfaxk{RYwPV zAL3Mb8CNJxxUof{o%@K@pl;ZJt;uQwT5`Vn{T*=Q1x)K#N=_qg%N5+XP~~|GqkC9A z3k5eGrPk~i9fmZapM^WoAr}2jA!v&-%FJ0uI>e+OS=uSHhpClN^W-kY|B=Dm7NA^H z05^Uu#S5VCjW#8K?w0ec!=3sdb!NE+0s0Wp@nox&-e<>yvU;F#)$ z)yY{wViPEzcM>h)F!zk-ni9k0h5yT%wFVRP&ri1_u46IRY_7#cH0H zjRPg%eepgO>aW#2E3kRBC&_pz&W$Mz|I{+Cl)yE{R+DvNM!lw?Cl+Z!Rx)*@A1GLv zz-3j)GPX`)0uFG5Q0X&%C5o{E*l6AWp~O!ktm96L4`6;(8*4+(YTxtpiuW^oDP5B( zoGxWtDr4{Xm%t!sqOTVB5uJV<_oIvzC#%4spJ}Yw)B{s)i1R!xW2|0{3`t1jsG^IR5UdIbpY%u3m60cUU6nNMBu0VcLAJ;K$tpI6R?uMRz8k7qXg zYt8-8l(?!+SvWAKExakHc3^w*$<}nIrYgbU*17XcxZAbB3xv)hp_%;>;n|<*DkZE< zT8S!ks^x;6ouXksPk$>B(-_|vi^99Aep$6O8wQyr#j!0{TGP}YN7i5eB9C_; zyNTgd{krdrcehmb%DHdBDcG6I(4&1Ad{Kq;h=H*UG>$rw>yUmB{K1Hd!w4tcw}IdC zhKR8GsYb0`!aqLE2j8wK=})O_CPJq>FvwJ^?HF)m4MFpGVh%19*L)1Y*VO=7TALHz z{#koQ0Qipo7NEM-<(-RdN5d*W^+N-(vUG(NPCaT>VmvBvu5@#-Wd71hoYd3^z zIjzcG>G%^d)v?tSSzA+TKVVSunrgALDB;b+X@B%lfpOMd-4In)^!KjhBvUqF?<$Y? zL$=a^Ne5!!U2q6H$usiqz%=z;NRpcLf<@y!ZS-DROVW7tuz~^hD z5lj1ivI)B{YX1a!=Nlz56j$a@w@4x3#~(2k6^DzuosGZ0U1A2+K>6^Wvn=dcP{Wk; zzp6CDUU`Uqvm)bclD(Pi;I&t9+0Ist7|%LjSe~J5lDz(<*H#)a{4TzN56tjEF^ZUpS!A0&@gkM0&&i2kj-}^~<8XK-bpu&pVjOp5Qx(pfquThXd z>V`TDJ$PHmgRZ}7DeYVNA3F4zj5?w4)rc|do&Dk@EHS3jx8=7o#QmWl@Y7~j;(*B3 zI?y_)NU+2&zx#=SD{PD zT6K@VQqKk7EB%Yu73MT~UG{jjBCdP>KkTm>ztDJvkX$!R*@M}hV8EYNren}N;o8Kr za{~6;OLlF>U;9ec%-2L43sj$llYj&3y^lt!I6vx&@T`oGix(^s=Z*tFY0pzlF6*7T zbRWXJ@}4Ylto3iwdhF8o^V&3b<_@(D$}4AG@&2xsQ)veTt>6 z(q=xiYsq_ex4cdQe9bfHc#aiR`eEx&K~FvLf0YidoNKO#^i67lZR^i^pHuttsUs?2 zEtpCV&MSMm*UMYJ`oa3n5P{fGXwB9fC!N`RShCpBrJ{#mnp-%YFWGefH)w7heNMZV z3dSKM$3m##mf(Y=Z$XRCpFVw$eT}Ss-|%zC{oAGx(7>{IIE*XQXZJ=!v(Ph%lqR=h p*Ij>uFuOJ466pV2hOt{YW=^qN%gsca;BIa?z=HipJ*pMVH zMisR`x5P;q=@>N`zHmQ4dGK5i9Vw03W>Qx#ZKl1jd~mwiq4;P+Feh+LwmzU$ZDPk7 z=C>BStM9a1KVeJEuao+J^E*;}GsEzi)@Q^JsT{F6%v>@rsZ=$WMj1XsVNGET>zB+; z8N2Q;31!0OE_85Cva(pnaq2u)Cdnt`pvb?*a3NK+(j8XI?4z(zJrb*3nW2YGMl59- zYPhwvF+yok$f#LeA>NAdBw|&lU%Vh@%+y~LDx^9lnJo3=O=bJeYp+Hq1PcvJv*7k7 z3!hgBsyckq#6cG~jF&Y^U$ELJ!R+aMm)3jjMzmGpgFF4w+c;!wmm7VA|lR77Z|p*r}Q z3>6}*Eq*r&G*0NFw`yC#wktKJG}x*Wot5ZK++kVT)7)pKuuHAOe{|it&GdwLWUp1g z?XN$d$QXOvHUu0mna~eRHYAa_0&@8H_%i5iihG5 zzs}0Dx-z73)eL1m`3#Z1ME>X0Y7!6XRnlrJ1!f)5cW`w@WfBhfF+;Y6LRQMY@P-}E zS)^UIiJvN;7+aZ3vI@7hRY+!#!Aj8|q4FOk~n)R?Iu6sz5`@Suf2hc z8Ra20u>uW2JCYY!hSyU`dg1D3`Pb_U52QZw0m`1wsym;RX~<9DqShfI5I%a9*jtn7zIbhJmFSwb)4m?0@CuthYKrYm&u zKL9F|h{q)gG&H4%x{Q^`blCVQAhSj$AG%u1vIczue2(%sC5VVer{FsZ_vtPt;Wf?* zKLt%7l9>lwJ_^F_z`Ws268Z7}S|3_w{7X8QAA8ud{9SyMA6r5+mLhhpyc@}UdKB-( zFPlJ&Efs7*?jwCvePCZcU+H$aiR!U}v@1)rqSTO|Wr`B3uIPR{e-Ix@kGLF3norg* znwK=@#RR45ws9zs?NfbuCFQCPctSPhkCTc*y39X8p&TqBZMH}4SUWljEt_+efbT0s zthkRjqu8jhtxqrbT<-!1_w(S#F2Y>G`SGQ_wb0Y_9&5rCLMT2geCfBItTT+KBCaoH z=}-%5W*QWTCc{>+}s{;TRya;!2G*~V2rID&zxG5Y7MepH_$Qp`j9cu#VFERqxLT3j>i(^Vl+Hb3r zLm)OI+A}0!RQuA>A70mt!{tbuSPn6I_A>U5Q*|WJa3dz(o*Yf_BtJ%J4Ek-6S3s#a zc=4SDLBb`%5^nWftGF9)UDXe297WVxlx&<+dY^)Q+VjcC=VzyvZe6gxz8ddC=k=(R z2)ugc&j11i-n2{cF~-XNa;?|~%3fImi4bBrc}UCsc^`1D;Q0 zHUy2vQk+f1-1<{iO|nY0s%O2QC6TQ+I&d+BbPzIp`zuQp4_Bwhi-xNqREdwi<*5EjgXnw)+Y>WpLVvi$lHMmR{X6ZN^Y(OmY^Wn0LL=rlSg zjECwGG4^hHGHDbIqJ*`26K9K;!^t2q^8flA@$=CiQKU|f@Ldh^$)A$l>=)70$d_1Sw{9^@RF;(Esh_CMY%zoc4)T}pV{+lxml zKCFdpa2B(-ZU?g;I7n`=qrYm(=Bq%c&;eMNu6QBFpvcZ$4Bd#!!_v^l@4XDai9{$! z@jE52n#pmR-G%Wqj#A-mri7N)r%tBf

MNyO;5>?VeDvJONI~*pDgq6^BZ972|@& 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 literal 0 HcmV?d00001 diff --git a/assets/Preference_icons/translation.png b/assets/Preference_icons/translation.png new file mode 100644 index 0000000000000000000000000000000000000000..99a6c16c842b6080369d85e9e960c957b9f3ee6e GIT binary patch literal 17398 zcmYkk2|U!__douc&AyF&ry)zWlI$W8QV5}lL7OOK-(OR9*$ZV~BJY%u3}qW-NhLy> z5+(^*vhU3Nu0G%YZgqduh)X3Nch+e25Yxu@=By`j_*X26Z;Y`gCRnB|5hp_Vkl9vcGR3l7hGwvV z;diZ8{Q{vJHos3Vn>T8QM#na0*P2WXRcF72O@54Azvx;0<%9zRG8f4MC!5z`53>of zR5@?28C0WhtikNTJPy#uC-Gh8^h=WuieBD4N;SZ9;`Q)Kc+ExbMcqZY#UQHo z++OybS)W_2tP~ash9X2^bog>iDt$bZwSl#vn0EuE_gu(Kii4qr)9W*J%mumoeAT!izZGRkWhiJJMa55ySMxHlu zay*i1glFQuQwkePuZ)f+vkSya-;zFz3Ff1#9Emaf?A&y3Pq#WYSW8Ick=b%YK66#> z?-Qmi>?n)3GP%J~9ze%sckx9RGG5xeB5gEmTT=bo#WE!cWI-F<{B*HZnaEMXUYcTA z$dXEzx2leCcm6HvjosG!ye!6~C0VtUymCclS~I2Z4Tq3e=ES=b*YjM8&cQ&$h_$r~42wF~G`Hckj+L|3WMepA$w?q)V5BmcJ3%}t7}qWQkM zJ?%4_Z2}s}8>*Ve6DY6At&8-Mb8@_{oz3J&rV6?$pef>yL`kq`fIRhV4NFur+7Fw) z8^V$+uoxYL!)jqRANp}LQ=|wbCx z!?1qvWs*MSFg)Q2`&JT-eG%)ExVdiTwClD-{|vKol40t_jtH zM#wSK<0`oBKkY5{LyH#e=iUiK5x0ah{MK0DTEdrFQzIjmD{6~83(|SfkxPuTYY&h+ z8oTz~HgddM$>R8+#E!6-)>Gp%gDK8;`t85cxTx5d!Ey0rv*+*%_{t!hQ2ftNtpXxD zU#-cQzOP*5`o0bqqyBm!pNt@G&^FGwDB{1Qa_^!ZBn4mVyCa6nNX~|9$c76>*4!UD z=m`9^<(=cE4?ufG5!l_!*UnOd7o`8Sc~I|8kGsfy(Sx4igXoX8RB#s_v3sEv*Da(^ z)Hv-HcF4FNpU;oK{PZ;=_2~X0zloqkf94zA@n6cOo)>^j8ZRHfAq!V6BoDmaH0M1O z2ay>6E}aGot`-pF)cuoh3Z|BQo$bly+PPa7;^Qgo-LmjPh-`m}gE9?bg(VOx@YZ8F z`nGYEK@LiB<+N45{a?iNo6$L3b&nE`b`{CflzIKc83Fn!C6qH%@RsGy6fq`O93zh6 z-+C-#CMN*tKtW+LIGnX=O2g~&mEfi73dXQh@lKXIJA_KIVsBZQ*6#zbo>MIsHsq@~ z*}FOOx)oN1hUa;wq1e&J7j>L*_;j$a52KIlMMp`8-{P<*Awri2iCB$emn+8ANDa3R z@&mHdn1A9kR1R8qIzK+%H0Cn}{gUe}`E^5Fh%EOjajzVz%HzIW!o2{bNSN#aob|zp zg~#+$0(5DAwYfu+g6suSs!m|+8H8i_4Yr?@~e#e^ECyq zPE8$y1r*zG^}bX-g_$4AY!*Le&IqBJGv$cSh@qL#%<0_-GjgaVVTc?ezT#nk_v)Mq6l61nLM%CTYKq`QEF|xX|SOpG_-DE zaAOACBc$3^amr_n{9u1K1w>+e^krfY@)+9_x_$dMXYwWTF>=wuh2nvvGmt!}fO0_mzxw&n=qu8z6~vCoz{0d&H6Ib9ehv6Egxm?to6ZS|uYGIi#7qM2-QP4h?mMhL)%Onk@^3jHHcjtGEEx9p(vJb{AMM$|&Dof!=Q%l@qAB(FtjwWJ6^$r2j3!O$hm9 z5aR@i{>d|uaz?bUvvpi;O+D1XK-Toy3$L7aqDt?dF!R<3N!)?N8VGJkghdE<;h1Bz zF>QwfhdFYX&LBzc>nFK#C4&XiRYc4FS(_&U+LA}!5Q^bLW)kw@eEGkj+m;AM6la)h z{~v|}0 z1QP|0nA%W2a0wH0Od|ae0zacHL=vjY{5i-n+yxvTnW>rsi8eJNvvNgMzGMe(PLZ52ig6p z($sd5FEQRUrM-{mFckJu$=n;!`bLI@CbEd{oUiz4Lk>ZQ=d-IH!KUXW7Bgw~RgQ?y zc|<>}F{HX!gh>C^q-vl;pMBwiU%G4iumgVuM`RMbqa^iO%LgLee_~p@tc|vkpZEzs zcBpUK2;IncIIxHs7Z={dEMgXHA=k*gNi6{n z;;%Mh_;E;|k}z{#%-WgY!a}?8+U~-P_25D-Z{}Dkq-x_BXGQ~r#OA&{%9Y7f7wP087o1O_i)ti!Bo|d!Z)O;HQJoIa4O>ISZRf0r+#UB{XD2KDr=N6hI zx2NIX3XztsQyQ1gMe}*Pe%QL|A-$wLS8OUfh$5C$g(7dgpMh1?phj|NRQYVj8T^;~ zpH7^eL8RRXa!aLO`E!1JZ1tq{*$ZBhtExW!iPZ~NgnYP3SIMeVPTRFulCRZOTgbHT z56078n%{#T;q9gaeX{sjcXCO=>+XxMO+0_PiZ3^Kq_IGi>!;hk^CfiOrV4uL?Ups6 z=MX1Rwa>ap?{_k3yuQZQYeomN-(a6v*F(NX5@#OB$^OKIV!X7SN%#2a+(25!$+0q_=vqh z`Ggz}mk`Y7sJ*%Ic#N}6y;~?Td8zlHMDM!n{8=h+2JtFWPX7fU1@IjgYxQ*5H6(#k z`GPAL8O)V)SDChV0WEqa$5YZDrEfmlaUNVZrk|D2$BlA~$+9&SYTOmz7&K~6gzv(Q z%{-O;h&*;Si|v?wx%ixVm=l>ACTo3#hx);+^$EDZu<1d~EOYE1mo3WPYY>t%!`nDk zcLOpC-UJprO3_PPDfiY^3Slao31Y2!pWNf)b+q&>Q6+gTe4smdi_EkjUDhXqs83&F z&uiQM8E%b$iK)`U|~RKNgQb2hlrt5vCBju5G7DhOWWF z-GpPK43T&KT9=XP2ri{JQykg(Anrt!pY#Y!hHETCEc1(im-w2%)^^d|%BHFXSyEwPTjS=@Tk%#QzR83#Auz@qU0&Gx=8O!pBoy({h=Cp*B7sWH0V% zX_vL4kD>eWl&LD@&%hP3wSXd1U(<{eFJqN%4dfP`oZZ7LoYwE0ZhP&=IHdE+`nm$D z^$mSR*d4eA%Xl#_eWB{YQVsaQwt3$UquyjNLt~?jWuom2ngdnPNk1y=3GA?G6V;+` z&bXGHx4{`IKJH3wB&+Y`U+=E7n8UUXz(Si*GVYvwP=>(puboE}6gzt)Wo@EPXfsZ%{1lo!B5TBjSO`G>kG(B<&c0mw@NqKwuU+5>@zq+n` zPYgcQIj>jX8+PUU%mt$tK1bAr`aZPO(X22Alupe$9lfdf2bIA8Qv8T|?(gM-F^Fzb zwz}Y)7Djj|M6&OGO6E=`*rb|w7 zXK$_bVdgIE#T|m)sJ8*fg-W>h{k2MI;Eg5iR-Co2IpL}3@L0t*Fz@J_x{)8cMl;Xp z(6i6!e2GQQYS$^@I{aU`4>#J<2`n&?9dSyhF8@o6)>FgMN7sB0f<`5hZgm_p`N?~I zD+E`|*}U&P<8OYj{>VL{Q|C1|_&lEXtDBcH9LMqB(35jOz|3O)ICImZ+agC7b9rkY z+ce^=y__)+dE))p6NstM9?{48BmK6BM{8u%zN^mIi^Ny_uW2e~X8XPi{ri2FR{cYe zQTyB4O{GW@iq8=O9mmSak`<(ZD%)(7M)~IUo>0Qr#A$5$OYi5~s?mudSHR*m1X~-w zJS5x5H?KEu-rRb97mSUAG;~PKAzK26pz+1yU8I5kZ1uX@bbBk}-|34D+ab7wdRd3~ zlW}9Ig?n;nW-BYBb zst8gt&_@E=-SceC`y}eBhVs0J^VQ#ii zh_$Zc&WexE)POHo-1LSHL2fU!iTUn3Q_zR+;mO8i%zQ=vixFY~pOKN_BGIOCqzEag zUNG{t7Jdrala?HJ8S&m-Bx9rhLiivNm<6T;yO2NKS{W+ny3M1qDAgWZ#{04H&duc3Equc1BPlMkM z4)>+N_ePK$@evEWDf;sV?TQ**a7>?&YyIxAkVMceknZ`eSkzTHpAH^Ftxk*Mw{=MW z`tn$~LbA~#A~OkD1cKu%NJX>m8B)?PpKOxv*B~1Fq^&hfp~cY!Df;I}OT4K|LC_6* zj6qpbV{I60BfJ~tVxg6N>iVvWk>P{YtDeciTI5PskKT21=cb+^QoTG%$j3oHYRZX9 ze_>W(nMp{_^W#b%y7wk_K^@iUE>il8ldVnWU@Q6~`Y-xH9sZ`a@$gTZ`1w(l+4kYpqv4UA zElD(QY~onGav zQ7UYkx;7`OhvBO4Chs(5LIvd4OVDvf-KiY&ZwSf?9hcFpJa=tTwJN6(smUTZnbx&M zZV{>KM_u)sXgT$M2$S(b>3hzvIdS zTn4)gZkZz!mnyhArH#^c9hpU3qR@_Ft9#LVejC^~f~wEfNj8nB^U%cG1oFjEGqfA( zP2s8(cWoUp!1OArRrdKSb^6bI19oq%x}9>cYk~~nJvs>nd5KEE0qwrXxOq^$dqd~G zT}IN!IKp|5mRK&aZ#)Do|MF|ET{OO^-W64dPHz$-j4WAp#frEq6B$vBA+qOwn}x?B z#LpwrB<{lAp|U^c7%9=xSdTHQxusFr8XeltmOs*085hw1DYn@eezaEcdDf!1@>>vZ z19FUWu#!3sH~;6&B%dB8kE3cb*J4~I7-WFPRBtWZqJnpEs~;2ItHUf?!L!bGIbF~z z`Pt!ZR{Ys1r+#j?6D#&F^4T^`tb#nm#aQP4byi}yi`Sw1`De7d^w@_VE{V+`-c`4ewI+hx zoCJJs{b|MZ=LEn{Yxs6wj6Sp!_LEs;_i~9T`@uZNsaQpm82yri8_|pn-?rTCeTHkc z;xt%ZhbF1?(NL3VJ?IJ}%Da!YRAA{b)q1gMjLrCU4V251Cd*TEdT8gzp?=^VcmH`~ zx9pfg-w`%!w}#*zZ*2jG(<@zDOzY9Mt@~ZJeK~zq#x8gqq@LLAt;CI3A=2*E!H$bj z`X>`}Sl|~uumtMpA3B8}&$Gu-N;p7E>DSNL)nOO0PaJtgW(H}bnMrrgKJ!`98~&U> zAR&7=2x<(K{TzFiphQ@!Srg$$Rzs;M8;{#Ah=m(x($6X~uH$Y=w9$1ByYeY5#bVHLt&=*tqPb5WRa#gvL!a) zS?4r{T1$2xO^8R|fYgobRxh1+d;(bP0tZ#n>*KVcmz?A&J<3E@58-Xiu@A=WY;Oba z@4O7caRaw!>!o0$gGHxIqfL#`hVEzB59NPhS?zDJ0H7}ma^!y0>152|~{@`K51Hs7>; z5M@<@B!BfIv*EQ#_kP`V$fh|KnDGtz%$Wz6<9{Uz&OfvzR6@bk#SSXel+gqu3yeWR zER?Y!9C)rU_2zF)iQs15+8WHw0>%Pkf$cO!a_og$mD?*nDUXKTiLQ4)Q!Y{dqiFwl ziWm5g`LRBa*-3%*=u~A|h9EG=VA0K^B(ARJC-w&|`SHUyj$2PH1mNE?OLVR)QZ#=z zl{rMF%yX(_$SoubxusmI$^Y}RD8qJ!O!^g$r1xI0I#(8;IJ3nONiyvKLuqnebRz;Ybef zD%ho(W9eb(^;QV05-q6bPuuIj>QxJ)l4X-BpC(Zeajwd1nu`KzHMZ7eHM5i9VwZLw zAB#ei2g@EfHw{HHdQIlXPZS0Pol*2X|5VnYtPB;FGQ0!gK;950>W9rjx^7%7bb1ig zm-Cx!zaL4gAzj*IGmLJ0dPH@o?12*?kM|wu;RgZRo>=lXbvKnc zr}?>jQ*@T=@T)}V9y;<*el%|?FhTJ}3rQbOS3l|JC=T*fiZj!_LMZc6`x#Pe;x3!nYKB)B-B;~)Uz%>>#;0ghr2hT1^2 zGT1HrTDTv^@RuR5Tdq1sanZuy2Rq}ZB@4qua}W~VZRTNmS5DES2ax&MX}R+?u7nRT zyUlxrQwkxnl7Cy6tEPa;Y@kvt>t?FV9wL}&_JvnRF~z4XgiMKEPW&be0=K8ha3H79=JoLdvxxYz(JOh6_tryvy8Kqa;-uE-4G>ws^F$nmatQP-rQ6`;{LEz#Ax3r`H7mP*mTFGP?k`-* zt!WkTIi~)@hdV<5QW|4dNnvw|HizH>2wEQo9pgXQgs$qJVdk)s4Qy-Xb+||0ddBCS zy*!*0zQ$6OGBOfcIMyeXss|~!&gusj4wuA*LWhD|g=*S2F6y-*z6opI-E4`z>NXWs zJ7H-y85v98x_4mN0Sd>`SN^j?5RnTSQXpe7*Eg=Uu7=G)>ZZ`O&fvt+Ehq9uo;14h zNHq7lvZdD}@q(n9oQ;t4PoQ8E#z4ceBYs4jqK?% zdfUm8{6?d#y_~S_pF5<^niE6N58V9+YW~~p;CJy;@EVEF?91`i0a?m(Jsk!7+Zf{E zo>*H*dY0LXEmV7v#jb;$G1l$U##8rNLKozjO>5+T{Vwjh{Q6zZr{k^Oi0TL61fHnn zR4S;I2e}pXBv&=2;XG!s4vCLo5)Qesv z_>xrYQ-}+Ec4YLCUOcQmn8UQ6hs60h@H8+uj?~T1*8j`z1^Xk$+U!n<4Siw-p*0qp z&`YDtRCtoMkszWp0=XwK9|7Vy1-b(Wx#CTmIuZ4F)~;j5|33XVHX(h@R=sFF6%#($&iQUrz*UMl~a!PfFkVTU7D|1`9Ko89`Fbwzd}i>t4vwWye-!_D?DjFbZsEqX6`R#dcROk)sB;CH~EBdET77IHPa7KYWI_ z6x@5BUi?2*JC=CU-xB}p(Rz$vX-C_~{jlk7n$MRt{`F0C6~QMhd+&$T@w{EK?^{8p z41lqsCP=Y=Gbl4XWh2Zmjn3Mf#Nn33lk&fdQ3s!!X01aC5Wl7@5S?eQ2xQc$Q^jeT@ZkmNs%8Gams-jLSFc zZX>8`AD_jW)?FYwRgk*0!7S>2=95*afeUAhj85P3_i_Zr+p)Op3~4l$AHXduS1*)W z0Auv6vQ~y}-9CHLXyTIdn29@~*y3i=<(odQpkS`xwxa+)rn=%uHp7lU<#>q`vr52UM+cxE5#EI^j{xe66BX6a1! zAw(xBE%CW6ED$`ql>a~hw-w0YQ}4&219BBplH(<z+N#=*3lf+`UTmCml=m)YACDhT>o9@(e z!m}8@?#EY;@3Io^_H9GB{-!wiB-1ZIo;U~?3U@rq8H>CWeRK|M|8z2vE-Zio59Y}x z4xtM$cFPtZ8FKf*WV!(%qTia+;2RV5kQ!*Y(TK_QpuhGL ze{jl88y8c7D7d;LsgfYX)51`xNHPB!sinNM)n;=^hr)|=reo?ty}!ayyVk!c0Y`K14nK!{03 zYTFM6FLtMBJ`B#9?E}FDk-0ebqe5jE0I3zBvHMer=Aq{LtL<|moF^M=KzoMyJv7WGHXUS8+-5m=O5 zq3` zkrjUqdZjR)_>m2n^41PJXSOK`xJaQjqQja~zsS(|Z7teV^}~j|p@r!#NPxkIEiw2_ zhbC2re2;c?SFI)n-A6qouT z;n1rgmi{IbJ6qg{Xy6a4Qn7O`*9N zFJ+|7W4TbxlgZ~O@oo@~eFj59(jK_xj!-W5s>xWHmkpvMi#KtAsk6f1nl#mZ8<4AZ zdY8vJ*G;ElgzDu9HVDZB4craD`Ax787^-V-4Z@wB# zslPTcIsW)$zGZQN%~DYMsO(NwuK(F0FGzRa+Cx#87hlQ_=E05IJzDE zUf=O|edUFbcmJ~gz74`iD^B?3uOo97RswX|vr~c{>ppYWBBAv&ky@u*FKzxJs?ci4 zTot13_bVFds%uDI111+hxa2hO`^&iAHsq5{>p2oRzhi4FU5^)dA=#+y`3t!92UsKNCl8SD~Ml4j1r$S{d*+uKv-$rn@j0`t`FjBX-VUTeOorL zIJUwIprklBpLq6o>;qajViD~lK%#AYFq6qSpodv>u7yv+9{YI*kbyBTxJKJBwnXy| z#=*naz1&l;ke^XBeZ5`^^(Fd>t>0^S=`BuMsKC97kLYT(^Qa*28W)nmm-`);1#y#NB$<<-vAk~ zLb;idsE475WxjvE2 z8ZvJk6fCBBfUqJPVS`9ZmD~QG5}pOhLw|+FdO~;f(|8P^kufmm>HH}KV1U&9MmpEz zq<^V1>|_)o1}jrV`y<-Houzy+OcLz}yTf~gYvDH71Vg#rJr_6%TNHq}J(+pgJ|J3K zp2(yJeSiy5Po@1ol^vNu#OoNo+R=wTOffAOS*aK}BZ)ELFKz$;_cem9A=Q(^;8jTZ zmT?uNpmYp{b_x@JA4Sofp*|;A7wxE{CTw`@(!A>K*gdszj8{fstn)4q)G%z^QHcvh z@ZL0$^;rxX9a@c`6!(N)4V6tJZjpls$pm^^%R8eot>Sxo_WGywFhF4s<{iQDUCVNV zd=kpD{{Y%5{UDb&vZAzZ>ST#HtSL3vNWc9=z~J+(#io;`wM@PLQA!g>y-lBj1PwpY zu3z@l_j07;mkWP{=EBZ)ea6lP2AA`P0VXC%7T62q*EXR?Zisz+2hF( zHF?M;PQjdj@o|vE+r;jSL}?AO7G2k5fU4J*WXhE$%;36R9tx)ekBBe@D`yV;}r7PirXr3uFh~f&I z`2D}9p~joPxdz<>L5@+GwKKQ?%BlJS20EBiLz}g7L4oA`H@zGHchF;H22V#Be|-FwLgjNFT5 z29uWY{&8?~q-JO7GlH?S-s_#H>`=sn*aHmw)ric2x2zx;OVj-~T1)mf&7lTr=u%>( z4AJL)M-Sv`XcSJ>mk}yiRxAA7%Su>4t{-C zb4N#%=UbJwP-$@?I(yIQH3m0b?9?f;TU?Z;0liKDwKkVeFzdqiubCfACdsx5NW?L`%7Ed zpFL9@1Zgr47h4&X>A&9Tl~_Zf@iHx}e4<&j1Bqo8tcb?~#dDjo-Lt23Fy+E~YY-fz zLXHCQF3xoT=&lqXe^cMImk+CmypQ_>dTBQc$y^@ob%qbmh^c2!vPuxS~mSYUl>y@tWJ`h2ih;`HBE%|TY` zoa%0u!n)<2oN<4#7StWvNlU5_>A{%l3jaYsnyqcE+2w^uR1;ui2LaDjd=05N^JWxU zNc?T%A@RhN1vqd{KvTo(b1DWUpRaS0Z&T+O=(irVFtV*#7#jW9Zv&%TKZZxp&L>@^ zo%RAf&P@Mx+3(;6IzVL4=yMSfLX<%eM|bD_r5QIvDV^?b5u*=2JTowP-*qU17r;sq zuXnOv+!|y}GgTWvK_sodV`pi(YE2TFZ}z+00~T=x^jnvN-(zxEtJ0Ti5~WY*LGv-7 z;iAS2=DN+NSu@IH0QyA_*r8u6Yshwy1W?GrKM`^G!P3Jr4vVt0hah22;8+UHVB(K* zuRMS_%2oN@!x-X&Z4iCI(|`3p0iPr zlXDSP4~~d9=>I|SdE8-vI}L;AzQ6$)Pio(jf$#p8Vgh45M5|0ufQ$x4o01x2<+7K) zgUveC`LJUTQQGoh3V&bu!@wM40lIsfWUXye-UIw4a#Q)eaOirC~T)!qk zbzYEdS5%Xc{`Yu7_Eecu@?OO?-9SL#$ZVc{R{}u|;+n@wNf(a@hZ!w$fg&Gut_C)W z%FnNRY(7U^KTc$A20!mz66+!*QFAv(M6Zuz!~V#xSc7^K{m*yLigrJ(HQm_VQ#pjZ z0niq@?}-oBNP5CMy)sRc$la0z(InxA7g>W36t@rDW9@d?_`K77wJt3ZN2bpa1W-Tx+6S^_u&pieA#ii_MQo$$6A|FoMsj{Wub>qum(o(BGTD0i2m)= zP%|Wz@Jsubm~zVxqdNsl+CJA$Pf40HX6(JPu_QO{o7I5h@y2K194Dm*fRp#Jzi0@n zhQMmNRlG01FDJ88N^gh_7QZhTa#_RUL#d=4IX$^ai&@Z!l3EbQdy4^CKWHj97|csi zPv%K~ae^$enXkdl_yoGH7TGt$d<)PWKM^)+_>UA|Vh5v=zOSFJ_?2|T=@~*dnQnGn zEen6i{K&|czbW((g-}aCRqAvTBKjpwHJqzp^vN?$shw>#zWI&CL6q#<$^Dl^-r%Tv zki&B3^smchR2#rNcTT*724m?Kpik8WKAP3O?^O_eZdFW=JT=pNPU#|Fur%y`PyP;3 zA~0w^LiJI?L9)>0fyZA`(q!K9)-hQj`kc;4ZQ+WVb}BY%9vJ4#vShN>c)Z?wWtlqA(n-31uI?wV~*Br?i3-pXwMp%}KFH z|B%08I;@KiSdhMr*YeRI{r9_+tU$>ceCjR|dJ{E=ytj7R>btr?!&6=r{LyUzlsoZ2 zaRS+bcWUy$`C@)Zj9d-(f&!895K1hs{#!e~)x%uD%nm)3d!e*wC9W4Ab<#oc0arRT zT32XRxN2s&Qzu=$>Ry1SSgO*y6*=|i4FU4M9|cI0)coIJD&tL`M}z8%N}gPvMUMp| z?m?7OjM&$@$72=qc3$SxwBG?1a4diuG>`B?_>h7az201nT6l#p=31LS@PdbAb!vJc zL_7%`{W$KtoYzj(ZOSZ-JT&7fp{H&u=oYvKFCNW@H0$Nd!LYq$A*7wfMfoAsKoQFw zo?kJm1LW$2r@Ho^HAHJA*c$ui`^^=!XYj& z>9Xl^=qArQIHYJb=|mUdBt`y>6e0(ahgdY(H$f>C)`6qx-m_AgD#>W+M0B&9?S(31 z_}^&GfF4sy9NA1ftVMj{ricXSlBthd!>nhgG3E6JC^EuTYH>FR&NIm1`m>sVpOuQx zNlVp3myzDq6hM3k98T%II|3plj#d!d;rcwkbpIzzTv(5j&aChYRzf$q6{MDIMLF{3 z^P}TU?=3gw-TG!uxvGOA1}v^Puk!YgD4A?F%{+hN){$Uo6Z7(LXkhz#{uo7z(`<;_ zi>LU{Xu|3VOHd@{lNhL>%SU0+L{0mCGR`>4wAm8Gjl&(0zsPCuxSR6)j^lpfX&OUf zEDw>jzPn%BrD;5ic;YWW6!T#r6|}TJLurlz*D2kB_Z4GNzcz(PJ_pFlj?PeL-)LaB z2S`oDqbuI&K@TP&6Vy)ed9*u8nHckL5P(mYc-CkkBrpX5pNuaaZPP(u(**$pT`f*k z#UG`5QjSh?rv^0faA6YwF|X7y^!Qyj>G+3N^8t?6OrH%D-^a&OEey;u8 z-Pj}}X|?L7km-;bRdDXy%U-t+?B;>W%N9kPmVnHFv;J+y2mJx*9{~z81)ZxVI8N~| z_(52MKuP4yMB}oCa!(a_&L7c;lt6H_4OL}dUPUf+CBj_u36lV8bvOT46%n1=xLV}uS< z^(bS37unDk3p&a-B zF2E)*{lv*Jf=h_(XP9zr=j%~)E+?@(2mruL-k|hY;fGbgt1_H;Cn~DLj-TzqC@9f= zs<)2Z2?iK(jF0v)lDR#nf$uK!=93`qfC=A^ttu!GcPRmsEZr%LgTfa4bUW%ghry9E zNRBm&k`x?3F|!bbU7<)LqyF2tW6CrT7s$03P!5#Mm`B#|6;PmY)eUQt5 z7J%$Ud4lrAxRQ}AdqMu$f zculxN36`IGJ0xr&-ZrBJ^!8zPO*p)F-FxsRIS5qGrvKQ)`WQF2mH{5FVbhLEXnmBD zKKePx$QYFbi7fV^tQtS^ii zg0dyw{YLHDnuV_+$utxo+-Y>_5V!+&G$#4*QFGnw*z{9Pcb+M3I~}E)Vhm_K%N7u5 zoE5?g;A8#7aojBe#D%Y2kM`m&GD^~8UBCRqSF8t2jlE7MpC8UK5v!NAHb0(?)EOAL*T*LT8I*O?YWyzcewn4c-OQWM}r&Q>v!J9q+nsXih7LUIUQ%rr;dWD-aI?x{Rf07#uOy!zm=eD zclW(1*V@n76}gY3FN+fGjh}d)YwvQT1WmI)Zjcye9t1T{m1+zWfoX=Jj?Og~jC1?Y z}=5P#?Y0Z@+Ac>n+a literal 0 HcmV?d00001 diff --git a/assets/Preference_icons/two-factor-authentication.png b/assets/Preference_icons/two-factor-authentication.png new file mode 100644 index 0000000000000000000000000000000000000000..d9eda117bbbd35e05438d298b984568520ae9944 GIT binary patch literal 10921 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 literal 0 HcmV?d00001 diff --git a/components/settingPreference/SettingPreference.tsx b/components/settingPreference/SettingPreference.tsx index 6d1cf8b..44ff2ff 100644 --- a/components/settingPreference/SettingPreference.tsx +++ b/components/settingPreference/SettingPreference.tsx @@ -1,16 +1,43 @@ -import React, { useState } from 'react'; -import { View, Switch, Text, useColorScheme, TouchableOpacity, StyleSheet } from 'react-native'; +import { useEffect, useState } from 'react'; +import { View, Switch, Text, useColorScheme, TouchableOpacity, StyleSheet, Image } from 'react-native'; import { router } from 'expo-router'; import LanguagePicker from '../LanguagePicker'; import { Dropdown } from 'react-native-element-dropdown'; import { useTranslation } from 'react-i18next'; +import { useMutation, useQuery } from '@apollo/client'; +import { EnableTwoFactorAuth,DisableTwoFactorAuth } from '@/graphql/mutations/two-factor.mutation'; +import { useToast } from 'react-native-toast-notifications'; +import { + preference_profile, + painting, + translation, + email_notification, + push_notification, + two_factor, + forward_pref_icon, + down_arrow +} from '@/assets/Preference_icons/preference_icons' +import AsyncStorage from '@react-native-async-storage/async-storage'; +import { GET_PROFILE } from '@/graphql/queries/user'; const settings = () => { + const toast = useToast(); const [emailNotifications, setEmailNotifications] = useState(false); const [pushNotifications, setPushNotifications] = useState(false); + const [isTwoFactorEnabled, setIsTwoFactorEnabled] = useState(false); + const [enableTwoFactorAuth] = useMutation(EnableTwoFactorAuth); + const [disableTwoFactorAuth] = useMutation(DisableTwoFactorAuth); + const [userToken, setUserToken] = useState(null); const [selectedTheme, setSelectedTheme] = useState('system'); const { t } = useTranslation(); + const [isProfileExpanded, setIsProfileExpanded] = useState(false); + const [isThemeExpanded, setIsThemeExpanded] = useState(false); + const [isTranslationExpanded, setIsTranslationExpanded] = useState(false); + const [isEmailNotificationExpanded, setIsEmailNotificationExpanded] = useState(false); + const [isPushNotificationExpanded, setIsPushNotificationExpanded] = useState(false); + const [isPrivacyExpanded, setIsPrivacyExpanded] = useState(false); + const colorScheme = selectedTheme === 'system' ? useColorScheme() : selectedTheme; const textStyle = colorScheme === 'dark' ? 'text-gray-100' : 'text-gray-800'; const borderColor = colorScheme === 'dark' ? 'border-gray-700' : 'border-gray-300'; @@ -22,106 +49,289 @@ const settings = () => { { label: 'Dark', value: 'dark' }, ]; + useEffect(() => { + (async () => { + const token = await AsyncStorage.getItem('authToken'); + if (token) { + setUserToken(token); + } + })(); + }, []); + + const { data, error } = useQuery(GET_PROFILE, { + context: { + headers: { + Authorization: `Bearer ${userToken}`, + }, + }, + skip: !userToken, + }); + + const handleEnableTwoFactor = async () => { + try { + setIsTwoFactorEnabled(true); + await enableTwoFactorAuth({ variables: { email: data.getProfile.user?.email } }); + toast.show(t('toasts.preferences.enableTwo-way'), { type: 'success', placement: 'top', duration: 3000 }); + + } catch (error) { + setIsTwoFactorEnabled(false); + toast.show(t('toasts.preferences.failchangeTwoway'), { type: 'danger', placement: 'top', duration: 3000 }); + } + }; + + const handleDisableTwoFactor = async () => { + try { + setIsTwoFactorEnabled(false); + await disableTwoFactorAuth({ variables: { email: data.getProfile.user?.email } }); + toast.show(t('toasts.preferences.desableTwo-way'), { type: 'success', placement: 'top', duration: 3000 }); + + } catch (error) { + setIsTwoFactorEnabled(true); + toast.show(t('toasts.preferences.failchangeTwoway'), { type: 'danger', placement: 'top', duration: 3000 }); + } + }; + return ( {t('settings.title')} {/* Profile Section */} - - - {t('settings.profile')} - {t('settings.editProfile')} - - - router.push('/dashboard/trainee/profile')} - > - {t('settings.change')} - + + setIsProfileExpanded(!isProfileExpanded)} + > + + + {t('settings.profile')} + + + {isProfileExpanded && ( + + {t('settings.editProfile')} + + router.push('/dashboard/trainee/profile')} + > + {t('settings.change')} + + + + )} {/* Theme Picker */} - - - {t('settings.appearance')} - {t('settings.themePreferences')} - - - {}} - placeholder="Select Theme" - selectedTextStyle={{ color: colorScheme === 'dark' ? '#fff' : '#000' }} - //@ts-ignore - style={styles.picker(colorScheme)} + + setIsThemeExpanded(!isThemeExpanded)} + > + + + {t('settings.appearance')} + + - + + {isThemeExpanded && ( + + {t('settings.themePreferences')} + { setSelectedTheme(selectedTheme)}} + placeholder="Select Theme" + selectedTextStyle={{ color: colorScheme === 'dark' ? '#fff' : '#000' }} + //@ts-ignore + style={styles.picker(colorScheme)} + /> + + )} {/* Language Picker */} - - {t('settings.language')} - - {t('settings.languagePreference')} - - + + setIsTranslationExpanded(!isTranslationExpanded)} + > + + + {t('settings.language')} + + + + {isTranslationExpanded && ( + + {t('settings.languagePreference')} + + + - + )} {/* Email Notifications */} - - - {t('settings.emailNotify')} - - {t('settings.emailFeeds')} - - - setEmailNotifications((prev) => !prev)} - thumbColor={emailNotifications ? '#6200ee' : '#f4f3f4'} - trackColor={{ false: '#767577', true: '#81b0ff' }} - /> + + setIsEmailNotificationExpanded(!isEmailNotificationExpanded)} + > + + + {t('settings.emailNotify')} + + + + {isEmailNotificationExpanded && ( + + {t('settings.emailFeeds')} + setEmailNotifications((prev) => !prev)} + thumbColor={emailNotifications ? '#6200ee' : '#f4f3f4'} + trackColor={{ false: '#767577', true: '#81b0ff' }} + /> + + )} {/* Push Notifications */} - - - {t('settings.pushNotify')} - - {t('settings.pushUpdates')} - - - setPushNotifications((prev) => !prev)} - thumbColor={pushNotifications ? '#6200ee' : '#f4f3f4'} - trackColor={{ false: '#767577', true: '#81b0ff' }} - /> - - - {/* Privacy and Security */} - - - {t('settings.privacy')} - {t('settings.privacy')} - - {t('settings.change')} + + setIsPushNotificationExpanded(!isPushNotificationExpanded)} + > + + + {t('settings.pushNotify')} + + + + {isPushNotificationExpanded && ( + + {t('settings.pushUpdates')} + setPushNotifications((prev) => !prev)} + thumbColor={pushNotifications ? '#6200ee' : '#f4f3f4'} + trackColor={{ false: '#767577', true: '#81b0ff' }} + /> + + )} - - {/* Login Activity */} - - - {t('settings.login')} - {t('settings.loginHistory')} - - {t('settings.view')} + {/* two_factor Security */} + + setIsPrivacyExpanded(!isPrivacyExpanded)} + > + + + {t('settings.Two-factor')} + + + + {isPrivacyExpanded && ( + + {t('settings.Two-factor-Preference')} + + + )} + ); }; @@ -141,3 +351,6 @@ const styles = StyleSheet.create({ }); export default settings; + + + diff --git a/graphql/mutations/two-factor.mutation.ts b/graphql/mutations/two-factor.mutation.ts new file mode 100644 index 0000000..e6fe7c6 --- /dev/null +++ b/graphql/mutations/two-factor.mutation.ts @@ -0,0 +1,13 @@ +import { gql } from '@apollo/client'; + +export const EnableTwoFactorAuth = gql` + mutation EnableTwoFactorAuth($email: String!) { + enableTwoFactorAuth(email: $email) + } +`; + +export const DisableTwoFactorAuth = gql` + mutation DisableTwoFactorAuth($email: String!) { + disableTwoFactorAuth(email: $email) + } +`; \ No newline at end of file diff --git a/internationalization/locales/en.json b/internationalization/locales/en.json index c788473..f1133d9 100644 --- a/internationalization/locales/en.json +++ b/internationalization/locales/en.json @@ -220,7 +220,8 @@ "emailFeeds": "Feedback emails, reminder emails, news emails", "pushNotify": "Push Notifications", "pushUpdates": "Grade updates, session reminders, performance comments", - "privacy": "Privacy and Security", + "Two-factor": "Two-factor authentication", + "Two-factor-Preference":"Get extra security by receiving a code on your email", "login": "Login Activity" , "loginHistory": "History of Your login session", "view": "View" @@ -260,7 +261,13 @@ "avatarUpdated": "Profile picture updated successfully", "avatarError": "Failed to update profile picture", "imagePickerError": "Error selecting image" +}, +"preferences":{ + "enableTwo-way":"Two-factor authentication Enabled", + "desableTwo-way":"Two-factor authentication Disabled", + "failchangeTwoway":"Error enabling two-factor authentication" } + }, "notifications":{ "deleteSuccess": "Notification deleted successfully", diff --git a/internationalization/locales/fr.json b/internationalization/locales/fr.json index e3f3cc6..0432440 100644 --- a/internationalization/locales/fr.json +++ b/internationalization/locales/fr.json @@ -220,7 +220,8 @@ "emailFeeds": "E-mails de retour, rappels, actualités", "pushNotify": "Notifications poussées", "pushUpdates": "Mises à jour des notes, rappels de session, commentaires de performance", - "privacy": "Confidentialité et Sécurité", + "Two-factor": "Two-factor authentication", + "Two-factor-Preference":"Bénéficiez d'une sécurité supplémentaire en recevant un code sur votre email", "login": "Activité de connexion", "loginHistory": "Historique de vos sessions de connexion", "view": "Voir" @@ -261,6 +262,11 @@ "avatarUpdated": "Photo de profil mise à jour avec succès", "avatarError": "Erreur lors de la mise à jour de la photo de profil", "imagePickerError": "Erreur lors de la sélection de l'image" +}, +"preferences":{ + "enableTwo-way":"authentification à deux facteurs activée", + "desableTwo-way":"Authentification à deux facteurs désactivée", + "failchangeTwoway":"Erreur lors de l'activation de l'authentification à deux facteurs" } }, "notifications": { diff --git a/internationalization/locales/kin.json b/internationalization/locales/kin.json index e1fdb57..9e6d8c0 100644 --- a/internationalization/locales/kin.json +++ b/internationalization/locales/kin.json @@ -220,7 +220,8 @@ "emailFeeds": "Imeyili z'ibitekerezo, kwibutsa, amakuru", "pushNotify": "Gutanga amatangazo", "pushUpdates": "Amakuru ku manota, kwibutsa amasomo, ibisobanuro ku myitwarire", - "privacy": "Ubuzima bwite n'Umutekano", + "Two-factor": "Two-factor authentication", + "Two-factor-Preference":"Shaka umutekano wongeyeho wakiriye kode kuri imeri yawe", "login": "Ibikorwa byo kwinjira", "loginHistory": "Amateka y'ibihe wakoresheje winjira", "view": "Reba" @@ -261,6 +262,11 @@ "avatarUpdated": "Foto ya umwirondoro yashyizweho neza", "avatarError": "Ikosa mu kuvugurura foto ya umwirondoro", "imagePickerError": "Ikosa mu kuvugurura foto ya umwirondoro" +}, +"preferences":{ + "enableTwo-way":"Kwemeza ibintu bibiri", + "desableTwo-way":"Kwemeza ibintu bibiri byahagaritswe", + "failchangeTwoway":"Ikosa rishobora kwemeza ibintu bibiri" } }, "notifications": { diff --git a/package-lock.json b/package-lock.json index 36a6a5d..2687fb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,6 @@ "react-native-dropdown-picker": "^5.4.6", "react-native-element-dropdown": "^2.12.2", "react-native-gesture-handler": "~2.16.1", - "react-native-get-random-values": "~1.11.0", "react-native-pager-view": "6.3.0", "react-native-popover-view": "^5.1.9", "react-native-reanimated": "~3.10.1", @@ -63,7 +62,6 @@ "react-native-toast-notifications": "^3.4.0", "react-native-vector-icons": "^10.2.0", "react-test-renderer": "^18.2.0", - "undefined": "react-native-async-storage/async-storage", "vector-icons": "^0.1.0", "yup": "^1.4.0" }, @@ -8779,9 +8777,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001680", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", - "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "version": "1.0.30001682", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001682.tgz", + "integrity": "sha512-rJFwz3yRO6NU6Y8aEJKPzS4fngOE8j05pd33FW5Uk9v9b5StWNhGFeVpogwS2FFl78wNDGW5NsVvlwySPEDU5w==", "funding": [ { "type": "opencollective", @@ -11055,14 +11053,14 @@ } }, "node_modules/expo-constants/node_modules/@expo/config": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.4.tgz", - "integrity": "sha512-pkvdPqKTaP6+Qvc8aTmDLQ9Dfwp98P1GO37MFKwsF5XormfN/9/eN8HfIRoM6d3uSIVKCcWW3X2yAEbNmOyfXw==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.5.tgz", + "integrity": "sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ==", "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~9.0.0", + "@expo/config-plugins": "~9.0.10", "@expo/config-types": "^52.0.0", "@expo/json-file": "^9.0.0", "deepmerge": "^4.3.1", @@ -11077,9 +11075,9 @@ } }, "node_modules/expo-constants/node_modules/@expo/config-plugins": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.9.tgz", - "integrity": "sha512-pbgbY3SwCMwkijhfe163J05BrTx4MqzeaV+nVgUMs7vRcjHY1tfM57Pdv6SPtgeDvZ8fvdXFXXzkJva+a7C9Bw==", + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.10.tgz", + "integrity": "sha512-4piPSylJ8z3to+YZpl/6M2mLxASOdIFANA8FYihsTf9kWlyimV9L/+MGgPXJcieaHXYZZqOryf8hQFVeg/68+A==", "license": "MIT", "peer": true, "dependencies": { @@ -11614,12 +11612,6 @@ ], "license": "MIT" }, - "node_modules/fast-base64-decode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", - "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", - "license": "MIT" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -12024,9 +12016,9 @@ "license": "MIT" }, "node_modules/flow-parser": { - "version": "0.253.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.253.0.tgz", - "integrity": "sha512-EbxtzRIzp8dDSzTloPhsc6uOvrEFIyu08cqQzXBWLAgxK+i2d/5qOos9ryQHRmk+RyDDXfnz/7qteh3jnAlc4w==", + "version": "0.254.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.254.0.tgz", + "integrity": "sha512-FhO64nGWlkrCxMWRDL1Wbok+ep4iSw2t6EtuyYOFZRzBh902iynZ/GMDU/3RSbiKTmALkcmCmKQLe0eOWdMA8Q==", "license": "MIT", "engines": { "node": ">=0.4.0" @@ -12854,9 +12846,9 @@ } }, "node_modules/i18next": { - "version": "23.16.6", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.6.tgz", - "integrity": "sha512-wGdE5rUfkZtrL5k6MCptxbpjmgwku4rBRVU/YOJ7Xfd841fgaZjlxHpVJ5NIz8sfSvAJhEhJrvJ8qE7AWXE4Xg==", + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", "funding": [ { "type": "individual", @@ -14824,9 +14816,9 @@ } }, "node_modules/jest-watch-typeahead/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", "dev": true, "license": "MIT", "engines": { @@ -17237,27 +17229,15 @@ } }, "node_modules/optimism": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.0.tgz", - "integrity": "sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.1.tgz", + "integrity": "sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==", "license": "MIT", "dependencies": { "@wry/caches": "^1.0.0", "@wry/context": "^0.7.0", - "@wry/trie": "^0.4.3", - "tslib": "^2.3.0" - } - }, - "node_modules/optimism/node_modules/@wry/trie": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.4.3.tgz", - "integrity": "sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==", - "license": "MIT", - "dependencies": { + "@wry/trie": "^0.5.0", "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/optionator": { @@ -18796,18 +18776,6 @@ "react-native": "*" } }, - "node_modules/react-native-get-random-values": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz", - "integrity": "sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==", - "license": "MIT", - "dependencies": { - "fast-base64-decode": "^1.0.0" - }, - "peerDependencies": { - "react-native": ">=0.56" - } - }, "node_modules/react-native-helmet-async": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/react-native-helmet-async/-/react-native-helmet-async-2.0.4.tgz", @@ -21918,21 +21886,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undefined": { - "name": "@react-native-async-storage/root", - "version": "0.0.1-dev", - "resolved": "git+ssh://git@github.com/react-native-async-storage/async-storage.git#91b0e16a43c37fb81b503eda27ef00c543f34150", - "workspaces": [ - "packages/api", - "packages/default-storage", - "packages/eslint-config", - "packages/sqlite-storage", - "packages/website" - ], - "engines": { - "node": "v20.11.1" - } - }, "node_modules/undici": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.0.tgz",