From 3058ebe0183736c3fc40ceb4954910e6fcbecd42 Mon Sep 17 00:00:00 2001 From: Tetiana Churikova Date: Thu, 29 Jun 2023 14:05:13 +0200 Subject: [PATCH] e2e: small adjustments (#16439) --- .../critical/chats/test_1_1_public_chats.py | 12 +++++++----- .../critical/test_public_chat_browsing.py | 5 +++-- .../tests/medium/test_activity_center.py | 2 +- test/appium/views/chat_view.py | 4 +++- .../views/elements_templates/member3.png | Bin 8682 -> 8602 bytes 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/test/appium/tests/critical/chats/test_1_1_public_chats.py b/test/appium/tests/critical/chats/test_1_1_public_chats.py index bbe5e6bff0..e178d8022a 100644 --- a/test/appium/tests/critical/chats/test_1_1_public_chats.py +++ b/test/appium/tests/critical/chats/test_1_1_public_chats.py @@ -1071,7 +1071,7 @@ class TestOneToOneChatMultipleSharedDevicesNewUi(MultipleSharedDeviceTestCase): if not self.chat_2.chat_message_input.is_element_displayed(): self.home_2.get_chat(self.username_1).click() if self.chat_2.chat_element_by_text(message).member_photo.is_element_differs_from_template("member3.png", - diff=5): + diff=6): self.errors.append("Image of user in 1-1 chat is too different from template!") self.errors.verify_no_errors() @@ -1240,14 +1240,16 @@ class TestOneToOneChatMultipleSharedDevicesNewUi(MultipleSharedDeviceTestCase): home.click_system_back_button_until_element_is_shown() home.chats_tab.click() home.get_chat(self.username_2 if i == 0 else self.username_1).click() + + self.home_1.just_fyi('Device1 goes back online and checks that 1-1 chat will be fetched') + if not self.chat_1.chat_element_by_text(message_1).is_element_displayed(120): + self.errors.append("Message was not delivered after resending from offline") + + self.home_2.just_fyi('Device1 goes back online and checks that 1-1 chat will be fetched') try: chat_element.wait_for_status_to_be(expected_status='Delivered', timeout=120) except TimeoutException as e: self.errors.append('%s after back up online!' % e.msg) - - self.home_1.just_fyi('Device1 goes back online and checks that 1-1 chat will be fetched') - if not self.chat_1.chat_element_by_text(message_1).is_element_displayed(60): - self.errors.append("Message was not delivered after resending from offline") self.errors.verify_no_errors() @marks.testrail_id(702784) diff --git a/test/appium/tests/critical/test_public_chat_browsing.py b/test/appium/tests/critical/test_public_chat_browsing.py index da5316ebfc..99e032a288 100644 --- a/test/appium/tests/critical/test_public_chat_browsing.py +++ b/test/appium/tests/critical/test_public_chat_browsing.py @@ -773,10 +773,11 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase): self.chat_1.click_system_back_button_until_element_is_shown() self.home_2.just_fyi("Check that can send message in community after unblock") - self.home_1.jump_to_card_by_text('# %s' % self.channel_name) self.chat_2.send_message(message_unblocked) + self.home_1.jump_to_card_by_text('# %s' % self.channel_name) if not self.chat_1.chat_element_by_text(message_unblocked).is_element_displayed(120): - self.errors.append("Message was not received in public chat after user unblock!") + self.errors.append("%s was not received in public chat after user unblock!" % message_unblocked) + self.errors.verify_no_errors() self.home_1.just_fyi("Add blocked user to contacts again after removing(removed automatically when blocked)") chat_element = self.channel_1.chat_element_by_text(message_unblocked) diff --git a/test/appium/tests/medium/test_activity_center.py b/test/appium/tests/medium/test_activity_center.py index 22b39af1ea..9161c63cc0 100644 --- a/test/appium/tests/medium/test_activity_center.py +++ b/test/appium/tests/medium/test_activity_center.py @@ -317,7 +317,7 @@ class TestActivityMultipleDevicePR(MultipleSharedDeviceTestCase): self.home_2.just_fyi("Request access to community") self.home_2.jump_to_messages_home() self.chat_2 = self.home_2.get_chat(self.username_1).click() - self.chat_2.element_by_text_part('View').click() + self.chat_2.element_by_text_part('View').wait_and_click(sec=60) self.community_2.join_community() [home.jump_to_communities_home() for home in (self.home_1, self.home_2)] diff --git a/test/appium/views/chat_view.py b/test/appium/views/chat_view.py index 0f000e5265..2229ee34c7 100644 --- a/test/appium/views/chat_view.py +++ b/test/appium/views/chat_view.py @@ -393,8 +393,10 @@ class CommunityView(HomeView): self.community_description_text = Text(self.driver, accessibility_id="community-description-text") def join_community(self): + self.driver.info("Joining community") self.join_button.click() - self.checkbox_button.scroll_and_click() + self.checkbox_button.scroll_to_element() + self.checkbox_button.enable() self.join_community_button.scroll_and_click() def get_channel(self, channel_name: str): diff --git a/test/appium/views/elements_templates/member3.png b/test/appium/views/elements_templates/member3.png index 9a8a3865ce2cffdac20efbf42cb68e6082f6fb7d..cd5ba2cd818383a347f851337a735e209842e757 100644 GIT binary patch literal 8602 zcmV;LA!Xi)P)oS9KnM9qDlr~3JIb$8YK ze*3Mrs@_FdYc2l?bi;27h6bU(A4=Vj&4S}}K1)+*wV+ag*%=t0fG>USKZPyCFAIQ= zf8t%NT3w+XeVrs}ysRI%%?y7v0nu1KfeZiZQ(91?N;PDaTseYjm9DmZv7`F zCU!GEDtY|zCS#+P>1j*721(rcuIoWp3Htga%a_BtlVHsnL%sk(0GtE;fZ+zp+lH+A*z^C@y%Fw!Dq?8CO{b)vP!s65d|8eWLc<5U@c=ox&%*|FwCHMyN zT2R1}1-gK|fIxujI5gvwCQwDtL{LW%V$fKs2!a3xN8ndqdmZooAAiP*Rhtpw*y=UL zuy4;E)^FJG%LBk#%lp3ge$Icx1^7qTc;^GCOwDum-`&aMcRoyIdI1}@5p)bpCJ!TB zdDfM>8FGBO{D7eZiUu;)k|df)3L@WS+EdImn@mI@lg$dVjRyN$9SzYy$#oeT9N-Pt z|2qHuPyUpFfq@eYVXM{RuDkByh8u2p$p-Qz0bsG*c>4!9|5q~^vPn6dmM?NaP^OeM2D?o+r|@hw6)ly z=3WSa5Fk^Hlt7xIbc*M?NFk8Age1>bS9bH{+$?vDjxx8{KuLkMmed0`@Ojre{~Pam z$Gcd!X6@3yo~9|c-+nu9dCOaVegOXB_8Zyq#tW8&H^#8{u|3@Om!IJW4?c})#}p-O zC}ntUsl;$0$0nl)k{A(1cuFE%Nlc6p0wE<9=jaw_@T5TK1Q$(U5`;Af9a3y|lSy)X zY{2C^6XQJ4Zevo7D<#Xja~x^4Sd29)<8aj#S98<*ZsP2-HzQ@oHY7>H?YG~~4L98I z@&S17=l`6GufOC3wco#EAAj@q|Hb@sJPVv3Y{5;LwW3p$~pQvyfewnJ9Fq!}Md%0k`h?G{ftccfhcgz1#Qjk>9_C zYNd%J%XyyWbwk~p*S&yFb|ZzN5EXHRN5y2>?n-tV%>#=u-=NjVto8{vLE!+mkW z#N;f${u}>=TmS9joOAZs2qDPja_rr+hm+Q?f9V?VSNHxkn_qqQ5{eUh#`*Xk{0qCj z{S=JUU8u{P)ccC{NkJvPO^YnU^d#DNPv%Wz+T!9q6|wuUJ< z85)korGf9H^foooVw1qlvURq~wwXzu=+dl}uu^5%r`rU;>E%8)Inb!`?QcH7t+#%P8*jXcOeTYrlB-|)+LyKj?p(N=Tz7uy{mzGX za_`5#iir}=2DX$-Z0T8~w;tn%9)av-T3Wsn*7>K|BTU7bjPSYGaXGVC;{2fsL)k3F zdWa)yn6!qBLqcbkwr-MJbP>e?zMuH~S?dso63vEr!K(ftqFMvoHUkzeFZ!%%)d_@U zF>pXiwBypUA#R*-UJwus^z*%Dok!w?fBolwQjWOKuk-ORd%zk_<8%hBe3=S}?Qdatj6&qsfnn&5x#=%R+c$`fU$<=Zx<%0H)DpBQA^ zhxiuGShkFl2Ky-lF54%LuxMdfpT{Y^W%AnKDiFRPkttHxrKW^M9BtC36at@e5U{co z5J;%Z%<-i!evvdymu$gzAAImfHDJYtfymCI~0k~|Srm33SM0>JqCQPc}3B`}`D78o^pC zxuUzoue%PDrI_dEr`Q@oR=|0EK36Xa!o>>hOp9t@F$Q|I!LbghRAkZ!AyR}$h;;+U z&oYvDoLA~)W;W!pB<8V)A7=ml1Dt$v=Pa=CxYMEp`0c-Y2l;YwY3=WSW*?)wMo|Jb zO2x)PiLBOGG?BDy_Y{vU%ra**n;pgFy=7JK>sNv*?D*7NB12 z;hAQ{C!!-f9nGOg`OQq0%LaQ$x-_FYW!s^7l0>q}fs0fZj>;lTfJzG_Nr1IkjPY<& zmrU%SZGbj8v@VhaE_D;q6+>0kGZl{H4aP!{xMU)S zuE^z(6JsQV(r~ca;PLTE9`+1_uH=jrtGG%lv}2ifBKB8m?2p0sGMu@r#5$417>TPg zq&P^aa2yAv6poQdD`+_#=aR5M&>(5G$QwboRctKxlARc1u~y~bM;>C!gNdpIzkd8!FOq)ecw0v-AZHeTyl5!Xlg;D@z%g zwKm%x+s51OxQB--bpW2p1pMui4LEk$L)TNrc8=p(L0{IVH!o1MK^dAhV5-q%VquY0 z2+kPkrdvk@#^4G|>L*xZu{Orl23H7BsYOs0a7kYm=k}EeqKGt8qGI5g z$tp9|j+ZoUHrTqS##30*7x)4!0u6Xr90^iDO?Lzkcr5RU$gdivEn*BIo~s$|DYLga z&aR!iU~~fVouxk64m&pBJvY9WuBeEx0!KSko?L*sB&#KBizN!Og2y6ShSXFy2Wo;j ztLYYkb#5<%Ek#c(a7|3ZtB+MqPAF@^ zjLkBpUG}6YIFJnlT`p7{#i;916ELd;W1gZavou78Nddck*x3b(o@Cnb*+-GRi-L+R z(hdxu^q4w}FxB5Cf_YX(YFOr?(bgHXR(PQzpJXsnF;`H`c`k>l3w(N^!hEB}YTzvyIHxDW zhPXz9Huapub@FVAC9C}`RqG>tk4jEaNDUbS)u4$+l1PW%RtABf9Tb5kN~P4Y9uGEJ ze5O6iSY(*eDeG~;BzUgFpm6BMvX_L#ojYK~>SGA>4d9FnkD#nVrJZ%Kd-tBsI>XYN z%OS!Aq!3sm2(e6JQ4&gpEE!iKw80vIuo5X;60NCO%YnrTj~p1|V5(Ur1e=G7Y%X_G z5I`K`WgQx6gcd2TaTqKV7%KXtKshJL#0hSkQpi}06=C`JLH z5(WZEZ#Yk>wSck#D$TOsB!q#-cG+a>%p`lXX0?;yqGA`K zED4rc;E~k=6U7Y8B{Tw$&~fRC9i$dGT9QjdCrqR)1ue-&DQW7lUSwD%>r4ZOu~;0G zP)K7L4lRAs1rp@qJmz>|3tc#+Qt1Q$W@ctUK*2&LOz@N>HWnci^GQMjKtj<8$i@^%UGkz*N;rIZ!sd0aAwd$(%r>_GK5A0-*s_}hlvbI_(Z8Ck(SiexWa&I z$SO-)S|SVmp}`7)Rfd9yaS;q?Nxz#R&@o#0q$s*Yof+E9B{AA@afHO^lw6upR1TN~ z)oh#yK#;?6oD*-vQ5b=Oi~uJ}aI%Uxu^HsSYIq8wmrk5Td2_nr4&h$;0cTCx};in1~m#6vruYv z-p?0t(lo_&-D6sj2?(Q*&_e3Fq`C=0g0K|a4q{eVv}q$z?*R`xqM?qYi|DOWZWzD6G|#9fusyHZkq6g6Auig>CZIQYM4&I@^>KAyxoF zFzLAzV@0pE)TIlqL!A^CgY+aBogkD$qBW80qr4(>&4jxb+B{#YlLgl06&Lm|<4sXN z!Qm!(mC$x0ga?k+#7RU=r(}R0$LTB{AwWoKLeM-4fTkCAu7%N~Vf$JIIenbR1Yl%j zCBjN7z=W?zt-%TlHeo2$EC)gl4*D_s%YylgB=i)%RV1z?_9Tg?$QeOzXc?(Sc-k=9 z9pE@FS)u4oQj~0w_;uQH7Hb#CMpYuEnKB`_wddGgnIzF6mrBW-y9T&cmst_|^f#gD z`ONz{=JMSvsxs4Ij%unH09H$hwJ}y0P>OL6<}jeau%;7Ns}?%VPT`DCjC0y)r!4`n zVZ#QtZ{0?SV7}Gr#Nz1Ow*v$NLSVJzNG)Mkrh-nYNZ})dq3w2V6iS4YLPI9jEV!Ch zB3VczjR<6F@N7)hcac(&&1A8m#?NJmT#p~@JIIb^N~ob<3C>?T%*OIEf=Y|DSw(qH z$5_hF;VdzNO07YZYDz#kpT~q%gs@lv^)#lD9<>3S!ijVcXW#yPCv;tQ)ur6_soSWN zFd8*65(EaREZs@Ux=bFzZoVxS`TjyeOBx&-ArnnoL|7mdF$Hb$jb$PmlWAE>sU?*L zk))jNdR!OuurbQfuU!^B#p9mfuK6a9*HRAIfO9gI3s)7m*Z~#JV1k%^ec&pEpM+#I zsCvSbXPIrch)@h-81@5fIEO|ctYFe=DhM1LQqDg?R;hO5{MF5W#njZ)Qs=t0>re$j zt!;R=F;Bg?lDst(;})U2z}oJVbB|P*PTMrf&`1Bx90zVX~Qx%jLL zNmN3mu)wM3p3Z^C4?qMD*;#^tRg~KjWhFgQ@itv$z8%p_HNJ4jT1g?c#3CU|+8E{G zMFz*fbg{sbEy2!KOpImIYKN1$BuScQMisd^7CaRh#;oRYM{?P!RcsasI)#cVQ4TF_ zr-_txgau^;nU>E~zKf@86~0xC5WrboKEp+jVTdPO<~+&XMxC9FHgy4*OM$|106YR* z-EoO+-Tp8KN{1LP9>K}FoO;0~@`Wrmh3A_s=1fZBd0-`Jq6tL}K^xyDq|%Uxltd738T&W=!Y4UDBCiOHyr~2VD!1eOUg00Ziti4-Gr4s6Grn$WsV(=CbS-?9I+F0PF1>y zOiCoS#G>Ct!|@6IfLQp<f~jXG<7+U zl{{LXXP41v<%7HcA&&V0gnahcPVmCRpIr1uq;baqr5wep-g+5b10{q5)3uQCMxAzQ zvBE(Jg+w8&!qp0CC03};F;^S3wuC})cwvEqGgTZ3rwqMFzis>r^o?{PC)Qg2&ma98 zU-`$|$y?Y|4tP)304obcN{v~R4p8`H(}0$nvJk`sPD~VrI5N-oGa0_Tdk^=u6E=Gu zzq_oD2XZAIdj2`)fwi9HvJK0)q_{{nG4zC*Y*GXiiz=XyXaa5Vn+}Paq3PuLgj-|V z*eKg=%;|~XRs93J)6bwbuAuzxcT;}#b^NS!!fo)0dmiOA?|l7|Ex7J~Ud#8t@hFqK z#(2ISvMroNb(e8`7dN$dLX%CZq)Cj-3R+2on+=#xG&>e1cqUHJQji-QnrwlK zi)99{eIun0-3%`=E$)Zugy85c@BAo@qs9=RceuI>NZbQruoXg1Kd-YVkF85a#M=M}&AE=o6l_yplC9qlzg z)P8Ip@{47N+!Noo6eo;Y5udsFv)uj9chXZ&7*Q_&b;TfOl!}y0N})c5>pEBr_1ME? za(t=Y-}l}t)KZ8PdtIARUY zPK@)dYD$!LT;P{W$vMk<`4zv&;0;B;k8UrpXw?$=xM%#>Fv^ zu?{lZ&5>H2o%JRaAd!-Vc7!m7^%=ObyTqvj%ZTcAqI?fe%}mnv9b(g>l~$Olhb%Oj z%q2C(W0<#{ki{ycIIWcB)x|DGx=T1i1C&1Wp&#M<_r887-wNwL(mx*67^lW}zq^~a zuGzo`&ph`hYXHEfcHhd#$;Ty0J-LsMzUvkaJ++S!1Lt`zmn>VxiV;gLhH}%=wtam6 z@F+LOi_B|HpYQxJ z|NKv)7c}7~rprHa*H$jM{t~345K^#m<4Qh!?_cvbzjiZY&mZRSqG4-wf_5n)Q(D7Q zM<$rEZHxiOLRVgJNv_1H-F*a$4cdu=bR4?#IW`XVF{o2oomr-~I4!@rOM{lmiP`ey~tyASCjPQ zS@Z?9tWPsgG+YRsl+=wePKY4Hnl|Vb!lbwoe8(Ynb2Pke7V`Z}_$3~1Xzo5dL1xvu z6ZqRN^owx)(rDYv@v*#NV|c};-{G0vWBiGN9TtS?#OX_p;QU;c z)5>LD-Au_BB#v9hl?o|4{(7qo!diScIF{RQC25*=Y6vLPXgfR?*Em>TWTy#vMyDJ~ z^->Naz=pd%OKQ!FaQxHB5%OoN82S58{Rx|{yBOsviaYjm)*Elao2^m-J`Q{qn5Pp0 zap@Shd{(e#SvMnvK88>fU5}9jN(M3pOq>u&XgP`*PtwpSQzqtcy}{VR0!M0Xnm`Do z%A*;#|NjB-0)6KX-^AGuJV}1n7~;5}?*#5a@I5R$fhu4Xct#LdNeN39OIccqLJ|mx z5|U7BnrIdbw17nfO=(F4XarrEEb9k{dBsU5@u4q$5hs5vm+{K`?%-hS<<%vw&KF-^ z(bTIxdMEcw$*TbOxc*atQ?OhIJOOM29+&XEkW8mO`pM{cq9`}dp zfj+onJGUL!^)rq0!a?X4QaSn#YZ&5q(KDLGpzlrh-TPlva?4N)lk#NS!y6je#dOs&q2 z(NVS^IKYi}-T71J{L3BNx$VGiSju@jM&jt}Ti2Y-O)up#^oynsUVSAeuUf1W-4E$GQ5{OHD!oNX=z!; zXrV?PCh|lHf;bTrkeMrkfFSdo&pq?$x%)Tmz26^w5U*YZG0Cd>RabZK-|x59cdxzI zUXyUnIsOai?N`)TyKaSvai~@yUjWY={Fi0W?Z8SM78YRd9=P#_{}Q$k|5*SC`7v-O zGh7?yA3l0ImCE7)$2kW=9QYaCHtgB~&pit_eC0m}kpB<>taZRZ3Z?D`4hO0L6pKsz z&hP#qBee%vS(;;I#ZqrVKLTS004NRl91N9VxCRpwFggK+;w#{^+pupheDM9|73PKf zby@%Q0dNkKx(4Si21Wr7aKJL~J#ySkP`Df8waC&0lR2`?;_TpF7zimOXsuA5!1ENo zC)lta-gsQfF>f?ftAnvw2CXJM{4iYmdCSYdzh3&a0T80WV73j=0$u|7S#URjt5Xz^ z2|+A0&b~Z*c7V~(lGK1e2!*o(oB$m8g5$X3GT!_fhUqnqTppx^RttXrJ-?m;zit4; znj2yE60jPW1HO;uMg-p@r3c!Aau9+}1VLYuk>Y?vFqk;W00=wy)Mx|(g@+>s3^8hT zutF=xkw;rjJSF3ZBVcG~u#BF33_kLa*9XMw0ziE70{HNCurvbVn_$0)5D((H6$BQ@ zkisDZ7zKfaq7jsEF`nyl60`Zibx~^gCQ2+ zl_bZ%$>W_@##Aa0M{wW$@YzqB*StZ#CIB1``5g)8F;LmZ1me#m+y~kj6at6CUsdTf zQnFQP-cT%aN?4 zR{Db_^*9E}z-GbTESNE-3L4Cl({>UJu zKs$qWf&j-PFjWmWd1REW(NLI zP8)<2?Aar@?hB6L>Nw}U`6Mp6* z1Yzp%EF2FUT`F+u)HoY;hR6~^7vuR7ttCks(RBs7-V}3Ww9|yW%278d9g`7if!B{% z7X-Y)3&;z>NSv^@nSbgu*g0ot0mm9xr>neU-DaL??&U}IdG520L_p68G90y9 ziNF8*zvK6Q?~ifLaou&-an)5EZxxXL>%(Oo;ki` zV96R%4VU>aJz8S2G{mXBX-YarM>{+^1Uh4+yGYzm3B5e`r;d9T_V9^{VN(+}h#YsA zJ|hm!93ACPhejB}GMdaHr6WlrmdaDK{2Whq6RzF6%=S)`h5)C)A-L*2S8>fX*N|ly zzVE;K5~$Y&l?r_Q>ylf(t`ROlS`avn15T<{Icd1TNIM~jd_pdpp^g8V+3+Y#5s& zZgs%xGw$G=a=?aOn@~6!p#~{2+N0+pyd>qsFeDxyj{fjuKYw1)Y)YgMC`E}+qb}S+fepG&Zty*+d-Q+f75!#{UK~8BeRmeYtt8PqI?foPy~fMGb1D16ZiPi z;!c+95j83JjZ&Glg%WdVkE(;sl_G1x5bXrg3WN(tGYzUpPUi`XB#2WEuMKhh&@iLk zzzxAdv(@7BU$~ap*@5t%{KrrIVgN3uP@J!U>(@S%##3@65j{jX7W4$lfpm)(%f@Wx#TG@#9C7F$Bdoh86p}Zq720( z#i@i;^cllLcO%XitFW)#=h>cNiHv4_g|FUt3m05?9%Ex;2iAal?h$w%Jo_ws@4Eu9 zI1F0AcsXFYSfuD{q|NZ8Pa`orx_g0zZc6CqIC^>=>q{Xc%A%z~NQ;vKfxsjg$~uA| zhZ71R^UO6P?%lJ8dOsp?aMZ*E2TzVs3O%;X?4#jeV$|obks3u~@f3(akjjCl`SPWN zL#$rXWt75zS{Smv8WKuY9c=i{cW&eP=U*fU0`9!?&Y#zS!&lAZKYa%JnZd{6~ZG%?af)zZYoM$(?x0kZMN|2ZX6l6r=>s5SobD%p*|+ z9_{A%>hc_qTEQkKdGk<}D?H6?HQ|}%Iqr`jFW|({fb$!IsIfvn*P|Iatc4L{(N2>| zMJ|gGB14Fj#B|U>o;9h@iPaGn79-l$5MhbZKA-*U=Xukcj$`ZAt@~@h-~GL$RvT=7 z-~J|8WpTox1RO3EhnK44jlp4vrDL0~_(6S#rSdb|<-+VI*3k!^nj`G0| ze()6lPCCgUB>eloL%RtmhZCR`99k$cqI|T;5IFD@Ps9;B`aSxm;7!@PjvU?!+Y18X_I@(#jGqB@lQyj-Hri zv&dtu#8WvGIi$>?bpfS90uhkIN9r6>=aH%ep-(Ct1uGbGioqFD*9scxRS91~$clcjY8+^$oSo94lFgd2)PzvBgfn z^EIrp$s(hnX0(wpDjY%=SYOT2 zZS_Hd!gAX;zsWn#zl_7H8(slmXb2h&c>HNeDnO(H&sj$E0V73$q7TZ_bs=+|E;IE8 z8xS0|W{4pZ6IzQW99fX!ti!nk&saPm*ym|>wIl9c?9+;&Cg6^174)e z3k|`FE7K1xiE9x0U8V{}3QnLhjYZSxMC^I;C9>rne>!v_`sEGr#TOv%Td)FyrG#aD zSVTp2gp(L+SqU`TJ6$|9WeK^0Pv7J)M&U<_Vw%HB#ZpPJl8r&0rVEgP&q_g2$}Bkx&9I9>l1j};FNZ+T56eIor7~K1 zpSwFf{-wXjp4c*HGPdA>P4PX=q|glEc!3lU^wTbnFFengY@ycB=uHO=0NAq!l4Rf) zIUFI5kwO6x)saHrtRTWMi$h7Mmh$90i7*yt1;RuufovqGoeQpdAR5O9-^4 zLxJZqi|Djj0h;{?;VB#`QV2>~58mkplBF2-*#-bpRMC@@0|4fiAWaRpK|Z49U@A6f zAqPJQj~T7l4G5Jo9!f@{Wvab8%7v&bPhF=(q0cti<^F|Po;QY#I>%|{3YX^#j7SfY z#o>hdILCQQSj#lWCHv$_cOf98!LZ3)`R1%Fe0&OIPR1D6y%26_se4LSGK3hbN z3E5^I*oDKPQ9>cDV>)t-N)JfU1_XwN=z)U~is+%C0RYYRzz@I;jAO|`E=uv0B(V-5 z6w7H!XVrL?bx1yu7&MXZ(aw3ydLDZ^O}@Qvo);T2v4o?;VbY-rcgqMm9RkloTOS)+ zln973M=BkeX9o7#v*eYdFCDRivB=_tz$r^fBzOqMjbzNr5t;-e0x}dsqRj$*meK^H zJ+zQmlTpYr%1VPxSC74xj*P)TnH>7%6m^<0$j|@?$O+JKiq0#NbdbVrB?&15g$R{L zXeCnnq@G9JSL|^qckbNFug`C8>DF+Gz?wh%t)Hgg9X-NS~BG?JUDu5K7{VB`}tpQs7?6BBq$t_h>X6 z1oVJD(Bx%0P^44{fdmRBAWTNU=2#x{*(V)OiH!T6e2I>AtP_H^g;>H2ki$}PgW#oe z4(SB>fg%k~YR=&!$ejBLlU*U`TEh>V#rcp0a9Uq*^kLH+nM#VLP10GWGX#5}l@hf$w+l^tTZ5`?%FSUF0AOJTlWAq;7?y zV(UK&~utKv#=Xhqh$qS7|{0v4aink1pa&&Q=aA5&q6Ok@vrGn8m=L>-8Mtx7ZskK}M!2g>QKj^~7~z99h9r$?nT#ATto2~=tmfQX zLeO26$pT10R><-6+5j4L^uB#7jE`5D7%k&@0mh^VYgxfE6DYEdMF|HsWhyhQ1s?HX zN09JRP2k0nID^0`x}F3fP(o3OExFX8Oibh}b`OP&#u8shbP~}IA`&l!s7cQG0Nt3yk$}2yF$F<4sxcqcX=YtEVc94p&Lucu zK`HiXSi*uC>@^4txzb=gw3_JcJLWj%n1fieW(42&h@uREAVRR*>kV>o4E*g7!MG4O zBiYwVc{aC#Nt;L!AcUpwIUJxwL^ZPH5<}fH^ioMZm2_f|nZ#+2aXP177+n;=~2k#(CWUk^4*IXIl9RqYu>a{lQ69WyY5XKMy zqnuMb`Ne-5c!SH!ZH9-79CO4v z=6250RS;X4jbavsBVWqlB@y|c&zg$IZ{`l;*uA7eAP74hTIDj2?Agn|cO#Zk%X9(GE$2C*yLLjulNXKJ)ce8?{SS+(?tV5W#@nnIFkR-9pEze*iIL|=>#~*(XrBJc3 z&|qwA)g6BP@g1CV&XJsZ*@@ivjfV$GJAfGOb&G`K8>saq%1MT$;=h|F%l(*cW(b5P z?s^8#M=4BxzP;L6x~W5&ST=>~V&3wB+m! z8#q>^m<(1_m0INJ>n>8Z5e}3U0O5uy7Zd=_gR=be8nrAi*<1k!=a;F)fZC7Y4@J~&C1 z8Y0m`&?j&ynY5%LBb6z}^|17?qKB~&o+nsv8BfmcX13R4qlDvXV+1Z_-f14FH+lN` z?IhhkZzz;FYifk8r4l8pu+}41dHNbsWspRKSxR6Gi4NHtCp@@!iPXTP=W|lNh@Ux> zg&0RuSe{y1qy=OSgp~{rl{x>sqp{Yq?SW@ub(!+P_g~NQQj774A>Mk~iTFqqf;53= ztl`I<25nCvq=x|d{t8-jDVT^z86uUE=om{A&+lV(3si(q8Ba$Yo{BOW(s4#nbG$7O zrgTrF#Mb`>8suEXLCONlMX5(_5O2;5onYJFH8A9Zxc(f@cF@-dvtqa^Y-{k%z zLr6HH?DHE23bCQ+g+x-YGwtz+N$CoRk!b62`Q;~58!5A}(ByCa_A9Rd0PxJSdja^P z_r3*R`#3b2)67`I11n2Bt__j%K@~`Jh@}Xoj7+Pfu1X`Q(9r==5R!<1g<_RQtm3w& zWxIh5c{pxl6NPA)+nPQ%F3$0g?Q@Ju`K@uEcd*2mX)xkvB!sxk5ZDCaAjmY8ZjOdm zVNX!vbAE^K^_uLnj&r2q+;WMHv?~}lFL|iF%(K>Dlmw{=f*e=<{@MG<3O^MV zKmGK-CP{8$^Oi}@Irk`T{q|$H)pNsqD`Ib_&0$*Mc^VU^6aB-2vUQ8$j$BtE*Dwm+!Mjvz-g|pA$xKmE!)PoMDIyy*#EG#TAKev}H zhj=8(9A};R{+|b6FtEYo_BaWZ#3@B;Nlmncoy?cmmClfx?Gtk0FHc2bnlD16pO z0X;9H9wvl3M;t}uWRYi3+}UZdfZ$l|b8)}SHw%V)>-$&+Hfh1xYlk_i+(4%-mWzgb zS_Tx2utzCvQ%f8{SCe{0>bl66T#EzpGv^|V7*b87=X@tJnSgY%2*)gGO|qvt!~z<_I# zrFEq2(M!9?yvMRKJYJvS$t1-{L1A)|Ct}N8FTKDrmZN;h?^FYR)4`^WVyY8T=+?-0 z3gr5E@Dh4Dr5ieSPgdDhfX_AeaQjO;*wsxqGL>AMFLPnJ#^gKS$(CF1`h~*38tn(b zAN|SaSYB!~IXT4dUv(Bk)jR^oBs45M(d+TV%syfzNi_6a47QK&8H7lQvk2)cR+2u? zEj3s$j(jno;W8dtTwped@$!;4Z=B+kN`)A zt0c!yjBrtqXY%q(sJ`!y_ZJ-a!K07x)u*1|Q4=v2Xrz>!Ffqj2Hca#8wZ~D^-hTHS zutMbKum2Tqd+VE6S?+Mjr61w`2cHG)C}obEb(|3doHsGbAwyM)={(v(&IvMAV{fa? zr`t^)Xtb$INdXYnGLnP$4h?a{)HD0FB8m}huKIr!G^{@l#})ph^O*MeVO_W1FW&*Gx>n}0a~0M9-584fvQ znr+)&;CHV249`BZ7lcDO%Nh$O`W|OYOt5Z^qmV$Y>*%{t9^18>tCI%H#t?fRGO-*Q zO5Q$Q;WDp4;9x}y?&x;8XMTlUN|BJ!#n5$NQYa;mi9rFyan%wh70bLiQ>-@~j7!K} z^H0>yyKFyxf9u*$^GNRJOJEK}f3Wpv{`AP>e>ngE-R@TiL!X;(eu($I@1L2ST|o#z zs3a;gj8`S^8l7Tmb(#$=pQk;KZ$14WUkm%#)e4QvGdO*u#5tuJQ9e%uJkVU>-hK1z z$Q(^rEr5g(U2*N%bM^@D@DKj z<$L+<-#(j5FFT2up5_1i#s8(duuPH-0-U=VmiwDC^s6zs>OuT)-wboEkF}s3REmN# z3RR968YOIW=%*T~HABS$hfj_&X)=1grl5T)e!!H{l){iP?NK!g^aD6bdz>;o&IdXLJTC^ZNXh_!*m1z{hdYZ9+O#~-3z9AhS^@^Hs+%dQ!68#eF9-=ijaUBUz0 zy#4vt-Y-zS;a_RJ{Ysn=@Ys{^7k>^9-3KBWL>mnV3&KHF3r;TNc|)zndEJa+Nus?r zo>WLVh}Sz~5zY~K;c5hzfw!4ugB}8Ebo!bfCoOig8$4wro-`RdGlP_`%-f;Ye-aeD$B6jSm*CP%p-_O875Kmhkzc+Z(P$3p{uvY_yu7JtpqLjNG%>`Q(kN3X z%AU`f6si_-7HpCdOXz9Ef-mWqj5(XItKDHwz0ST?pDqJ;zKebFa<({Vbh2G5zZO0tce> zkVEiqxrOY43vd@*gggE?vODh}yYVLC+rNwMB^a^+1Re+@QE9;5L1GPL2GR~L804&8 zZk_@p8mqE_DKQL+rL6>C^3?o~_XFU#4I$r{dwrYWB?oPJ^-b^>QF6&8Sl@?w9VRB> ziYwvTYvG5tll|opxFHV+APFGTfMHOgU5W^4%))m)9Wexj63}Q0cprAYH8+M{r~^~07*qo IM6N<$g07(}%>V!Z