From a11d71fda04727231da29ddb62700f975852ada2 Mon Sep 17 00:00:00 2001 From: toranova Date: Tue, 22 Mar 2022 01:02:41 +0800 Subject: [PATCH] release 0.1.0 --- .gitignore | 1 + .travis.yml | 12 +- examples/run.sh => dev_run.sh | 4 +- doomer.jpg | Bin 0 -> 104910 bytes examples/auth_withrole_test.py | 15 ++ examples/doomer.jpg | Bin 0 -> 104910 bytes examples/starter_1/__init__.py | 2 + examples/starter_1/models.py | 14 +- examples/starter_1/templates/users/del.html | 1 + examples/starter_1_test.py | 220 ++++++++++++++++++++ flask_arch/blocks.py | 13 +- flask_arch/cms/blocks.py | 4 +- flask_arch/cms/files.py | 3 +- flask_arch/user/base.py | 3 +- requirements.txt | 22 +- setup.py | 2 +- runtest.sh => test_run.sh | 0 wojak.jpg | Bin 0 -> 45178 bytes 18 files changed, 279 insertions(+), 37 deletions(-) rename examples/run.sh => dev_run.sh (87%) create mode 100644 doomer.jpg create mode 100644 examples/doomer.jpg create mode 100644 examples/starter_1_test.py rename runtest.sh => test_run.sh (100%) create mode 100644 wojak.jpg diff --git a/.gitignore b/.gitignore index 327bee3..64a862c 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ oldref/* examples/*.db examples/uploads/* *.db +uploads/* diff --git a/.travis.yml b/.travis.yml index 7035e24..b8c03b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,11 @@ language: python +dist: bionic python: - - "3.8" - - "3.8-dev" # 3.8 development branch + - "3.7-dev" + - "3.8-dev" - "3.9" - - "3.9-dev" # 3.9 development branch - - "3.10" - - "3.10-dev" # 3.10 + - "3.9-dev" + - "3.10" # 3.10 #- "nightly" # nightly build # command to install dependencies install: @@ -15,4 +15,4 @@ install: - pip install -e . # command to run tests script: - - bash runtest.sh + - bash test_run.sh diff --git a/examples/run.sh b/dev_run.sh similarity index 87% rename from examples/run.sh rename to dev_run.sh index b01227b..50be992 100755 --- a/examples/run.sh +++ b/dev_run.sh @@ -1,6 +1,8 @@ #!/bin/sh -. ../bin/activate +. bin/activate + +cd examples #export FLASK_APP=auth_basic #export FLASK_APP=auth_database diff --git a/doomer.jpg b/doomer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1008d262343bc44c29b075b259fdfe7efdb2bd2b GIT binary patch literal 104910 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�@LU$NPe- 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 ^7LQPG5|S8HBnjbK&{Varf&enu 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�n^{%wI@1)$;E0&hoP*4^oh@UsECT@WN zg~q^DqMfm#s~`%UBSPR6x6vJqA`FPdl_Dp{R!OuK(uTNeBlhBv7PH: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 VTqMd#vaNP)mx=y=wqw28`xj268qELz literal 0 HcmV?d00001 diff --git a/examples/auth_withrole_test.py b/examples/auth_withrole_test.py index c9c66c9..4d185c5 100644 --- a/examples/auth_withrole_test.py +++ b/examples/auth_withrole_test.py @@ -29,6 +29,7 @@ def test_admin_feature(client): assert resp.status_code == 200 assert b'welcome jason, your role is admin' in resp.data + resp = client.post('/user/add', data={'username': 'newuser', 'password':'newpass', 'password_confirm': 'newpass', 'role': 'no role'}, follow_redirects=True) assert len(resp.history) == 1 assert resp.status_code == 200 @@ -38,6 +39,13 @@ def test_admin_feature(client): assert b'newuser (no role)' in resp.data assert b'green">useradd successful' in resp.data + resp = client.get('/user/mod') + assert resp.status_code == 400 + + resp = client.get('/user/mod?id=newuser') + assert resp.status_code == 200 + assert b'no role' in resp.data + resp = client.post('/user/mod?id=newuser', data={'role': 'admin'}, follow_redirects=True) assert len(resp.history) == 1 assert resp.status_code == 200 @@ -47,6 +55,13 @@ def test_admin_feature(client): assert b'newuser (admin)' in resp.data assert b'green">usermod successful' in resp.data + resp = client.get('/user/del') + assert resp.status_code == 400 + + resp = client.get('/user/del?id=newuser') + assert resp.status_code == 200 + assert b'remove user newuser?' in resp.data + resp = client.post('/user/del?id=newuser', follow_redirects=True) assert len(resp.history) == 1 assert resp.status_code == 200 diff --git a/examples/doomer.jpg b/examples/doomer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1008d262343bc44c29b075b259fdfe7efdb2bd2b GIT binary patch literal 104910 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�@LU$NPe- zBrNyDrov44#M5^Ec+S#2HuD=Nuz(cQ69rWo5YjF=0}Inv$6S;7HMcQzUK^O zN#H-kc_QudKFufo%dA9)AplA!><&p|qe_I&yH6H0yLKE-on0}siuD}%L9qY6xD}e=?l}bB>d+~HU=d|b zY6+tM%sl{H?Txsu^p#+asf$IEx#7pl)<-OBHLHb|NwJfy1bd~mIXgns()iz6kF&ol z(%}zq=Gf{jMR!B*HP>ExYSgf5Ad8ZzK(~qX{2~4Uvn%j4UWH=2`F;MWPjSCm=(f5( zkGNhE+A=!dH~*${0f+4>Dx^QK{IX~B*fgDax;-jYOlno;49AiY5ovm%` zEFsR7SMYw=5b7@I9|gfx10CgDOdcWbXd4^(19(6Yt?6AL4&4g|C6=$O9Xa#uJimuw z^PAZ2$||l54|+Nn*?ZXR)PgsNAomSTj!2#GDt=oshf6urU(Uc$axjda8du)dUwGg$ z1vbFV$ODb?!r#0?7yP4kZeJ~2E;PuN1is&3i1kW_jXr(J{&GjsB45IOD>@d_#Z>zQ zxmrj~wXZuf-tk^>Lob*eV%vHa_!$#trTyD;Vn_0+S&xo=DUx-5o>R@}+NQR0{}sos z6ExOIr=h`Q)|Co*e#SMV>urK$SFIwMg_mgnqEGtAOj^No!{*R>4U zKPwKG!y4^;hZ>8JtE?z<`GQ>9SBMULXo*Cv=XZLr(I zM(AXBn_hFZNpUN(BI|VYG4h8XS*{k^R-S}^Rr(kVtA0~4-l;{esbZ?nmq?jzoLc9p z_oK-1OEmktLTVa)vogcNf=I4z+}q8cRV2Kw@%->?lvdnZ=RbVz&PwRh5i_Erwg9cGQC0WqmdyXC^jNlT=+Q?N{@Qw283e`g%di_Ei9#faYbUZu_1(wo$+7cuas|25=oo+Y)TwXA7AXE6Dy~XcO z-XG@q3E>4q;yKXIooySC4;h=)E*yY2V*INyO77A9jNuFR91Ed>9JSi9^mYwxoI-Lx z0z`z{a=kcGX0WOq!YF=DuUElF@^JAO2W_eMg`_w`V%}g9=^{(%;)_>r*@O`IO#&ow z9w2+s`>}#j)ed7zC~J5!7h6{)Xo%d>ha79KKgbO!fQTANs1r4zz^rpy;BkAP?TLrN zPFdFisrtajxyntNa?S<^}Usa#vqNRiBblYLC1CsgR|DQ#ZTuvsU9fin=@ zJin{T5bj>0%w1VMG9U593^)1Jnu1A=>Sk$XU!y=yYnl<-%m(>N$UB&^ngE<0b*mJ!h`xUVKknv&!d>bsGf?4(^5!Pw4_ zU|32xZll^<*Q%suAaclp9NyS2<)24cKRcDEb%sP!SGsBme3Ae4GK2Lf0bG?r_I%#` z>~5;_yvK>EH12DryfLTE>1DlnVeSOR6P+$`&suV15t6Q1cR0g5XUI)t_54;!daRXA z+!jh1Pbv6Z^u|<5QnEghN-v{57svQ2bw6xp7@C2^!XeE{m^fdFP~-%O&r82uyzmNe zy`{;9Uo|8}sf?+`dQoVMxDFtHpaQ!O>R^-(Dfr7u2}mW=3&5@%YC7H)E$W+9H`d5a zh#f{hh_5W74~tyv1>~s_t(Q$(@Eq(!y8w{g%Wz#0m7PFqbwEe8?#v^SeDf@>kF!1l z5SDslq{n(?bz~YACl}nYS#%>mH(A(zqc7+()_vZzz#-2^^>&GN5(NgSrc|d4l;%uw zNhb5_o!mSq-v-Q=n_GF3WJQZ@L^#Jj>`ENffC*bUH93OR~D7NM*>V z=~T_5n`DM#dNH#?SrK@e&YeWe6Gc}Hu8H~m^zG*ZyAK(t?CYa{!oZ;E^G`RXE8Ut) z+$+NOO#FPeS9@q{?|pr4h=qjg^lPiCUF@q;b+)zL>u>Q5YRgf%NZmwh$6zAi z47;&>T*y|lFKWg^wW36LLL4vD1{ikiD)}wYP8|=PRK{K_H>}$ts+-Y`yCMX8pV$Sf zHAuU?2Nr}ttw{9`p3CQ0axn?`0IIS!%}8DEqG%zZUqU4E!+2tKUD~~lA%*3l&`3lCfXn7;UIlP>NdFQ z)8s9b`M$Qx-!4DO+t9slT~!{VYyf+^8L)mAy>-4d5TW>~-)@z;?wh+auQ!x0^>lnv zRWi7x(}L}7LQAY0{+zC#rIe^;m!-RmN4bUq;n}AaKgd2mla%_Hw`JPI*@8^I~i#@ z>mzDv-izLNdGUfvkt;lBW>0W_cMqBKuD_^}5I5CS`{(z`tj#_mh6Gg*K;M7(SnS!1 zW*Af}8~*e;z`JKyfaie*-Ms9I+Jwjrr7@E;dX5uPWi$T4v`k~`H1`_&SAL828U6hv zkO4LW2xEO^yyqTz{Iw^RF|aW4U2luzpamwHvdWND*i9O`FSd zEVqdoIs|1%PNaWjcG^fulUhUT;1PX42*YE1!`Xu}L?5m0V~&A2qxFg4d*P92k&JD^ z0$z-mCq&M%dpX~SXpe1ob3(ba^gdnXeml5!403)Y7lWh|fm;-%dha57LOoA)4tpqqL%+dH{7U84fWrdxrI$H8JUOlenyo?*&#|50 z%+T|C+-A{;yS?raTW_bdAUaiY#f}MKA2D~V&?cODjp29gZ`8G_@RJ{LIb8T5y2GLB zNyJ%!E%&fPbp9j$v zRG+GJoC0;)y&_Wci3VrP78SD_u9@b_>i&IvU!l%T+j+zEk9`MyxV~z8nB(yU+n^$- zqE~>Pz<|K>veKieK!;~###YA5N%3=S?TsYS3~;S|e(d7Sh~uR20`@-mr^F&6d88?w zlR|n=Yo>>!t3~O8mSUfqq*i&4a>MEOwxRxuJ^gN~WDDa3&RCA#(O9gM`_fA~A-wCN z1O0`mlR4e50;P!Ur)+x1*#}aA{igOhl;9$dqFt+AwB8=&h0!ZXH@);y+#`gRx zpql47=LK3tV5ssHVCeKHS)56l>>GU-A!oiG!K4@2^qHsBfd@Q!0_x`ZER8;(-OFQM zZ=&AE`}NaMpA*YY=OM1Uio1{;r{>%c5qB7tqoe|y=?!;$6V{X>2;(anB0u&#S=b76 z%}Td(2qEjoxvW*OWcR$zU)`BT`nzZY>y0-4vZu_i08Xu>?V=GP8YkTwf(W2@O^y8c z}&v(mm!zx)!fQ3px{5Q{tT~`jJ{0WC2vqUP}CPuC{Ssi=)Ol>CG=7P0*0EI@M z29~8HN+sO(qmg5Jp1kB&RMup*Q)jE-IER28+YwDyeFgMrKYOq4RqK{+XQpM{v`<zfGMgJ2|I(F*DP*qX#*P z^@Y{o{3wl|$3vN#=t9LD{4E_eTJ|WTuB5s?Nr*sOq@VD#$$CCvZeu$~5XF{MOsY+^ z6^Q7p0ZRenbXy!_Rd~p*1vLN8tYVUVl&9^mjGK~)Y=xS&=3sy0a%>e+x>E07z4&W8I9XuyJ^K{)dLk&0i8kaa`b|_P?O*~3eqr5lK7qX7n$wvF%%oEcU#rsXVA}| z<8GW4SI(GbC&y>yd2h9I(~Sr}ZP2rW?tAvp>yXR)m?Y{$xK#&&c29WgPY`j7+Gcbi zO^bp+lj7TvKln~;bBKsOD;Pm`bpLGKrIkIn+}u8paj!^a3o}WVbwt7?guJzV2|m-k ztIl&67&o51Fg}BDXBt+jb@Umw47EZ863P`i{mB3>56}w>%W-6CT}oZEiC-}Z>WsI$ zuzFg2@eNvY3q}fP@|GFdp}T#X=|V(z3g6)Z-s~jm@T74O!83dt=FNN5{W`=syMA5Y z7;LNawE7$k@(q6L+0N6XBA00idJh^d*EQ#r_Sb%}LGAm=UhyVTz=y z{8xO1D`OD%m;{&JPn!WN6SpM}f;H$u1El)ldSsKIr%pY%7NZyFfAS%kI_A~z%iLKP zIYBANK-^2BIuoDUHDI}o`&{lpjMF_zGHkyW;-@8n^Nxj_Qxszxz@D54N4DOuN36xg zuDEJ&XO*v!Kc5023aWfCM}lZ`yiMDXFz4_6t}{I@E89(+@5A1QivvJ16ZV=4+L30n zsVyKu2t*(jhHm^$orLlk=7S9AgG|%g8?m6jh>ic^<=D(XlHhmtkU4|-O+-;8-@StD zQH2q+;0r#;f-Y!qtje=buxeO)Q$FOFA6Fi2VVaM}j8XxH7x67z(R=haP}ty*erP%v zZYaZW!zTS{8(L;EyIOqZHn;zh zl~(pf-(>Z{gKr?(1HlE7e&O;P9!+vrK%H(fmo)4mPU@MI^iP3Lf3w6l#VwIg-nToz zadDtm(WU1MKIK-J#XmIedP9Y!Y}Co%T5tDFm}1iXRMJt9_A%bgDhgaU7n>6%b=ZN& zPPVXifD2UluEX(!_|>6z)c9m@c9E}-@!s{ z3+ggru;ZoJ<1xe{RgXyIImX@O`ynpFD5uD8J+S86m8` zkF7qZ&^?=`_mgcUCz>CV+P7txo}E4Hyq+pL$?s+w3!)J8Ahqx<%R+&TPe>nA8lB7p zcC&5#7#LsFfLZ6@c5ENlOz9^{1#=uyeJ3Ib*V|#92>S4cj}rz`UcL-Or95SI{#3?J zlwl8Wz}iq0E{uguK+l9RdzsMnS5XIz6M}t`SnIhDq$4mC7m_LY4PnC|ri(1dU`EYE z(G=z8TZn%hS5#=XwG1N8A$JK`092pGm|K4neg6r_`WwUJKk-h;qRgz6*{74g#rELM zVK#}Sz>{7r8v#QU2O3SrRO6&HqKht*QLkh12tNg){P?u5L7Lnfl7Ir&qga=m!^oZ% z(2O4vct2MA|FHE{QE_zJx=qjoPjDJZkl^l42=3ZwaDuxAhv4q+?(Q`18mw`5cbDA$ z_uluMbH_aoU85g*R6X>nHRt-~Cn49h&-$__q^vPlQEdi@y?vfXONrkkzlLlnNc%Npz;6z2^wl{zmUI?mrWSZ~kTA2?Hw(gZ2PfiL)bFUM#jx$mW{iVA zE~&`RCU>zk$!XA&fJG1k=_@YUchAz|2K1kIrB!IjfqVK0)8C$VU5cO6`4R_C5UxH~ z{&Z=f758Eh?Y`pcz64_YcyCPqCSXn_;J}2Tx#`@DAzEeYNcKZba~K>k-x~S@LMqEU z=@_-M>b@(W`~7XVuCI!iF`(9U6)TSwNVi#puH5w-FUo;%9<701`eZX--tInV%I--d zDRdmwWzJK6J4Cas-D+n1+u1bVw6MMA-NC`*u6IBSmuX(Wc}F7^3V!O_X$tM@9qb<4 z*RdlE6EGMm2SQzZT&#F(%!KVf+d=o4vshcQK_~=o3`yv57|DDky_iV@JE?-lt+hTb z(cD4xric5{d$HoWbs@ix$txeT?Y13;p+n8wb=5me-{jJ=p?*7@U1v9q#6(>5z0U#{ zuhb5NM|A$utvF65YKCHT;&?{!uExE2zx_s_|2bhGbkSdoS#B{Fu`fgfE`-YPq|)#Z zxE_{lnp%*BN15{1BbjM`+1cvjLBp#SCURvMDUx6~Wg_TKsOl(grRN#1e#BS*f>4yBiu& zd1Dk2b9XVlKa42)UI_!K;V*y$eyF10*kg%cTI07~wMa$kNgPCS2TfsNvJ1Hs;WPO3 zcst@Gx2Uqn;^vV+ZCa;tH&xhno!M~DzpA-oR%s?|QW1`9z$`D=`<8g_w@b~;pmDXW zmSSi(U6;1_uTM=Bn@B+0G&$OUV8LP#qndbO>$v2tMNw1e;TlR#ad6jS7s&75VYVx|}h0ss-PSr(})&1L9 z+dn@-;u&;)hMp#LUIWWs10dy@of--!uU@tOu|?(XHq99sE_Vb~ces8@74v3PyRaX- zzo2w_RvOJtHXS6@&R=w5&-<~{ zJH}|fNM@Eo&u&D@qbYgoto)KMk1!ee^wCmyr%^KOgSA%f4_F@+dDQ@gP_t4o4WcE< zug>?Qc<#Z5jMrLvby^BC|7i#R#YKZM-$0}qQc^WdRp4L1kD-<#n90JjNOOZA?m>UN zH3s(+P%9A;^8#^g!*acq8Z-skZ^-P)wF%{qq)N9g%v!^G+le@{- zF>%b0xP=%=`27-6yEB%}pb>FqeOxE-NyNieM@P^4eVIlp_pKagivcfiW=>XSQQq`O zjB8knn`bTerwPjVcxz`@Kyy7m=ot?Z_$I~p`c+jW)?=8(>;OYkyyD!5&rbeC7CQLL z>Updc{0o?SgWj_A_6Ga)?Q%!YR_fe`(5V%KtT>rvREX5msyL$bx- zq+ibT`dkC0u+3*9LXjG+>+VZR4k;A5z=B$LaKd-DN$852_~>0+1xXmHs5`Rirw-fe zVNN!2f6pvVXRjpxniEMk?#Te_TK3aPht;`E{}?~e3Y%Y6l~BiEBnVdyf{J`-9?{p` zZr_}CF%yb5zChhGsFk&DO%yrJ(u7)UbkVx#V>?M0+##uT&c5wyrh&|Yo=f#E*Y5*} zdKO7IxaoW<4{?ddMR`l5JO;v_AR=TX!_ZJCP6Y!Y09G=<+m;nfiXLSo^rK=;TKqg{up{-$3 zmDwMYwET{V&iSb;3j>{2!?K;(2Y~Yq@~#U2*g^22H(Nm?hk$l%$wvv3r&pcsZ?9?> zqkH6i!JR)(rx5BK{r%?p*QGeJ%H&(zTne`r^-uo-9`rzy?h8>iAyN?bCmd+S*G8%) z)f!YPb-&6v$q>gLMkxe*q;nKrA}&wFta;Gq>kE3dZ|tMjI9iA&it2IPBn%p4hPPt+ zr?x{Co(bJ>*4a`;Tg}-a1%n%Wa|Cf#Ft%vc3XTGzh@Iv~EZx*V`)C0&-5QHGYk?+> zWh?wEgq6uP9OR7DEEQaY;Xjwrmjvih*fDo(E*S^q8JWhpX1C9(^L6ZQM(^&>rr;m2 zMub$l;r_eS{)cu2ExJ;>g*ujoZ)Pgq`NH=V70PEZ)7!+k#S^0z_0__(7v;cdX%)y^Yfsm}Odc^*=Y~$&SeuE!p3R0(4-?PP<^3I% zt|8CWJu@}DRU-9JkH>F0Nqpzn!iFh-f#`ZtLJQbZ_}k3zalorA>hp$zp-?UCyMIuOg|xg!TvfFC%pDE{W-{=9D>A!9S}tmC z4Fo0ZxILmR=c4@T8moTIIwo1HXUgww*G1(;jo;AX*wA`TB(bqY(uel(C_1;wQ(l|W z4mO`fxI(5T7dGSV<=(%O3R;bydgpm);+*Qr$=V+6%5m>8hwVExXsRd3L;5upn5zuWnkNbMtCY$D7;?Lg({NA+L5^#>3< z3u!+Q>63u|v$T-yi)gL0PIgRGz#cc=T_$M+D%1f2o7NWm>4HB!ybdMLg4}zb#)Q8? zCFrKmb&P_EToUkbfC`4C|8rIsgAIZKK%Kg zu*SK67RBuiWBDrxZ*g&%s)0Uxtjq%Wm#pHK=poydnTV|(JUMq34>M}Lp86^6UrG#J zc||-$`{&i4cpYPU8&d-k>RJ3wDzLF8oC*t*_Bq5Zx4R)Dn^o)%=gLl4T;o^^UY}vj zsrPW`ZRdjGwq0=e+tYDLn@*=3OkKP~yi~g>OT37QQhAyy&&HctiYkJ&xiAYxCCIdX z6E&hKvsHXPFoXz;)Qi!4c&S%!IUDHl5-SgkJ^$&A(9zXgb9Vt(u^It)5bOtnFIzRx zs=%up1y!@9P;1g`1ANQ9E(J*8>lsw6a=P)AQD(2$xMK$%)_@GaMFOp=g6+JZ&#U1J0`xjTa%iqJ z=ld<)QPM^=M%n`%{tAi;pa4u$nsbi8=+~xBr zYm)FwgiRnj5TYdSvkYu>@Z&Yed81LKSLSeSS(5o|@6FQot90XjP-yip;d$_FE(=>E zN8oa%m4b6t8FbvLTwOKiy>w4sj{L!qZ!u8Ga_tkcXi)99;5=s^or5BLx;T@i0_c)YoSzr{BWhG>Kd*>*tjNac zH}GrGw~6oTTg7dXBB{LBKUc>Q%V1w-__2knNc~WQIX`6hk;MMYS}Da5j=m_ZAtN|G zhN`6B)!(sL1hHM!Jk2d&i2g4;Ubre+X`aPYx#4mBo=x;)xXgokK>h9ArC15L!ZzIRR85L39_na8o6b|OF_6x=wx(n;DC zF6~7`-~T)cgQ}jfQe8jU3OJ5SXL>fo{Z`iAQeK@c@$?q}gHUAs7hp}^yARo8*;vfo z%$~lxv>{<{z;mVmPBp5prbGh#-4DEuZPgt--OJ&4YBRuRtW0QRX{SRE0hZPdZYHT> zGh-WiZguipE3WFVxDLX#0pHd??e|L!uKyrQsIR_69G6yR(qpg#uxZCSHlPMM`qHJ+C;fi7Ckg@KO&@op#~Uj zqc>i+wM6Rtn1b{Mh}h-9>AdK!bYpajM`;F-#wY%oOLA@4oDKh8C^4~&_v2s&sx>7^ z&?X4IEugeC<>rgo%d$>3i(nD}HS`2>=Heh8pwurS3`>2OV~S#k=mX0dh0Aqq2e}7* z$7slA0|0QKuBxy;0MmC*$fQBtvI$}%RHRsn|10ArJ@>{{k%{@$_Yq&{{LUs)5$*>Nf`)z@JiqLPYG4qm>P|!dx*)rkE z01+#=f}*_hkO-HxTA;D@iSCCcQBL==wA^CGr|@rTDl?qyzoR0hLsG0SQEI;I5Q`Tx z7|hEh5ur1kmgL5A8(6CUwzA8wun;k_^l{PnOwhrZfyBpkC7gOEZ+>`8y;WM6P}j{$ z@URonJ?5azfJAoGgy9H6vfpMD_KIU~qll2KOI}_lLM~!T97Dh4NrxE4#1;Gf;2@f^ zJ+r8pO|WuBv+z&dbdIsWaDvl{0se6pi60Rw`SV{bnNYTl5Wf(;<}vIcu5O(=N#kaB z<_x`xE&G)ig^`foK5rfW{EtQJGhE^N#aUtXvOKlhjEIe7XUdBy3KdjG-`w$2gs2hj zcN>lxiUn{((9)CbM*~+d1^3(QL(!JHwu9Kit|58EMo`Tux<&UEvRoFtveFI`yW*;L z8xylBvnjPvVJiOb*Kii@__Kr}R-MK5wx1RziyhMDxxzN^tpA+DNI{c~*tZJyXlPCq zyl<|Mzks~y7ka#>MEsSv6S6YYl7!Qf?KtY7&lJ1a7}BpRoq2ubqY&trsFJ;NkGk`s zr|yXdDgw#>3lKPOCLOW+4nQSfgEEYIM~Bd~6Kf1?TdRPUE~m)Hxgm|SI3a-QOD)_6 zyiR?2wx&igt_TJO;dk4;s)kOUXJcE>prHDiiNH*8h@AMirCws3mzZ`A;;%+B6b!}b z?^E&OaI)1vy6z%KC25D%Mu+de+h8fpnntGeL~n*m4XSdR@TdguV=SzD^KYui^lk=( zGO%~wNw2C6;9kk9L6BPY;$D)t<6T2Vc%!8%mv2oc8c&#XZCKQ+9r$6`*EjLD%l3sDNHYC*+X+K-- zjko$~i)D%>N{qCS4!H)_oHe|PCi4AzT%f2>8xgHdNK$hJ8T%4WsQuG>+|VuV8E1Nf z7g-jbtLS9mVd#9%lwv6KN{l%P;nj~_aW|OzYmypx8x-TpAQh4^e8L@B6y(lfs+c65w*y`sT)Sl0EImK9Y z&!5g=VMTK+p*O~6-0n#f{UdBl8=+wh3&oXi;iky_Qt}T9KNzU4`==2 z2`9{WC+rsAhb7doWvViRk77=LxQo`zu1Q>CKOCo`1@;m8d%0}iUTdC$!LvLW6U9aP zOkAtoxvwdE^n;%-cN&@V6fa4lRKG0~6$j($yH_sW&_oIby!5k9R^oUp#km(X6a5oW!X{B|$eSWstls*U3)0BxsWUZ1<-jpJ+vK60-DJ-Z} z5<#QXhpa^&{~V!hU*cHZwiA1)!gqm2h9U6-4V4Bw9}4CmP!C4GFJ>&RgmNdYUmGia z%uo};#tx`~~2fI3zbUx`&g$b3C&J-I2^**Pa?`J~HEL zBh>OZH%tnUGa*DB)WhNMyXeRP5r;P#`rgvVU{Bx;few{rm<~~OdN(n(`-~P!`+QN; z_(JejV%T%+HDmXOG=;CfhL@rK&U@trwXg7va*@nHS0chC?um)jzX06fl)+=+VcC7h z^<|>+XoVRb)2)O>Q5;;L&k$;TqMA#V0oR@$?wpFVbm_6>CC*&~hOoFjTc7y~#qCfx z_t)V*649lMkX1FpAY=uF>1o|4ePl9@i#8#StBuM5W<(;Uw}KVZrd?(k{>UeK!}VLP zz}IdoZ=nfaY^|@#8X#3&BIzRoBl}EWfz@)lT2hZ!RWZ-Oq zykqUAeIpKdCsseEB^S4aydK$HZN~~S7P`b!DvkmF{bP?LoNq=WT%;Z`-$_GRw)poC z74cyou~nHSDXgS_bi?Yz#E3gr$9g#|S&K6uaqRkfVnrzb57)7nW1(L=HEMM~sSUq^ zDL>;|*cfOoth#7rMEI@W2aGVZmL|0py(@wXY>CTq-DU8Iuv%Fou;&0*`rGlenr09W z>W$mhocyrbIRuKYH5!)@+_)}6rZhA?V)+&E{AAVF-1FVi$+c=cRqY+gGz9 z^c|SLiM9~OWu5vm!j4^*LN)MD!}H2R3a7=%83N95=Q~#NxzGqSUqCXg95;||=h#H< z?2^dD(k^)szHrMa!LCpGWawX;LQ#LW2J2!xFLynd3ycQvet18t;ya?JAS$($t5W2L zhIU)t^shpd4Ap}40##F{7NU%zVT)7x!j9krD%W@(DvFQ8SELtJr6YT~43j^Y#}aIP z4<{PrpC2_?1pw$jteh=1hL-ITB~laqjO)U9PtvyK_ZM)8+F)EWC^1v^rnqA}I%H~d zgroyF@?H5IMa zYYqJ%_V!c#Bfo=%R(BHt9(2DpY)07JVLZerY?c3-)&J`d{GW>-h+TMG`D2GtTUO8s zw1jXGLX;L3>u)ay2AXzx#doXW`z(61N@s7ATGdbEEbhW^N{vU2$`j|m3e6i=Ul7d& zD_~**NRd92Tdqw?s?r*SG&w{T#c7QX4v}7O;?dQ$iz5?}O#-I8LoQ(Z$`5@Ue}yfk zQ@Y&+0YnDdNDiWk_MM`gN%Zw|gV`g9a)|DiK_ovou0W(a{t7j(StY&Z^!9_C>N_SW z<*xqsQSg~fI$%mjU7eTOEE7u49eQI*GMB~Vxc0M7Ev8!EfiYlhH|lZBsoqwASQ=Eb zf>4B7JkLrz_=6izZ3`TXc)_qb@4ej1vC&<=EjMeEy8`XyfZ`BW>SQk4U7rIMz zekl|8jF{m9>SS-dLrL&8q$>`I`))lL7R6v(G)C{Sp1ArU1f0qFgDNtgi0JFRty&;* zV}eR}BHr2_hmhtThU4Xzx5FC^vRrv_f{dd6&D@BpJLedB%Puo4z_E+%*c&SFmM_|R zPz5B~C}F%ru)qM}>J54iAdPt(UYhChclL9d-VQxFFlgdHH>AEelKMrXhO}7}5hL~o zFqJ$12RUxb2}G*^izTG^|2n}b?J9qH&qB2Wy&_}Tm&Cxes0{rZCHdC^`2a_i`<|EW zWcI*MtwH9$AQGfdcsO8-;5?7_E)e#X94f#wKe|qAbu2ot5NTl5pHY?NW9;2wAWGDd zCQK(jShcmX=X%gV&|YPRQpTA60&XO@ywl9vg;mONQH(Ifk>OK55fUPjLI8yKGUjM{z0oEt@uYdgG8#Nc!`3a*alSYW(G69GfjdiyC_I)kUR@j7^NT_#5q*iHZ1x1{w zKtVS7g;vk74TV{zK|aNC{H85s{X(n59T$e_ zkCuE_yTWzurRzWNBZO#}MuyC{zwFn!vWV}}{p^@jqLb=a+U){wI`S?P#TK(OiK;I4 zZ0te7&L|JDzFkHOy1Uli_Q8R@NL=UA`vr!EjPh&`naUGd1O2*XWjTZ5XjG(Au^;z0 zT-m1=_92=LQ~pJF@9QTcQ>n@G`)ZR2sF#F2!Dj=)&O?M=Zt}59O8$s9!>ccNiQ`*0 zx40uC+~x#YmgBJ*;4*1>+L(kjkZyWyr>G}~^YxYW=r%hyul!b|KO_2+{o0Jc~Mldpn0=% z(Z{h9pNqM*(!c?Pdhov31u+8;07Fxq68J+KEn@#kZTA42CMn0#*aP8El@Z7yv(iKV zh)%ZA?k;9SlF=AaoOo z`5=2Js0k?tAe2P^*BS4hWAcA+4yoO%EZ-YJJ6(ego6Uy{;m7E8N~{NFZ82{6%%zd= z-kz)GD6obFvtxVHgLF95QK3;f`&Qiv1`|dYCm@xF-?09~BSv66D8KZoBA%)>c~g>Pxd@D`B7PR=Crlolya(vIsT)T$A#qf z<}2kjGUr**FS_!d#?+&{S_X`I7Xr4|d_AqsZHAi_AyXrao|=~foc8pBH5NE?CjoLq zOyK3Uc4el6b7YcK4^0KDA=>UJL)pTRYd$DroZK~2=vU@vL;A(@ia2Ax;=mDrh0$Zx z)s@Qz%~uKjI*ReUs8t+~!h7zh*5xO2e_Vsx+IiL30h8EVwOXzPF7VkXApzpYEumYT z#iNIVW@j5j(_#y6Dz)9r;;_~1$Q|*Qh3OSWr#u}cFn)@z79}?b&jU-Gg37f`N5QpY zovY60f~Rtb8KxuDUQy}>lko#-nSoVvzLk+9T1mK?B;j6U8s|s{hdTFWd#@yJYfG}9 zk%HpC&RW9oC_`JtT82^2^z^cFB471UVt1_0P9hja=qnp%A9Ubdc!KS>I{w`DT79ly z5kVkAr6o#QL=jWE3&N}r{vu>$)F+aA=v#cW>8VY=^ms z?IT@B&W5ISY*)_?443Rejh=Ch{tQ9WI;I?~Ka^Hyryk+Q*Yd295DCoXtx~m4RhNIz zpeoMgs&M>C=f};W)VJ9u$!aYLq{nk=07u(U8jUqqG-cTHiYvw~loT^vFs3zIXkU+N zoDg1on0mvhsQn8d$o&i0h32z>5uNI&@DaC;fA3d>Sx&w!O9;NDN!wKRt!kx_=b*P6{f=C+TRXXlii z=M9?BB4!Sf{-$mDv(US~Ysx!)-j|^RCLh&FYrFOJe6xA%T@h+|U?nYbawc+$*E@;V zgUNs{Vb6ED`Q{n__dWg38w-b|v?!PDr_}ess1<&em8#fSn6S7Qt`#ZQPX|r~OA)T1 zRJ-gT+kflf;c!q6us%OHWw3hc__LdN#6?&)sOv&3mW89A6@A*M9H#4ftG4@tb}?I9 z-o6?oe%(T^ohj|{&lCSXtZSrNR>6<=4LOq|Y*y_~t*eAN2Jr_NW+2V8tDL+=w?h&` z1~PJmft4;Uj;|rW3$9FjtBsbRKVKbG7WSs5l~lWzryHsgolQtFCLMWJs`^~%Dj+l9 zYu$Q*ooK;ljPC4L zD-C@uwqk=@`GL=DXUP_Yn*=P+4*HsRBvh; znS&$D7RD%*i>09g=!3+sFDfs@L%s(M72JGXO0}dNvqdmTL{E{<^JljYn=A<&C1M(zQC~Dh&vNzo^%5}=0d}vv?%ZTQpV;g-2b5v_h+0% z(8T46Nqg5EqUJB=Giy3Txa{6MST?5mk(X>9$#h1t44Vw6L;|dc2v2|zg_L>%Vh2 zYIf$^BDHCLRrDw!3g#$~!Gd^Wengkig-)bhlXqZ=G-VlH^wb}N?b6*etj0=BYhfQAdTCYKH(X!S+n zE`uk}^_?)QOCi#zw+9ymn*_5`iPC=HhjXB+!sgd=Y27&f_}&Z+7oku4BMcB}3mox} zzt?k0utNA=)&niplsoK+)GYQLs(n9iP){7<{bB7QM0fxm-Y>FoAwe_iMHLe=dd zR6cm6r93s6r$$tVMHz&KK5~B-J4!uHH@TsGkIHBT&9?I&oxV0N%w25%k(<&V#}ctw z*)aM&h%9*io2Eo3MkntxZ9rpbEs}A(*y6qgdCJlbx-FVp3uGQVtXpupWy!}CfvO6( zburgV&cJ7tk&md=A6e(KZ~VA(NH{gnX>y5gT1IAT>JY(p_ec|5wHnJA!K%5K(ns>0 z2xDQbbTu=)pY2w)VJfkH_Y@y!)7)W#(|C8$0&36D)S|Q&C6XXHG$@sfW>empmXvCV+&*Stw^-YKGxG*nO zs-&ff_=@Cl+LfH_E#1Z4(Ndo5%UoZ>GWqqMYr8MPjpMoa5ReQD!-tSZ(~WK0!qT@# z1Hof}5fs+FD*$E&7hxftKS#!|*kBgkKqE2gjWwBlJecdB1p^doskVdvd@~AWFXa5G=TM1MSLwvL)v^nbo?;30quh3N$Cq2AI5{d= zSQbxNJ1K{49UHhek63*!8y(*{oD}~Nz2G(dho!^so9NXzayf;cZU(Rd+#l8I%4LqD zZN8JG)X2!#uyx^oB^Qbhy*X{PKUA@lt)v&9@as#NNrwsW7v%wGbk2 znW#1eN>X;`jU{X^@#h96;?tOuTPl3(C9mZRYzVi`kM%mEu=6geQg>W9sp_pxp)Bgj zqo|6hWFFNNCQVXbt$tv7?hQpNIjxdjP3c{ats?B*be&W?o6a64mf1o_2E~Cz;cLpVnVntlIqb`ZZ zeAoC1I(*=j7YvQG5nSlxc@~_>voJHTWZF*1i3wxl8>EJvkks7I3ISCP-)30_&{o=g zR$-qmM9O4;RcqP^cA2RsCOcL*MGSt%MKeDBwY0?+>*E$G_BP$V-m?j%MNUrr1sI#7 z9RyLW+85mcgpTF*R6wdMv1`ax_ zvL!w8KM9pN`h4(3C35qU#8nxW8vX3K2YrH325MtHQSN*%coiZ3des^;N86~bTuq{1 z;D+~G-bvKsBjS7Dp`+21e_pPGCcwd_SBpXOX3*v3V357@B~P)U`F`>RSNRu)^}8U9 zE)Ey$aYbp}?}M6!sXxZA`;-0U6%d`(LuL_?e-lmy>DLU<6XJDA+MyV#vwpI-`~yF{ zWn~Yl9g$e-_zwlcexR)_Ib|6#QbDy zJyn&_hT5G^xHpNBNu~ZeG1?Ww=JkN_SIP)o?rLq+zmeC|z%ygWK*@w7Nm6A={~XJMzk_crylzHue>g2hj*7T|;92DKU> zwICEFJy~~1cruQT>m6SIb#FcBs7N4l%N!(-lkMZV$96Hgab|&ML#CG%G-D722YGU$d*JVO~N7LH?LSMaLp3b8nVXNn~osv{@F(20+g+*w! zz1#0`R0>P5-|PeN+b6t$eNH4?^?F{qTA-Ccq+67|DVt zA57h{`*=0N1zKy)0L>k86C6?R>}&F%<45yzK_RcmvBedH%#X{es)2KA0#6;FdUZFX zMH6(i~_N$y_h6IliLz&>TfAFp@Qq6(c+= z&bu8sBdz}@so(0tsb7A!;dXxT_hCwpb3n^tL39%T>XvJ)Y+&fFdBTXvKmKb{dsS&A zY3>W!wj8*`LBYC4!lVYNBUJwT39e;FqoP5d?ik%ev$r}PA3TTn9Og19)@#(4r&a^8 zqm)|xv5Tx^l(FC`YcD0@jKvt=Aba5k*k+Y zq=&yUz-+$M&j)uFWU0!Q&Fu}ywQ(GMwYa<#1l!IOF$|B2*FU5gb2`@H4;~E{3s~gc zfPXH30kX~-;1Db*9Laz7nh8qXZ<6bXiBFRbcXvYN-SCa(z-bjCBwrNoxQoQysldCv z9;9#4oO6Ps!m9n^D^JMqt)pgqXlwR{c}rRUR^iXcNzI%jrllNTxxD)ikSYA9+M=l< z1Kr^5W*yr1?Fn`t#W5CEh`0DG5obFkU9G*?dYm=G^T=J~Nz6zNov_{nEz(<1X~PD(a_jT#+Q7V>9(v8Q?1|nsHi+6ojvItqyIJf{+T? z)dRHIZ0}PSO`O&6S=wlAwsb7ej9r^pTb}3;{D2$*1@#xc2Ky%N!#pi#P3=-Gje`h* zzo5}OiZXxZn>kGL5}Hu#5a}Y^9m%>8_x#<`w4YAC)z*q53gi}QNT;2(v5p5{eOW83 zCsM7S?yh?q`{4VDHVyg9UJLBNSoJWZ>st1T*GG$9L?l}L0E2(>rf21{WnHP z>sNhO(is03;0e}f(LZ=cINF>qwiv{`r)9;f8lgjXjVh+AYL|eOPIomu4?_O+ zNJkd2&TYGKMjXuFMhh|{nCWW9+_7#Pb#Vlj!9_L%`p?>F+68=<@nO5*>feYU#HKq2A z9L_kIeIpDf+R|}HSh$&4Tn{0)3)vOG*3_-k*k-(_0lOIuP2Y{???DKfQ(ZbmyF4IH%#r^5o%=X6D~h{J-2J&8I|e_`s+0`a z;qKV)Aj-{aWccBgzbeeo&u zDA+8=q5ukYhoLju9rePeEbK8Ym%W4$sg%(!1`f>)K}xHt4%QrJ zX=wSGjg=<-@-n^Tk`#A&RWtP^W^ksTZ$?FlLh>-ndS$*gakQFi4u1)Q^!;iV$87OPYwdJ!c<)?vm&Od z)5T6eCHbwX_lm&35{; z86O4Ht-)%IXr(!C;*UQBAB=sKxZJaNB7C8v?`TA6ql-o!6*^U4k>1>VNVhB^Zz7Od zji8M-?IXdq?FMUouBzPaG9RokGCw<|EHSUOV_~W}z~ung-QN+`amXa}Lqgm@KT%to zwv;8ZG@)tL{1qI9Bm3#c%*CHqQ7zN<9yS-iVW-b7YQ>^N-L)q$evxfI)`Uks&{+2` z;I^(-T+MRqo>)cCvs@#N-~h9ZHTF_kRciZI!?w_bsP&Jzb7Yf7E9macCTH`(l}taL1SMi@Lq4OtVbGo51ZGNrjyU1e zy>beqYCWFxI5p_rIW6?(LxbjUojue7%KgSwo4>--&;TZH-P>(oY1am~1u~VbW9IeB zGeQz`p{Iy9{AXT;i58O96>UuRa?6Axn8(S=QLi4QHC`%G$?LZN3mR&pbVhx=( zu+9X>u(5_D7?zYID=_ju+#G$0r ziN8mQX&f?`Y31dox2rfcXyi3AvmZc@44a%?+&k8oW>8CD@&6V&G4wxx5-L*c>t9cd z@p(~2v;OKXr_+PR+huVkH8g>vib_)`vu8yf)trq)Lwm_CU!ub>Jw*qR14`SB=Uf6L zv|j{T3&WfD49QV5({&Y)US8YT)tWTcMTb*@$LrZ-Vo#Lp@xvKOWU+;|(6g2mU zwv@7twk-V`Mgm1XtSG(4#6{9C^ecZ0tjR)sR~2+jy6<8Mf>YS!BGrwEhQB!cm_IBC zlSDjj-fP*P9?V;t^3u%0%DD?|-nVsRQ65b+1(@O^O9zy@u@P3_%BiK_>>5nXSv5e3 zqEm-n>@lXLjz*N)7Y`X{6L6HujWa}oZ~phlARxcg4i4Ia>|U#W-3 z?lcf@gR&|)Qqdqj;M8{S4-K5jN?X!r+fgw$)-@6mnpv6`_RE&Bgs6xUib^A&hHoQf$`&N&PdcWUxHLpF>hZ{y<5?NvXjokFhm*9wUdg z>>n?QV~+QS-u|k3gQ&eUCC3HD4#;Cf2RR|>VS&CY{@><^N)9;d*?cGB-e-!j=}Z>J zQj6cR;-hyLs9&Dpe&XRo>VLnR=vVyoT;th}?H-y^ke-Aibu?Gt&^Y)W6>ir_BweUO zae+(w0r}7ydwp(XtpY8|VKaf9t3budPZ=YSz>RoN4)V!G;-PySlaF_^sNc~GwG{^! z?y+EMgliR;yLw2`qIQaa2?|IV=g!C@&&EaIGhaEunHaqUdf<|{oX)M+r!mH179=g_ z`c1p55mOq?P9Uy1%C$!jGnmmgVJ|Q7=UF_eCmdz!ZD{TVy`vKb_(4OO{`gNEXVE+C zRw~`d9b066!bX^88YfyNWX5~09dPv~2tT+(Icm?zks>n;}dWN(?{0FCAT!`-kh~Q|9Q6ibh3vi z9WbjB8j{QCurhil!)WI$hG?!iZRL$E3PfFx><9AV^%ZNsP0ijWV7A=RkBJO}BRj!P z$l3Ii@D1whMEsU=Ui7};Y?Tjjs6S26Om~c;6UP@w9BX#gsS&@Gc$#J)j4S_KvSf?n zQ*2m>pnf+Qk-Ij94W4JSAd~y;QrS|~LUgUR!4-}dfKnN$o(|h9M4$LYIF_?MjgQL| zX5Ya71}uwbAtDX{;Bs;h*zv?2b^H1};YUq*69dN z;ec6`c2XZC$QimGBL2|QR&pf)L~S5=>m$^}8p-mX+c(rMh527)h0tlKPyjX@3AH{P zhG;hqS)VJzJE!n7!z+gAISvjSWeB=O5l1zB^nGxXe>boJxwF44o!@@B^z@@1@HLw(l~;cTX(&$l~Ue^Za3l@#g?C+CTMRa%r>VZy?;6TVSQeKz+CupJo)%=WuRIVtzjbX%q{p4`T1a ziMEC&KeKHQ8wx}}WJ+-iyobMva=b((@Za%AI4Oi-Ak%?ob8(!Dt7U$g7MQ;QBs@v3 zOq}QSRF?t;a011p<*|g^0>kI|#&26@D=D4yt(UI?XO;QF$MP(SY`<*15LVF=Mz>8v zvY+6w|3wh~CmBS*-j-JV3DY39mCqWVBG#lke2#-tl5FR5m7TL%%b6W2+yciPu)NXg zw3)0=>lyO72g;1bMXn5kH8ieBl?qJ;S3IgerL63mB+BRZ97mBN`h9?mo@XZ3eX8m? zT%^tK{p~fypc{=Ity_!sW|zg?s0!YbR;QvFhlOhh%oLU<%vubR+DvHj%E@UO@6~Qp z!xi)Fm-JI?pOZaR&#njbkteqWRvo*24h{!y)8PWmSL9HD1qYdI8Sc@3@%r*BL zGpW{@Ln7w+Me^G8^mmLJttIF?!rcAB;Ij2&kvgeoeHqA9Ew9HFu3Zqvj@ui8{tsJc z8P!(1cI)7@xJ%ID?k;VLyE_zjZ*VK};_mLQB{&rK;x576o#O3#vgJE_f8(4#8Oi#S zF*35&bIY99{4}#YyWJT0^-go4Ik0`7ua<~zxEH{#5D!4X+wOd_;vhSBs2}}l?)AeM zm~|)^5J@I8grt1Ra!6j3`7ggj#CshWP%y!pCHiYl|MrQa_%vT2SJ&(Lz5DlpjcC(} z8vBOs)J4M7y7|uvzMMP$(*Ep?Y4pmb+kBL9EUDxlgv+^vv!G*d?A>XFsXX1TO6tal z6BqBmK`C$1=ewVpV{5lV3N;t5$2joz63cT`EJ9u;z}XL#maD`0*(rYC+Fg^ek5^m0 zFn$O-s3Y^9oNLIj%1lBAcb5@f%1)~re~ZIfUGLy3>&`$F^GNlChj=ReWk2~dK34av zb{S{lPiSVYkj?eR8D`MibnP62s0*rcJ>SK<2;ea)dxAw@0Q-7Knv6u=dIVm}-*TW$Q;lzu+{3{UJtvW< ze*<*l`*aOJa|3oa4ab!S)#qCt8JtkhChSYNX$h?XP*FCrqgFWlza_7=DKK3k`j(Q*m{*4MZRkg1Qm*dG}pf z^U$v(1al8b!(F)jM{yVjqh-&mqm%y|nzggRn@zoyUvop4L|J>zoIWZA(Gx+f@A#SP zpe4H%0SF22-A5*om^(^UHe#Bg;;6pG(Jf8*hbA(0DK92rT-+FefxQ?rpIA?yG zHzq{L--?=Uom9Dq5ya22v}#Z+UA@@Z9d$3lrbO2E+kn|sPQnNiP5L(t8CZM49}5m6 zQkXsQm-CfAx-s&&Qs__^f0FWO1HhNWjr^f~<4ExBEKfkQ9eR{jrsrOrUL^CmLn+$kC+=a8!uK-M$V7#HFjB);r$#H_@41UN?$5X z);R6WRmWH{B++JfFl@4hz%$MphhgDJwypxa2H3k1QAAG~UuLtqw&x`ZN`E9vGS#Z7 z!VzIDfM15Jhh+FJ(WrW1Hz?j1bx<`z9LVICc>_U&V8fZiHgZ(3A*u__Aa;BH+*y&+ zR8*@JC~9X#n}d3S6B?;NlhI@38=4^W7Lr3M1Lz2Txaq+b6RLB$Uq4+LboKjOP10Xg zlzJDIKC4N@t#}hnF=c*hSq9}>5}5HeCObbq3G<|g6)UZR`ln<))D&V0v?2S67ZwNE zXBm^2hr{;|m{+YB1)g!aXRJ$LVSebFpBu$^Gt~8;e-U`9_1(~sBQv(Fq8)H$)>%{w zx2POox!j)NrO)~4GT`hMU0>V0nmd1vybM}Xlbv90-n|S><|d8uT+6}wKoWY--W&l7 z)v7&R4aX5(eRcoM$myW?4S(>%g#(Yq*q?r{t2>1+`dHOpv_B1V+A%*6pHh`onupf% zx+>0z=1JttA1?Ec=dAUe_K%!Q+e+|JFrW&=PP&%oEw^2cIvCq~W^P<-17CPAy7+_R ziOgm02pZsiq3CZRLGAYZp!6*QlkEn>rw6^KcO5a4;S=ugG0??EnV0VD> z+&13BJ!D!9i1oDx9UK~Zk1IWgX7ob$ox(1c{+53PQRpz4pxhjF!p_`n#`fo}AZ4Up zqvwXL2Bg-BI^0(x^gA25q^i)Sg(4a7o0OAH*EA{21$5=4XToxGxE6k65A=Ecc)@a{ z(QE*Y%8ARiIUV_t^3HT`e1GC&K($9J-Vy?)&=(sd3?r7jxnskZj517&UCPx!eLphR z#fDom6&lq5c7~hNGQB1LfT}0=*WUq??~ko#b!-@2b#D}9nhQe{M=25S#D4LS7drr1 z^)^XKVRMKn0VA{`P1*73gjWI;%!FtZJ5epiY!bbOAIfJ2qt%;P3Qd&QHE+UXmjIVT zi~3FeA%2z?Hb^$Rq*pk5Y!V$>=z z(%N8&BQk!*t@{KOeugXO77UZnyZ``DaG=*1gh=a-uqIk&w}(HMh{4_?8i}0>E>a!W z%QoL2PvJfptq$%6LaB~bucqGg4`C`|sR7XBH!;D)fxTn-#8bh*+VDUvr40(6HLIhJ zB#HAJ;7!{OI&2l%d#Af*$9WzDxN$P_i$|njP=NLaBnx`2`aJ0Bg->q9H>-0-MGJ2! zVpq4}`_GBKd-EUVS-QAEpEa0&q-;68MT%k;nA(Yop`mk^%O z47)_Vi7UKyVxfPO{xqixI{3<}tw`-xa`Z^`*1OBAzVmA;cG;n+87XX;boiB07$by2}D=O9Z;OGzO7k`)Q+Y#_bRAXsQJpRQid2&9e;8 z_>J4Rs@i~|vvK%~p}<4ti!6t=q*v=;Yyal^t{#lG;L4PZkdW-uDXP~=*OtG&>KtCT zG7+e`)e{bJ{fVaVwjzsX3H>g3IX$jKQXu1wp1Ncsg&>Q5{y zY_S_RGq21uL_QqhnV{v!VhZ0fVxw`;`{D$i0s#rsb;+g5p{5tW-5%k-4RxEKo8)i#8uDvseD7 zKl$UhxCnugZP~evlEi8l3?sX!(WtyJNrg?}Wbnd&19G^pUO6`)6b!(TT{Ro9I{-s` zMk$tL$6#342P@&{6|3!|dR%>nI*b#iq|$8RH%fqmTOE#sl8QGaaTszZ3E3*rI%V2} zs2p>7xLZU)K1skkC8*|t1Wr<&4KOb)W=qyO#nXT#tT6a!R$HK}DI-@@^^bgkqq}4? z&hQRx5u-^&eoEG7cPjn|_(w+e*yI6nBtB6NaNbj4lz`Ci!L&Vsq1@5ecRe4YYEd}o z*uO5NuLuutIu-LZFDr=>1?SsW=Bm-rSVt~$aW%*xd_jjmHqSOU*-(a%T&3iPxM5-# zCc{N;Dj2BJJ9LCVnlo`^WFS4beN;Wo8;39yFcaec!!%2rV&WLy((o6wfMg$-cc8jSCf zM(xA`6fGA1H1rYo$mezp=bWdm)YNnhYN~c6%6!Y({2A2iWd)AHEI;P}T_mm^Z)l$) z`$bH>tScP`i~^8dP9$hx=@F6$!_d1yk=rxb-fO7$Nj=wvmg)C61}W62B!=q?4y%Wt z&YJe?$!W)7jw}Xs^TnX0iJ!UZhuGrDmI*S>+`I;@v#pgcnEk@B#aS96HG2|@*DHG{ zhDowW<8NPAu$qx8?`@BNMmrudiCG%X@uxRW8yQ|39tlA+3cE8$XLxNUi5y!cI^Zqg)uMKNY1_v?nhhp#$MVaHSo)#OgqMfIt%GjE+c+B9Q<|y`8|Z3 z{p*t>%Pv%p3Z-2QHXFI6=g9!Nba#5KdMtBf?R?Zird@gH$c>{Su{|Z87C^SD7w0!x zH3caSy1br#r0i0U%k$W;`>GSwh>5viqiTO7`z2z9eO}7$#jlyw7JI4RmpP&{5`J#P z-&f$|uzjdYypq);b~+g?4_%sm9a50x6D)+@!TV#H6Ahw;E$I4QI`&&Y$L*`C%NJe# zN91qj$&}@6^Q?|}g@ITo(zI~{sX5=p!p{VuHG&U(&QWcgXK%oYuO4q zG7r@?=9b5Nx)$*;3J(N4s@$@_q%_{#>06_ zo$3<}FF|~}JB{5&xX`6=-l5Fkqwz7h3K9h9y*SjsS4(ADQ|w{DcmGvfMDUKy)qV7u z+NR~Va5vWW)tA)`!&=CMrhHg`ucW?^=#*Z2hi zk9d`K>+$fBbnh^Q2kBGIunQ9waqiy$>+G3Z$V2RiVcC*3hIl zYPe?=X*j-;JcuE~Hy&xeiAj&d6E?Gef-SgGOs}$(<*ZP9d>k3AqT@C3t00`N7H3^_@Vixjd*jZs|1W_2z=8T57m9Cq970F zX552OOGbbaq#V8gR+OwdQ=DV@y5kKEdwfIuKF}C;!(-tOVMVhzyZ1|C*9s|lQ#u1Q zh69=LQQFur9P)x7!FQnCtZ-Kbz0hAGL=}TB&?qyPC%alYcb+|@Ln5uV5MGNW)O|8Si1vNpuuG-^sCi*VLQ4P2GK8Xk zb4PKN?h<)H`k{Rx-c@Ywy#H;+rQ3_Pqynt8$|u^gS51lcCc|kk$T7Ptt+W%M*;@}i z5~@qG)BW*zHnpq326IgO*Yoqqy9UUtxo#}4y130=RSLIG!qMp5u0+m`iCotuQq=jh zR?D)CMng&>=VPTYEyr&YXXjvyf%hh*?@eHspI{vp9Y=BNAtQF?`86k2kl6+CGta5` zFI&fR1giOH5cB;AO{de7|LNq~z&eE@D%T{_6{a?|Q3liOrew7|8=08QN}W-D(#~GS zSM=(RBfsz8FZH~T!drD}y3=3NOpy@B82`&b_uo&9z-}jFDJE2|vOk_&3h}0?g6cVKd9ZT4zg^tTnzyo{{?;zV?MTZ1c&);WZ5v{KZR%`{%#2k)mQ|1;sBhk{J(5AU=aouB>&j8VSvvt{bH_K;4jL|@$@82q9-@6mi~ zZ~2_yPa2gUKGs<~VYi@MokK9=5Jo}4YT*)D1rLWXV&IdxX z6&CZ*R4+w$x4y*YS_cA6NJp=QW5e)Uhs)d_mTWNvw;F$C&gJGh@*K>uZ5UI=;Y^Sm zv_K){HsGf?G)d+3{?tmFGy>$W0UjQ+fBO-_i~Na|_+3jW$}~7TdElDa*=k^Clngx1 z@_M%*>wjXM@|gEXiQDbwdpEE@wBJYLm$WoM>NrR8ZwUQ9(%cI6MLxR9Xl znftzTBI>XJ*jq>T8=H!w((=m6IFjnT<4QAdm~GxHII&Zy^IkjdSOA5BNGD>s+f#el zOyeP0OTKrxg}OxZe7qoze+5(Wv{Q2}91AMs3e6-Dj7v>fz$QGCRhpO+5b)&fu;U}t zE8s&U)f^hr$sbv-%n0B^uk$s}Vj{1u$uq< zd&XcwRW^+eSc&g9)?$N722b*3j8w>#c+)tdv=2>bf|ieXuW5qYBh(K-K^~q3n`0Ux zqF!`_E>7gM{-yD(?R7|L7Jd9a@2&RBgBeLoH^TU(Hw0~FIBvB3U{?K1fB6iinluoT z9ekN2&cAoci2uqB1+k=6{7P}!-UYH4N+{$jq?HzY{W-LyW?*>WbP+bm-I7+8q>Ap2 zEr-^(4Q^_}b0U#LLOC)h8opL0Y9cnW9CdJaZGKkzkwg|x0l$5=-y`D%(;X211YUL( z4j9}3ZVr2Rv$r=ER>Ya~Kw@ibY!Yh$L~zTo7ZjL;E~0%#Ri~RL!t39V9dNUCOl#vv zR_(2=jFU6G!r`tPFnUcj2v{^nX~7<D$4!wmapI_K#JeDQK$T!zj$?d+Ow%{B^2fAx2vy5OyHB= zo4^)xd?z*_?1BTBRF+Ho#z)FjP|J}InMUWZyL4{j9d z8or5!p!BR&@UgB^;0#(GoEuhU)3?c=e*@+%4Ij?PpjAE_wcjgCQj_P$$!UtSxD{xT z^Th8|I6DXyV39u6uy~@fv5;^7ka$Q+;-=bPM2pmjBN-m3d6ebd;N81};$6*eo$g^G zT)R^qKImI-12SEWvp7b_z*8JU76YdD=o3{T!UIc)<<`|3LH)^(Z7;iTX6+sdG5Lrj z*>3ocZgKlUw~Llqrk8QyY(k#%-Y?-u0Zmj9|NO##|LOlJMf%SRh$eVwgT|9msYy^t zn?!ws&dJ82c?11|l7R;617`TWoStInoeStWZBx2$$;2z?9vnh0MK;t5aXk0^e($n8 zK>#u6f|f05$S}6Juu&Z@V_+=>47F@H8sTr~C{Gp?Sss=;TN(iks&{r*n-;p#8^4zs z=z)pceES}lLX2y;bLxm5__>+U`Go={__Oe@J71NV8I>s;6y?FG!dLepN{($Wv2+U(VE1^?+PIt1?C)?ZE;Fvi z66C$WDHv7{0KgUX0z`>UfX*W~q|^6$e*>=bdboc`{S8pae}f@&Z&cmEh2)lmBPP5W zT2g%4TumGfO>O?P%KjD!$*IK~aIrR5qFudSZ0lRfFCY5qBVC!Ybl+ku@Na!@wIXZn=HvN?8iyJ%&xXdcPzudtZ*o=UmnKeI@xZHW!8DbXjNYVQP;LfT1)IX5BA2m6hwyt*`2c5i|JdrF)-R<5 zu7xHEJzq}WDZl=k;0?WztnOCJ4t+9;G*W$LuR;q}dmgUX3(8$%y2iG)Q#k=f4*NeJ zVX?jpExHHVJUZwZE=7GOD3;`sm&irk=HKm=m)gQU&00N%j<>V+exvNt%bwhH$Hb80 z^LHyE^$J~AA?iFHmfmDfJnEQ%@jV>7r{#3y#CYBD)WyAWi7Nwxc!ffvcPGf!A7+3? zozflE248{Eg}qEb1!)R}T&Ri~&qVUVn7bQ{jm7R8*UBIzyH5CULuMspcUqsm7Z>)jWTn4ScWzREikf=ULk8GBHDHw-n5oFvHJ(sWTISyC+Y`M_sFs+RuCDRPdH@xWm#BReJLBcu| z=dGo3?V~s9Krgb9y90k%j^7`8>R9X6S7UE` z?JrdWWMqtJ0v$h*^1m~5!-FgE=J)T^QPBOi8*<`Ka5q(s`pyy`ghrR5hKM`%kF%HA z@|F&9H8_KyPB85c7a0d7K5?gm;1}A5R@Ay+ZqlE%wREuO=bm4ju<*DUGz6xJ$1MRT z7yvTDBgtlGCklB&pSP34}gHVsg>@CUp;Ge>SwTu{)A( zNO*R8>poTzCYyV%Y6BZ&&^$IKHYP5CFR{7C{!@AUrzOCQ82r{|+178v{NMaqh5oh( ze|*foRm%Mh2qN85{`YlF;9CT&at=oFJ}tzwwcVCV-xxo9gdX)FBkJ#aKn=n;k=2=8`-fA=F@F+Hz$raso+(_OhB zY}RY1iqVDWBVCkNO=Xv_a?bQ$c|FD_kYQUoW*43Bn6ufVxinNG(V!p+|Er$;FNx28 zyP{HH5DZb`77Vf*IrJKbM3_=hTF~gbd1%fY)(4_@FfBJrzLkBx1_C)fo(@Z{3Zrc& z(&3+Jwx%D>>#j7MMn@?&wY6<4`ik;tcFe~lYDyw#bWze9B{+j%`*7?XGb~=pT*sBG z-20ZWqFazZdBEGZu5LqZ-#(A3yaELL+3wv3Orqs9jm=j=%@dVHY6Hci#q(9Zl$Z7e zT*3DhZ-uUnRuq7QEAA!{Cr_QI9rZLF)y0|7dGj?XTIs(5wGOTKUoq0wa@;i3Cuy3f z<1lU}cC7yV`tBRC(rT8mNiJtC0%hKtPLEUFek2zSZaI56t<#kfO>V!zkT5cHyYa-k zp>yuhSlY9w7(5z2FnRD1+)#Pvg2E@6#?E$#?%2}dJ1Tq=v=bXfT;%)%-@&AZ;_TDQ zqFU8w{EL6sFk!!Ha8xkbH|M_r#{~Jujei4n!~!fHV03L@UjN?!4*L8z6xw;0?o{O5s zLi@pFSeVW@nZy2aw{%ncKxRv+k=N2xpZd&Lgn4Grg_lDOmJQh5K16A#?^Vm}jLq4RvSgb*PGfk`M4HY@u^5Mm#boIiG=ewbSe>$TaeOzBif5-?e(Bnm z4|3U^xT2eN4_6rus`t-0jrr)JxF?Pb2;dD_TlL)3c6YyD+LW@QCMT;Kpbqv~F94A% zcE!+*Wap8d!3{4hn#T?}g+ur!LL`_-atBjL zrjF+z!_&@Zs8xfO{gsgS-e=oR-nKig3By9+UA0`{n2ysf4I=;KV&T72od~v253l%d z0Pz26*HCCq%y*Z#w=WGQ`>n zIIwT=#7zr^#7F5;W-+a0)~0bf{WN!>ktie-um!zn+8Tdqe_Z@NADYp{!)d7OYnF0h zQ=SCl*v?a%w7TVS*V`N>gNNKusdDl0Rq@}csmrP&ER6N9{66AuY3N8zS#*7m(!ir8 zN-yjayyN-aI{7v?9|Z^yUHs*SBKCf$i>7QyFH}=0S-%;V&%F5UDwZ+bRg_10GL8!#|j0`KQ*>k$h zkcXnojX0Hs&c&8<3RynO8z5v6?6G>&Rjy_Rx>h=K=FYc1&el9-u4FP#tnuYMRpV$J zzU1y8zJ=1?u^~RQj9azDF^_pwnXq$C4UhI8riri&|JA%iwQ`DuNSQyCCql$e*|gXM zUYd*$C)D88oSLC?^N$wc?;bn^1Fh0s-RnA}7NFk__hDSJhB|lm@C#pij~>F*S~m35 zgq5e>;bD~#wqYy1PKc({D3&gHUUpTsa<$sCiIc>Hl7&K;Ce zjkCu4HVW@2d7XM8eOXZyIN&kh`Y=iHJ{J@$ZmX;+0e6L0Fh4M4Ngmq|{fQL1E*(DJ zhqTxTC}UfjwT`={yts2p&+>wF#TL$P{e`i9jwa-Lo20fA_U;}+>K@_N+tp$6 zJ`tv`dlX>4KJ{);6rS{l2BWHuGu2y@>%tyCJ_& zLU&^_6UTvf4bsgME{}$=QInXKT(pKy(_@LNQd;2!C9tfRy)+SWe25xbd;v#$J|;H)-Z z%WRN@-U+(suP&T)B8a1Cd_Lm7cc+`Qc{`NzUG@y@fo~=9|FKuvTM_Fho47qrh6BRJ z$}6%pg6&LbjYc%SIsia!jvjL(QVME10*5C%N!Gf73g)&Rs>*?RM52pCZU!SxY~ku= zieYvh+LCk*JZT;^h$|@jbgf5)&8c18T@jTdF4nX2Q&37Lix1W+l(sasn-ZlFyg+_y zfeut*VD*&+znL(zzK?9+`N^(@(m^pPvOOB~p)0{WwtK5HWo45ncy9iEX0>GFLf4!H zehOs8<1Z}lDf+%rE6z^X3XWzP`rvTEeSkH#{_KZPo6V8BT#!O391&>?NKlZ)By6MA z6+|c?`0V+_=P`wQ@n^v~#Fiw?mdgjPZTtmjkYx@K~_o@;0@J9xtOq z@f;mOaGkD7fH#VE9br+44W?~iNiE`h+YNVXK~tOAz7QD-s*NwNiyH%6K0=Ho6;)+% zpEu{^g^bWIO~j4|Vv0=X#k#R{}{oqvumeGH;K9*@vQj zT95{VwePhfkoSaY#PywGHIcuPxuwO6YNFfgt!x|;dBQxB-W>*?ZCD+;tP|$ILeCO4 zq}ej+5ok8>~Gh%nPak0S*!SQ!95vZ+4; zc9*0#0WDJ=>8L!a%q#~8u|Xe(`}bmFn-~4zKqyFItv|XA6)-E}NR@I2AvXK=hNn?- zwj^Yd*@W$lf`VzWa`59k*rjZ5cER~!i|sd%OY>sz%Cb;A1pJPO)#J;>TJKt)Cb1R+ zrNiMnDVAcqG(kx#q}lM>Ddf^_DvrE~mJ*F&<`}064D#wiBnZ(RD~jsYhv2rN65HQV zZvQi0fu*#`p2$SJ^uHTOK}e4)s;sfkJ3@vOqzg^K)gnZ)i!BB1%J=(9%$r+Q9zNK* zR)OfwzshCsUPF9AHXrdx4o@=GIUTH+_F#l32Z%f@rq~=7Latmm36?|jVXk^N`+s{; zki2fWBqc*&b9q_3M2AsT;pmxE#3!_hs=)0_dZyYd$v>p0^L-Ap?`7hnuqKw49RlbY zpOOnQ8)kK8N6{1v^(BHXf8vc0ibU*hcVx~e)O2MO7xr^4^OJp^v=p;;hiD1fCV}qg z#l_FsS%1xk7bzjnnKt~S_0OZ0LrM?hNVqF4hiLa&>Z7#Z2pjYGRqy z6~)$m$Q?}QZo@M-^=kkg1L|3X+qcp30AK#VFVi8#c93Zhq{V$4=dGXD;Z2ieI>a4d z>q)iU9q!pg_w-`9;y#)r(%VmRbl#^oz5e<6v{;&1k0s^+`c_+;&i2#_%kcu_3O=@X>F(Zz{;4PD72x`}Zs&SsEh@kjPwt2VngBprVcDKpqr1}8iI02GqxBJ@N z_syG2e1RiUkvj`tw!-FrQVmrWBS1y)%<=29ZAh%GT#<^iT3WN)&-Ih4-{@9Hrp78W ze!7yqFH^U**E9LD0+qvF#P|eOicZ5jSzCf1Go-n-79vhBnGXG?4fkJ(G1LGWUcN1OQ>z6 zDTx_#gHXQ&`?(o%Y$%^sL2^FlW0k}=LS=9H(CwY%T8n;DJ1v`&gw3d{ zj`*cC-F#ll8EKor^3Cfg_(7bm-YiF(_Jo!~N&0d_JmD3v7}pYQ>(&0)I_Z3&?wGe4 zyxUiac;L*T@tQ`xhVK8Yv<}90J~%jVBb2`3FIiCjv>3Qz|G4(FtByZ{R_`R4)p@0#L&p-cXAEi?sx{O}GoKc-+c zM+ht8!M~B>Rc^54LibiDv30IApG>`maz>oG-xoU zyifyYG+`SBRjg=2fcp#MeR}1ppE~msD2+&8xa#XJ;!F}p+92j^j=mx4LD2;TM(EC~ zDf_#4jipSN7tUurDcFGAfuAVr1?967cY^x@!I&~cIa=*}ljlu^bKorN89TK8XGWbui!nx9UqtXv(Oqc&Q4cm)YpTr?M6vD|K7r)-7vy;yj__)m4z@n#ua=FGQ`8S3)`*O%_JZ_9j1y!gU9_ zd(UP9?-M?D*YzX}BFzXJNu;1?E>3{z&7Dxqd8hVFW}K@!T1{h@HD@LGX{4d=%VXx$ z8%zZ(umDGaZ~km`c|jG{zHY?WxbBr2 zB|PD&5M$N`l*T;Cd(n&eg+C)Ukygaww_ak+wUQGa-)E(q@OqMsQWiL;*3sSF;xRX? z(Q*+x_rvgRRBSYZ&y}<)?vVK*=z8otfJ~S~F`tGUVL!1*#3gmk#@P3I7KP)br=!=- zB`eIN?S8I1^6Gp$t8nnA6gB_oqxj`{1@YIOVg z_mQa04C;ieVZ)j7vC^v0noOv~tujpSm4c3Z?z*GC6w6Hkvv)$Tb@H{G6-TrNH}VGQ zx+Ky6Q1iyo%?%3n%Pq9$L@sSc@J|<2-`MWf4Z2D%^xL2Ar)7l|Sh|z*DC@2!Bqy|? z4;n}6aS#vG?-(eF?q=v@Y+SC5=&C_7dXYCcj7VAuI+1srr{aAHzxx16 z^wDsRQUtzFvacbN&Q=RF3 zmL;i~0RYH(0n8g7B>3&Vx_b%rht4)jJuKl17=BhOHl2(yL3(Xf>nnQ4iF{ zf}{}t2U3Gy$84zp^$8yHUdM2aJ@#d!BEkig0>I-F|Kr+M(&ecil_Dx^hwgjUDJQIyCF^g(ZeQX*pbH$-e)7~ ziF`>n^$~YBbT}7u=gmmL)zMZ$|El;n_ApF#O{Pa?-a)#yCV*!_R=@dC{&&ex#)m=I zENDc~M+PWAJ@7ZZM#R8KauC{NM?j3%1OL^t09sY0mB~D3L<=&J-wAzycGw+**4hL@ z^_qoksl!A+6*$XD;hTc%$s)aj;^E&1R??a5E(pS;fQW7lWbrTf_Bfh?yfz( zt?A`x(Qg;g2Of|Ef8Y=}Us0KK#^Bv;oJ>J9_5UwUD@-Db-++Xxne=07lygKu>2xT> z;SZf2O+(wKr=l0-ELB|u(BAOjdR>oLHirzGr60PzVxy*(B!WJlZ$670;maR1_m>4> z-9OsjiTP;aA*NSijiC{F)hAwI!y*N)qFNuTs*AxliY8|B4GS6OAsMoB^2NRI-ot!P z1?QXNJHJy!aRNzc!srj+do4`}>#w!SsO+NkgDs>GQ8+?WSh8=7WeChneap(jaVv%l z=u9gr&Gl$iYO>^|!_W{2n8ae7=GFVY2EQ;Q7eY%f_(~c?1A_Il=M-Dxg(K|VNBXw6~Mb$6kZ?J%iuhW zgC&jTL!0A+%FH?!%qyXF3dcfQkMLO!8b-s3)4`R~({*bgRDMjaa!nIZ&Le&3kz2_D z)-^;nnIYx5>yCC1$ev46#KYm-%}}xsl!$Q*2maOIqk0tNs)fhF3J^^@qG3-LRkiTH zy81xIfLU9cCcAome_qc^QJJze6tz3X4P zXm+j$thb^!UEv9+j9#f;CUk@81|yN0q5|lC2XiQb$+Z&y3 zwlw}0WEcRuhAevWl}@s-5oy7^-S{dWRt&-89Pm(n~hq zX?%C%K2kJnz#y|RA00J8EJZI1-C|SKgc(2ng}eRF{`mj*4uo{~^@ZRru~XH=@y2&+$%4CLrPGwP7O0^8nnerSYge$3bi)b`zy z7d3b#oUYS2m&LCfn;zY|s{;-bYmuhL07UHWfrNMb2)h-6dDk`{;^b&6%g|%ve5W1Z zE}Mu%Ky*`q$9#+*dH7Nq)s+tgg_$F08^bbpvuOG+#P1AQWm)b8X4ZVdNmeJgn=kE; z+(k%KKh<9plY9|}47qHTUNXq2H4%p@A!NJ=N5<5*$Bv?U0$Zb%p6Y6U!A_Vp=HYZh z?ka~OD6jQSfG4PvO-=RRUKpxwXS){yCQzZjvj_^g^wfy9to?D7zCnS|U%`V!t^ilV zt<%TvZobAL56-O9Lgo>)@FTn%<)dr69r;Uj9}iP?o}YB6gqdPwZvT*S=8fD2rL!?r zxHzzR+g^z#d>Uhy4p$Yt2EB+@X7JUyc4eW(2GRE#t_`jYWG%+Ut*}0|2t+!v8RALc z8J?nl5Ka?k0?Gkvo+a4<^%FZ8N$hSctd}evd`}LzIT8d_L(HcZ4vpdg(~Uu^pSU!* z`Rnlqp6hlJHEP$%u#JXwz|n554R4ArN3n&9G}!jJZuw zmf-QJqAoq@32GQ|@yGji5@0QD1I3*}T;M68*(UPKas83$t_JV-!BZd-4bv*LeLrUC z*|$WxZ)oYTqKl?=pHrUxC%#dayG3v|W-0x!Po~(~&84)+^t^Pz_*byKjyhMoZDlaoPIAf*ElsS>s-tBO8+FZHR)5NO6{O@5->H_F1EvlX8!A?l}xYQ-I*v5x*PrCn*X#62wXDi!4EY6V``k z&!AaLo`a`bL$lND6P{-gd=E6uS9LQ6J|S=fj#g0dC;FunTT@4a!;Ycu3GF&``fh#3 zgEUCW+^YyRNvT_jURSmo;`-JXR3=SeRR!_+Q{&l}CrSkZQT)#r7D)Ly-hhPNyNS~V zBTFEyd2wQ_FU8z4*EaTHE-KXxlBrSdrd)5!*Q`bx=8}uuGSiAAhrC(dtA)=?^>DOP zw7h(U+5$+Oh6?y)FsoYFAB8xb!=hk09?g!7KTh&tLAOp`SIDjq(7_3?H9z5+6dJ`j zY86F4AUQ0JCM8);%Vv%gBp{4IaQ1_w$|!uc1M<66qjJ}63gi5WCWGv(F|pm)v327Y z1s$2o(r5ZOA@d4*g&aT{gOz#HhiB!E<2oxz0009yFVF_tpR`OJr84Lrc^NRZmnxmS z1xUE~!t*y_`P(3j6xZNWZDq`yF%V?CfDJ-{l^Xt1D2KQ$o%3c`X&cA(=xKAme>NHn zB>kpwa<((C>#tzm1sndXEc9ZdVG=@iA|fSc6(s1d%U_F0Mt};BHsGje-)Sk{BIW$V zSO=P*xE+7q6tDP_@Ml(v9YKv@Y&LHxK`_?TwLP|5Na;6wNU0uvUlrUK^(cm2<|hJt zB*cy|3%~*Jd%R6?F3Ku?&?zjk1Qvx3+nERPw&Ls zt>&S%dn4`ZNONi8*}9jDz;;91b|Cza5tV18R;b#m1!i#^@#sS&%a?}{pyBpXf<8u_ za_J!4kR>$(cIC<;5{4p2a1rBSm|B`_skue$#o;ofw<-PuwyLLb(;|VUnx>Wv`q$C* zhqCmR&k0vFeg46Bp(5Xz>K)PYHYO+$NG9 zF-*2c&;lV>TI{2wwbfw?flRgsIU)8xR5v&#jMd>6eMm_=l_4-4epO9P4)W;4=t63LcttZF%H~c5}K=t;5uwFB&qmsiIv0 zs5u3)y+}0*(d%_(cuji;egBpj@fbRzx0*#7Rs*5T^cfOpQOD9=Q`%mmigy*X-OvQTaFb18kfvi- zE^sA#=CSYW3$e_bT`TSjFVjA%Y^r|oB?&s+5UC-}$J=f|mf9;Q#%bd9dGk)aM1_<3 zza!NDpRnhDuF3uq4nk#ol?as5LTp+@zo5<%kfC`;B@|BxR%(Wz8MFAb^NXGP8iZ&J z8_prDe4*%<3W0)sCxzoVTdbL%7d4w>!JFGlO+-Rd)V21~B}ond1a%c!%AD@>A0^=k zBP^V!-n3basOU-72-Ju$mQm?N(dM6ufJDnl5s~wv35(Q#<$NV$vk{)e<(=*3B z1{SRF97`rkrs_srWrR3+0s~b%+1WC%Q3a34 zuqw}lC1BL8ZDsrdz0hqk$VTateGW&n;3G)=RU)V{7uMFNtlZ4U?u`-00e405>3i5) zD-#6=JvpC|URXFr#lz1^!zI)ziqVAtk>}=f< z#=j;I0a71$0HO?Yks1b&78;&1!k$6rWw>*aw~jPfzzyz`w7&uTV-HYA=@SMlL0cuwM; zLj|%bd$HOYe||i45M)ML3cCE$Z%$d?_fpt6K~Kfj08vd-iDs{qJ#-?era9J4X-t2) zL&A~R5ET*na08N9t-Uf`)cU2X#rwNf3yt_R3=;3A8ji*nm$#AV-!_ctI>AgS8{3l> z78^{8Vun>y5f?cFczATs!scI zlX^+C=Z`ds5ZvSX=JQ_HA`eE3M^^;zr+r?6bvo_r?E5H#1>0Eizkg0Q_(~swG7}#r zs|)<&JHC)D@dlac`nFs*T$b&56#1;v2bYxzNbxSrifapQOuE{%)1*Ef*OwjgmlfN& zGRLUP>OI55t(Yb*Xbj)!(Y%}1M~|IaGL|;z@T#sZ3756r`OM0L9`sB10E}8tW`X6$ z75w$#Zj_Y9g3Fbv?aLCNpxZOFE#@PBRZ(?a>@TbWZ+}tc#LWp>T8hOP-z2f}4RE+; z(r7zO4O*}*J}JaX&`}$gZC&3n_GXS-Imnz#1{>hWzDkbpl^!zddPxwsTFv?^wJ~2w zU+n)M#?CUR&Hv5UP_)I16STM%3l1%%I20&Of;+*TB1H-m3s&6So#5_X9D=($G+5i; z$$xjxo;`DR&g{EPCX?h%@_e7q{kgAe(VPP89cn3V+gUa%g`MGiY0ZTAl<*IVfl=;sWpOxDp_zJcp8zy3qQw4ZyxRc{!n4=<%=pU zOOSX*&Bdq2XS87c7QpYsqM?Wyqj=kQ;*|0f&msQ?ou+RR$$Rpd;FP4JI}9vD$GI`*CUd8%<$LtC`^f4JZkemF!w3pW)vdB79jh<*Y1mO zB**(cg#_J}moz0&5A7gy8i%9U?(4=>W)@}>c;?1bQAh{}nXP}EmW8|{nqU9D_;HO-5tptuu8ntSsh8a4_6IC-X_H9!!<=X@u zH%i|gmj(OZpXQX~|<&>u!6nyjt-&vNQK;=Tvb*ci{>M>M`Dk8Stq{ z!9M0}BoyT5GV6??LgC0Vy<$2FxvQiuZrfJ-Xq2|9GvOGVl=MsFhqg9uq@CjTOi`%h zz3?G#ts(r<``vT(o zQ%c8>*>&-6yg!yRO>t6^$Ttt%ikN&p4P~}Sc{%*}QO_0$JO^j&ZW3z#%45n{1?8OR zox+xculuh8c~mFUX{=%ya*e@n3uz_b6sALb<}9Z1Rn=uaJY69SOh{se+{%^V!n(1v zLrNbbUU6S;65>)#4@2c9pb}Ef(`%MlFixyr%h` zg$zk)jp(5RT`8$YUsnYL+L~YV9B1b0Yp#YUrTBQL0X~(_TO?LHFHL$}y=}znG-}J6 zE$1Z*`KU;wLDTRG1%*7(Xy{On^5T5PzPR#-1g1r-+WowCyBskaFtTRk*>e{8J6vGLQ&rQ`)Ff*s)Yq%${PjphCY zj(tt-hFkE1m`2t@HSw1lI2JgIpZ>=@m6joJQu^CZW>r}?gC#7!>t}H(Py0!7)*jNl zte3oLEGw0y@xlV3=CtxhwN^fKGvxII(_I+B_1SEB(ZITap`oE56RIAR+C9G(js~R^ zj^bWu&tV(OIB}76H^9;~zKb&TrCR_!eZ`CXBD*xy_uoFgPA*M=8Yz_xIPeHJ$YhyT z$Jly?46912>ytb;a1HJag7kHh4NO0syxuxdne=$}Y`jn7F*ZL? zAi<~V?{QfxF2w4HPbm|Ja6CwNK-LluTpfSsD!SEvgUk$GfHImBmBWJ%c#fM`Z<1MM zq%#^2ZKbxiEmnBvv^=iI{-Va9+~aU<;g6X7Z?B?=f{LvZA4Ti2jD+aE_+_7O_7$iXXVhosX8L-T%eF04&;p4X@u{n;$>>wrM3HlE99DbeaPBCl)vo%=Zn#l2 zB+z+j!GULW-1@b9?ek*(xo?dwgT!V@I0?BB26LgK844QWt#$zOiUdJA&3KxQ|0e+- zKuRDzowjj-1JVbSf`al(I^Nk{bhfq9Mram6K4XnEO(FVvb0_2%j-RzzO+005hn8B9 zsu}GsjXv~t#mGMR|1K~5-}_PjZ?;FsV+2-87o|WbQ5~(#!l|AuxZX_Rccm$GUUXgJ zpx;%kR|BIpq{B_MHD+Wq)fde?C^M0>hTBz4BPW_AzjN8fHhdQM<-GnkD`E&!+A+3O z=5)68bg~W`L`dKE5;`7gi=om<6y2?U_p#>J4RG~wY0scddBu8A=7l(Wr* zkxxrTLR-NCtJ28*==tO3I0ei_^M{4c3Ae1 zn36S?ulO24r+C%6@K#OC?zs*-k}{<^D|e_qPuU6Ek?74U*t>mq@OL4_;i35*2^raj z!v$TSX>oD6G#9B1P-)?0&+A>2eZ1hnLBRv`FBlRhT@IqMw zTeKiqA=OQe&O`>RI!x+&elR?(E!Y2D7I%7X1P(vP=*;}gyIya&f+hT&HTcRN^S<`C zK8!BmWV;-pPlLAk@@+&SYJnT{v|o+-yHvyZ6d-(3HcU*9-Kq?dCaW-GKhuZ85M$F| zFk>Q!QZWt(WeDjUzJON>fMOb4niCcSVlxU$J(&$-b_JBRBls0PocwZ2X5tJ=h=nhOxGVhKkFn>*8)SLa_h6ZW zS}xemPxZo*+*5ztiZ^)qdw@PIc8ArX8$kzb^$QJWXU@y4R7-{k7)>@H5UEjT*A@S( zGD?E-5^0jY^bA*Ct~~Gjvn=zS!lJ6e-P;4WUs}|zkGtO%{*!?|Oy0@eOAUBZy#9$; zQk#WsgdzQlH@drP<3Xf|!Y=Vwp;_7Xel1%3n2bC}oNsfV4KGqR@{1K|E&P%MGH*qv zT!fkTj(a$Y$DO+Iss}i(#+2eUv}JxQ2(h%z3>-q>Z6^Glxh^J5&{uydiYJx?sf#A* zMOXk)2o3u(ysQNMB1vp~HlrJ8r)21OzpTU}zMiA(7(9y2DnY>ILN<*C3EHa1 zjSuFM3y)o}bg&=l`K-~;3}hmjlVRM8pZso#saS21I4mB)ltV%`bR@h)#>eu8eLFs0 zU3*l4)#XAIGr?dJ}b1vRmtUsiXW?F5M8I$ak{FIO^2c^dj zD4JJO9lAsx3}TjeyYJ@NdA_8Kw!3xGawN~5lp!D4ceMQOPZs(l!))TER%`XVaN^7R zmP*J%^K{JezNSm1VspQ3;UtOE(kcgLTgdN3nzHT=U7Mq$l_6NA4a5Ki^1c?u83iB3 z+g17(F8`QH`Ca~py3H9zE0IhbyuVX32z^U72*r-U5^%713eQM<o)d$s7)c6yX(*>qc?RHpcm4K zt(W8a3?JaAsIwO*Dkl6HJ`e5FTi(WyWhxN-WFAZ2X!BQhtKmI1aMN27tx5AWRBk*( z^TXp?+cE>&1Jfr}qPQNvdbr!WqIcTWoFND0edwu0D6PH}o4Y^yRnP3DUM7oRto;z8D$zbo|*yTF$B(m^gX{;wCDD~S6m{@_+ZPODkhfP zSj#(JH>xa%xZn3p!%64)>s0<3CH7%f{Wz9hlmGyF_`(*rJm@?9wfWmOFBPW07t%xN z!xFG>!4gNH#syYy)FIoM^_{+QLr6vwT zc|p-xmL#d1uTW7;T=b0P%!E}bN5;%CrPRyFep*&V_?Cx%rn=co!hxo?_@^;gE-|r% z7$1WEk?T4NpaPJ1p}+zGKUhc8VWA+zQ^g*F zNm*zPwl%Z@)JPj$=7*EA$5-kS1f-KXvn~W-aR$CQYf-i7XGS)M=B3wEHIT@pm@(UZ z??*F3*IA~73)H+O>ZH>S|5XjM#+v+^(1y7Yy+h#d96(4qBAd%sfy~WbK5_|fcNgZ% z8lxCFVrS>+OX7y%<#Y2_sgw+_6ykwb{Pky3NaPBb+{UylD2Y(AzMm64UWy;bs88U< zrp8XlsZ7uyHFpUfCX3vg5u_ReBTx?rzf2{%s|kQ;dX==YBOGhbX(u%;zeA$8uBhV{ zq}m(ilFeRBfHWHs>P{E-vr!muxo`?(P~>U zB9C%O`%adxtlN{l>`dI{11LcJ=;Ssroh&^t(8$*kC^gztW^JBgmgzErQoEMJGLl?bqJw@nvGAfjC>?mpJmgSA^CNJTe{BIQ)X!)QhpXZNAv@!$64z;O!alq|r|pr0;OtXpIdYu3HY0x8 zuF9)QYNjy-W3Mwn*(MU+vCUMPEKIr7(w4rH$l_^wU4cIgVLye?80%2eXlNbmpIbPi zCqv&8mn57lX_@?kl8!uyDrQ`QOOL&pJiNoiLAoHN6LxD)tGN!ck&)PgXSoFX-%U(B z6~E-@9xFHR%DV0V10?@W@qNQ)h_0bz6m*2okp$iTnNDdAwVvye6Rk|=#o2M$LWJaT z@8L%l-&8ulHhD%2L zCx7XiU6(x{(h(@kDB{=5qFQ5>AOEZxBcmVh97SOuYGGoBEn}wpId-dbOBPs?5mP*H zkfh$Ks=ucsliVsmCrXxq+WsI=z+i>2CTqkoxHzGmV(8k9u(B#`JT>Nsj?`W=;G?*-FlnX%tH?R+uHfZFh zwe4n`qOwfDF!TE+>+h|+nT6LFSpDw4Q;xGU+FdGQ)ycuuViZhel8L8fBh8LOFX)J= z2|N)(x(7Y>7_^kCG&HzeB_-df>jVP33fE2)#ZpAp2hF)3oq`Jps(XNw&0dfxD>><$Zhos3e);2 ztBFTF5nQfdOf4YsdKpRQxph!&iE`7+u(*%G$0MahXQ~>iqX1BQ5QKJC26n8^&MWLt zEH>@!^R(Ddk-FUZZp01q+Hgb{tk3}R%Fjj!!it(La+{-Qhr#=dk-r?jT3?N!X~@WH zQ2%lnUD17g&8(3ilPZ?`JlV1}t8i718>$f{w^RpB5K?4q8J3LkJrjph8G3=Tg6i*- zd8rajAqi@4U#kY9O`7?)treW|oiUP~7ubtfXmhz^K;I@PhPbvuyL4bpi#rD=?cM%y zr8T|RR2=e{^YfZgB8qXt*6l%WscHifaBf)9O6%^#{3Lbr)<|pGqsa{HUWu>@CsTPB z#BBmMhA`VZZ()a%;JsYfeSF6&Kc2ASuCnbo&5y^lhX6Fw0_khF_JXV>RL^F>fY7d; zqK(`B0Ef&Q6INzPUXS(;*Sh$%ryO8QmXjnafH4m~ChCSgl0nGj(ew4jS!_jY|6nHkv!?Q6L(VT!czxMZ>zK{1rMJ&}o%qES338%FO zcS`8s5L~f`L9YRsmOe#uDo(NCtT?**&9|9Y``q;9x0e2FYqZB84JSd{F}HO`tou#jV8BK>x2lb?7V>^|{~fN;IU_*vkAQO^3D4u~9r zplD0K`D=Mi`iS`Xy;1R>*ek=wj2*JywP+eQxk&Vq0bx><7CEoaqpc(Ww2n&jjkgN2m_3pEX;3U_dO)lAuVA5ab&+; zK|SX$FGw-&yov}AXJKH{>P)6l)mYZh5&N(U)_;V9XhJ}Qo-xiY6Ak3M*L!8lJXm;w zs$tn8+o8b|ku1RYMsL0<6oT?`oHL=DYc6@4I&8BJ5h;qHIq}Btum$aK-A<_UA`2J= zbPytF-Y!kbrG}gV$>5;8O_oWD=}J#L=oHkBiLZ=@;+yxlQR72xx1{x~20b1Tj}`Z&jZOzaZ>cesl4ChiJ&bd97-!-;v6tb~<;6 zhCyhFvfnJM9j7pguq0S{X;$x9vuv{Z=>vX^_3J)-Cr+-M28yHdlCWHUg@GA<4eFS2 zMu9-2=QkvyCsb`2%wPS=X1B7O)PugID_8CfL3@NlsvwGB*l*HN|94dMA$rqJML%iD z-_Z&gD_6d221z!ekr!0-SL7z*(aRWz%@57|Aox?9Y!!I1bj-Iuc~w8&zY{{@Q2m#| zl7*Fp;)svqjJw+Xjyt3N2ieI1AzC&yz!lrn_RW$m*->)_=G*W&Gmx*O+@a>smI{{8EhZWcsAc~+nt5^~?z-GuG8$m+vpL;Gh4JGFUa z)nrYHn>5Xj)@sDTflRMg9A`U&+t+G0lXV`-aNR~PTWde3+I=>%ZeEO*+_jD9)p3!b zm*HmU>$h|AE7|1nRj7*(C-n{FQf)cS;bf-wf?x+kqu3^}Jq>O^TZEs!{o z;X})5e=}D<7EPfRUUM_K83#byZFLR5eI7Sd26BTy%Ube+mf^5(2uEK>kC^>ttgLB0 zK*x%)`Q9PS6q?KD!R3+?F;Ug-D4ZX=?6^L1NX=o2DMzwxnsE+N#V9%OgnH zQ3d6r09|H>=^Vd4Q%P3m@un)D3*-&c+K~L~M$LS(9%?n4tH}3@BTL$_OGxLEJi!=p zR5XKurQTM7oK>Z_pN)<`wd9ju8br6%LZ?7FIIXf9d)N*{GH+P#=+V8ohgTQ{clxQZ49P zA<@b12IOz9AEABJi!8ror<&c!r+<+p{+mVP|L(b$v^r9o#T!3Ew<(|ussxQ{%F0YL zGQL=?9Xx)>3hv6<;(H&1^*Lm0A%b(nW?NiZHh370=VW0thsNTuU+R{+qz9~eGc`8n z4;CTZ4tsW485?_qR1{e(kmhQ2PT1N|{=!8GvJc#!QzbX~QtgTU4^Ow7Q?&f+!2mTCMB zi}5L;i(($nz_H6#)TH352Px{ac+EldS~L(u-GDcX=BQG|X@7%|vvVzfUiId^j)QT_`B432iJj#Mkn0Ez~L{C^BUw;KU1-Xp+w#M>@b-6#46ZzVkj&Ql+}~D zv|GN$#ah(FD9y<(6l;BIW0{~cFg77tGr)VSJOTmJ4k7B+vJ4(>8vV`*T^S3FQ$?6o~KPV4% z#&RPw;~~M9w6pfiq#jI-iF2~dKp8b#;sP5;13nW9ngw}_M>RRclg}^T$%blA<}mBB z-aVH|mvjSi;tK`&P9mwZ1%oL96S}BmQeQ;_~tV2CE+dnk?ku zW-hb3lJQ#dFM(Q#5}ccU`rp3qR2f$HEl0Q6{zsbNGcYD%?o}NmJE_To6q}&`C)NC zF8EOeI@39;y5>F?iE~q9d7LAm?Gz@g^?sONbcCkRrCS$PEf$smuJYY@t8{z<`O0_( z6L*o2u6a=n+ulsLS`4vn@=2G{fq=i~v#c!|Z8##EBoqAhI=1MIb#>L4XX=W{yUSAP9ra9N&u#2*#Zfd@O>qDV(x2 z=xAe%l?CwXMq^a40QtJY*vKQ(H^#uo;k5}=cQ20kaF zALq@o*)L*f7|mqotL@yyuL<2Mx~u?BlNmNVU|S7a;KI{_4GQ;ED=IjavsAv`@0T+r zXVNt^m`@_AO(J(NkNum^nqwT0LZ07u)t;U*U$JNu4i?tA7;!9!>e-elsqJyi<$|h^ z6C9K+lsy<@`M4){Kf);8K2X`{UTfr8ueJIe%iP4CW00eq7FnaXE_-!C+>BNe%llDT z+p|Aumu}yA>!;3rMNXA`-?QyeqIpxHIXTS z4~OH;cgY!<-t(Ad8%XAOqxeCM9ItR=+JT~l7rEqx*!sUVlY%GL zt*)-yPR0^-ga0b`o8epVYiR+0!Cqs5-kB3|S$woxJt;bt?<~(G$0hv{-=x2;t&C=H z(0V>DSZO{A@o2GSqE+Tkej92?Ov{A;?rbkQy^f8(0 zxxxvd_OOxY+36hogdh2H<p97 zAL@$@s8nKOu^n|jE2_`ANDO!#NN@vsP2QZ`udH_!^~-Wv+4sT(gpx7mW+z4P#e^Hr z47PDiY*!SMLI#aY%h8>mD+951?@KsKldh@@?4$i0$ssETGz!c$7=>Wx=`8PWWGtt` z!-~nsf~ltWFJ|9zcxg{QIfG zxACi*fcEAEpL^T3C$2Yf8tQ|~Jxij!MS}+y!c0g29&1FaRwcxvCWWkUkg>Wnv~gMy zx6xrSyHH}iSUEm!cqGt~(1I7q+&0UqJSLTqiJILejVTRQS~N;7yQVWuhpfT}{z2jQ z#iM#g8?|(K_`APf-It&8))v4ta&|T~)Xf-U%tJs}=Ih&DuA&ra@T%om$u^w=fz`%8Ejc?Z7!I5e;ufBM$c1@H z@eQdNlkwP=1i|nFX!Own1vC{a^tr%#4>dos@nJ)eH4UKM{t8YA@3I|gWj?)@rXpb1 z8!{9c{2slo#SdZFWf$7wKdrr0nVk&QDR^D@^S5l0gKcS1*h)XMJY|0XBoh^u=xs<_ zR>3FnjvVS^%UPOfaBSNHGZYX1lAhNs+FS>@^gI#G9ToY6fhW!{P2ya?w;xeu?zrn} zzs{pZNBXN~px`?iQ*^XwZ`IV+#MIujAtZ;P9OgBwXv{*Xx5ne5X2jrDR>(cEF)Q_8 zN=9#uH~Mu}?;z1K3kDL#6{!@^&{i61y>Qq~Pp&6kFO3{}lCVMxvX#yWnlbzILpg)jxu(iohLc6S`Jf=K9tHnw{P1R5t0Hz zQ6VRTkX+Eq9|02T&g8k!M@x8TNl?Q<q*LVJDP6a;1qRrRxPKUd{-lSy}6 zLfP_@o~J8w9P9G{v~?#RC*|buSnL)9b0l!yADl*cSPbuIa4vX>X1;QU?AC!Xlx`d zuyLK`>cKf|_s4k-VXljnmj$ zuELp%pJhf>n%(_}nXqiYQrB@lB;qF^bJwf6O~fWRrSoshhqk5+@_vpf(x^Gnyaks5 z8X7~%p)X%rCci~YQ$%y{|uE6~Ck_ z*3s`5Kw82?ZYbUE4FWA~XuYtKwPO}#)R{|~)94A;ovdu7JV^61QwV18d)Bl9&J*zF zmsi%bepzfSmLt3UE$!rWS}h)2BwEh=+3A>=veah1RWJH}k4lWrUrW0RviJRP)k*3)6( z_$$*pmRHY7W=1((+cndLug~E-%zxoXzO)+syeSm_>mQUac!j;30z-3KT-u671^|GL z;{h!?IAFocO}Pnb|If`F`r} z2YZ~K?#9{yPQql>!NKKVu{4;+MCep;iF-^;y|Ux^+BuiV>LCqT?AhO47km8Vb~~3Z z6o?SplRcB-plbYZeEZ<7(UldE-Jr#(Bd6QHCu4`Rhiq|ukcJEo9n%G5Q1F~P zsgmBpE$Cp|e50LzC}8wVf^FKi_B&!o;D9T zf`6OGbYIeM(C6opsQ=pnfWlVC&p5E16l+dkH}Lo?Mx@w>i>?x~{u~S%^U{iZU+aQQ z(aD&GAva(HrdJMei->cbbP~vkd2h%jgNc7g-UGR%`RS7_)}>y*v$!EtOS6m14c`IJ zkk4Murr5smSF3Eh_j}RhrR%Y6XQkHWnq~phyD)F(rwPSB6>kuBwBtzYI$+G#nlCHU z^Ah4O8zepUx7tq4YIQ;m}P+s?S-%&Ioe@deN1iHZl<@}N**;2r6-)LCiF{e>dsrI3~1 zg{*OgbZD<2zs%>6{a`uKgnIQkK&ot3jY~p#Gz$vIJ!G%T zE?-+)GOC|COAk8c_@h|#6a}z+OFa5+;+KVT3mZI=#SfGtZiT9 z9f!XdoYxC$9KZwldd9bZ_r+}LjJ%i{a!i0m;l^T*9Um2hPFs|D*%=eptowM};@Q6~ z1^b<%p8QR;M!tV&-JHoyOG@L5!)eK(M`H&SrlX~sEg$-0DEDmN%YRUMADv5jb=9I5 zy2#u1+F0ZXeW-lvv8b!@uXM>3CdU@d>olk9J2bX0e!L@s3bn6r?3lKcSOf-+toPny z@wR}~j{IlG{8Or-ifA1|k}+(~hzOQ_;?&hZ8uI{bp|B{^Be*gtc|*?$QVw1J@=eS&Dj_AlykOJ$bhyFR zN%<9#38j6mo&ntbNock|EXw#v?Gl=wjcM{= ^7LQPG5|S8HBnjbK&{Varf&enu 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�n^{%wI@1)$;E0&hoP*4^oh@UsECT@WN zg~q^DqMfm#s~`%UBSPR6x6vJqA`FPdl_Dp{R!OuK(uTNeBlhBv7PH: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 VTqMd#vaNP)mx=y=wqw28`xj268qELz literal 0 HcmV?d00001 diff --git a/examples/starter_1/__init__.py b/examples/starter_1/__init__.py index bc34d7d..4428f78 100644 --- a/examples/starter_1/__init__.py +++ b/examples/starter_1/__init__.py @@ -13,6 +13,8 @@ from .models import MyRole, MyUser, Project, my_declarative_base from .auth import MyAuth +from sqlalchemy.ext.declarative import declarative_base + def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) app.secret_key = 'v3rypowerfuls3cret, or not. CHANGE THIS!@' diff --git a/examples/starter_1/models.py b/examples/starter_1/models.py index c7da285..c27de6c 100644 --- a/examples/starter_1/models.py +++ b/examples/starter_1/models.py @@ -1,10 +1,11 @@ +import os import jwt import json from flask import current_app from werkzeug.datastructures import FileStorage from flask_arch.cms import SQLContent, DEFAULT -from flask_arch.cms import file_storage, SIZE_MB +from flask_arch.cms import file_storage, SIZE_MB, SIZE_KB from flask_arch.user import SQLUserWithRole, SQLRole from flask_arch.exceptions import UserError from flask_arch.utils import parse_boolean @@ -15,10 +16,17 @@ my_declarative_base = declarative_base() +# TODO: remove this in production, only used for unit-testing +upload_d = 'uploads' +if os.environ.get('UPLOAD_DIR'): + upload_d = os.environ['UPLOAD_DIR'] + print(upload_d) + class MyRole(SQLRole, my_declarative_base): def set_json_privileges(self, jsonstr): po = json.loads(jsonstr) + self.privileges = '{}' for k, v in po.items(): self.set_privilege(k, v) @@ -34,7 +42,7 @@ def modify(self, rp, actor): # using file_storage for storing profile picture (EXAMPLE OF SINGULAR FILE MANAGEMENT) -@file_storage(max_size=5*SIZE_MB, regex_whitelist=['jpe?g$', 'png$']) +@file_storage(upload_dir=upload_d, max_size=80*SIZE_KB, regex_whitelist=['jpe?g$', 'png$']) class MyUser(SQLUserWithRole): userid = 'email' # indicate the user will login with 'email' as its identifier @@ -97,7 +105,7 @@ def profile_img(cls): # only allow files ending in jpg, jpeg and png # store the files separately for each content, with subdirectory created using the 'name' attribute # EXAMPLE OF MULTIPLE FILE HANDLING -@file_storage(max_size=5*SIZE_MB, regex_whitelist=['jpe?g$', 'png$'], subdir_key='name') +@file_storage(upload_dir=upload_d, max_size=5*SIZE_MB, regex_whitelist=['jpe?g$', 'png$'], subdir_key='name') class Project(SQLContent, my_declarative_base): __tablename__ = "project" diff --git a/examples/starter_1/templates/users/del.html b/examples/starter_1/templates/users/del.html index c5bbc4b..9a1a640 100644 --- a/examples/starter_1/templates/users/del.html +++ b/examples/starter_1/templates/users/del.html @@ -7,6 +7,7 @@

are you sure you want to remove user '{{target.name}}'?

+ {% include "includes/csrf_token.html" %}
diff --git a/examples/starter_1_test.py b/examples/starter_1_test.py new file mode 100644 index 0000000..b90b0a0 --- /dev/null +++ b/examples/starter_1_test.py @@ -0,0 +1,220 @@ +import pytest +import os +import re +import tempfile +import shutil + +# hacky way to use a different upload_dir when testing +tmpd = tempfile.mkdtemp() +os.environ['UPLOAD_DIR'] = tmpd + +from werkzeug.datastructures import FileStorage +from starter_1 import create_app + +@pytest.fixture() +def app(): + db_fd, db_file = tempfile.mkstemp() + db_uri = 'sqlite:///%s' % db_file + app = create_app({ + 'TESTING': True, + 'DBURI': db_uri, + }) + yield app + os.close(db_fd) + os.unlink(db_file) + +@pytest.fixture() +def client(app): + return app.test_client() + +def parse_csrf(resp): + mt = re.search(b'"csrf_token" value="(\\S+)"', resp.data) + assert mt + csrf = mt.group(1).decode() + return csrf + +def login(client, email, passw): + resp = client.get('/auth/login') + csrf = parse_csrf(resp) + + resp = client.post('/auth/login', data={'email':email, 'password':passw, 'csrf_token':csrf}, follow_redirects=True) + assert resp.status_code == 200 + +def logout(client): + resp = client.get('/auth/logout', follow_redirects=True) + assert resp.status_code == 200 + +#TODO: allow multi-testing by fixing 'is already defined for this MetaData instance' +def test_all(client): + login(client, 'admin@test.d', 'hunter2') + + # test obtain profile picture + resp = client.get('/auth/profile') + mt = re.search(b'src="/auth/file\\?filename=(\\S+\\.jpg)"', resp.data) + assert mt + profimg_name = mt.group(1).decode() + resp = client.get(f'/auth/file?filename={profimg_name}') + assert resp.status_code == 200 + + test_file = FileStorage(stream=open('doomer.jpg', "rb"),) + resp = client.get('/auth/renew') + csrf = parse_csrf(resp) + resp = client.post('/auth/renew', data={'profile_img':test_file, 'csrf_token':csrf}, content_type='multipart/form-data', follow_redirects=True) + assert resp.status_code == 400 + assert b'invalid file size' in resp.data + + resp = client.get(f'/auth/file?filename={profimg_name}') + assert resp.status_code == 200 + + test_file = FileStorage(stream=open('wojak.jpg', "rb"),) + resp = client.get('/auth/renew') + csrf = parse_csrf(resp) + resp = client.post('/auth/renew', data={'profile_img':test_file, 'csrf_token':csrf}, content_type='multipart/form-data', follow_redirects=True) + assert resp.status_code == 200 + mt = re.search(b'src="/auth/file\\?filename=(\\S+\\.jpg)"', resp.data) + assert mt + new_profimg_name = mt.group(1).decode() + assert new_profimg_name != profimg_name + + resp = client.get(f'/auth/file?filename={profimg_name}') + assert resp.status_code == 404 + assert b'Not Found' in resp.data + + resp = client.get(f'/auth/file?filename={new_profimg_name}') + assert resp.status_code == 200 + + resp = client.get('/role/list') + assert b'"project.view": 1' in resp.data + + resp = client.get('/role/insert') + csrf = parse_csrf(resp) + + resp = client.post('/role/insert', data={'name':'NEW_ROLE_TEST', 'privileges':'{"NEW_ROLE_PRIV": 1}', 'csrf_token':csrf}, follow_redirects=True) + assert b'NEW_ROLE_TEST' in resp.data and b'NEW_ROLE_PRIV' in resp.data + + assert resp.status_code == 200 + + resp = client.get('/role/update') + assert resp.status_code == 400 + + resp = client.get('/role/delete') + assert resp.status_code == 400 + + resp = client.get('/project/list') + assert resp.status_code == 200 + + resp = client.get('/role/update?id=1') + csrf = parse_csrf(resp) + + resp = client.post('/role/update?id=1', data={'privileges':'{"user.view": 1, "user.add": 1, "user.mod": 1, "user.del": 1, "role.view": 1, "role.insert": 1, "role.update": 1, "role.delete": 1, "project.view": 0, "project.insert": 1, "project.update": 1, "project.delete": 1}', 'csrf_token': csrf}, follow_redirects=True) + assert resp.status_code == 200 + + resp = client.get('/role/update?id=2') + csrf = parse_csrf(resp) + resp = client.post('/role/update?id=2', data={'privileges':'{}', 'csrf_token': csrf}, follow_redirects=True) + assert resp.status_code == 200 + assert b'"project.view"' not in resp.data + csrf = parse_csrf(resp) + + resp = client.get('/role/update?id=2') + csrf = parse_csrf(resp) + resp = client.post('/role/update?id=2', data={'privileges':'{"project.view":1, "project.insert":1, "project.update":1}', 'csrf_token': csrf}, follow_redirects=True) + assert resp.status_code == 200 + + resp = client.get('/project/list') + assert resp.status_code == 403 + + resp = client.post('/role/delete?id=3', data={'csrf_token': csrf}, follow_redirects=True) + assert resp.status_code == 200 + assert b'NEW_ROLE_TEST' not in resp.data and b'NEW_ROLE_PRIV' not in resp.data + + resp = client.post('/role/update?id=1', data={'privileges':'{"user.view": 1, "user.add": 1, "user.mod": 1, "user.del": 1, "role.view": 1, "role.insert": 1, "role.update": 1, "role.delete": 1, "project.view": 1, "project.insert": 1, "project.update": 1, "project.delete": 1}', 'csrf_token': csrf}, follow_redirects=True) + assert resp.status_code == 200 + + # MULTI-FILE UPLOAD + resp = client.get('/project/insert') + csrf = parse_csrf(resp) + + invalid_file = FileStorage(stream=open('dev_run.sh', "rb"),) + resp = client.post('/project/insert', data={'name':'UPLOAD_TEST', 'csrf_token': csrf, 'project_files':[invalid_file]}, content_type='multipart/form-data', follow_redirects=True) + assert resp.status_code == 400 + assert b'invalid file name' in resp.data + + invalid_file = FileStorage(stream=open('dev_run.sh', "rb"),) + + resp = client.get('/project/insert') + csrf = parse_csrf(resp) + + test_file = FileStorage(stream=open('doomer.jpg', "rb"),) + resp = client.post('/project/insert', data={'name':'UPLOAD_TEST', 'csrf_token': csrf, 'project_files':[test_file]}, content_type='multipart/form-data', follow_redirects=True) + assert b'UPLOAD_TEST' in resp.data + + resp = client.get('/project/view?id=1') + mt = re.search(b'\\.jpg">(\\S+\\.jpg)', resp.data) + assert mt + filename = mt.group(1).decode() + + resp = client.get(f'/project/file?id=1&filename={filename}') + assert resp.status_code == 200 + + resp = client.get('/project/update?id=1') + csrf = parse_csrf(resp) + + test_file = FileStorage(stream=open('wojak.jpg', "rb"),) + resp = client.post('/project/update?id=1', data={'project_files':[test_file], 'csrf_token':csrf}, follow_redirects=True, content_type='multipart/form-data') + assert resp.status_code == 200 + + resp = client.get('/project/view?id=1') + mt = re.findall(b'\\.jpg">(\\S+\\.jpg)', resp.data) + assert len(mt) == 2 + + resp = client.get('/project/update?id=1') + csrf = parse_csrf(resp) + + resp = client.post('/project/update?id=1', data={filename:'delete', 'csrf_token':csrf}, follow_redirects=True, content_type='multipart/form-data') + assert resp.status_code == 200 + + resp = client.get('/project/view?id=1') + mt = re.findall(b'\\.jpg">(\\S+\\.jpg)', resp.data) + assert len(mt) == 1 + assert filename not in mt + left_over = mt[0] + + logout(client) + + login(client, 'user@test.d', 'asdasd') + + resp = client.get('/role/list') + assert resp.status_code == 403 + assert b'403 Forbidden' in resp.data + + resp = client.get('/user/list') + assert resp.status_code == 403 + assert b'403 Forbidden' in resp.data + + resp = client.get('/project/list') + csrf = parse_csrf(resp) + assert resp.status_code == 200 + + resp = client.get('/project/view?id=1', follow_redirects=True) + assert b'cannot view, no ownership' in resp.data + csrf = parse_csrf(resp) + + resp = client.get('/project/update?id=1', follow_redirects=True) + assert b'cannot view, no ownership' in resp.data + + resp = client.post('/project/update?id=1', data={left_over:'delete', 'csrf_token':csrf}, content_type='multipart/form-data', follow_redirects=True) + assert resp.status_code == 400 + assert b'cannot modify, no ownership' + + resp = client.get('/project/delete?id=1', follow_redirects=True) + assert b'403 Forbidden' in resp.data + + resp = client.post('/project/delete?id=1', data={'csrf_token':csrf}, follow_redirects=True) + assert resp.status_code == 403 + assert b'cannot delete, no ownership' + + logout(client) + + # dont with testing, remove temporary upload directory + shutil.rmtree(tmpd) diff --git a/flask_arch/blocks.py b/flask_arch/blocks.py index cfb7ca2..5eeca48 100644 --- a/flask_arch/blocks.py +++ b/flask_arch/blocks.py @@ -2,7 +2,7 @@ from .utils import ensure_type, ensure_callable import traceback -from jinja2.exceptions import TemplateNotFound +from jinja2.exceptions import TemplateNotFound, UndefinedError from flask import redirect, url_for, flash, render_template, request, abort, current_app, make_response # late-binding vs. early binding @@ -150,7 +150,13 @@ def _handle_user_error(self, e): if e.reroute: return self.reroute() else: - return self.render(), e.code + try: + return self.render(), e.code + except UndefinedError: + # template variable undefined, + # likely something bad has happened + # (i.e., user posting to a route they're not supposed to) + self.abort(400) def client_error(self, e): if current_app.debug: @@ -160,6 +166,9 @@ def client_error(self, e): if isinstance(e, exceptions.UserError): # is a user error return self._handle_user_error(e) + elif isinstance(e, FileNotFoundError): + # file not found, 404 + self.abort(404) self.abort(400) # response 4xx diff --git a/flask_arch/cms/blocks.py b/flask_arch/cms/blocks.py index 1b96d69..c07441f 100644 --- a/flask_arch/cms/blocks.py +++ b/flask_arch/cms/blocks.py @@ -59,7 +59,6 @@ def route(self): except Exception as e: return self.client_error(e) - class PrepExecBlock(ManageBlock): def __init__(self, keyword, content_manager, **kwargs): @@ -145,7 +144,8 @@ class DelBlock(PrepExecBlock): def initial(self): rp = RequestParser(request) c = self.content_manager.query(rp) - return self.render(target=c) + cv = c.view(rp, current_user) + return self.render(target=cv) def prepare(self, rp): c = self.content_manager.query(rp) diff --git a/flask_arch/cms/files.py b/flask_arch/cms/files.py index 6db7c7d..dccc3a7 100644 --- a/flask_arch/cms/files.py +++ b/flask_arch/cms/files.py @@ -54,9 +54,8 @@ def get_file_path(self, filename): store_dir = self.get_store_dir() filename = secure_filename(filename) path = os.path.join(store_dir, filename) - print(path) if not os.path.isfile(path): - raise INVALID_FNAME + raise FileNotFoundError('file not found') return path cls.get_file_path = get_file_path diff --git a/flask_arch/user/base.py b/flask_arch/user/base.py index 977b649..097629d 100644 --- a/flask_arch/user/base.py +++ b/flask_arch/user/base.py @@ -18,7 +18,8 @@ def set_privilege(self, privilege, set_1=True): if set_1: pd[privilege] = 1 else: - pd.pop(privilege) + if privilege in pd: + pd.pop(privilege) self.privileges = json.dumps(pd) def has_privilege(self, privilege): diff --git a/requirements.txt b/requirements.txt index 9e2b3c7..7d1a1bc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,22 +1,6 @@ -attrs==21.4.0 -blinker==1.4 -click==8.0.4 -Flask==2.0.3 --e git+ssh://git@github.com/ToraNova/flask-arch.git@fbcfed2a9575e4fadd6d47fc809ec951727a498f#egg=flask_arch -Flask-Login==0.5.0 +Flask>=1.1.4 Flask-WTF==1.0.0 -greenlet==1.1.2 -iniconfig==1.1.1 -itsdangerous==2.1.0 -Jinja2==3.0.3 -MarkupSafe==2.1.0 -packaging==21.3 -pluggy==1.0.0 -py==1.11.0 +Flask-Login==0.5.0 PyJWT==2.3.0 -pyparsing==3.0.7 -pytest==7.0.1 SQLAlchemy==1.4.31 -tomli==2.0.1 -Werkzeug==2.0.3 -WTForms==3.0.1 +pytest==7.0.1 diff --git a/setup.py b/setup.py index 87079e7..b5fa8c3 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import find_packages, setup -_version = '0.0.7' +_version = '0.1.0' setup( name='flask-arch', diff --git a/runtest.sh b/test_run.sh similarity index 100% rename from runtest.sh rename to test_run.sh diff --git a/wojak.jpg b/wojak.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c7a64a60b306735b6eaf3599e7c8882807d2136 GIT binary patch literal 45178 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 I0N!8!*;}}3mjD0& literal 0 HcmV?d00001