From d12f626324893cec7c36c1574322a34d3d570907 Mon Sep 17 00:00:00 2001 From: balzack Date: Sat, 4 Mar 2023 22:05:40 -0800 Subject: [PATCH] setting text color for android dark --- .../src/main/res/drawable/splashscreen.xml | 4 ++ .../main/res/drawable/splashscreen_image.png | Bin 0 -> 71421 bytes .../app/src/main/res/values/colors.xml | 4 ++ app/mobile/src/access/admin/Admin.styled.js | 1 + app/mobile/src/access/create/Create.styled.js | 1 + app/mobile/src/access/login/Login.styled.js | 1 + app/mobile/src/access/reset/Reset.styled.js | 1 + .../src/context/useAccountContext.hook.js | 14 ++--- app/mobile/src/context/useAppContext.hook.js | 2 +- app/mobile/src/context/useCardContext.hook.js | 54 ++++++++-------- .../src/context/useChannelContext.hook.js | 58 +++++++++--------- .../src/context/useProfileContext.hook.js | 10 +-- 12 files changed, 81 insertions(+), 69 deletions(-) create mode 100644 app/mobile/android/app/src/main/res/drawable/splashscreen.xml create mode 100644 app/mobile/android/app/src/main/res/drawable/splashscreen_image.png create mode 100644 app/mobile/android/app/src/main/res/values/colors.xml diff --git a/app/mobile/android/app/src/main/res/drawable/splashscreen.xml b/app/mobile/android/app/src/main/res/drawable/splashscreen.xml new file mode 100644 index 00000000..12f2f769 --- /dev/null +++ b/app/mobile/android/app/src/main/res/drawable/splashscreen.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/mobile/android/app/src/main/res/drawable/splashscreen_image.png b/app/mobile/android/app/src/main/res/drawable/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4cbace0a3c85c307c50c200760729666c515dcf2 GIT binary patch literal 71421 zcmb5VV{m0%)GZu!Y}>YN+wRy#haKBS$F^kHTe}RC|p*&PIos|vU2pxXe zn_1eJ5<35OFeNl~w=@F+a$m1XH%}nx_!azZjHV5u(@zV*F3dA~_lQ^PxrIkTC2Y@~ zeh@cAO*qA*bvf<(dF=AtClJ}xYSWag7jdkA)i%->c_i>X> z?>O+rCE#}L4@1|IubpA`%>BxvGJF$hm^v?JFfoQ;h8>Kf$Z-W zpIQNk?JmUc{c+1r%Fvvx7Nq%_jn}U(Hx9S!*9*G?VabV=;_j9gJ;xo=gH!LS8pMl>_-&4 z%CZtUaAWO4j$6Brx<5D78{3EK7CP<_F;V`B!3uBtJ;%p26zv*h1OWkD{B=gUN^*V7 zNnCutP@$lnJ7O+=yu2T;_>Nl>2R`+0uI}92J4IOTRy3;0fVYhU;XJB16@-M4O_-@yYB$&w6edI_D_bGGM5kL-tIJe1E$K{xU?tpB|BhNb7`yx-Xf1RYLwEKVz#Vm`NNn5m=8NlvM%KeMuXWOLoL3`FU; zXy3T<%yghEN{r3=b!J(T<4Dz%Vb|?CQPuL-XC$`r$FtPAy}1p_JOsq)?(T-h-tFPp? zoV%l6U%rQQKIYR@F5fYeTt!z5Y43dYzN72t;0!sN6LIT`LXY83JPnOV8=B`JJl91h zm%hJUdwd;~dn%5Q?91qqbn~^0r+R0!|CrxW{N-X^T(Lf6v*eD~qp1spxvtCj{ZoM5 z9=64HdC6(REN^DP>QYO|K0_0!slK0*u4>snyuqBJlVlg-tXp`ogHvpql`L&N+2b@0g7){@5o@EY+FSj$>}CY1^zrDt6zM(u^AW z4)l`8q&C?STX~{)G^0`f#e=zG<3pY-m$zuws}pN*ZYq#)+&!ukbjUrtH!El-$0lQ` z-yIckOziOzw&8l`{?#Yez)n?b*oQ$}ZlpWI)8p$fqp*<&s!(w}Mg+Dqx@C8B3ZUWl zSiO>&H_pZR5Nwi6p`335SZ#Rd3&DHriSrw?k%?`*h4Gm2?uGIoP znAlv?N>Om61OW~*|X=Al{icmhkrfqDG>6P6QPe)Uo1&azj^|7BhO!2tgh0irhc*4KNMfmqpJsIi(gAJKfhXOln!97-P*5xB z+q+A9zv7&rv;AA?fqAt!R4uY)nVAM9%pok22ix53b`l?B&DSiZh?6X!>cmdpHT;V* zqTQ);K`YfIST#J#;YU!F$RjAUlIU$`YkbHW6unqHT$x&Zc7s%h4_}A=_RHmOq~I-z z^aY5w+mJr&C)kEXZ^=2f!Z-hSe-$6|^7ANpIh9P4lyQr}_8D~+%6L9H98CuA+$u3r zHFtQw=JWQ_Kz!j7RG$9Lasu{u5E6DsdWTpTf2BC#cZcM+X7EnX!?5Z#ULcoU{CoPw zUr!f8_O8j4Xlr{$hrIC1ohlZ`YWG<`iJNbyxasCBvLYMo4Q6kuLn-h6r& zuM~+#_#wp8tkgu`>zbCPs0(yPD;4lGe}?L*od4(sZq=J@nA78FnA8mAhFM&rxb$4y zC}&C!zbh&)Yuu2Fug{FkXjz``IYiDuMQKEx=OA#VG7vAw>NLiOtlDJ~GSy59yqDxyyyl_xSH+TB-5)z!wu;3DcEvzkyHrx@}(2pXB^3$^n7M!1*-vX1f zaOGHH6a4-)1MY$XG)`6FAKf|x<7g-lfBJjbIddmGdBqsRU;|aqZ0P{$Ax~}mAfDce zwh}oI)X+5A&@aS+b7{~phuo#$|2$Uak2CmkIlX~!nhnxevNip`D(BAB< zE?;aerD0-NdM4epzVX(h-~Eq#3DR72c2XG0muB@)k=}&88s{VkG42noctIg|lsM*) z3Hs2jVrVx#5;|f%vT$^lqgXH~BO3a*XmFutL3^xc$hk_GZrw73JvF2Pb82^zW53on z=lShizrr`MpW@m^`_fkHu}E&V1Hhudx{FE<;ndQ6e)cyQT)?eIhAnh*Y@1}_wLNQk zSuIu!wYsBqRB3B+4(0Z$kU=672-czG(G}*{U~;0+h8;woIY5oV8w1s-kjjh^srSoj z#RHym482tO!0RNbJb%Sh`uqq%SHJ{YF`=|5MY-QR-WFgQ1PdaZS-@tT3q4CbkV3P* zWMu}WIEpP;p4QPh;dy3$h_Wv`iee=-rC<+j9ae1e{>~ie0|R2sU8c7rbDx2n4Lyxic9^=iE$L1=#Vcn2v?0|hr38uk%LTEG%%HnZ9{jAmkS?3YV$Hsy5$4X zjRb}ecm~0X@Yf$SxW&lznXt@aMKX&smeSU0VB_V$vS%M<18 zr68NAG!fAOT`E;-!;FJWa}3TeLJDAtww{PP_N~Tg_Qcu zz5!e;`6|+-c(;5|ST7dpHb@Sd0O};%YH1{0pB1@s;=t()>*2uWwb38U-us~lhEx#v zaeaXYW3=>2H{G{3MlbG(p6^TlEx{uu)`t)MJM{gO7!uo~s*vC~2=r1Ldn#0JkO66w zGEu024Uxh$`u7eo_ErAxi;I5o7ji8XeN`v4qd`Sbt7c&E7vBVA7f@M0D)L{&A_L40 ze&WTX}n-p*8OItnLLi}m<>*JDy6NlQd=rqX>RETrOEtaHMg zxCdZ;l;t;V22wyOU_TTSFG*=4w(^>36az5wGGUnT9xMq`#*YN0iD6O#oN0>Dx9ksY z!3zT!oMFez{3(eS)JOlIS@@rdDsL%hQeG*!RL`^g>!eyb3vR3 z7W$BwTnb^616nc!LD*AyokKIgJb>M9kRgL+fP0~zQ40E72-5@&{XJM&O~7a(GT`n` zZVBaJdt~DS)+l+XmL5w(mJBdUgJQa;&!FnmY0!)0HFKk<6Q-^{Uj77A7S&8yN&=l2 z8a|^wIvCpi=o%)g)kb?NqPFM_Pm;K{n<+Zkgu)V(UgQX-91s#SVhU5|twSfd?B&G(r2*dri#}oY`7EZVubNFdAB7Nz!(Z zV4i>krmK5I9`K_DEhLi3NB~8>pgG z)Aa;d9BYyH$v|QOs+U-rlnb6 zlnG>2Sl|%Li$f)(rKVvZWh(a@NWK}^W5A08bcyEYyX;WEJ z=2hIMs#)i`rj(7I=|_qhB#fJD2?zx?Le+nBJ`Q?mmHfjZRIRG)tO_Mg_sVEwJ2ffJ z9IdUKQ29l{`#L!xl}w9t*fB_!pAj-EEjTLb>~ z-5+=|GD#NVDeQ=bumE?wtf@R=u1yi56~0149xKN+4?>Ue3j#N~?FElg!nlK{s8oY$ z1ucP=55*eLuG2^GnUX?K1BZkMR|B0kDn`05jR*T9@q<3ml!AP6?lDa)9N_szhXz4P zGP;5@nJGg)A_1jh6T<8e@IRU0e^(aF{R%_IiTT5iyVX+6*H{gKPp_Pvt_Ga4U!Ai=dE zdgn$D6G8e?;=){*7cTX~x-C|1#BrRng5dRMEteL>-To9@*<_#x2%g|v$}C=G$O{hXbr4b;fHguN~hTl+K2ZDBXnjD*U0 zCEVvawJnygST1%(#<}R6j^xPQ0v@mXQMbiNf}GDyb`?imPvy*H&ccjQtFE^d0=Y#F z<@|Rw*~#c9Os%X$MX?f>*uD+%3OPIc<;mRa>ttflDIw$(-_DvalSC$$7RouWWNT1) zT`Z9Z!u0HZ+A-9RtE?I7!6~lOy=orE@TaXs>Df5oqjg)JT%3y+FvhMtCbiJPD4d_+ zwE+T<Tm^Ey zkZmH2&&n6`*C^{Ql18x(Vz<}$vn-luf^}DnYI$UKeRBTr2}Dozkm7+lV~@-1gh>XJ ztrKG54}>qXnFMMR%QsY2bZ~#UJ=Qe{6eTD-;Q1XmAAhhoC%H=@Yb)l^4z6Ir;TEPM zqK}H=jj0*>5#|mrGej6jYC{XNIx5$x=su)0b}a2R<8qXD%KzQ*M~lZ+Ocws7ISZWs zR!Qp*w6ZOM)*d)-)wW?tE~PEIhcH)I4%Ul=GisBB+a+FvHnqffqs5`g)`C0VFC)TI z-cO!Szz_g?-ny1u@X(V>(iMJ{Il+A?N ziwQ=6$e3F=<@X2ZlFzj6EsGHwNH9nlHpYG@C>-YN{8!P>lq&PjNd&ioKrZ$l7m41xrYap`4HRey=8Wvo<*u;djBby6@nIoLgy%pC)V z9mrProizJBu@ua$(m9*FbaHx7*h_`H_{8Ei1ONVU&dUf2a38w!Eww%8?5n;!L66ac zNUd6l-(TdXe|1o92D`Tu5kRBP#)43mh}$mW^iX2BTdB{Crzo&SfGwTB{r=#!rvx5A z;-C5vy0h$-@<`cti@(o--*d{dgB3}O3+4M)FW1H-F(2~tVq%5V=WZ0;jVniI-3Yc6 z`qk>pVxkj)vnV5XnEv4*h$g<1^!?#rN6y~Qtl51dbEK30ljNKqaR+*_6ThPxLYWx@G6NRWL!{# zgHGu-xdQp-qmV@2@J&v+sbObgdS;nfCRQQ+CO}!d6pS*JS{OE=6+d#qPb6A4tNOxH z8)i8TA-KWPpu^7D#dsxY6+>7!r_eaHhj+6GUSuQ0;*0V7{}yyvra~tlZXbadYYi;P zhI-pxB;}r((QnPiRQ`ZZc%v%1=ISaII#GpXbFH>UFS^Yf@r(hM4HpSlI_M~k$kfo5 zC@->bPhlhU=Aa8h`&1B#hon_YYU|X^-!O5?> z85D0Js86A5K8wWd$W;j6k5;roT{jU$i>AX&x+Fxr3tDg&U zxzB0uUx+_yHrkFqDY|-d1s%)6IDm0ck=cwc-0^cUi1ki1Qic23LiZ7qUQuS5)ri@Y zhE}~Ee$L|}<3fgMm14K+Wetz~QD429)BX$s<#g=L3IbP)^?zi9pvG7e7ho5txN5f& zqLi!-m}q@V1Ufr1f?Q0{c;06H-t){ z3`n2c-_F5VqtTK-q3~Tqr3K1y=6qKDOiI#WG=KI08wD+4>W@Ft2Ua>r4Zq8PR?9x) zz&RVmBoGc=^3%$XTvQWeWUwn!`#;3+@>Y|U?iy^u(s%RNSmdiNu#OMrX>E3m^T7A~ z6Cd1B&IYyEpTwbo5AQa%ML9K_z%v+3yoSHvF}iP~GbbI=)ozoM?&3 zrHQ4|ZCQ6Z;8HtIXF@1P`NP^`#xw`IzzGa*Fa-S+=PYY-ZLObxQ%f1zDG9B!ZQC;r z5(9sh6;w;bL)aF;(wc#Eug}1p^M7_}27QA+ubnRQWz9MP6yhLD5fMcx5t08Dg#l7< zrguD_VIpi+fm5Okip#ZuqFJcGr2TwyCGboCDi0rU!Z z`ssG=R_K5oh_Hgh#Qeylm!85|;^n}7pU#fwR!<1XN9KjfUe4Up<}~TSAz4>7*lyw= zJ21uwze!qS`GkZM&hD$-{d3(Ya~J;S;}bO}bWktiTUr*`4EI2Hj|FzlYZM7hCH3%` z@DbT|!dsFRwAgJ<3>|cLvq9OCqi~WzqrB*3b~7;*l5FCb@^txE;bG(CdvxZv*sa*E?-K(Eao5S7KX(V|Zv zJO6H@@2PclbA8TUOWWR5dp#^aW(z_Th9nBYGy|xKMF0IRqzd>OQCJcY?cYBTg#$|e z8xcoH{Xav&l>V=AkWl&m*EmFE(cu5S@c%lFGz|K`iT`)L{|(@O=lkCP{$IyAn!zfA z2}3eLQ~81C35NMG2vTASt2D(DET7NfIH%H*KY;V47fYo<5&btaC!dw%(86I}L0RB( zIy*Nu_sRLq&gC8Q4Y<-LHTI|fg2B9TEq0xlW}U=p*i;k|GgHFNsza1n0c!F8JgdxS zR7J&ERyZ*wptpfNDpf`BPT;eN^Ri8spg$tEV7&gu_z1zOknQ=#>TULEBc-} z0CeHCL$GaB=_)|a((A(_5FdVUR)$t~5al%ahWszI!B)ZYF`+1!;*~2Gl4{eWFOAm>_ zQVWWlc2_EuVp&o|NJaf^Nf#GB?yMLC#m~WGWf5#V7u}2U4Vke}(*yc(B5Q4Q^iVO^ zbi}>Q&5G||OZW4Rl8{8x3DwJXu00(YA$#J&BT#`kyfDuzsri0$R-z>uF(GSy9AG1- z8(vdfkl4@&wHQUt86 zY@wwdAgX{|fzcQaS9nZeG_hS7{cb3+InB0TXaLbPuzV;g2I~0C`VX_W2T^kJlGk-d ztn$wVuP6Qv4#~OgX2xT)=*16Jr~=_ILlQPXN;{%2;+L9!5=6>#%PH#!gRSWMLM1}q z3kD`6C^y^E6t})GW?f|$%s6q|PU^Epw>gz0#vw{bNntVYK9eu0O^H0=O&Xe^d;9Rm zhsW281pikTMyj(0pH4WXYib-PDVTEN!_f+ceF0dc6cos4cu)DRd}I@Lb6$>V2B2>puvTm*TNa&m2&SQ=6 z`qY+!*vD$PR{T%OM>%^G0RIefdB}Wmfwo?;Bc|p~81ea}uxq`QKGNg7J=yP~<6~84 z9gji#4_CtC<&_9cjqXa{CKW)d~NH zFHG2jrh|Fk7IAYHx#ifg-%n!MzE^BVQyJkKe}7MIzFtafKDa!N0j7tg!m1<%+>QU5 z*{})6-YIN!`ApYY;AQ2T0Z&9eF3V$5&q{1ZU-Xn^Virx%f0%Ndj;(xZd7anMm66?y zFWmPviv=BGQDHfjvtUkOn%+d{Onzw;rZqq3(8x}rHJJrtTwJP->9@HL*HG%kwdIj-M**m%phBSxRAnOL`47PA4s+x0!}tV{-ffCg`SAV5$d~M`1j_O;M&Z4H{u^s3yaqCCSwS)EW>Xd`o+UXKhZH;j z#{YpaCVYCiQfG0{a^MI;UfNo?*Za43{PMCZ_okg9>VpTLw>N&X-QR)f%bA7E1M!jt z$0?Uct!5h}8jbFW^KYHd{HWppzkv<-L{@$zQ&n$=|1)b*yLJax{o$yiNNKs1*O|)1 zYPT&1V2Q}0hQBN`SfdMwRMgmpkBe_!JM0E+nC@pqdh+%ZK?|5BnsBWKHZF(G8pr*K z{%0vfs=BJ-dMMmCcS4I=6Pr1d`jr*|${kG5k*$1H$(6fy0g&N5F3$U7OEc+st*0iGT`^ zOaCJq+L4H%uQ@jSICSDn5W37_+N2d0^~;DEdyX}FYm1+I^DkJ4H8#}`UcUc79?c*z zo;gdO)Sl&6ZP+&mnpYQ&Y{mroI%m6E6wjQ=S_!##(!vGl}g|L2KN z-r!Sb?s}($G^ak)<*L8a-U2VoYip+`j~=LELTc~Uf;iaet8K;vWMrXGK8>9gCWVpx zRQqcU6*f19syt05WtP~>4jGFf(EoNTrnrKsQUW$2@Xx-l@L@H$f+5bA6;SMS9ruyD zxPNKEB>Oxu0I16x0+T=;t8l*C6=n1F6D^&DEVa z!PExlycl8M{8)WkXP;%Ql*dso`BAYDF=o|o)M5nJV8Dnqi}P>-`}QS8GW7cSvo<}| z=`U?_&8E;)wa4^uR(P@HDxNyM9(yPn&7U|PB8Yv7z_^Hr<_3q|%)|$orNlpfCaYS! zBjhq%Yt0_fKfZwG=Hf}ohZHq7yf#-%4@qx(W4q<$UCAjOmeeNNjw=N6i`!odbJq4) zjS*TVfdA*lVnAf0!i~M0VTT*o){WxcK!BTa;Pb1LQfD($$0{p^IlQ+7j$R+`hLO~SqP>USS-JGQ4hOC0qj_{!HSJ{_Ii{CuK?ofQQlqz`eY&;9om zF$Kl_$+ogeV%tOg58l`J6oogvX)p-%4l#J}e-OjutemwgDx1E{gaDq2r?9%p*^zjyM$urYzDFL*iWXMTU=BC;i~>Z z-L2cjq!ZVw@JwP!k0v#tK+Hi?7$xXm*zY^OMY#co^j3u_TR3IZmcxt!U;cCf<=ArP zO3`V5Dco@F;29g0<*zaxv}>tz*ws0jOdH;WDZV?Sv3EMo;@FFTJighbzUsNIQ;@wq zc!pSQc<+^Jsp2@38kLUA`VT2X{z&;&XQZKhbn(xZ6e79&CY?^bQPR!Ep4D5CzkP?8 z#d#b&9!`kEQ&9cIY8Ve+W{5q6D%NMfj%Wr?a*-IyMC4oAlk+Qwz`WH-apU6TVsO_X zbMBZqV@fuY)BpJEi~APJkuwWkm?&9M()2p}b26Rp@&sojJ` zg)?Bkon`3xTz@aZ1QYaVjg&lZ!@;VcoHYYAZUl`Sh{(tJD>Y@ql9-tyJAFZGG+%Jz z395Qkxz`(7#H!AopJ&8~RaE@IyJzRna6Mpz?Ye?w^|)KlJxc{$4N0-PEAI^Y&{bVl zHgbI*pOxik)&v92x1_c-I5dQah2=kBC{m;GdN}hPrB^ezzCJ9&P<@bAqDO|x{R-6A zFGGQZbe#Yo8<@z-B-Dd(A=W<)$!1| zUp{Y5KZ+3>cg-^>-MeYB$C;h#RLX)VI*Z1Q`S&mULsK-Hjpk4?nIj||9G89^rb}8p zC$4?wveHs=9v)CJrPi+yns9}%!%Gg0g}JqF4XCK7ucw-YeQ&DS6~yg<1g0 zETkHCAFx$Af_B`Gc5Jj+>G;sy?*^O3G&I!LgxZ%*13Y;gwd~nJ71J z;q>I;raR^Tk5Fa3vzOCiu zH8LYh3n{4@kwoXHg2cEWBY#O6Mi~kD#w9cr>D-j94T_55e|E^%h|E#Bcku%OAf)wZ zUFP?GG{UTE@fJgfGn+AWXC_??iO261-RdlgNbBT!&Blha!ksfUE=fUI@F&P6|NZz~G?f-My1$j}Hxot}`$lovqDUXCj~HxMqtTgm_>!!Pf~s zH1sb4BzlEqS_DK`a7cufoDc8^P6UbKj?pec4YObWR1Q2Dk4-++%c{MbBWYoO#5E@t zC6j!qTcpUpldW1@g&4(3`sy?OE~XdXxk(>nZH02O1Ed^C$D*SI!Z22=wj=s^qet~B z8tbx@sQs5$`E6}kkQ$h`P<667dZYT^choaquVjGb*46&mPMMl2#E7_;Zp}bWMs|DR z3g~-`wz~sqyWHvFN5)Dtt?lec==tB01`7LZ42IPf4&9Oe1qj2cR!~qESU+{Rcxg>Y zO&35#106mQHekXu7IeIaB8!f48hi@a?TWiQvq7z8xN3_tp^ge;6>1($siKj(t%B`pXpE?w!J%^P63g!eVlSmrMgnQS%XBXBLQH3r^!$??U)So&%6qXfI`(#U#`i~E zvf1eqx^COjIy&Dz9qwzwKF=NIRFtDbCd~Pi+?51Nip`C!0&|n!;eJ@K_14EefL4*u z0TB+&()yhD?K?`#(nM||0mlGPGjsP^vjm0iQ$FJ>_{7F$)EK_Mp{6ZLGCzi}Am-OW zo0yOH85hnUEr`$_!4mt=8!~#)HI>Nj^ zh<3S}&Ika0Cy(6pJzo6j#Z10mjfw0nD@$z1=w=ku)JDC>ub)0=RvGUC6Rj4-y8LqD zV=zP^S*kr*frQx5rLBV(r792GC`f>^i1g;&?j{7WY`a1HAs{+=+`II`|OJo3U%soCq12j4= ze@LU>7Cc$$fBd+}8tt~NHFb9gqp;q-=jt{;zv<7y6s5H?nUI0`@6put?$t70)>DZV ziAKLQEe2zrKY-(@rzB^`WTWtpU|kNHaMauDQ~3+VVPyN}Xz1w;{IstUTVTb7=kW-P zsjiM~K{|52S@OI(xZVB?4hbp#N_-?dild|96aATy(fM&p;ce&QLI=RG-z~b7k<|Z3 z=dviU#EuU~YUJopz*Ud-FlsPftLwt-5$IjC+y~;U?SWQPn>&9rF)dP3(RG_VPe??0 z?Z>b`ED?C+D=G>F*FnM0t*=kt{{FJxyiGfgl@Ak$``hu9$V`T0?wood`5#bTl~J_K zhR@NRASk!jC0#XNef@A7)Iv(bl#=^>=_ka*P7*V{g)c3G;5gMJ({|V#+4ePDbn^J= z&8(t~Y++&ZHh4}hJGz@);~QiC{lLu7)r#EG;k!2deQ^IuMZG>;IJgB6rcg^MfEl3$eL0Q2AhbFgRQRCL|9jIKarzNQ^ zgv}ke8JSIG-k8V-XZPm8x2nK6QZi>mO2m=9RKXsfk}^DsP7^`kp-~8#u3TXu zXCrpAiJbgUo=M4F*XRrCDtR_E#`5A56@O>n!GQ_x6pT%7{?Kh^VOiC+PKMjf_~~LqAV`<$*#4 ztA0I{V4SeOjivvg3M30gJWg5+%NC-JxfBW_;pFcV+=x&jK&nH4C;GTzB2$zdAy)O6mdKsiH)?rF( z3@@7(^#oVGQ(1k!@)^d+cGuD?7?PAWgg#%fr=Z};ike)E9jKHKExA6RLq?BGtGsZo zuV09L^>lNih~o zkJ66PigM}KqrjwUx&dUv5_adesfURCI1IF@!d9@#VFh`peJJp?xkW;VDJ~PIwN#fS z+46>pwZ|j;ba)OXOGjY!5;^E&)>U0s+B){~3G30x8P45%;zZ(8$!mkdafFvi^O}Lv z3j)f6M-RugX`5Na)`hY0WSZAWbAG4(vJ4P^!kN!cHlur^aM_3?Jc=OB zg|R1TA+r(W%ik_2i3~ZS%ZrmrYn^MFbA!t%%}mF|X`~0FnN61-B0|*Mn_vM%`8KYw z5)5(Jp_{f~YA!p1?{g;xmdyCtW*KQoAE?4sVYW3_q>jQM%ZwGMlT^&<(O`>&d@gu{ zMcMAG?bEpwwB%9qc%dg(7XUh)b-Cf1n1m@%igf+`dq6{79YFBA29Nolx$^V#8L<_3 zsk~K;S+?J=3Y=XZ=GB+PWz}I_Q*>Q3|FK((CG`#QIj4-VpS;*@2g~FT$X)aSSxn1^4wV1{#sxSK!y2P}wqxj%xu8Kcoj44L4in^P9%w)&nf-&+snBWtzk zMtEnA@8_16L*z?Dl#&X*1r(M0t!sKhR?ZKLGwk{gvE3WJ09yzG-wWn@Bn>blR@7oL zM;s?VeuFM}1r*UV-YJPky2oZ0Dql-lcZ&7hpuDRY?Dr&SuH8dE+80?I8@nC8>Y3uKU5RZ@6?v|LGF)o6(OYR{70eG|8xI$j^m3->cCLXpJYqU^Sr5GEt}Y7i>Xwm-tLLX# zuhL{Lj!9B-I&pYGroC4WZ&eID!@YxBK%za=NcrLdgoK*UUAoOIT~e-smp2Z61v@+V z_J+m}dl32W*SYr@$)`tX9Ny(-P_=kj;>AAnb zp^`~TTOqS=oIWqWfd`_Z*&ahYerdr(9HC?(^HK9R6kDodXfyyiBUHU~g{R3(Ule@hcCCFf{I_e~OKG%d0wbe!E|W7knzoAmAQk*YHW61)m=1#nEv52KY2& zZ287eV)f_Id|)3wfQliDf+qpI##HU*X6Uq5q_9f` z$PP{w9nAd6hrOW!1S2`;IPKJkOMxR>HPqnRQpR~`l{s4OEnjm`hR;V^D{Jf9H!q2S za-kZDC0126GDOH7yX(UC@;_|W5$=1pJ+}`mHS@ut{4K|=91|_ujz3t;eL4eFoMll@ zvBEoV4sccrssJI?F9abDxOt~wD>1D%t~52=w#kvohne5qjh(?9DKxNI^06IVfltkL-0klUMch&} zvP70T$WM?E71>&16M4X=Ccd8JfFG__DjbU}J$b zy5sv89FYHy;oilR&{|rSLBc*;K8|eRZMT{i%I9=Jm>$gDiI~a##{FrIL(W(_j`00T zSHW$X{gpO8hCGQ3&+%+@D*Y#lIi+&oxbg6~@!w3rX&|t(*=Q+Pp=*ZyD+@jI3yoN9 zI=>I=QLbnL`+99#bY+Z1U^4XA`#U#|44uaN!2zC1ceNx^*qpTR2^Y8JiL;6P*iOJt zv%2RjBWaF5`Q`Hi=BrtSqqg!mRKcHeH*-w8A3fJzrzh)A6kgF&<9zx(kx{9f0Estb z`#j|rI-o1#Ge7<zOR;d{LNBu&??{2I_c z8$VMFEJrOx+^bCNlcoS@DQj=BwuPwVi3usZRy`6bVkp4&K-Q@bkH{heXSK*VcoJjj z%9Xq5TI9~8OROg@CsEwZpVk~HHJVX#oG(8(Gp8BpGdW;DfVVz3w5#dl-q!t<8+{@u>^()BrW|MUhKEF1(v zv=|qGtvbhlc9eI5idytdFb^XUcK-)fo!dV>LED4pEtQAGbI}LFz9!c8d$lhKEm+ix z)$&O*H$?RVzh}~gD@x~t^(%rSEEjA&6xmY2`OS;B|8*lTqEkn!W z7G$}SelMCsz2WjOYqh{elcdt3JferguV+Rfmtl2VLo?7q6k#pYr49#P995^Nn}bE;;11VXCXU_4u!W1Bcf2CO)Tx#-5)+J@9M-;QuO zuNTpSgQ8hat^l!LOY0QSnK|uteqqnNy^*uqzLC?Y(-Kio>=$ml9K7ea-+lN(j2SQn zt(*@XKQ3&nJS!>MmNYdblO(&~(w61d-!k&?>9Gce(9K8C%!#Q=lg5NG;v#)k_+!a} zr&-AY{9qD+-sEa(<7GG&aeF_N+$TXi^pfD9iy)>Jghz3{1^TSW#USjEzMyUnI-_6Dd$sVO`_*#!JOaR2_Y?PemE)J<-X5* zd3l~CHNX$uypreU=_ut^mXWi?BO40U{Eqd00RaY}6tN0Pm}~?gGZV5z5a`cVxnh45 zKvF>F3msNV_oHM1?CR+C8l)R=&el`JeTLCK3;c|ZRT~bL{c_7nA1geiF(m+z7`>$% zMrA9V-pl?7P{r$K>!CZc% zbgr@aQOqXv`!G=z^W_g3S~zZf))-da~gEd`vMsa!ivwJB!m581roUDd=O=CK7)Mevg$75K>o^Xc}HW5WaOa#&~L4S<+FX*h%K}o<4IEN!{Z(CY2 zA+qmphQ9eb??O?~e3r@d)r8;c7aZIx9BGV9k}#H8dNEQW`oIxJvk@zfBz6vI@Go?* zPoed*^|EypvCD1`BVGFHP80t7>nsr~D`NDC5xGMGpH~0Flu2@O^1I4TH*aqef%h?$ zkLwhBau%A)pc!jR%K@_n!*bIMc!7249Jl+lnf-EvmOx@Qx^1+v>VJc)sO9dHxw5)RI?5(Xwy`(LvrTB2q~N2mOL>0)}uZ({m`DlAg z;PrpMnEf+z-RNGM**OS0Tf(ompUGfDSOgBAA0F-|^m(VE(thZ;zRsg8BZ7kfewDPxT7${7NX_f~r#|lENcDiB`NxaRaO}*{-9*a#`nvq7f1u4~ zYZl%0rLpk>dII@yA~#d;Ns@)lF8eIu4njV-NNOdyGw9?t_5(y2eKr3sa+`Pql30yM z&5EI;W|(Xgu7l^lTRN7t@+n8{hmt?Q*z($?QaGZUzWTv;-4Es7&THdg$#QR>K~bTf z6;y2H-0bY=Fd<~+x)h%kKj_xug3(|mM@GDNP=ybW3C&!PCjLwf?Q%Bsc>oR?m}mRM zRQ-(neGq?*h;_=n>(tTV>3$d9<1}HLf|7&isdtHzB`;xP!%Cl$_z|E(uk96tAh0^R zVP9QfW{zjp0p%Ih<-0_s5Emyfn1q%%n(DR3rOu~|@7mpcd?Nb&T@0=UIIgl=U|FsT z*QGRbSEDcM9(5nIaejGH)KrX?u@Ljubijf=pXEf{rG@368>KXJ)F@4qY3xyuO*KK$ zu=^T);ciXQP?JW6F|toCd17^$Z{x&;mQk+R=s>OSd7usrbI+ItE&y5A(GePr*k*M$yESK?gGg`1s#^$o)(|z6fNrWGpGC}|Imma%DMfvcx&pU;l$1Y!h z5SrL&&)obeYJa6VF`XeRd*j^3S|q?(f&)0mk3mhT04l8WG<8^-XB=ojiTUAxk`rkpZk&2GkuQ6=HAuMYOULstLP8bav&SnQsUpJ663AKM`8KcO=8{*S6 zrVOSCR+Q?igFb$|&QHD&05<{*z`&mfN_BM!SPS>9#~j-wwTuJ>w~GoZ(b04ONg@7^ z>l^4`ddAP+7j*)P-i7`I-!DHY;PN04)NdviYVLXi^@k3z`Mj6Z)QSKP;pqt;a3Ty~ z1}b3YyKo1OCBis}1tlh-Du{}5(x*g@N@A#2{K%3IUHSiLx~A~B+IC&Uw(Z7g%=wZ` zY}>Z2Hn!cMabsJJ8{4)yG57ip_I2ebM@#R6TXSmiaxW-w*N|Esn^d@F zdbZu95Ij`hl+^&EHCqRi=KSjVw24%EK<0B~bzWqyAPBptcDsp{d8^qww#PC~X(L^X z)Q0gtwTnsEx|zlO9lI7J?2d_?k0r~B2?_lv75`1Oz#sT z!5p8R73b$i_Jz?ew>Kx(%}~y%awjEZ{3U(A{r6)XA4ku%2cGow{M6(yRNL=Q8ne$l&A6K;SA_7vllLL(reu7a1mW+V0c8YTLZln|EbDgbu8pqK+Vi0}%KO1o z{}Y1_=KR^CGuH!UuO#x#&=lp(#*AxE{{~6wSrNByZpe6x5P`fN3CFT{_bZ|uAD&({ zD^pcA)D3dO09bv1#s8fV&{?v1Z2A$px1SgGTsQ>yg>(s_HgC8id%yiVan7?M09Y$k zwRuH-{hn00_HQei(ekh~^$8VcROXZ4_GX(clv&vx8lLC8JB7IHRwiZ@geH4#+7uYK zewPyDkX-UUy+_LT?9>=KX*v$H!o0O9l7VI97>v-}ZMWU6MsP8}lf_+CLeG3J;qnow zl)~XIWZ$?mg0uSB@I^S)3L1+6_!bw__U;}QnZmQ*!mz>>ToKn?)>f+L4xuk+=?`u+MOOyK^PPegPyp40yN!odN=!$0h~ z4X0NRrLHdVu{W)%fGmKhv~;+IqPJF?sbs!HO-*fN1O+me6i{N>xAFd2d}uZLOOegU zzsyWt>$U>dM)%r-VYeeWZ;Dw8$?RkiUv;7;$6vRXIKZvU^)SI6pWXszX@^J&Yl?7C zAMWnnbGh3clp-bpFu&Amu8{fuq1?CWeSn=*CAKOoYPI`I&}GOfDJ8{Q-Sy0M+1Z|9 zQ`H&nbNR9&^=s$DZZtLf_2w|(;2pM08AX4rGqPQYj=t&O&7a{mCls zhxiP<$+Rw4eoR_9ygKu<|H%HKUid)C1+lzc5>rw219C2aXq}yvu#q7g7%1v^I-nns zDcACxcCG5X_zpB$c_80G}uIEIf>U9*DAYe?~g**f759xx^^SoN4 z!2J@bR7g`uLz97MLJBXz?V;sf!gr)MUc zC&nip3oeVeRlAW4spvQdcsCDr*4Enzxq>}a*+tQla+GWM;uad*G02r1+-~tX=tDD6 zEPH{77XMqAkKPM`re!hd-}UlAvcI5U&~vwF5Mh*_X)T(ER#|EHKbh=&Ik!rK6KZK` ztpHFncbI+G*mCRd5)N>D*MQXlsa=cbcT;s6xaBa zlzzKh{hq)Omr&~9=Qn@#s#jdl%XKc#et*$__Z1b>pyo0d@u-By3Qu5&&S+Q?m61cN zYJr2#0|q%mDBsT~C>*SA1A7qjy8RFR1ktQ41}>t4`TunE2qSheivH_gMr9%a4U|8q z)HjAsZu${3sO!pVru!{{!j^6Gf0LyJ2ClJhq)wjhHZE@LAD8Hx-^^V<`gSFunDZ4p zK%RI!YZBc~xgZldr&iXsw1Sj5s~0UhC+72XOu1=%7~ARU@qpBF z@R|W24g&A(AV?ahJA|QkB0tK!#`a0%f2TyIIrL-C-Qy}M7c|iBfSauZJ*Zj50S7I5 zD312&z=wMQw;>dCO6#}*w_kQin;NS>fBE4{qIIWiK(f79Y{aOfx;vJnRC(g zc{3Be?*j0)h$Nb;AlR97Hk0qb$8l&{R-Ky4MdE$M7RhxcSb(P8-JEa|!D%WtPUO;U z1pt|_3RS&;Ip6|%H$plx@jv=ObF_KYn3HwR=ytNhj%R(oApN$3EEo-6sLo11PoGX; z{reV=P9eaREiEO|R1-hXf%$Gxl;E@NnWZG3@hla1wDiA)*FuzAY4~t) zEf1$1-=mXIO>Od*e|2BaK?6EM=+)gbRd_5}q&)dUpl&7#mr7k%aBmc%#H-W#>he%( zfbGCG_tlcaB_$}}^$$~knwpiR<<7c?2Bg>Jvc_76z-&f@amzsVrx2Y`1~Md?s9aU;FO$u z5{3>l~!i6GCJveMgkAMZ!T0cu@j%a0VAns z82!`M+g-=gAfNff$gV}4e^g)~JYEc`0kgNax7Xo$kJRd zt-Ej`qqK?f*<^Z!0PgrZgX4^cqx)4<+Z7`&Qje{B5yhsVn_C<^a z9N$fqW>pyFG}t^WDB{rla8wZ7MrfvP%3o#(Nu`FM`d z&Pf0H#hwJ}Yh-6TD)R7sx%+~mqta)t5;xiRD(q|#Rb?vN4cE_ZDyK_#3nUAI^$BCG z$Fd!NKIybH$V;IK=Gtgg6hrFZ{~k1KpWk3!L9ybQnMJ7>d1zgGy(*(osva~jTFac! zX$2U9nS_4BsEu%?DcuY6ZazK}>pBe#1mz(4^FRlY2lkNVDTe3d=(n|bJ2tnM{;A08 zI78$2NSU5M_^oCh3vqc4_LbC>faq#y{WZ6zz z1X7{e)WYkCezU=B$Rrj*@KSSIdZygGz~j_nI==@^8#>KXMT`GY!-ak^u&GySua&nkaX=D7yF70jJnw{QX1Kvh$fOonx zgYD9KzcTu7d>r5DGZq;d+|^mG!QMGHch<68BmkNbSW5zGydx}Vv68FYaaG8k4bfy&XtLf$&?8cYb04>#AwWZJ;zJ<{top@i;RmGN|9>6-KCJeK?f=`F#1pFfEr zr+Srd8ti2N#`?G0dQ=#-{QN#Z@hdOf!vm;&9r^lLGvtDKi5}nleT6{l>u;RXVW=7^ z+S)xozp635=Y|y6dw(aN;3`EIbg=&xFSV?YbX!VH3<%nko4a!cBWaW&DigyNfZBYy z$(cV?K1L$oTF=>~Uc$GvsH7x5$Nyj-8=3?8hG7(vF|vxo|#F6ozLF( zY;xG_OZ#|`(0xCbscApE*~KwQodXspapa`^wO|5Za>~c$N;rtz?jrS#S!zjVQ@fa- zcYA%@-h}K|ukrmsL-@UTDq+k1%EpbSPa5}eF$wIonK1Yn*S_bcxn>7r-z)@J?RtZW zZf<5u1rT2@tM>`)s{?aPT3*sR12B01) z1l;iBFs4t`?ITXMUp`a^R2~2yYR;|KD06mSbpS;4U?ST|-CUw()lS#>_zS&q#K^N=nMiSg=W~GVKNnfNt$0=mawxz9#^x2`kF@`&|M?R z?}T4VWlo#V{?BiJ8RzPG`FTa1NQm-5&==LogfaO3&g*etG8d3p-vAaE!L~1ntLr_* za;q6^CJ1b7N(J{X^9x*8{kxN>k3@iS_Y`r_8N!syclxG#IFa3B()~s(XtemhJSVhbf4D1?l+uy^+sduwDHP+Qf4qZvX%Uz_|sx zqRsDlwe7I&xC9R)dbZY@w)y%znVhn4^=qgbWF7RUtW4lz4P<3=4q!%O=9C`~9~XNw zGHF@v22($QMWyyAA72$mLk5i)$|5=m+Jn*X6x3XI7eegW)+yV96kj^3+LPbE*Hkr|1RVCWM#G8z`-=+ zDz011d1Q$oeQtRg*t4&xkdc`Lt_mD5h=~D1*s#mwTTr*)3yv0VguwOfn{19Qt9AG8 z`XRW-9J-yVt9J>NvExQCJBpl`(s$6ZJJSB8t|CW3(nFskYr#*Kt?Z zy{j{+(*Xzb>N%suGoNvfLfF;x)afBVl;aHDq$J42L4xJ8!6%I@nb;f5DUO(?6)uV$ z$_dZm#f=I5o0%Cvv4HnZS}QzRXNKtY@H01_lT#+MY~ps16VLde+uh{iXP7?_p=YV5 z_Z9Ruyo(nD^S{LbEGAY5tUM%7%Soz4_FGM>EW3lhs%XAD-{$B9_Mm-u-q{8AO#L8t z-FRIV6>6LbUb8)eVYh3n?6(*gMRi1zRmYsIPLCZnKllr~4<+!qSf39%$hDI&We{9a zN8-V4bREk!4{B&EjzJD!>0LcdDtLuz(`naw+tYq-d!F#r>Cz{aim0U}q9#HB+<$II z*6?TUuJ7-Tf(s3*%`^I&{tNc6gb%WA$tN-k#@0 z=cNrmRd~KX1>DTDfFxP*b{4yzm^}ivXAAg(zsxNxK(=9Z;sTWBzWMI{@?dq?s4&Xd zWCwhM8SIFE7|PRn!b+UK+H)wjm|}S09y(i^Q1fqWPzQAZbD<(a%jr6}7;MNIlU?=# zbUnZTLGMnI3fxB7!y;N5q02(?7v2qwxE{m!Mw`gT`(~1z?J$x8(}3mpU@8KZ^ z?gTb$;{wc4owVXxrDk|&`n-6&0>ve(E0lW4BBrKrk zX_lw?$&ZnlD2waWO~Jp>_$uN9$+EQdJ|1lPaUU&ldM@i2%m%ft|1x($PpfL0HI7{K z?bdLQU&4E43GZaJ1rlDPTzETb6SFVRC^(RUzyn%cr97A2c`)a9_KD6z>X6JH)8CHE zU_dUG(Vqp@y`BMod+B)x<>G0jB!koDB%NX8@liA9eK!t} zCKePG#Zrcdz+NuFoG;U zDTLvc_wn5`GxCK5hCF$$`6W9rlU~2U2ECJY5_bY#o7v?#VHr0DIc&MP)CDCSZ3#Ik zCTxC&KTB#q+iL+{(}lams>-$)z|*Q0nA=v{k5A7E01o)=GA*&0^)edvTehsS@*3NI zRT({c(3!!*cG&6D+lR%a!0v9_NykU$Y&*xynB|;L+B~BNf79-5aB#f1-WPbgv?9hD zL{vr@xzKB-ng7=UkmVJl!Nn_bvBm3Woox6to86h0%M>JV6dXTzr@0;9E^$3CQ*HK~2ic6!`YQVIj{(i7NQhV~Igp6CoHa zTgr2dgmL&lEBk68$ExJ@`Mdj@A1VW=UEt(fwnz_JmlDW7E-v9Gx;TvZ6_OX;1-?c&y0<|DpAVQ8I8aVG>8*Rr+leYih`osG%8Z2!#>RVqeg%&18T$T zUL0DgiF4!$++-IY-Ej9U5Sn37xr%wdj(NlF^cB?&3-a< zG?`r^L`@wb;qQYAFbYSm+Rn~(6B&3uo}R(E>mNF6q6H;lZv}AzV(RJy09TJ*zwom4 z&pAGxL}B+roW81zhebwzc7x_Q?hXLJ-hT9h%Psr00>umRTBtts0$y%Q9QL_UK|M2O z5Gl#G;BC>z5*Je?9j21Xsuiwwr0Mt=^mvf!PcOC4`zM`AhHlz zWs|i%cXd>9lP<58OgI2AmNW{-4E_;!m`+gM>9^%hN>BZ9LNuI7tmRImHSID-`he)a z%H2|48^z`!7$wA)yVqe#u??3X3B^m1%U;m?$0k|uV@ZMzO{7#kf1!Lz%T;rBM@m+P z3=1ydN$9f?K=Iz(BtkIn^3VdFASy&lIv-W6kBW3-aRHBT?(KF9VlKHX(kY3F`(n0F zqbSZc&TO=qlh5xzlfDx9b*6s2-yaT7PNF08jB2&nelFMO?uSfv4weYrZKqe`1Cx2# ziO6%iE*pO<5c!7|^LawIL=t1H1-th3hBx?)d`U}JUF3(e!30fc+b<$Ut`EF*Z17lYw%f;c>MW$VVvlJgdb^dto^As>))Z!x@z0 zpTHO3d|%pWF{-ha6}ikUvkxM6VB? z(CWi{>kkZ>XLG;>3=Fg729yCxRdibTV(4ub(|6G=;*JMA1Dd&!D`1YEGo3#PWLQY- z-+828rrq5^-M=(QJ+n0eu3>(Cv}A`e$p!Z%Kd~ z!~1fK_)XYvZ*QF@<4E&MeBw#{KZND8&-ivdVxpsO$_?Isk}n?dR==EN62D#=skj4t{mi4Wmi05Zk^6_mCS+u8ZmcGEpPGjrq{vq+G@(_a1SSxLao z;4k&7VSWeP&yJU5LPD{tAYbfBPw-naPtzhPTTHres~QMnhZJmElJg@ zaN(D{J9H{$VnB60;aTQTw$+vU`ctnRMc3CLtk-tA?$@XWlSp-LrWX>B*r6bF&4>zW z$>az5Q5rnotcwJ9p?Y~~?H!g}pUv7FUtGi-H{N*@x3=Q9_^kCxa70=nYg-HP;Knb# z>6i(_6Sw2U)TR%#(+(n*s4F zE1^-(vF|^Ho9u=D_Cn9A%zQ8c(xK*V!O5U*|3rngr_VxuixOg8bM?PxPXP;SO3OM) zlifP@>NoAgf5XFuEgn$3j5Irz#%|iBZKZ)-p+BvZw#0x7Z=k@4+&Xceu4(^#S@TeF zsb-~yw}WJHn*vm?j;DWo^0w8~tT^fFc3Y4~tEJf=L!3`tYIk?zueTeU=m;T`k8Qw* zb=C!{zaJkLxZT=y^+49YZOkO#f7)juF>~#w^oPS`|4fga%*aBW$CKdT`=%dDBIwkE zsA^~T^;@a?cM~ErKYbTbs@^D;j)^|hii3sK>a7X>%m2#f!(&0Pz^qiDNatlXF5a=R zq|P}C7-QDiDMr34d|JlVGF2^c-b>lN^*{=T$)JEEoj#@)>O&XTBWWYxvl5(&E%$?y zN@QI(>osg`p;tzb5*}#WC-OdLW%5~}>n=mG=yH*kaQI)-Kjr7W8DyLD=A6hHmYt{G zc1CvER3Odkp7e`-81a4RCXJTn?RK+y$e*?r<2V|KR0;v_&!-Tn6K~rXbcT_xLrCZ5 zvJ6CgwNjTmylBg-G&!g%qaC_xBVPQUfmNtOm+pK-2@Hnw5>3-ilBiJ4{Md4Cmq+`mOrds?~lp*rnhts>uJ{oIt zVmQHytU?a!b>()iKYZ$JxNs=BjWjN+ssuY^W_8^oc`2fZEp@(pB3wAq2*d zGEMf&V)^5}Y2D7;=Jispw@=K`($wFL7OK}n*m-}RobcAJPDo!J4&~DN*bj;kVnbcV z0nNy8Ua7kk-YyHqr%mp0SN=QuA_cwhX`Z^sJFAOB`lu@xj#w``i~{nEe?w5JpdFO> zS3F|zNcH_B{Y-gZJ#|`E>F{_B-{OVF}`QJ%^eJVJsb` zN{2}Yf62Sn-kvnL)2+Qt~4@^`*MdP=%SvQpphhFp-1cX z>y)SA04~F2_L~7GZQ0I)E|NRSOhAhVcY0ZeGn;gL?$nFxHgWc~ z>Dy-gI?lWxRF|_BvTT}cZrBhxe3#omWIK>-*q`HcfKgY)j7$6?e{%=hCFkbGYgPok z<}&HP<6rTUCE$+v=B945{s|$h&vv6BDJ6~NuVGeZ3A1z&+}9S(#Kbe*uCh>W{Z%Oo z3-0A*e74pqkvuYP5OS^t+%&w6Nm1a*X}RU3W$u-msv`+xPF658&CC+C61$N=qnkbfBv= zlEpAmQ?#mRQ!*hWU8-!{^y|3dlma8X|Mj^PdpKENsrP7$PL5yOYHeMX73;4d+ix~Y z^Ue=T1r=^NAMJl-|9lm6{-I|CRg>m3(*BAI*ulX`I z3%3GJOU1Gjx)dP!BvIri5k9VUf@82FU9@;L@9A_KmGA)ez9fQ`G$Or)J4U%sb7JaO zrk3_~a4#l{WFrle6fes6LsQ^64l|A#*0{un>c!02*%lhPVB)*X4jaUW&0A$Rz891Z zSP|*?1m<0kSA1LW=sW=GzhA>Ihqvd8*P*`Y-5-Q3-3`%6_u$Hg5?*t zK+7-WU}!+T{z^hR=sA1qlr9uUT3x<6FwuQZb%aPMg@I7ys;xGHjxQA`sVSan7O8=w z*i?6RmIQHKYLrIH#ge#dRQp#)l;m51Frb4tud}FJma@ctzVzKTnbBjmru=8>`Zb&zjrwki`*nh*a1KTyVhDP{9ah%%^u*RwQJ*FHxgd~{6 zWN0F;e3%jc9y>o5m$gA+o_V}>sN8f2;G$t#?#ne4y#LB^I2}+q^(|J@9wA~NK@C*~ zeGdj~|;RH@Xb=I;o`kX$MpwKM4?UuxGS95L9{@V>45! zfaPiFc1b-l70V==6gN(^(|*Oh8FC5wfIF#gX$Rm=U^ZeWn`6+_`{0BFETm=IcM)3z= z1TFn-O`~HAh_jYv{z^W;HLXF7IF#ljpv=<8Af$+gkR-G_-rS~vv(`nj`o5pWGbB{GD7{BCiEG$Mfn|*(OMD>GhWUET2E#pPeDH6i}p)#glk3F74RG;8q1pQAu zxUW{eI@BBJR>tBb|KLNC=XF2>%aO7SAybk zGaa|-tHilu6USX^I@}?JjZnu38OdzyxLTuOw2)$_Zt)z$!Ms+d?Ca}eYcC!!rof6u zLlFbR!kG*7O1K8XM?+f*u8FT7c#C@rP+_lVI=%=HWyGczgD~JGIOW5A-sH%6+G(oGvFOb_^Y$;NihStAHZw{aaboj~(^(8NRB^9vuJ&aK3td zQ7oU|+bd=jAX>fYNia;8)mr(Sf7_<7qB8`U6d4AK2pn9$$rD@CeDPPVwJU|EfFyK z3G|rDqL;jBAmc))r6sjQQ=6H%NxFp^pc$iGxmTb2hR2spXUa+*RVXbbk{{C3lb5c? z&O9N)gBKxnfZVgnabf@4Uj}p0@0=joi2{yIeQc?~D@0k!+zjS=Vt9QS2)ao1w?=0G zHD&=TB)JH*N@7DkN0~$E?{2SnZc^RJggc2VFLQH|^RXM*w%CWnWW%DelO1X9i)EMa zlgz{@zL_|jU)**UyU%X`a+FI(NvVdk1CN$zjIz@H^;BvQEKW+y0kaeNTy|dv&2&N><5(tkV`_@+)q(rZl1oQ&3gU zKv-IMq+wH+^TKX>VYRCN*j0D!@R#=Rs7%+;6Y;CvUHO{xD!sHcLjMnJxcqST z#RyLJoagfx(}`h`BJ_nTcmo$OrY;fC=5;h23hoq7Z%f0e&~!iXCB>fDlxbcso00V# z3^h&9PjOb}4zKSH&VTPu(a?8SB9zoh1=J!y+4EFRT#}$b&+#`$P6!_(ChbB`kzT?u zp1-K=zeMe5tO_5XUiia7kC1l2K6g>vU7)}bj+U>2+RgoUI%dcdl6QB@c~_ts74jde zO9B?ggf6Xy@4fTEhH}J!QAX1w#pw6SFzwPZIx>crof&38Rd9bPC@*Zpj39PaGO0)h zcA1p|GNVKbOQJp%X*PNpR3qAm_>NT_UwbN@s{R2xo)*Sur9}@G=6M-Fq9F;ni8}@y zJzmVl=ouFWBq&|Z;d$=d$DE~OTAX1#zy4@arav9Y@*&{JUYczE;Qnv6O1%qWkSki= z$zxM&;}|{|nzXlXrZB>8$w6?@{_!E_Ej7JN4emoiK{BcBuL4&wj_#s2_nzB0AMn@b z0I~{>OG_iydAb9z5~DE%Iu4MM@pteGk>?v3A?dp8UqZv-Y(!1p7mA%T94BWAG+9g_ zTvSm4OLdZ|`{)voywOsO0-=_2D=wOhG#mttM^kv{C=!mXp=<;u8fBiIo=}bInqXQ) zslbXz*+3Hjuk-+RAH!g=Tif=Ta9IZ#mKS}YAMGyb9cH}A%q%^I=n?kNfyZDfqP#mp zLhjAB$Y2>BV?ak(@P}tNe?|ztn6}68N9?`7?BJ3XSdfH;Ac#OJaj>!=@J~Jus*H<> z^OsUHd6-q0gj9WPn5^)lzGWuxY13kYc2?-Hb;s|?kU;WSJ09`#XKz<0?bP+w^yJ=T zscS?`xZP{L~8Y;;<6Y0Q+(bxF@S%ZtNQWDST-?n{+KDWI!RF{e zUq$Is&~QolKY%O;q-?3e{Yb81am*rjSeTfDj*Wmf4@f-acY@i0_TGQrkzNLQmR4g{ zFLAS3SA+jhNi~qzO4v;4*Pz|SJeRJnN!|y_9#qg{sw@87Vr=mV)B1Rc!D1dQaC9P< zo}c4WKC?c{Cu7N8>!^6>Xfo>Kxv2ZWWvFw)(RX-+NojU zJs!wTxrzRg294kR3r|a1JOdXfIrX_A*5CoSe~QRlmZj0}0WlstoK7Y*Su&s`Mly_) zwiYGkVEWm;N_ls4g*X(FXPTXPC*RD^xkKKT; z<%@GLT=8-__fKWY7Iku>K~TEzxkpe+nh!5b#&h!mJ0L<~3g*#aV=?}-IHtvAn_(Y0 z06Cb|jB;8%VBUsVf_xLzG#GhpE~YXw5f(aI5u1G;qpL^jWL;GFTU(DU-7?eHyC)A1 zEgn8%yI-HIM0(=!4B5;Lr^Ix0P@kT7+1ky4S%E$!SidD$4sUoEe$92)7{Kj-TqaPS z;w_SziOFYuZ!cINBnEY(0jhkSiomxCQK?cmih8(Tak3p(6fnT|UBHklLI+w>N)_T1 z)xA~~LHUt$fx1Gv?%$GlN}+KE&R1v9YBNOvIADR7HTAYO z80O;_Q?25>YpUvwx+pW5Lq(+=hKk=J;azt>=%Mdz2?gZ@OXRNl-ui5xHY?Bk4*n+d z@L|E3Q%EgKF~00!U`a;+>{ecLBlp3>)biAT*(iO@D(1wqP{Huuog%ff4L7tWq=XUu zOT5a;Y*P!1{@eFB;!40Sr=q1r52G5LV3rXC8&_x8LnK=aBx^P_=k_L=iWi|1#zky$ zh+3D$5ISgr&m&Np?D?gyDC9{72fuV&9|-9N6|A|=8UvP#93yh@Cg-mol%v9n5&D5$ zpE@f$D?Z+6bZOTapO1VKAxQ&3S`ZB!(1G`J+mI@yFd+!kd4}mpL-I~fWz>HrDR;cy zJEQ@;Bg~@zC1+7wTp;W0h?Y7O9pVf=*y=GcHC>TXP{0iOHV73YywKGe1&vs4LhnyV zs0}c0qInoU>uN*E>4QVL4q8(?Q*EDblKaZHndt zsiT>;)I2zQS8bFWm$qWKC1wM9GPM>w;0XDjhJg_-{Z8}U`uGqeERsdKE`L(70k6Zm z_rP9V7+48QD?5vctQ}y>b4Jcn|5npqlb;AeGdxWVV$@eAnY~F2bdt}q>_5dX_(KOW zU%d4m`crPxqrH#z4NUv9f{_*_EM;6LHr|j^NiX}Ot9RxQvBq!6seu5Sw8IMCdYjK> zdMuJDO}YSZ{VI3YqU*?iN!#qi@F_;i`yyO1b;QXAvOc>!qGjlll8%IQY&dWb0Pv(4 zk&rI%(D?X$9C>yl;-d82vK@J%*U=|OQlbVvMY7c~)|)}(ahRBgwrd8?+WPtm0EIhx zE*1-)Q6ei|gRY+%vU+(2uKrr=DCcv|Ll)osWE9K!?-sgjYMGH>xK7m=u31u6R-COZ zn=r>lx{r)^?9vGCTwq2y6(pD%>>W@9BNr%afoh>1EMbrm-|L13JpqmmbEy z+$XzpwIm}#IXAC!<^GqRoQ4w(RaN_y4dbosE$lnYu<= zXmIB6qJpAS)PqS$NnXR7*b!h$JE4J&OlP*Ru~50_$w|%&xnZI{yEWX< zNKY-UNN8!1;EWd0CZRwDHZ(sN%GE?pWI_}1Dvu7w>Z@01V$8Y~G&ko0gB4?|ZNyRV zxA30d*fFe1#sM^-tO4_$R3l6ZRkHMaV8`C@^%V5cUy-50iWu<-4MKljh1G0nK}b27 zc~}u;=GLz!Em4_E&%NHACf$no@Jl_d>W)rME=<>N&&$J?D*2m5_bLi45{>}aa%86n zh?~oh{$C5gfmKakXy*Yd!A(Ss(dEi^^6==`*#198ZbUFPIyQgSiWLt$JdiOFd+r0E zUm?Fhu6DB3gc0DS&eKn^0)*NHaK!*eOAjQ9u@yKfk@H4<=e<9G2N)Z@n+N0vWK4_i zi5d9Bt{!(4AlC}MKN=dAaQN`?@%Qf*o0F82DQ?34$AvTf zt9xujgi`sOqAfMwsI~;bSbkXh3?r}SJ8mJBcyxMH(!dBCM9wF*)!zQ>xU@Tc?3!P1 z&T6CYj~QnXjk@NkHn!esZ9|B69c?s;bwLV%FBZtK`ht=`PCnk}FFjcQ6)duTh(e|_ zIb0Xq^j~4vDcC)o<8LC3lShvBUWxGV`Y$A-t%Rh6ZA+^i4r)OHqZ(Z|-zpZCXp=VU zyl}1dhmWF->)Dl}p@WjV-@+MpJHr7PR=E6E-F0RddHoh>F`K!XfN^1w&upwvfu%nN z%nwFbD)Jqjro{rnCQnPc&Eh*c&W^^}s>l-)gNv+-cdk7j$NK_|_shH(HF>xX7Di22fd| zqJ2Ql9Dw*GQspVqDbi!J$?cFvfHgaxp#l1D|JUa8PNC`uukRy|eJ-v0xGa*L$jMnGi~Hx424ef*^bYqA5isw4jcCy zbH&HwNdUrv+?Q9{spAFus;ar!~h4qT}P0qECD2E+az|j@jXQc1% zMa&Cf7dt-2o7%@O8fB0C9xC+r`|i+9UEW=rnj^D1mQspx1d5`odmHO7G5aA)WzFQF!}mL`(Dj0rFbO;&JRoA| zJ1c8A5${WWr`IeBkl|$^DH%R=+_3AqBI&%s_G_GqMq5g@A%EI(>d*Wi&PxNTyxP1F zAOBmp+^1K-x0fO(&CkKrROfQYR`s|e%|>V3`WdZP5pG&$fd6cN>DeSbDSB^wwB69= z2&6=Zoot{r(Y9$v^=(ngTPhO|{YwuNI=lqjbI_x>U$E%(!+fF{zQ!RMFE0uKp^g&R z$mH0$_4?%%7?$%gf=zUuDnE927}LjT=B%-;?{2F_FI@Q^ufiOJvOD*(wPYvUIC9g| z|Fh0a+Q<<;IeqxPbB_TR3il`q6=W1o1*CQYecbqZrqy?klGImWYh^e|@AbjMe*#;B zc`t~x!(BNV4OsCP_4VR9$r5;cveL<*fD?hc7cM*dP7^90TXSRrVH?z2N$>_xi^$WF zrH`G@6%(Ga@HA}nP=R#pGoao)Zq(VuIaGA`#)Ir$GH;6iQq8#Bhz%k4K}srt>R}l^ zmjSLbE6hiTc}nzbzuZg@3hVYV_cgyOE85Iy-g(dLFj5`e&E9|yb02)kAN09O!gmsV zMe-M8{PuYXT;<_@f3<^1SlZS}5F%}AiUw#>>>S-%fn5Q7u*LzTzU9}2nrWEM z&aRDial&dk4^gNRq~PIy5l+5p>$LSUCY(Tm<@Vo(sgP1nrZ2Kghfra}vU2f-dMx#o z9>|lt4i{L?CegkAmFBoMZ;+osjtmsyBoPK9i z5}3dv#5d_P`Sq`CI{eq{$8TqtbaVwOG$Bk`rp9ql%H^auL2CM z`BhCR#e*urB1XVK+`@zT1Z{BMFwfCv| z!xy-)ouWdc}?)1)FFzQ0{N4bq;G{R3ZX{e6R znI4Tdc`WO6U`q~0*u>y@qx}{B>iu!rjlF&q2j!<_ohdxzXsAE|uU9CKQZ-Yp%KX|5 zVIUU_)cHXEr3VdAaB@pZ`nLOJ$qyZedugS@Lj`(v>bJGO02wMp_nwr1iWrc(M6Ioj z$>0E+GC&5)Jr<%3w+`pKn16!*249%W&s$rYlT~JGgq>X~!m)*@*j!1X6Pq%|i;rns z+rU?;nQi<97cQSBD;XmZ%DPgULmX@Rh@+yzk6IA)#=j10GpwnLoEQuuIw*Rk5#nz~ zsB{eY^!ox#33`052GY0>Rt;X(+QCN|!CmU*!sYXZje{z>S(B02GH_vi(Xrl>T3ic< zkb0|G6b#HtQ`15WTnjG+n6RoUlJ~2Zl5g!!DD;(%Uw@%PvPAMNwa^Lun==mH#*-Nt zgo$Lv{v$6_E&peb95!H%-j4j!uVW%YHwA&zHMGmos;A?afKnd{-=Px246UV{BmZpr&K#>4xglF(Brs`FuqQ1k}tH4GB4gvpWW4&)E)^JK%{-XYg` z?fSoWJtHr4bmRcENuAxOu=1!%EzMBDLPSzvMxY3JUh`4u=1lm=@BWM=DuR6h^usS- zej18MeUmmj-Cf0Zi!*MD?7x}@JIo~*WRFIe$WdwFP2vRyFCEhAgI?t00MC%; z-gdX+l_BxN+bbx8yZT1Z3ruUfOD(lz3lIE_HVS;70xE+?wou&6})aRHvGfc`Av z?#`7+Xn5YB1EW%j0p&4jDOvPu|5yOOo3XJH_#ERpR7uB)* zWf^_MK<1yv;JlUm~ejvP9VI2twNEVp*pL!3wVmxf4!$_Y#BjQfPWWWg~ z(W#Zs0|ln6Y~=PMd z{$a$>zLBdXmPD#35eoto?hoziL9KW&WSd4BCt25(nxiMf$&|`SYKnc%9ic#QJNG%6 z($7z|n5RJ5$hvHHc6KO9L12`D#Q_K-X^%N|Xu;UU8Yx|wpC1iEea%Q@K$IGB&e9-@ zVjR6~ydxh)y9~!nowX9lqRiGE>mI4yGT8;*a~kR}%wuUZ6=YZ9Zo{-~ zsL2ujpJUg*c=bf_^(u35UCMmH{AlqK@&JD!!55o|jsjQfdLO*zN$!H&^~(py^C{ue zPPbp$^RqgM=VSYt`%8?9bTBY^sDqvu_0`f}y`Bz<<%m&2d20^HPDz*l*`RjyR2{m{ zI&}oqCe%KtMq$VjQ$<|&-#Zb+I#h_^s873mw+l?6Ap{_LpV*kbYT|+Q!@*Q5TjJYB&;+494gJdq2cQg@0m9bQDd`S%3d954UYIz|wdp`*In!Ueb)QEc)0g|qSF@g$*MrHMl63fN>K9WWI?~ENF(9ClJbP(syo@)GeX^5 zvt~%(H(3>atH33=o2n^6wp3@0YX0J;7a)9-lyjsu`*B+gByE7bAm9ARgNcmizHW5% z3j@+3qN}SkTH1!r4b}jU4~pAR$+EU4_e>@8Pjs^Kaf(~s zQGvN9Kkp4&Ny@e)DbK}|E!~Eik}8Tn62y3WmCp=0F?huaAM5v+oQ!;Z?Z?2I+q|c$ zw*uwDo)>E&Wbi{zmf1i;DL|f2?cWohCRL#-qDf{9+zcwQ+;V$+QU;0o2MXWJ6kA@q zX{Q0ut=+pt?wV(S2W(D#v+Miu11QyT;7_D%UptIHc%Ol4;a`ZU)($sHBUyC%0rt@@< zpx;DNWGUfOAJ^eRPzC7)Cj@Ufk-xdx&NtBPmo*<{`s#C9OO!zlelZb;gS7nb$hj9C zjcR;9>6S~|qAR4(QHI_iEO&0>;>iI6job-01q6DhmT)7($}W(}#@I>}-EUSZPPE?k zD)tVFukSuOvL&KzrjCn;YF&Y5=H|!74?rnG)*!$cU=jtB^nKk>S{ zEIrRD4nnWv678O&ygOwSe_l+%E(BnqX$M>e2K8x+hUIYv!zbxp+}NnFpowjg*b{rWr?9 zpM3wyk`sEgRVLy?0A1SEN|>Wf?IT5+VO;8N!$vn-w(cFwD>o_u-#}yPuH|gDifd)X z%P3B{<>W}hX-%uj)anmVafTCj0s7WSrD1#c*q_pE>IeUvy1E@&Jg7jfwR7VDmkY5a zyDPu*n~&fTvtPeJ>2FoBdlM7cYTWEHWQp9&@u#D9(27V?0S!3^MD`754%9-7aX+85 zf2IFIpg$ImPc-0Wgwdff&m-@g>AOY7EdlOjmSJU}|!^YX1p4C^=ZFzxkC0wfOm&E^*MI98N{E zIl8)N9kXhD2$h>%wSDfQbZDJhexpNghtQc^ON@nHM!L38X>M9$l`iB6GNR*j#;!@Q z5#!=Jg6fRd3v{pX0uj&XXs;eR209hxrWp%vVbLxo0k_@ZZyfGVPAB%7uFKaFzl!-v z&I(T-U>+wN-}`Hekk)RJKgem1?bDMxI_%bRC>}fCY0cl#L2#YgN(KtV+E~jiZP3=s zo1!m4$uY=2t*@%|;c3 z?3*J-CDGg@I!Z3q=uZgOHI_>%<*6nhcnc%|@*Z=|k%io--1<6mO%J~jEjX`e5{9KY zHZm)UX=LgP(+vQ_{eT3a<$84g*Y6Vfmd9jsyk_4J3aL2Yy%A_X91vqO=k%p_Kg-zI z&?)I6m(T;T*$}brMB2p5F6;BM$>c ze+xR_PJ-6I>h09qL)cm73V@YFavIBm8q&WyE)*!!OEb&l)e3*95|Oh}p*!9$i;0bK z1}r}#%<5ONBJN`qYxQ1A5f*-rzdD@Z2K=(qeu-;BD*&YepmZa(4<@h5IYuhPihvam z=y+>xNaF=MvZ|{U(b0Dz!;ee@HL-@fc3+{Wf2<_LBVZtCZ$K@M8Ly!)~SFM}lG&_RzXbl`JHaLc`HF z;EpuTbd+ELcc~$1PTMgii!C+PjY=?%VJJqpIt>JuqY}=(D5GIc^~^)0(4NKHRS-8_ zfTpIy30-e+Dh9KrX-Z8Mjb@oP%!76o+c{ZkdNJl(10E5xpZjpVHa0M3^4xGC zLcmc6)EN5z1Uy;d6J*OY4D32BF+UF*q?r#6`u+D!fNFJ*7!Yff90JW+ZiFR$^ESW4 zsrMDchSTb*QT^wII{IW~b8~_QH4r^cj=M?DPb@`z@PQ>_V(mMxo{?;Y;ustf7{1Wn z9Hcu95pjRh(TLFT_o&DqOuT~m0w5%2*VYDu-lV+V=7|8n+W|ApK1NA31F8)j z5h<@`96o5D0}9MiEm^%rCDy~B0n@Ozus5m0N@wvwOaAu^kLwhVYg8j8j`>MBi_B7ot+(a<-J2U`=;crJutGdgZ24185!}qSK}Sc5R2TiN~Ds=n)zU2 z6(=GY@9aLt6d4pTpyX~wekMmQ(Acc!H5Y421J8QU>4N3OkSBz;hr{+JQLbCBTL)Xr zgf9w0`!N}wDh9|>N^LW8(~#S;R*oxeE%FN>KnaCzE@TCNF%A2%JPk&IZLuRH_%M;fjh=llqmuf)9R zCFete3-3Mkw`1rtoyloopSGTv} z5jvs4hbMljQj8uk>$iy=GMXyV0O$T41-22u&^`7%5bs>8-#ndK3dd1S`n|syu_oqb z_A5V3#h@43R7J(iAOevLP(eNDKj1^|a0=NyIiWRB`D!6S1sx45E`T%WMIk5D6mjsz zSif-SF%w$azNld6E6kg^OrzF&_2j2ag9$q1x8|K1y=tVM(rNgWMzuTcoRpCkp;ID) zD+h%`{#9S_ZSH(Ysjtc3>p85@;!Xgk;4f;)zc$=|1igvps5xlr1^LBh&aA78M3nw2 zSnzkNLpN^*%pSX$@saa3SecpDhwi5Wvv81K1RmBZUJnZ9|D$0zjWI43O&ctQ$y8~m zYNhnO$N89L;&F3VaL~;}%}7tm6?b>$?PlBZUiKPiJv6vXq*tRKFHimeAW#6H+__nR zOx(2l6Y;87Oppf--tS{8wO(=;A!+!?m^wtZQMSvrAzYq$B~3Bz_Pk}eVVqv=BypGb z78*|73DGTtjr7DIvN*eqf$el|jK~-m92wTN)bJlgkPt#T@y+mLe4l^q|K54oWQ@5- zHj+`mcXZW006-Tn@G3n#0Q^DVxxKs2f0Zo2??O|%&g)&mlAV@mayNE@AGkB67FOlN zzhz~D*3(q+~krb$vdYB5i$Ifsv}&qs#KshzLHPS!+}{yZL5TaEICXgha-CYEfHwV7|AsogKJdl zDl>p&xtTme;s$oZ!mfWT?r?Lfzl~`3FeF((DEKpu|JmDZ?kO3q7=zKYc$vmG7UsMh z0vj1!<+$sr26_9U-RT>}dKr!x{y+j#Ap^f{PGaxJ3%^s0#hb+V4Z_raN|R(2 zUBme2hf$TYsw;ljz zNCn(zuB^5_ZVMV3U+rYEQ*8n@F~>ImCIkrw`TF?wIk@K&fOBx-kq4oRq?zwYhXB1L zf*a!~)#-H?^eUN9+1~(Jt7yR{0TVsxSB87ZX8^zk;ER0I^dA#}Ys7oo_`tfxDSEs= zP`L1H7WF-1JhF<~YSR;4t~|6M$&652M(Y&20s5@+UN_U)D_qL^CjKM;#A_B4<1?CQ z51Qg>d5KGFL~cBnGo16%EC#Nfm9OU6lUS!e!^G%U+KKatl12VO`ahNXiQylE^NS1z zKzE26fV>0E{jl(G=l1oVr$^YDO-h~GZMi{hFs4`>?$e%T@P135k)y2CHY69 zVv$T{Cgx}Oi6_@oLsjbSKTKK8l!SyN(tt{!9vrC(IrwU(X_mvZNFQRA;*keLtt?u1 zpnXteB3C30CORkgoN~*rg!iU^wrro$^`-B!MW9xi$h}}Q^l#|X+3vd{N}}nCa$kgm zvo*Up_Qj8c;htfRZBEgqZ!lO#Y}LlKH3ksWnwTv$Yrmmy_~Q2E(#ySK5G&c}NBck`et@u1xcJ zL%%>aP8>Gw2`=vG^W|+Tt`+Z7bt5Y}EYO6D1j|yfuFHrVe2^1fd@3j@Y6|(q0RMh*ci1TcNhw8UOo^h!=cc{zP%IG^2?C=2TZD(_!}aYf zbNzFq=9L#T9L$UN>2#66D*_5ze!{QWYWm3IS~*in8FbmR7BBa_e?9)?;TGD^APy=) z86fGyK1}+VtSBmruG4p`FWd;tXih&moRKWDe$V%hn{&FYIVVY7!c22NpEDvE?K?01 zA?hV0&*Ki-E3xo?#ld)ss@XngUdNqpZI{)_HWweV=Qn>b%0aJ0Q8PL+8FT=?4KQQb z!7?81TzLD|H1qHs4$Lyz$YkOrcsWS+c7CUsSJ&C9noLCrb0NWWqiJb5)7(lj*LqHTTp&H#tA+gMlV1KQAwN5K$v!78QA zHm=&r(1C^h1%%NNzgZ~t7v_AnhxYh?EWolkl)sQLzvt;L^@Gs(X0Bi8`+M@Ez*&e` zuC+Bo0w}V!08NqDe(P~?-Hof60%DK{!KTVWM<}_+gtUkw=keCd2j8c3b?)!w77Kuh zsNZnZD^N>F$qA{9QEu+~3_hZXV}PNX7^jKDyD7Q!eM9t&S8gc$)TqIz5rG$GIs8Mm zNYr*JYB0l2pL&dNqvl7~;JvkT_x2@j&tF_3_p@L7#gPrBDpVDq=)1u6h!U`bp5*m$ z_u~D1vQ1`YuP`C9>(<}t5AcSs)QI!CXII|nJn!V~UI-o}IXdDektmrI>CC#yjzW;! z2`NeV`rYWg??&V6p8m^-W2X{$StndD?Mxramr{|MLhBM z&(`0-YMz^5Ua`wh?6c|*8*O);-NT2%4_LWge$4wb4EsA!dL?r_;MNnD_rEHW7s9d~ z{C#QMn}cmc*>D3V%zL8Km_E(-3CE86j|kLWPwjuE+D*TCDV7cTIQrgbxT)^`{zH_{ zqiXi>;=$R!RM{q>#;LZ#-IR=Hg|&Q*MB``hxL|M}@J30O$|gDd7Z$%as!cNHC(l?> z-kYVsVpX*W^x z>r-A}n()gm*!gsc6@GbEP1e*acRd4xLByH~e2jzQ{5k;9A}u}(=T`q7^QF9cW@WW^ z>-_VMJ=_&?rc|1_j*m`+nJA&}HRK_(A?bQ{`O8W}1(P_XOfO>g4&`jbOFk$O&x&$6 z)#!GK=B3*`p{$lRCSQaF9aG;`BhjU{-!$(7zy5IO-wDg^inKvUPYy({py7|hS$D#F z{|gB|PsesO_+q0~JH?WSthg)_we7}SJ4lbTCSdzp|rcNN?ps$x<_D_R?|6i8qaA1=)%Iuzy+Jo4!{_cmBI8jg(4ijUPS z1d$B_&!_o8nJLBVnBXOohg%VZ)q|LAB36kupcfP_{9-=3>_=qK8D5Di9W_#{pRLTP zE`J1X0*N?DEU3U_NX0wlN{h^`Syod~Uw>YAi10+NBz*HF@R>Sr4A?~k!hn6OYgfy% z6v@jh_3s8j%Lu!K{yxl13Fi)u8HeTHDwQ)BjUZ!+V`#bisLCeQ^rMvl3R4BS^xb#G zVqvj|CI=T)?c9&+XtOXK@lQUnJlEp}$imNl>ki}9CtE2M%Qv+tRv+z!;35WNU9Rw4 zugvi{r1ZK&xu(8Bv)~ME5_j6e0~dkUON`fTl6TMd?TZiYp*X_g43gq+gcx6LZNRC! zPVZCBgW&k7l}!m!!pe(Ah8}t);)61<;1BBd{?#3YJWn=uz8{A^?uW%VqG~lZN1t<= z-0g4Im&8Cs*2BnXwhFA-hlw9o>awn_ZJjXSdf*hxsxjA3eEWY@vsnDy%lsoCaUJ$~ ze5vC6skFF`Y5#&Nnu5aA?~p(K()Z&@>FJQ!Kfc~lQF%PK;2W`H7VeaJ^kX8N;<dJdx$?EzMOEZjeK#mq3=5nOqb{Pg?H>2<+px61Ts3U zeO0@8Q91x~#&h5M+2Cn=_ML9HGsT_!Bn1Io_hN}0oj~*XtJS|4Mk=IT*nYc$lG%${DCF(X86Is`E*|t6QA=tML1eL*KUpBQ76v2pnn7hIk`B))_pilj zNnU?RnE&W8foGLIGP++KKmHoN9v^z0w|2@a{O|7ch+*dlDO})en#B z>1x9&s$;+a_a84WDAX$N4fhQ(X-oa6HBy}@E2L{cHlrEe=Y9NLN<5N&Rw0thf{xY*a4A}m=+n@(sNLsa4%aVmjVyyp`c5MpGSu5_NyN?NJ)MRp3Uc$ z0d52+rRX`Bk9Q7E3w9u*OxU_0#bo~KXorQC0Ot= zF*<@nFwofE8086hRnF=-J~}!Dct<)tNCxTP(ZM$vSy|fyI1g9rj>3bgN@vu0VB^%1 zS~}I1IBB7BPMGcoQ1!0M&`ZFVs<>6_(Q^6Cd!cXZ)&|d$2KVn{pP2~pjKSS)Rp-%N z%+M05E!))um)|YBZV8(MkGOU+y<8Eduab9 z737l~Gb%4r1O-#(T4CX-YkD8#S2ZP-1=8|E)lg&;XxV46y6r)BBx-z%@yD(Gh1h&{J#lU2FtAz#kAZ_@ zX2CHcl9k=D%i%1rq66R1npNDp?z4EbRL>nFbzOf`v)z8}#}njBS9e}E@fz*IggcCa z$?cxDz^}0KRmQ2fkDsr z_x7K{0;07n!TPy9?s6tAw?;#0H4?!U`Jubvj8T#++&6rM#!9;A+q25m7aqs`%cz-NyLeKG z)x$zf{#MrUJxX3TFf8**TL7$^13t0eJtOf=kfw_PjfjRkUuDv(KW-QX1SKZ-0RxyJ z)iqnMf{5H4PA?A))LhAYe1etfq(QVhZ;%MoxsmmE_S}~<%@4+@A?@dYJ|~uBe6GW= z@6Atg4PNlb59$H&#T}^MHd^Kgi_V&7?5bz9T$^2J3K$oV-6mMF0?)!-q7F7qS18xj ztC+5IBT0^Zj5c)Q^pw#f?5e+fl8%b0avgfebMbLooIee@@CM#?;Kth~Wan0$D9SEk z7J6xEr2U8|A?HrUNbU^gY3j?=oJ=^EE~s?*5xJ170n!#r60iT#&E|bg2o8LiRu}wL z$rZZ%MJeD)W|D+Ap4w#>Up3;O#1)eYq2abf;%A=Gv{l$(u`id))(f*~YN-0Hjai9B z%~BlQ>Yvx*cOCkXt_=W~c_Vp14?0WiyVb|^YQtq)+N6&Q_m-oj* z{92EdOz2<=CHLSl8iwHh9i(mIz%aC%=b!W=p71YSG?Tuqh(eK9iIjyC9n(nMFI?-M zq$91(o-W5TOBb&s!0VZO-DpXaMc=h#=5SkA2RG7KDBbLMQYv=2WxW%1;ue!p1(x-8 znK&Qp8yABWFl3~bUXBdzh3;qQsx&j&SSB*xENO8DFU2FN@`Qbvl>FWer9GRIhkp^A zzkf;m^zi<=-f=mBv-A-ALp~?_pt$)0gozS4;)qG6lQDr|9UtK!8%${m>E71l?sUJ! zVh>?Yig=QqnEkV0+LnMl+CVC8h8L_jaTk*oT?SfuI)>K?VQb@?vTQ)-0M9Wp4Zrx=cDI z-?(tJuwjm%>NB(d3#-Kt6~Vj4-S^2jn5Oy@2yWG%^xPhQeBj!++@~8GlRGz8+Nlb4 zVO4_i<5;j#x!oV?+Dp>E7XvwY7@5s2JR|~kUbS59H;du~^XdetMb4c9STc6f%Dlw_ zj^zERWM+Jt+u$Y9$oA13ov6TUo3-O52;NeD9Z0@$`fPJgzU;6xCz;5A}B#;k(d z*hDSY7qsLY$IYIr5+&9E3xHu;dgxtv+3>YS)J>vLfTbmO!RZmH!~?DmQ&f$#Wrn}h zMAs}D>L3b=VU-FS5d%d6_6WKTbjl)Ez>$7=-c(!vh*2}{;LCB zxO#blRgy<7n*QNrt`OVyaHCQUI%vmP0F0sk6;dIT-|(W|M7JeZ>MM5y48;y_%e7)q zWd@B7r1o?o2uc8Eh-q8PwZ*~QxmzKP_iFbC;`v%kC5NMXkpJc;csYHt_V7nLe))}I zIsL=}Op`K`n#TT(&0f}n69dcyDqch|*0LDy-3)DmiJVa z3cJnZ{tNh`?*Cg2N&%p5)7b5@(;e_h^Zb;z|$RY?UA4E7fu=^*xb$Qe% zBsACu^0DY>PCzAqWqBmCn0UQF|HqL??2yn4h2oiT=fC9xPF+s)%68}P)v-Ah*WR2e zQMo7ED}_WwM!&H!_bji)XH+_%QTR3zq@8UwxmUhaA?6;k@+>hgMC2C?ST^o`gIjf< zR*%g`BSlAb7y83UrS_%30h3YsH-`)*cjTdlSLgDin8ufk9^~L@k*L;LAW3MW)_x*4 zwVcGTRp30s9b$Jre_!T*n#Rf7Df@UrOnpefYcq$Harh1~O}8N$%TS11eO71{MH5Y? z6?C_kn9YEy7>3XFq>u=57;UI;Z@26rza>AjujeBn^ z*%=OpM-@fG6?lfzZigC!91H@6Y{<6q1Rv^XD&wG6s}^PmMyltM;~oRcL{M)-B;ix6 zAKDDXFg|}i=ALe?$~pX4G`JV``?QK~Z@j1%AvzCCsuzc%cdyCB%cVqx$@#Xloh@5LULVd;+pD(77!CisR{k$%-^(IrF*XNd> zF!-1KKA_`-e10B&?0eGf_MWM@#U5R0%ARHXhcD_vV%RWc-R zWf%$q$pBK~v0CPG4A>(2TiYs4j0f=E7B|`qLsW#Ys3?-K_{F6Ut#d!B(!S0Ir(E|j zP{xhi5Yp}AxtSWz%Yf94uh&X(AHCHS%vb$am+q6Zd7sAda^J7nMPr!E)@m5z&2WLS?Pd7xjHK3ESDCjf;U{;)`hYN#yK;d`w~QoWoJ$NRDm5 zKJYyL(4?`5J_>?94mi};v7zU;;PfU0S$F-60g0CyWrpL&kJPJz_|cJEm1x=jzMX_= z$cKFC-(@{-JLH-kk>3)&I&QN;Qu|k0y@MV*bG&+^dHI#7Kgjgai z5~@%93mKvU&b*q<_j0M)sxP_CVyDQ%x{X zh*p{T*kG5vEE=~gihK#1DFS%Hu=3~@@JgIe6n=k`3&RHooq9L+5~#0Qizh8Y$q|~5 z+oRA5-V!DEt{XM9+**gw2a4XgwDnk@A6ER!-P@;dinUqc?`88$+jO{ymy@1C-%r|1 zwqZ47-o3Qq`t-=a@~l!L<)~~B{bFce+FF0Pm<9iil+xBn!y6E`}(SBE)98C)zQfJ=oATNq_S3wW%G?7!Fgdr5`hkMdA+-}a^-j3(kZ zF()nV`lb!0r9?7mJP)Iz+7kb%f7(cUf=1WhPNpeA0(%@dgN%BZl^1{8 zsb`E%Br)S8P)2Ie$aCO|rb^%l1|CiCch9IZMw#MZuPJJ$nPbXGM~1QmSOiPGpR-0S zKifg(!?<&;3H47?$N$l?rmOXV491@(h;`Q7{97KWTnathz0c@byKAAcWl+PGa%NLf zWLNfmx3ynPr7(ykte67f^G>?ym)sNbu`#*0#DwWsp498x;6N%=*t%BRuOY?^3F5kh z6u)kEnhkoH7E8<wu@$WFIqru66*q#J5qdf@Asa<}3(gyuNWgNdESCiq)E zsL!#I$+WhzuKw5l|5bB{OR_JhpgWdMNgzv#`}et>?MHEF;;-L#Wr{GI3JbZ>Q ze#VfZWE}bw*fDjjMTQa6P^eMiOLrUDyst-SVJIkz`+{!kQxYBwV@qZG+#IFL=Q~SG z)f9D}P!j`R879vJ{jF^EN>@3MgzjrmrWZEos3e@!*PeXx>O%!uzoF^RONSJRkCV2Q zlgZ}Ip~U43xsT!oHA#F_f@mRoJGD}IPe*rrhCCl03TV`?2v7!=W~P}d4-iP_Q%z1F zbeCT4{KsP^7uN4!Ohuj@&-TZI*uBoL$J;pnabDB`Wh>sx%gpOtGX`#v{q< z2@lron3hhWd|pH`sMXUGAhcA~jYln7#BeoECfIC>?TaTee!cZljT2D-)GXB5`zn(d z+d5#=#)q#|sKAPhtEYx?Hm%};fg%_$@uWQkVn-suK8)>!3WlO~9)bClKsM0DG9XpFA28dqWg_wvz_H~xpWXO6)^`076UiT*n z9}e6kGFAgZPe#tFz4FH?&{kI4}sv;=W1oKJ(dSy@lAfi zVRvVyF^FDG6|PHEgcbmPo%<{K*2jHOo+UNEJ6J*#G*l>;QWn%!%97Y!s4Gy^UYM7q8%+na7?sJ zYq?p{QjIM{llh`MPS5Xe^}DrbbIy!PxA|BM&gl>pCIwJ#h6~!Wn4#^y&(fiy?yNsu zxo(k>FCE|iY=Y7hBk$%>>=~Gjj&+1WbBR6TiZ$E{4Klby!rjcsW3U8#PXi zNMOU4{C1m8(tMIYkwFVgY>6Qm5w?-6>XIl&6W$k`7=>gIiypP3X8TgovGL&A*vtt zUzju>dL@4QMSFHrbsUucAJ7P*xsMDKg~=9V1+_TDba{K-Pv&S9Y=-UFlWi^JI`A51 z9mrW%3I`(cxt8w0&dYvjI*gI~(zg3y^%wt2KVJof9@vyC@3%5jQ3ZaPQ%r(!A#I^R zy3yUkA^&+hfjOGGD5iw5n6EI|I_56577g!h|JKUY-kE4(6gZ2w8H96rP{Ii=}YT0dAzZz=#ju#4&encilnR<5g9U#TxQ0Xby zzAu@50XywH?M4UW%_&A?@kvS#(dq0^QkVMb0Qx{~56{K6GoqR8iq%GZv!l!(LxzV$ zB>qS4>ne}|96VlKd>L?A-|U^h?Zjq%X$sNrD(b-iq!2Nu7MHuxJ)%$%DFh_vR_S>7 zN>8!0KR{WwXs0==5SzVGo4j$>sh}PAb&4m1Gl%=`)};JyUy-g|J^JVlR-#wn_J(BN z@+01G01kxVrzuV3a8TsbFp7?5sGH(6S z4V20ajm~&uN&WUY>uy6B?uVjvdKnEkIJt~6=#gqk*^ZkEg`5-9>4rUY(d9S+1$Mgg z&-uLtv|11wSJUBMCrW}XN0&gZT9L13yi8XoPlb7)=aE*o8zIs){xzTUgiR`!M;4ss zptingz$=sFq@SJ)&MWrx1qb(a_Fw62twOD@EVfxd1yF7cE^tAs9=G|OfqDNhFE^B` z+SBx}ZrrH89)e%Vnm0VtBd+d06B}taNxx!N!ttNC#Cir?zR}3RDqXkS*Tv#Od*0m^ zjgd>f$ubw76SRHialMq+*K?_(kTEX*YTQ)g)WgV7_$5XN?fL()06qJNgBWXT%lhfs zqiG1c^!eH*kv!ZN%L9Lr2=IvTjD6e)#TV|gWTr)1#iuwzCDdxl5$%@yncu?WlcgC2 z$0t*ITEdp;OHV>LVz*nhofmu{%8T=1IFR4BPz80{rx63w9aP<8r&Wt++Cu~XJkpY)^3XO>qds`)SSf7j<;-KnS?I(Vc`Icyo zB*T?}1)+{qP-=|HC|afm%8z`G4xTS^)fXoDSl=w{tZ-e9=J(4v<1mK46o^msQ$&0v z2=!qYZq=OJ-cCH1d3n|`*Dlm!VD<3(c|M_!Agh7Xp7r$--%Vos{+#%Wjz2acbGs&! zQMVp>Esdl9;cBb%LzTem#Kq;?pMadqS~yVRKxagHZ48L^Ms!wO!_7=P`(q{%WF8eW%&K%1!qE_Y1;bj=tT@x`y3pZk}0UC?o|b^cXSv!qd$M*wf#-VnA|*?>T=z z_(YPH);DC71XR)&FFx;L0d3G#_)xL68h`rsi`HZ{DSlImqCE?X(6RSBdN}Qc#Cg;# zVkvf2TnlK5sVKZ*qYP_AinwA4<$2O5lgVh6-*jIopIjc=VO(2P5G8n+pc+dW+mi!7 z+VhO8X2Vkb7+?*C=;-9oGo3iS%gmz17H#1qfBfWif}U6NGmMpT+xDawG79>gf1I?}v){JEWltr9_lg(FGX`pS!l+e1y6Sfltqpqy# z!-aSS_yRcS1(fQei$($15zWcmK*p@X1hyYPGcpIUB9s0^aVm(gV#d86;jZhpEBg}` z7nQ=>i&crws+jFROAcpkM4IyNQD0*oMwwv2`6=|Ww6+!@{8l{S&@pJ#o3+7^>ua3;(I8aVonvFY-7o+?BgSQ5ySW&+SO> zd#|}%Su8r|Dwu#;g5Sf2jmD`I0~Gi8eSA*1nC5PbX1-V=k<=UU03zwD|Lbu7 z{kS-sdWU#D@zsZR4OzbagGotFDsoTedp%{w_h5e3)wSPg%4>hr*ev>4Y~%wGnQ0g9`KZC<&s z6c`L~Yi@BrP`bw_guPWKqE_VoPS_JQg!H=eE3$jI|9F6?V@RHCaI#$OT=RIy#^nd7 z{r)fB=U3Fcm#5Jw2%&ARn{r7}4o!vGGML`>$n@y>H2BrK1rf1oHNhoI3%N`I_q*NW z_qvYN-b~?AcT;wwPMu~p5^2lp^AmH^fQevl3EDIG$a16EX2|&U;&A z244TP?*;D&2lO@$t1aLrq)nh#mCgJo{z$4T&|$$yU`6Hyr)qC{3Os6TJg}1#R@Ix% z3pKJ`6e=-p$>S^_Ih>sCz?3M#gKZ#GbvKhhL7I$0=BT2!#Jo%BGA~hT!nVk*K?i|m6qql~p=Bj0@SMXpx!ct;@zYTMl_(d?QXELKCXPqfmHlUoj*hF?P3D!Udy zkx-AI-04Sm=CWHK_je5Z?$SCwKF6WDn~a#pH<6iK;$?mjFxlaPD3exk{)%r;8-+i} zF)QRpY(`!S>Cno+1=CZQS3l9bHryWYOvZJ#6m{^Ue>_U_>`VH>pAQ<_sNURj;x6}7 z8cL}-94t{cXIV_`ROitq8h&!EnPb5XY*QC6^L9IsLh_mYnY%V~!;u+(?ut zDJ}>Vab{zF1bBtc`Z%j~BbN2@N{WeN7MYn@7Po7#7^X$?aSCh!#vzfeIKv8x6trwn z#pJZ3g%~Vu?6G@&Yz9$zM%;3p1QMWu3u?eR>MXoHm5~bmT21@R)$c$+~s5KVrr_)pSaY*=|y^UDzs^}mGIRkJ3LI)yIXw7 z<@ne8JU~~W?1((5w2G$XoPBm7aT@}qGx_DBJA5IHgBQm|NKUBxsF2%C87IFa?3?xE zoH>PVR? ztLG!hkk=Jv|A$VJ9l>duzHWSiNI!;ze`b!!MYOM&%!9p(OTJL7w^eOOf){$deM6kOW%&6)i0n=Vs~_Acv@rSHP_^4qD9bJBbZ_QnUk~cC$#z# z<3glRaIy?Xad!#1{CrcnURfaIum!VT;`VzN7tlY`s%9BRw7?bSMP`zlOxf5-DxlOe zTu(l*3&gH)bn{qii*;-k-jS;)WuPa`-hyBBtKZ>4{&5211@BX*=7(8-v4fw6Vb&eEAn1|vqk-M@^KACxN6AEtDOX3#Wc*D z90*up)4m^0&n)!ndu|Tqc%E&CDV#(OkZUTuI~}y+Ow4ObD;Wm?8%+#bQ`8u1$^6rH zl+rj1F(yLMgHDQu`1;J9u3Wy7Q8wV4n7@neZ&oV&Y zUKirdnjQB2NwW9z-v6Dn2+^zN(|*>Y_>@*ky>fIE*0Z{Kg?-*}!^LHf56YC*<0fVi z4vc90cZsQ6c7V>r!(buS7Rp{Rbg9VhB?9K5}lZ3o$h>nLj?48+^6c~5k_B=+~kXoV(Fmoz~U*!BzpM|ejj59h$J zo`oD>SV)i=TkV!k%U$l$k@tM3lKxiR0%oYb{<`1Ik}*T`NZfgn_%BLP54Pw{+qMB6 z)1R+bw0ei5aB@KV5kIY_xSn%XLo*h$*#3hWi(^8FS?+YL{>S77a@XDd#my2z= zv5t3rbfY%WVzwY;hpZU81B|XVg zDvHx01Tf;rSLtRP<-u5e!J%-)XQt!q?P5RM@R{1cJK)cemS%Y6CeJV+*4>*{m5qyk zN}X&iqLQXLE%s%GPOo&g7$>X4$@a*$wV*K-gMD^fJ&RtCas_|;w5z@g{F9sF^J!A7 z>GJn3XwkVJ%U8=b0%8m_9;7|xQ&@2`>Cy`mcWuP-5jq835*lXDix1Q7)!{%q#z^S> z#PgCXI9x_?n1Kg2_;;xm4UPqgHh6&WItt?NvSE%%{*j@=8?8bizj^&}ntUN#pE^E1 zF&Tns*+}tWkKt`d5We$MV@NxyeVIBIF1i^49(gI)^B=x z-+WC_^9;`3bgt*=M9|n)tGe9U@=5A>=6xJrnP;O9e(t#uaB=l6rYgp3XPKOP#5`1t zW$_4zx=N(A8|!HoUCRQErQi3M$stN4$}|i{4vO|Cp^;y~Zc9foRP3)Px3|;})wGR1Et$ z^ZaYFYN2Lo`Yrzh1VQ`0cin?aB5JvwWyf{--tl8iS6kF|+{^X`U+$Og)x!sBZV{DL z8AVr^8_(i89*Qb9OhIkgoNlQr5$bp_BV6)zha^cvVqqe&Fum)#U-x$P0LQi|6-t+- zi5jMks;ToYZ|T*y_#z30LOk?yAK^EjdMdunG4pgbyGPB^UUfg*?h1en$g~ZAYlOoI9)X~A%@uS#Hl(7#telhE40~>}sdIt%XD)K`>~d z`!p6kIPW4ax>c`BsYc06K?UMII19Ce!mLlEczJSMEZll}##Uof4#k6%vt_K3g=UD8 zyI>hYbUMegUw(lH{_R^XYZoQ~H??=vm37GRU`8Z93zmqYD!lWd_i^ILFYqYlTQY5&nw_Cwi&!TiL|;QF9>Oj;l=3B!uq0R(sm?T#1Y@Vi=-Sxzx_|45 z#^{R0>q}TW^_$@;@CRlfz|Z}=Ut;+58OBcyBa3*^*B?+N30amg112q*G?`4A*48v_ zZ5cW`GGsC>M57T>sRWTo7*$nK6#0sAxAi7M-*`|DDiBa!b=j9!K#+zM(0%0S4C^}E zTQfX$epoDiAw*v#5DnnrQOcFXhzpj5W@-%F+Q;!{PtdWx<5Hn#MUvT;X|Jo7um{Wu zYp7ra$aJ*xo1gj}KK;p0apBm>hHU@odER{dt%v7&$g+$PFbReNghBzr;SkAGg4WhF zt(g`wt!W~WFyTm;WFk&17Qr+POw+_L^tu<8%Mqj@1p;!lxBHa6yu)zBher6JbPLC( zrx-65#O5G`==_N(7DClkvJ+WYF9uz(JbJeDaOj6en7J@Rva?#EX&@da9jY&Dd(o-3 z^AreHg5H6CKKbe2=f8dWkJlar1w~T`r$fw+ z&f+=_vMK`V1xrVgC5Cnl^25J;l#RD<S zdsr2tx~#}VS|a2pi&$k*Fj264672~(HfI>#dzwuxt#xN)FS^x?d4XU}@I1Whe3c!K zf_?q(yZ9yAg4H*My!bkxiqALR)=-%KXuP54?c6Kp*!RN&cy*BVTFe$X`QoX|_KH;z zqLL($?oFeIb#b~Ctk{|wx^0MKPn{$?Rezl{3c@Wf@Vi!}TGc_&JcO0SMb7zM`$&?+ z)=V3k+_?42UE9UAoJ+CUer9%bmi^y7aM`u4+U)dg>E)iExf?TVil<$$GHa^8om+Mf z^7U{0sICq;uD3d!P6UGGl6OUUv1US-7Z>wc59gF*Fvz-ivSH^;lBK$djkawEJ)m7? zyA?nG{ZhK41P!$MP8^>FjT9bnMV6ppXz3gL~ zTQe99+j&f?&RZSKg=;(LLH)986+PhubxFc78BC_o6oua2_PVl&mR%7}C#WCF9t6ZN zG`IhNYp)n5^b2dy_aG_i++qBfW#s!}W(Xv|= zpgE^%ERlu!4`*ah{4 zi|9krNOL)5RYmAZZ9_%Zf9oUfz?gM;qFpMIAT%{fzS21D#$CrnH5C5~Q4h++GQn8j zvc)1SqJp|2q-hK!>Nf+@_Cyx4Kp?P*-e9rU__T-Cn;X>V6CA3>je!Z3w~Q)ut}2hkxoK z&)6_wRV}|)qa~UopfyefAKP}2HUA4yNs`D-cARaJnRkQxDcO8nX(A_{*(O65AcqZoi)1qTJ*hL$|FG931 zTOd1`6&r(KQEW)22p@yOHu6N$fAOFc$ICpN`SNCBHAu6aNWFVl3acC5xYHbW>9!t-8dxx6p#!4pDMP-lb`P=#y0VK8L~*63hSSY`LT>%q9S_}Zrz z$;48ZYEcW;{=mEX4@20blDDwSmY4y-^-r&|%*K|MMg5GT$b9gjx1#APfAYd8`$vWiyR)jMcA^M&fO%dlnXnn8OsDHcSt3eiwJgloGLb44)& zg6q;3jS)2$-()Zx4)Sk)<=yPvdy=pH%M-Zn+GYy5B4b`qCrCg_1y#g{HXMdrbJLWiB?<~sjN&P{mw)NMG}j=DTQbt62QZwm=!`)aGeDzNo+{BEcpbV$)xxXzxfbf z{?ZdX^2iIgYgok75kgc@FCtWfh_Hq>EOE6q{oxne4%YFiv8A(iwX{^(t;T)65pQ0A zPFQfhvT|)_bBTTH{QpmKJ^7c zp#ZyfZC;am5tW++{y+FtEum2%LL2+VFF{OMT&DR#SZGxc56Ifp&wp*Wk_1Q+m{Ro` zWvS{(D!H|*!JLVwIiH>OWx2m=QOp+6Obu15|A%$WETTq4Cp$hTb_BsSS)WRy$je`* zJ9lp2;~#$)pZ@fh*thT4+6Yl$4i)&AfD9eF5TVUNSg8uVm1H4aACGFA(FyDFn0ar0 zpDei5B%~R;`e&tv-lVV@CT0ZcYVKUe<%O@m$k?f|#yA+Q#fK`IN;nlFJDJCGy}Bqp zAXtNqQq$>_}eQ7%{3X7dnJD)8e=K&mFNL{!m1shQAZ&?P9Xpu$_o zubQ%|0@E)@l0<75GblMpcL^wTTxL_@9Wfa`BdM{ew)__Lm5~NHQG9P|j0! z>Z6j6=XqE~3q`Gu@>6FIp2e{p`nLC7Sre|+2_)7Ur8rxnR49wxKyZcAy283-s-f;l zRLvEvH4@dV=@t#TjH)G6h|uO`rR&71($&Ri*@a2lpW~n^D($iQDdprj9(Kh+)%_nw z<2o*<_MWC(xVk5D&FU7!+u|4@9nTRCOTp#zM5Dw_Qw)SaumZ?bV*=ZC=rpR9P$57C zid40Vt`x>q6ou=-nC0&}%B|59vQ!@rg;lY^qb`J~RkoNsHASK$arJ}1T3uZGU_1By z@|y`p17bH2y#A#rNvuz$8?MxmNLCW8?sEi&R285>(IH826=G_&F#K|h(Mwbl-rk5u zH8H8;bDLAZ2#^d$n8^D-iQ2JjWJN+&{9gk#HPZAD;isq&o)h+jT?LTYQ7VZ=Na z{V(~}x1OR{T)uTwly4F&1xj=NLDusbs=oUtCKf5#eJ${|;`w zWfOn>*I(!H$M^A(k3PWqq3$K0LPgZ6VBv?dYTRd3t^O&R&k0sjjCL3>X;sDK)%LBx zd}zoU6O;;0wR=+CK6{cxYc$DBDev3OVcpIF-@jBm*JI@9C>pff01G?A&n)W3u(HBqn^4g-&5D$IeE!=k77QXt`$GC7| zl2~l7I14XuaJ4`<$ukBm&{O zDCOka!;G%-rVrna8M=OBnl%@q*{Li?9z90)=5AVhMN&w!5;JttLI1|(NRmWCr?!E!~K>1yncYf3O0B-|2Y{Pct2~u4tF)K}kB1yD`8_WF>3YqNK zv7Q@m+`#N?j+c&}=b0bB!WaMgtK?=&3~cIT!`5{SZ0KiTL*J^3!MT|%#||Cm=*uUu z$`%j(!h29uVYXW?7kj-MLVyaIM1+o18Y4sgn(rrBB^`<}lAZF!^;C*wvJ<(gPHG?< zf-i( zC(d#5$Z5`<9;Lg#6W!3S`8yojxg=KKC|bShH{p36k}RVr*H%JD4jkj@M}ADtx(>GA zvKd(s%4s>sKth9<0>Zc~Xa+oBtO-QuMN;7y7qU~n(0#+Noa4;CVeb6!9sb?BJr*sJ zeIZ0uO{Hxp!>Q*_Q_7bXoboTIe>%evRJn1*P|>aSZI&d^O`Wd3PP+TM*mLi#*p`i| zUHcI{bNnoy{i81uiHFd1jZpOUv9y(Pg<`HmK38P(&JDcl!w+8bAh&bRc6RLEhNh_^ zIdHlAmISSuhyxWgnGp4wEAcWC2>Bv=-t#=hPK=T2N}#ARe%!uuQ#sBYJj=#C8x|#$ z{n5rog4Vtkjy!sdnUNVGM4O1NXsn^{Z`Qu@hH~)$c0Dqk89w++?;@WsQYl$jmCEb> zU6y5n;Q*?pk?Cl;ek(OuMwSsGbeZV$oo7TWs6f!*&$_A;F@sDMvTJ%BR>@-g#3a4% z>cy|y_sPAdm>F4oa+h!VDJD9SD4N2|=nU;c?PB#e0j8>v3w#${RSWBykDnzKDiE*23%aJ6BR5-TgLNq^rpO2pDrjyzny+1PG8DsO zcunI(r_N6k?~G!E{h3oSc5)0^l}Y!c7k{|-%?2+^WcoAWDQ_aWqOpdqtXUKl>>KZe zq=6|!sGx~?ZQuE3!O#riW{BBRer?9wbs0TAN=ttWst>E2*p|bI7f#Z%y&EI2_!69A zOBJjMx}wk$3ODpUmW2>)D1tIXRWS~N=EnA#uQi7xNhCvS=MpdH%S@i0A~TTj<>1d; zm}c_SG~JuKmvntXhziz(bRbAj*Bkc!n$dmL$jDN)PN=BRBoIQhIqy3jjI3D$kh$?W zBuOIP>c8Y(&+|C(;z@dUb`eP}&A23ls9;U#ZE&}|h~;c7BC?1J6$qMHh=$D|y1X_n zk+IX`r2A9oLH`+VvJ+X(?Z3dl&VeNhb+NSyRvih6OgM5$tG)KmYkgf!>v?bZ|Ev8S zSNNPa{`<8)?`l7L#or}Wt!RQqSg%!={FT-g3s_^DyM>^Qc{+~1|Ur!^W|mSk+goB+Z+ zK|nwR!8=dz?|I;bfZ*_O#6jm+wj^sV-Tm#w!?!P4nJcSm_hmFQ>Mz39^mo~p+ErOA zS7xr1PCJN=Rp{akeg2f!v*mhQ z*IqkT&wXXz@$XN6e>RBhL}Yx<`F(ypzvK=EjKX+p*&59LW^3La?+4@L9L>nf#~z=y}!P^x{}>6 z$mtUoRliV?AKy24$!Lz=&!6&owp=eBa4bCFx(L;Fy%#w>!dR(1XKXy?O9_5?elAb{ zI*r6BLt_o1W34`wZQ5!}kbiJ}@#4Lwl&PwG{m;MtAm_rc8|07w>0ip%fAiIYj`Ive zpI`6&_0`q&nGI!Lafeg;Xgd%)N9~yIGt`}DIZoeyCel9MP5-DO2b~z8pYg&Wrk6c7 zd>?%Se=maEAM=qOZo1yt`j`*r@#CpZ~yvMe*OC|WOz=r`^12V$`>!L&TQxw2CL;w zKc)A4A1@u}1ni@VydIw(gq6o$x4#w^c>+xTL4wx%9_w=V^MlZP%|HMB_pw&+p6K)(Gy{~+J|kH3?D z|6l%tTz#Nj1fE~_dtL4K^5Srm(=R09?z2JUr_(&QCq`j5qA;wL+BITK?t?~aCp_mKLRy^0)V?XskkMZ=007eM9>qP@5RY&xb3%+SJsM{+!WtnfQ2 z0V|B7sP5^&SZXCK9Fj4z#}^Acg;Wuf@zLZS{CV?vRz3?4Qjc?y655+&doJ70;~1*s zHCnxMxdpEMYC^+FsIPVqtKUI;jWpL8qNh^xV$$3Yw9m(oSBoL9jYIK!^xK7+J(7Fc zqT2a;ZB^^L+CZTjy!&B#ixu$Uf$RMtTrTcmcd*e8i--)vPA>OHd3*PC_~ifn?YDCC z`rWxx(K8VJd0xjC7jn4R%gr+o{iI%ls(gNNAty{eXu~@AeJohV9()SnJV$CFSB3(J z=W5nTkUez}$n~J|!|6Vz^}c#bkC`jhd#oBiv-KQXHJrBa*6r_pwu@nT##D1qVe@k# z3hnZ%)@F(Q7(rJhvnQq#|+#SFpLeUqm0~M zknuzf3+C&!d0kbcR*tVMAVU4JoXHUi+<@L`@F`I*zU5X&@TQBahY+yYOp(1j1 zym&GoI*yRteT;%l&=|%cC71 zs%p}0Ede$=P>Uf5Y!P~GRBHQP43O8S`{;^3gfDn%4V1^e=7;d5z2~a)9Xf%~m%}7c z^C)u@_21ICE$WP#Hs*R3FYOsJ&F%&5p{}k?wvKuw04n~9;PLPVgnPr?$3&SU(&IaI z`A6u?Q|MeDaNdc}&B;C&14O$NLEg7s++*6n{I@SJUdW$c|M(v*j41%&*mQuh#lrII|!{fl_5C$~`bLK=#q9yCPWD zSvi)0MqD)KqpGSqo=gl*nRB=7r%RE^u4`8UhPyahdGB?BlGs)xhZAUn62~@ zks8y_6Xi5tKVf}!vdmzhtkVWRm9NygU(}Fm4ZTTy{IKBftLL7jpgT#itKMbr|G$d6e6?w=#~9VJFY8 zPXUM?FD4OtG+4`40$4`l^dN+KDa0m8kOV|!nUaHuyc{5ZIjzb0;)#b*mQs3u_;E3V z^?hq)MNL49QWzA3;R>D0 z`@nK_n2$gGdnt+l4B&|KgNWm)Z|&&(iCz3Zh=>SR4>mUPOP;_6({pb zg*P5mZpVyB>4k>6*>C*4C7Rxz_VvKN0nHKw@+sF^UBX5G%&h?&Y2PC^@57+ zk;E|vnNI;g+Mt0OGav9;VIp#$hD|Gtj{rUySNUFbu|LS&&Eo>m+jn>J?#(;-;`d*C zQ2Y1oyF2;QH~%PK{^2XRyncKoqYtyQl8PKIkD{tF-ks#!wfp(?F~4@Ia7XLl zJIKYb-owcj6&WhHyiP6gjU)vk%kNO|dFQ!OCRu>uky_}voKsQQA<#Op=iLzim+UyEvw4L`0d9m29}JcL^m_w*ENi3ABVJ5%HRdQLCe zG%xj36fXrI0FKR5Dq$4xs+;$YrYmOAye4i(lfqKOC$b_RV@tuuGvfYetA(ubb#(nW zVj9D8rPNZfV@Z7+7Zs6<{ZW3pdHbmQNV!2LgT47SWIyoa%P*t{Ddax;1`9i7V>Q_5C68s}{{*+ODRQN5C_ z;{p-6JRBcan*@*_zx%7a{NknTKcFb^+n?Ub4}bbWe)~6H%kGJ;>w^WN7grZ@d3`Cv z?l~;~DZF0n59c1mB#xV=FNuUuIP1ARzqdsHOx~gIw++<$!+Uae`Kda_CP|Acy!%S( zoXWZD()V{JG~c6Zx>+xB!}nX(`LX+fvedZ8IJP^+PFFc5oze_Z)2d{|q)(9`3=U;? zNGBPeW>77F*JSQH!b&S0xY&6`;#%sRyJgx4f*iYDGwF?yu3-g-TDhZM%p4+3)s`DoAzv_Ev6hZa=87{CFDWPv3ke*RQVS`q!U5*?IP?J4U_-l5l9p zbL8^@mE%AzUtY@Z|J6U0VK~d@*20dKo}Z7LTNZymyxxx`^VjY>-_LB|prxatU27rL zu%y;DyB`-OTq>n)=nx^yQVsn|uCI4}IGou~B)d}QWAp=L7bfqn_aMTX?;}+)mUq z6^nEOVd)07el;T1Vj!%A9GAm63_pmL;`AUWB%NzMfsEOf#Bzp|3O3&>Xc%DVFMgNB zi;*C?;&{RlS$5rY&X1LQ&&E5ux1?GdEQv3>E|*Xpj;CC?AiF=*oppi05Uc%-=ToP* zu^bCLIi*YjI)Ad$LH5I5ZpXU?A4miL#65WZ>&=gEuwfp zZrsJPsY9fmFo+{<|sdm-irreeZeQPdV;n;|(K4Z8(Gge(=X zg?o7Z@37ldZZ0;xj=3qC0yqTMux2BfR7AcRXOnFUd~F5^Op?o4{zo0fQ36ahc6Pi# z#t=z!!rC=6jHs$|Ipv4Oiqv|TN=+lix+4riX0!u8rF2o*2C*Jc1~D`|)T?w}Ob*v@ zW*2TdWI)jD|4|QnWuyQLRP7XU&~rZJP9e5_bCmP-z8gjEMC!##A~LARK_UC8D~pK8 zNknc&$VtRWpxig@A||xH7$8@J$pLNLGpj7m?y3KJVO;&3bn2fo!`L)**TEdynJoup?W0e;l)tV_^nIsqn zdG+Nh(cNI4f|ZTZ@=0mT_gx})S~>$OJ}?#m>gf8?s@%T4l^_4~qrCd+S8}*I2JB=1 zzo$MDDdy2BH1GI-tqh(z5K|1kG9#>^h@lW$K_YNiDjVhu;xYl8N2`&sfE7oyaSSDf zUxl)QsDLmImRH?EDDiwX#(oeHcA>?%TsB0Y>Ktz8k*Ysm#W7ugtMO3PcGy_2cT301 zK~#>zF7%h*CKN62zcI&SzAD%MVi5Vu-OnTU?4Q+M&sF5digL&x=P>uhZrYT_vrzx& z#0T~&a%plh?du>Sm(%axj^|@M=Ka6W^EHl;=hyS=Be4x1$7FqddR|xa>*{cnH@COv zJyJaZ;|eH?{aGCzgS`Cm^B5(Nr1*;+OR>o2<@Aif5n3UXM#%TyelN$XqrCj$Wxzfw zxKsz%V^p^-XofjQ6e0m^@ybnTACWf`+QmRjK&C*}%8`+UpS-)01!>B!01F=>y%;^r;k_%CCvK7GRHYo3Z%1>!Vi@VJHc5gbFCLD z@_Hn$mnq~?=Z&!HW)-c`ZSJ%6mxHQY4`&8c_1skmM$=N=IL$*h;4DXVsb`jR-k^4d z{TxT1_+vn=io8(BaVPS2RCza|@c7fb#)@RlahO2p=)Abp2P)T4k%#C!NLW+ia*t(7 zZ7G!a*~DZI&tFTckF09>Rr5TpjkfPInrmGG?!2u$V@*tm6tqm-l`RP|omZi0qHOBF zSsl+>cd1$z2S!g9*#u_I30c34OQ2kc-xJ7OsN8oohm&MfXg24WuJ8C1E=G{Mwd{blho1hwX+P??a$sc=rnE^ZTf3-4-y6Bbe|- zBlS-;@aXgW_Dus$ccYBsD8K&guU$i-Qeh&SXsd}Lc10cGwJ@UY!HHWxTP8#bW|s?7 zN>QITJe80RGCdqHM68SnEt9#M;asTmE)dwikg8xga2E;>#|u`<=G)~4IAf_1JSlSA z0vc=dio7GGsCZpuv51PQn~)V&{A$0S^7FvGnkBc&R2#`yrcOYrJELkD1Y7eXUEWmD zd)clUDK+#Auz<~@vbhfGHpG$aFlm0+SUlUqbgmIDcNya5B^=vcdcF{^K}p8Tfv~-v z3#ZNk)o^)q9tk4m*%?#4Ge~u$yDds5ZIB9hI7vBoy{k4poZpgna6N3jbpfO zb-U5DKGkZS&d+#E>;ypag{4HvMbic?clnVlu#q4=g~(WrE!eyb@ww4pK{ZBv6odZU z@ntpi{u+bEq!!VfCF`u{F+Z9OWS%Qyv@N3@U$2F#KGsM;E@BR;x@#09`M8>NYr
  • US)JBvv*&?$Q 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 LNkvXXu0mjfXK@D@ literal 0 HcmV?d00001 diff --git a/app/mobile/android/app/src/main/res/values/colors.xml b/app/mobile/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..5de64b88 --- /dev/null +++ b/app/mobile/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #8FBEA7 + diff --git a/app/mobile/src/access/admin/Admin.styled.js b/app/mobile/src/access/admin/Admin.styled.js index 6dcdc363..a8032a5c 100644 --- a/app/mobile/src/access/admin/Admin.styled.js +++ b/app/mobile/src/access/admin/Admin.styled.js @@ -71,6 +71,7 @@ export const styles = StyleSheet.create({ flex: 1, textAlign: 'center', padding: 8, + color: Colors.text, }, reset: { marginTop: 16, diff --git a/app/mobile/src/access/create/Create.styled.js b/app/mobile/src/access/create/Create.styled.js index a59c9689..69bc1c11 100644 --- a/app/mobile/src/access/create/Create.styled.js +++ b/app/mobile/src/access/create/Create.styled.js @@ -106,6 +106,7 @@ export const styles = StyleSheet.create({ flex: 1, textAlign: 'center', padding: 8, + color: Colors.text, }, create: { marginTop: 16, diff --git a/app/mobile/src/access/login/Login.styled.js b/app/mobile/src/access/login/Login.styled.js index 219b5f36..5db5e9d6 100644 --- a/app/mobile/src/access/login/Login.styled.js +++ b/app/mobile/src/access/login/Login.styled.js @@ -71,6 +71,7 @@ export const styles = StyleSheet.create({ flex: 1, textAlign: 'center', padding: 8, + color: Colors.text, }, login: { marginTop: 16, diff --git a/app/mobile/src/access/reset/Reset.styled.js b/app/mobile/src/access/reset/Reset.styled.js index e377fe23..c7303542 100644 --- a/app/mobile/src/access/reset/Reset.styled.js +++ b/app/mobile/src/access/reset/Reset.styled.js @@ -71,6 +71,7 @@ export const styles = StyleSheet.create({ flex: 1, textAlign: 'center', padding: 8, + color: Colors.text, }, reset: { marginTop: 16, diff --git a/app/mobile/src/context/useAccountContext.hook.js b/app/mobile/src/context/useAccountContext.hook.js index 027d98db..73529f48 100644 --- a/app/mobile/src/context/useAccountContext.hook.js +++ b/app/mobile/src/context/useAccountContext.hook.js @@ -27,7 +27,7 @@ export function useAccountContext() { syncing.current = true; try { const revision = curRevision.current; - const { server, token, guid } = access.current; + const { server, token, guid } = access.current || {}; const status = await getAccountStatus(server, token); await store.actions.setAccountStatus(guid, status); await store.actions.setAccountRevision(guid, revision); @@ -51,7 +51,7 @@ export function useAccountContext() { throw new Error('invalid account state'); } access.current = session; - const { guid, server, token } = session; + const { guid, server, token } = session || {}; const status = await store.actions.getAccountStatus(guid); const sealKey = await store.actions.getAccountSealKey(guid); const revision = await store.actions.getAccountRevision(guid); @@ -68,26 +68,26 @@ export function useAccountContext() { sync(); }, setNotifications: async (flag) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setAccountNotifications(server, token, flag); }, setSearchable: async (flag) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setAccountSearchable(server, token, flag); }, setAccountSeal: async (seal, key) => { - const { guid, server, token } = access.current; + const { guid, server, token } = access.current || {}; await setAccountSeal(server, token, seal); await store.actions.setAccountSealKey(guid, key); updateState({ sealKey: key }); }, unlockAccountSeal: async (key) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setAccountSealKey(guid, key); updateState({ sealKey: key }); }, setLogin: async (username, password) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setAccountLogin(server, token, username, password); }, resync: async () => { diff --git a/app/mobile/src/context/useAppContext.hook.js b/app/mobile/src/context/useAppContext.hook.js index f1a57bec..df827947 100644 --- a/app/mobile/src/context/useAppContext.hook.js +++ b/app/mobile/src/context/useAppContext.hook.js @@ -146,7 +146,7 @@ export function useAppContext() { if (!access.current) { throw new Error('invalid session state'); } - const { server, token } = access.current; + const { server, token } = access.current || {}; await removeProfile(server, token); await clearSession(); await store.actions.clearSession(); diff --git a/app/mobile/src/context/useCardContext.hook.js b/app/mobile/src/context/useCardContext.hook.js index 021bcc6f..2d995456 100644 --- a/app/mobile/src/context/useCardContext.hook.js +++ b/app/mobile/src/context/useCardContext.hook.js @@ -103,7 +103,7 @@ export function useCardContext() { syncing.current = true; try { - const { server, token, guid } = access.current; + const { server, token, guid } = access.current || {}; const entry = cards.current.get(cardId); if (entry?.card?.detail.status === 'connected') { const card = await getCard(server, token, cardId); @@ -129,7 +129,7 @@ export function useCardContext() { if (access.current && !syncing.current && setRevision.current !== curRevision.current) { syncing.current = true; try { - const { server, token, guid } = access.current; + const { server, token, guid } = access.current || {}; const revision = curRevision.current; const delta = await getCards(server, token, setRevision.current); for (let card of delta) { @@ -325,36 +325,36 @@ export function useCardContext() { sync(); }, addCard: async (message) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await addCard(server, token, message); }, removeCard: async (cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await removeCard(server, token, cardId); }, setCardConnecting: async (cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setCardConnecting(server, token, cardId); }, setCardConnected: async (cardId, cardToken, revision) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setCardConnected(server, token, cardId, cardToken, revision.viewRevision, revision.articleRevision, revision.channelRevision, revision.profileRevision); }, setCardConfirmed: async (cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setCardConfirmed(server, token, cardId); }, getCardOpenMessage: async (cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getCardOpenMessage(server, token, cardId); }, setCardOpenMessage: async (server, message) => { return await setCardOpenMessage(server, message); }, getCardCloseMessage: async (cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getCardCloseMessage(server, token, cardId); }, setCardCloseMessage: async (server, message) => { @@ -362,7 +362,7 @@ export function useCardContext() { }, getCardImageUrl: (cardId) => { const { profileRevision } = cards.current.get(cardId)?.card || {}; - const { server, token } = access.current; + const { server, token } = access.current || {}; return getCardImageUrl(server, token, cardId, profileRevision); }, removeChannel: async (cardId, channelId) => { @@ -419,52 +419,52 @@ export function useCardContext() { return await getContactChannelTopic(profile?.node, cardToken, channelId, topicId); }, setContactRevision: async (cardId, revision) => { - const { guid } = acccess.current + const { guid } = acccess.current || {}; await store.actions.setCardRequestStatus(guid, { revision }); updateState({ viewRevision: revision }); }, setChannelReadRevision: async (cardId, channelId, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemReadRevision(guid, cardId, channelId, revision); setCardChannelField(cardId, channelId, 'readRevision', revision); }, setChannelSyncRevision: async (cardId, channelId, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemSyncRevision(guid, cardId, channelId, revision); setCardChannelField(cardId, channelId, 'syncRevision', revision); }, setChannelTopicMarker: async (cardId, channelId, marker) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemTopicMarker(guid, cardId, channelId, marker); setCardChannelField(cardId, channelId, 'topicMarker', marker); }, setChannelMarkerAndSync: async (cardId, channelId, marker, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemMarkerAndSync(guid, cardId, channelId, marker, revision); setCardChannelField(cardId, channelId, 'topicMarker', marker, 'syncRevision', revision); }, setCardFlag: async (cardId) => { - const { guid } = acccess.current; + const { guid } = acccess.current || {}; await store.actions.setCardItemBlocked(guid, cardId); setCardField(cardId, 'blocked', true); }, clearCardFlag: async (cardId) => { - const { guid } = acccess.current; + const { guid } = acccess.current || {}; await store.actions.clearCardItemBlocked(guid, cardId); setCardField(cardId, 'blocked', false); }, setChannelFlag: async (cardId, channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemBlocked(guid, cardId, channelId); setCardChannelField(cardId, channelId, 'blocked', true); }, clearChannelFlag: async (cardId, channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemBlocked(guid, cardId, channelId); setCardChannelField(cardId, channelId, 'blocked', false); }, setTopicFlag: async (cardId, channelId, topicId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelTopicBlocked(guid, cardId, channelId, topicId, true); }, clearTopicFlag: async (cardId, channelId, topicId) => { @@ -490,33 +490,33 @@ export function useCardContext() { return await setContactChannelNotifications(profile?.node, token, channelId, notify); }, getTopicItems: async (cardId, channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.getCardChannelTopicItems(guid, cardId, channelId); }, setTopicItem: async (cardId, channelId, topicId, topic) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.setCardChannelTopicItem(guid, cardId, channelId, topicId, topic); }, clearTopicItem: async (cardId, channelId, topicId) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.clearCardChannelTopicItem(guid, cardId, channelId, topicId); }, clearTopicItems: async (cardId, channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.clearCardChannelTopicItems(guid, cardId, channelId); }, setUnsealedChannelSubject: async (cardId, channelId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemUnsealedDetail(guid, cardId, channelId, revision, unsealed); setCardChannelField(cardId, channelId, 'unsealedDetail', unsealed); }, setUnsealedChannelSummary: async (cardId, channelId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelItemUnsealedSummary(guid, cardId, channelId, revision, unsealed); setCardChannelField(cardId, channelId, 'unsealedSummary', unsealed); }, setUnsealedTopicSubject: async (cardId, channelId, topicId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setCardChannelTopicItemUnsealedDetail(guid, cardId, channelId, topicId, revision, unsealed); }, resync: async () => { diff --git a/app/mobile/src/context/useChannelContext.hook.js b/app/mobile/src/context/useChannelContext.hook.js index aa5b3e22..ce7496eb 100644 --- a/app/mobile/src/context/useChannelContext.hook.js +++ b/app/mobile/src/context/useChannelContext.hook.js @@ -142,27 +142,27 @@ export function useChannelContext() { sync(); }, addChannel: async (type, subject, cards) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await addChannel(server, token, type, subject, cards); }, removeChannel: async (channelId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await removeChannel(server, token, channelId); }, setChannelSubject: async (channelId, type, subject) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setChannelSubject(server, token, channelId, type, subject); }, setChannelCard: async (channelId, cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setChannelCard(server, token, channelId, cardId); }, clearChannelCard: async (channelId, cardId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await clearChannelCard(server, token, channelId, cardId); }, addTopic: async (channelId, type, message, files) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; if (files?.length > 0) { const topicId = await addChannelTopic(server, token, channelId, null, null, null); upload.actions.addTopic(server, token, channelId, topicId, files, async (assets) => { @@ -183,106 +183,106 @@ export function useChannelContext() { } }, removeTopic: async (channelId, topicId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await removeChannelTopic(server, token, channelId, topicId); }, setTopicSubject: async (channelId, topicId, type, subject) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setChannelTopicSubject(server, token, channelId, topicId, type, subject); }, getTopicAssetUrl: (channelId, topicId, assetId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return getChannelTopicAssetUrl(server, token, channelId, topicId, assetId); }, getTopics: async (channelId, revision, count, begin, end) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getChannelTopics(server, token, channelId, revision, count, begin, end); }, getTopic: async (channelId, topicId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getChannelTopic(server, token, channelId, topicId); }, resync: async () => { await sync(); }, getNotifications: async (channelId) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getChannelNotifications(server, token, channelId); }, setNotifications: async (channelId, notify) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await setChannelNotifications(server, token, channelId, notify); }, setReadRevision: async (channelId, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemReadRevision(guid, channelId, revision); setChannelField(channelId, 'readRevision', revision); }, setSyncRevision: async (channelId, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemSyncRevision(guid, channelId, revision); setChannelField(channelId, 'syncRevision', revision); }, setTopicMarker: async (channelId, marker) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemTopicMarker(guid, channelId, revision); setChannelField(channelId, 'topicMarker', marker); }, setMarkerAndSync: async (channelId, marker, revision) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemMarkerAndSync(guid, channelId, marker, revision); setChannelField(channelId, 'topicMarker', marker, 'syncRevision', revision); }, setChannelFlag: async (channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemBlocked(guid, channelId); setChannelField(channelId, 'blocked', true); }, clearChannelFlag: async (channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.clearChannelItemBlocked(guid, channelId); setChannelField(channelId, 'blocked', false); }, setTopicFlag: async (channelId, topicId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelTopicBlocked(guid, channelId, topicId, 1); }, clearTopicFlag: async (channelId, topicId) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelTopicBlocked(guid, channelId, topicId, 0); }, addChannelAlert: async (channelId) => { - const { server, guid } = access.current; + const { server, guid } = access.current || {}; return await addFlag(server, guid, channelId); }, addTopicAlert: async (channelId, topicId) => { - const { server, guid } = access.current; + const { server, guid } = access.current || {}; return await addFlag(server, guid, channelId, topicId); }, getTopicItems: async (channelId) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.getChannelTopicItems(guid, channelId); }, setTopicItem: async (channelId, topic) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.setChannelTopicItem(guid, channelId, topic); }, clearTopicItem: async (channelId, topicId) => { - const { guid } = access.current; + const { guid } = access.current || {}; return await store.actions.clearChannelTopicItem(guid, channelId, topicId); }, setUnsealedChannelSubject: async (channelId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemUnsealedDetail(guid, channelId, revision, unsealed); setChannelField(channelId, 'unsealedDetail', unsealed); }, setUnsealedChannelSummary: async (channelId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelItemUnsealedSummary(guid, channelId, revision, unsealed); setChannelField(channelId, 'unsealedSummary', unsealed); }, setUnsealedTopicSubject: async (channelId, topicId, revision, unsealed) => { - const { guid } = access.current; + const { guid } = access.current || {}; await store.actions.setChannelTopicItemUnsealedDetail(guid, channelId, topicId, revision, unsealed); }, }; diff --git a/app/mobile/src/context/useProfileContext.hook.js b/app/mobile/src/context/useProfileContext.hook.js index 8259e6ca..c59ba68a 100644 --- a/app/mobile/src/context/useProfileContext.hook.js +++ b/app/mobile/src/context/useProfileContext.hook.js @@ -29,7 +29,7 @@ export function useProfileContext() { try { const revision = curRevision.current; - const { server, token, guid } = access.current; + const { server, token, guid } = access.current || {}; const identity = await getProfile(server, token); const imageUrl = identity?.image ? getProfileImageUrl(server, token, revision) : null; await store.actions.setProfile(guid, identity); @@ -51,7 +51,7 @@ export function useProfileContext() { const actions = { setSession: async (session) => { - const { guid, server, token } = session; + const { guid, server, token } = session || {}; const identity = await store.actions.getProfile(guid); const revision = await store.actions.getProfileRevision(guid); const imageUrl = identity?.image ? getProfileImageUrl(server, token, revision) : null; @@ -68,15 +68,15 @@ export function useProfileContext() { sync(); }, setProfileData: async (name, location, description) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setProfileData(server, token, name, location, description); }, setProfileImage: async (image) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; await setProfileImage(server, token, image); }, getHandleStatus: async (name) => { - const { server, token } = access.current; + const { server, token } = access.current || {}; return await getHandle(server, token, name); }, }