From 8349b65a831e660b05df91d8fb9c126620d2d9dc Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Fri, 27 Mar 2026 00:15:23 +0100 Subject: [PATCH] info about shared memory, calls, events and log files. --- main.rkt | 2 + private/lib/windows/x86_64/rktwebview.dll | Bin 87552 -> 91648 bytes private/lib/windows/x86_64/rktwebview_prg.exe | Bin 140288 -> 141312 bytes .../lib/windows/x86_64/rktwebview_test.exe | Bin 28672 -> 28672 bytes private/racket-webview-qt.rkt | 38 ++++++++- private/racket-webview.rkt | 4 + rktwebview_qt/main.cpp | 17 ++-- rktwebview_qt/rkt_protocol.h | 1 + rktwebview_qt/rktwebview.cpp | 78 ++++++++++-------- rktwebview_qt/rktwebview.h | 2 +- rktwebview_qt/rktwebview_qt.cpp | 41 +++------ rktwebview_qt/rktwebview_qt.h | 3 + rktwebview_qt/rktwebview_test.cpp | 11 +++ rktwebview_qt/rktwebview_types.h | 17 +++- rktwebview_qt/shm.cpp | 45 +++++++++- rktwebview_qt/shm.h | 3 + rktwebview_qt/utils.h | 21 +++++ 17 files changed, 205 insertions(+), 78 deletions(-) diff --git a/main.rkt b/main.rkt index 1be7cee..7449c53 100644 --- a/main.rkt +++ b/main.rkt @@ -10,4 +10,6 @@ "private/wv-dialog.rkt" ) webview-set-loglevel + webview-version + webview-info ) diff --git a/private/lib/windows/x86_64/rktwebview.dll b/private/lib/windows/x86_64/rktwebview.dll index 3db76d5f2dae0a20f3fde8618888828e77333d82..86416e87d5dfa2dc55046cdb7e4fe806040d9272 100644 GIT binary patch delta 33982 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 I_`dl601Ep)_y7O^ delta 31582 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 z%0D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 diff --git a/private/lib/windows/x86_64/rktwebview_prg.exe b/private/lib/windows/x86_64/rktwebview_prg.exe index 59331da00e8f5d901d865e0192f10a836c560d16..6fa294d8ae8745948d115cb30ba0e72fb677065b 100644 GIT binary patch literal 141312 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

Qnxjipkz77!!iC@f|{(-5;B*$d0A?E`+)V z>qE>=+LZ(%P&p1!2z(=Jrz}8RXjcuLnO=DXD>xixg=7cOmxvL#DLr58`U@?Ze``(b zqku>O?(Yd@AM=C}Be+f_%4-Ki#C5?$`SefBCQ_P_DoqN}U8TdZqk?JPp%77akHN@; zPL-->HZwE!5H$lTYd@=0RJJ(34n4hybcoD{+Fr1FPe#b8Zhb}O_NZi-t_mRr&L@ym zI&Nk2U5QPK=}vvfueAR%HQqs+adzodM~Rs}B7=WIh@m7JO4Pg z_*V2Gnmh32QM%(|ap>qSeHYn?3(!MuBeC&sPp|qGXYfDy z8#G(EL*fozCt)D3_p2hK(_GgeCz!T5mnO;9UqU+A1MyTl@J*7d^`Xq%{`W%_qqdsv zGQG-VzD=2pww)mNN4z&u`UhWy(LW?oMMXZkaQ05pKeUN|8YDyYFHVWSXC&b{Wqfpn zAYsXtWr*gFT~92koq*oq4lo5K)Qe?gqOS3<*GOZ7q%r$sX`t`9hyYI;(1n1M{7; zC1Y!HOli+$wEtIFW3+C>Ugn_1avxlJ1F?We$v(Y?9zBA@H~}A$-}D zDGIHUo-H$hMIC8K&e~k{Dh^529$l1=5EEHc?a{0#SVa z*%HbIlEu`LgWNsXzri_UUmr*m`kE;_WJc-505h8*-VI!SW5Tz)=wp4(<5G57!CT=; zyx$t3#G4qaKDleP28hJNo9cfF%!@%04>uL(n<&qjD2;#JXV}8f?HD<|jSiL`* zQG+wEYbK%_xf?wLsya-sll&3iVk4M0Q^2V6_aS3yNSOvYF$>}%tsrOJ*nr=3rHm-y+C~>Ko^at0Vge;phcL%ye3l>7ntnd!eOoeeZ432)l{$?sBMa|nVDxD+6M9mqZ8P!JZid59t zqtluV{fMupYRw0Hir*~iQA=K=2dJ9MCfo7w_NmGaQZ+I_)jyIsFqce_s`LMAs-Bwx zyv(al*ks#^^|bbQwUg?E;??6YDqh95OV#cu3hIV3`B!;$W`L?o6;+Y;_Nf{Xq^e7R zsv9rjz^!<7Z>Rs3s#^+yfqC@;n{0o#wNKSz5ttYJ!Rg$5vFm{a;h{eStyM zSwvOU>p3l_61iJseU#Vt*5gBZ^vp}XZd8h>HBlP*rFGmmpy4=Ss(C@^T+OHZ(dM=?TLUF`o-rZ z=0+70E@c649qX~;eY^68%Vh!YM)V`%tJ66U;r1+$CLma zBmkVe!2pS9za_w@KBACys>_T3nQr7?`LoA32m#394)|ijj3kE`W)JqcC^Oyeb%q#` z>u528KQ=LflP6U6Gj;6q7NdrHmBbi_^=2_TaSo{%b8!A0jOe6RQI=|!RzkGgH7_h9 zP%E~j8)3^3TkRA#_us2HVV^pImWNpqV0Z(DS{QR-w1wPJrgJF;Uu_-XL>D{je6m7= zq@mA}*Galf%d8~-{H=@&`dH=sdCW$Ky*iXC0nXQ6PRiN2ijAbvfPYzfJ(l^Il@5RG zkIe6B(77i#^;fYYm-Lz}rE}Y{HxFM$E5EhyQ_k6MlJf-cvj4H{l18z%4wvJ1|I zqmIBgAqnydkCmjhXF+YZSN8>3d|iOO`V1J2?-S|D0Q=I8aG_Zk1jUTzuatiuUkqxm z{)8-a2WoB9lif&_myfTeU{1K5kFUDXG~akZvD;eDf2A2YHAUhs}}7aPwxb_H-w!XP;fVZ3AotO?Zdg(IJ=8AP2PVK zfr8KQ9mninZPevpkGdZUpRZPq=%iH~!~QAa2*iukAZVIcj)8v2Y-$$U&C@71$N6K% ztvO^?A2t@k9fuY;P@qTy*Vba53Fl5UKpx6XL-NOpxJN0%q#O5Fh0N4;LjsV#6>2UAW!F_9GgmsA zDumA&Es8TrTy6TxPRf>=SE1_o0T-Ye(8;a`nNndLmd95#A05r-%}g<0{b*dcli@po zt622g2hxTk9MAp$xU`8_rC$uE;D)1>=wj8bp^Gs{1N-!Ald<7w<^an76x{HEinow+ zSUY7mbGH|l2iQDC6^8698XG|L%~FLZ7KqT=0KwVBLKt82$LfeAF=7#eG5(usa_yAE zoS2`&VrnJL_fy721;^~S(ls);y%GDw4wGix_8h{@!+P>&YAw<*C(;u`85B?#V4-8o z&ZEd1Ly&JI0Q%weJ1D@x`HK!>^+L4QRD23G%UH%BI;Fep-;xx@~^AO0u6w&-4QXtbY)o&pY|np0en^>lQYw6YpK1* zIR6^P60p~?T@Y2Vh0;S3e}`oyPG_zdh*O(S$GzBRfv|q=nu>Fg_0tiiANGME3_fp+ zU`{{CjNrJFP^MHsyY)(JPf5WvMBc~l;ny6quUPs!7vf?4F!oiLc4Fca|MDapdVkshvFd z`G3<+?ujHSl z^r+}`U&lhXeQ_O@04n-Wg|`>l%lC&D!YSpVl<*3y7vPGBXDrJwUZxx1$u?w1z&0w* z9z707uq2Y#fXi|SSA)Ni!_t9JT{b(wMl8{hOVh1HJ)wD%=T}i6`y!ZP?i z$9rLGP2Ab-5NCe|AI^dxCdYZzwjsE9&}1bP_H)qQVs(^BL{UMJa7-o1$%FRf4%tNw zq}z`o<${FoEUE+e5cjHWM1NNk{m!eJ-l8^!J-L?&zQEsX$;y3_l`PK6+IF&%&`wrx zNK|!vB?1epv%zZRAl%O0rZ_S&oU`QiMbH|ClkQ}uK7mz?kY+y^GAdfN`jkVuzX-lA z${`5P=1iFjCA;aD{+y@mz+406Dkv{G0eLBIT_k@=ULYq#A_zOFn9NWVK}-Ta(37a{ z5KSe~okF*Lrt?e~cf@p`rf)tJvUJ?a7^io}zF;f@ZzH{Ix88gwHHaL90#{)V5iOQ= z;csEEW<@SdKc2%}knKfpss=VmVdjit2Jbk11+i5B7NBo1#kqv&qc#O( z$-M0X>k z)N-sWL#AVIs)RQLKN0I$SF%&!^3r{I(tg1&1eHQX#`1`2$Fr|c7ISJBJK%u$3Igd9Vv z0UdM*8dIXcnE&Rjai^O9rozWM8|J@RaSrI96`f3NtD_$!)240x1kS;>br;zv-yV!_ znJ&?ypabnoBn0j5$nvEuG)Z%d`D#>G+-;pwK&6>-O!$I0)<}jjQ?&D;dJ< z)ip3cb_y2~pt<`{B@28L+vED*a#?W5V;4NoSs&!#&bK5UEQM20;~Fro1lizLCccsD zssfUFb-F+H-^wGlm=r4BO}m!LpSPQ-``#YckB_Iq$;3^bbWeNW+I1*R^{u3;0a8_| zq^b^5)j-+<*2g6A!~WO=MLwncB+@~OPvg6JmN?QD2ZL_pd+w#~)yVas?|-M8&OWq* zS9H@EoGNa>t|Ypoav>Q8z;FW@`oM4#8M?zj`=*Yd>5W}R1}vk*`e0B=U2_?8>1maD zKWtPr-!5W*aPhGzD)aTA{4fGNuK$|Jng6bB<`4g=%vY&2sE86(&7#adg>-Nf9U98< z_#OwlcERw+)#x=DJMOmMOhSY%1U!ilmVr@+i8@f_$N3y=^krgK?+#okg#oJHTiRlX zkc%7c;OqBhx2|mA;ik&=+}T7)o66>mM^XVr=33Z}L@TNg8dNQ$(vz*fMG0hnAikNJ zli)_{l>>1Z&iQyQ#xoXA7M|&NuEb;17;c-Xeqg5(7CDA~qb`3vpHc2tgDkZ4eMy-4 z!~~4{u0k@kwjo{soIY7=TT?+M9BGL!I6iXMT${8BVH8%>y;yz$sRjCvk1) z$5p_VGne8)Ky3e-M<$$V2MoW_B)V@r<_7koDckCbOh%NK$xzPLaq!Bz00Bvrp{Q6*W)trLi=9AhM9NUnub#ve zi9A_PC)PMsJHY-uxmuvRm`4KKMWHbbd)>Yj@k{`k^Kcf?2h<>0edrX}VC(iRS)-ZS zTi+6j6=;4<>yhr-sno!8!O(diFw~4i=g|jdx|3o81i*{=rt!h{9$M&!u=;Nyob5OH ztUserZ9{PhI&T$)-W!<7{TFiV#&8Xig7F@4hUHjIHFP&vkR4!w1KNLJx{YR~a%e~& z-UnE!UiZ+R2wBj?6pIxSrTVYH{Mz=E`N&ADJ6H_wA`n`Pz({HKRl$+cy(}CuQp!iG zV;U*Fu-TEVqrJ0-teIC?b6$PdIG}7^1QLM;Vu7bq=j%f$D zpoew{83#cINC6ph6d5>zr8ODHT9MIKubYAdf6q{40Qn<|H$+Avi~)5n?*Iuv+CJ3@ zz3?uVf95_C&68fB3g31vP<_H;D*ef4QW|YaKeiVL3Un`i4wN~Tg#8Ri0?idrDPzSp z4)X*K%oDVjA5c?Qt>ocZ^eSpky~x8w)Ge?)>{cumd6=0UkcYb=0=_FesvsD zI39}Z9*WmO9==KY@8qH4(ttelP~t}g@etDSUEx(^EKosWk78a0E-12SAtNXcg^G;7 zEDzs~3&_KriZ?_?9E<^ZxNN^!9v*x9ugk-|{@;TW;;Cm)8g1mk*3&Ex-*F%%51k+z zeB;Wz=3>45CaEeLO~%BQtB&X>ZUkP>g(vr*cTI=}ZTCrsHsH90ePlUO$F2LOW0c zrxu4{e1U@^`AA&z<#H<^btgRl_N8>BQ?)o;qf;rj!ty4#lBUu82d0k3MB{W_7hpKf zG;M%SXgvA2)KO}Dx+zB5P=Xf5J2A=lTSZ44S8A{J5zny;*)*ca2pQ{uQ`MmxM`7o< z=DrTCS;)#t1msD_I3mN36H2S<L*e2WlX?TXN zO3)b31tdw1J!<6K*ak%yjS#kTvvAd9KJBi_yba=0ONW)jjDeuruh^04%cR4ay~P=r zJaW*4d}5|=B2K#erzyiR9rD!R9V+MXU>`r_hIZ2Hltn;fF=Xec$`M`s z6{nK~aw0bsP!7<+%29GVkI2st&Yk_lRbIQ%K(VH&^hqdfK6go|Ud+ zAbw(y_tHtG&R^1}Jw~nJqSrD)aG6{M?`)o%?pusD8`@rsoEOn zjRZ&0NKXQaBb}7_a^fy}&E3lS8Y(DA;A1LzIEMnbipheI;B?&E;E&+6%&p9UK=*v=vZ5HaGy2r}1z(=;Bq zQCS{BG|DUXQ3eSZ4nLv=xSCZiP%48btF8)k{{xQd1U9~B{HN0?jR$xMi&kC189wPl z4sZ;JEb&|I*QNo~FYcO@aBMTENr6t45=T3)aIbV4c7&fro3&9*orU#dT^M;9Qyanf ztknLpxe4PToL4d$$=BKnODK2KpjY$kUx&6kzJu{)KVS%As{MR%RGOF;v~(j#2tb07 zu8{%kvWsrfp3``R20q57xvH-nxVM#dz2m4^?7!ON0b2cM!U=hElI)&_DM%bPiTeF6 z%11v30U(SR>TRQBAy~ymW7Rr!(XWH)@pg4%uey^G&ZI&|!ry}(b7xbk7`E@!7skU_ z>mK5dUBJC6=GWhVt~r}RfQA<$2tp*h&;qcL9Yo+@+ZoCNM!+W-@m$LmXJMzh8)b*h z?s$;vF%CS58MSlJ(1+EGaUtD)oNie9lKPdXx!cDSSzOgvp?-`Q3|1x5CUT5Cc3}6P zI)FB1V<`ME-;%_sRE1O#cIe(sXK8kj^oT1!Qbma# zCFJBNa$ZGBL2^hhQslf!<1DcC<1;}{Q|ACV-$JE>yP{q>1~5&l zTwH{8z1P7)+Imk6LwCHH$imP+8~dm)K^4U32gIyOVpb{0A!ZdR>KrYoD+5+VokOT| z5p|b>I-H*bQ~|cS5i%9RSR4D^bt)g-f>aJLsO&0KDq5<6K+zimdMg)aY2NM`n4sVf z80aSIXv~k|JOBhcf{$OuB!R(JEgDWk-~y0J8+1WukjejmVxY2d zCC017HkP2M&}!8^(uYKQ3^n zJZ*rLXD zWrVhNQj2vJhU0Ya9_a@PAC93l@HtGWsrE#*$CdMos0qDpCh*i)XcG8+-1zBB2TN`o z$+#hM4=Pg*&P7tDBt(hkC?PnnL1^&DM#1DdT5rLU2(^D`K=dcM>T(muM5-y1V0#Qi z^+gmEoq~n8o*`FnP!GjhXI_R$wbL|tLGARFjIdQZ-2&e&L>TjkvXhRx|8{u8FpoAO zK%7H}qk1jvuZcLtzou{m3bg;!fAM|=-c$~@;w*Zk;YXh{8m-`^;Td^a3T8j;)vFOL z)7J$WQhLZhT0bh3 z#4x3HUUW?vq-wMywMIK~HKInR*5bmMye_FBd$FjM8DdG#!}ngJ-DMqKqZmi9rMF8; zy-P*M*M=!I9**yW2}uW%!fA4rn#mUEwWA%i3!-bl2#|_(UvwJS-Hr00o*Y|*+w`Tx zQzg&76c>27v~F=He_ajCB*T!D^c?Jkz%TaOWDGt=yHJa0;z>TO;UcLz0ZusWll0Ei7XKMx(0({t$l_-Xy7Q zI&|b5P2J)!e*^NptvbT zf5MZd*l)fGepQ4FtpjsAx>4RCEq9j(^oxvm8lGYjoRk?Is@5i|1o~iZiksDRE4rQP zui?7ML0+e^7td~U_g(!za7CRCDWtN2CI%Jabm)vUtvz(FtNI(dG`bKP z0`h3kT?i%pz!Z3LKQICY*Rs+$oM(^u?u(_-c5}huu$G~I5@wobrjmpM_@9x7ixb>& zV`@Tc@co3ZV+Q!@ONkrh3$4U{25BZb(w7d@mY$u2F6ub6z#B$dQA%E~z6o?v-ez&$ zNRFL)0o<50e>n;WQyd1P_!S+Q?x&h5JLO^z>{fzgbi)#5N*=K?K7!#RT)NbbXo$R4S&F0>!oh? z7kwO%(Z{zmq;=PCqxOWRz)5JCFj`#+cUSGO_+!T+4M??n8(8DS5rya}T{KH`Ic9m2 zLWvODhbI8k2@DQ$slon??^Bnh$3e+Xv%iS5Gf-Pjq*d?mPT3quHK68!cqant&tU;2 z)mKL<|8C!Y{q^6l>W_K%-TEwybZO*7p`b^E2lR&UKuZEg7u7%QNUZN&{a%XNNKwzF zsC0E0%s6oXy*nqz*yI&+a4Tk@sN3tPEviVb&r zpnSMciqtnl*qw14?6FtZAwT+q$O|2dk5NHR2EHTA&VUI+3@nc6U63OvQpjCrpXO_% z(UU%s-7XK$@aaA`cX{K(t1iM_ZuKeLQL&N+mRABfDa|fF+CZGZpMZ2yd}*P?x6WAL zqP|&gK0ygU8$YC9gW+q2Z!Ss^A6##rJKXI%m|pd}eNKqmcNS^uHKm~Y9m;e^gxnrF zKx=xMP@D;FVsGBkB$6t8Es9U=-7k}f;di5Z_!0XpKO-0hQxGsaJ`6dmb-<#J{efmE1F6&i0nPn%K{YJ2mqvBKyy1`b8?kF?J5@~Sy*lbQ;u}VsHb!Np zk4F93j-@bU6#VS0=aHYT{QAMKCaESHz4rKU-^9?GtVmQCDg$vquSfb*XZ<&1uBM1Z z;#tn;nDCk+jz&^s^QD9m6UK!5T^#0HmXPt$`eO*Zl4M-5!BF2_fptIWj@9}ei8C@y zhb+ivKlC$E*vZ%E)Ac+er|QNyJ5Kl~vAcvP2=>tw)Vvrj z^$U#5chU<35s&Nr5iu3Hr)*r>I``}#x$mU=QDO0IH`+9zFV+uzywo>Rm{)FrKUC!?ce$VCie16}+??wE+k>5-BUB&OE{Jw?X zHT?GRyO!U#@%wgu-^uU0__sjf#h2IDH{RzK6o-lzvy*UG4IJ2Glqm=es2h91V}r6lq78v8Lu-tKBZ zT|AL)fBHD?)pT<+w9V~@UPc#Zp<(Fm9`HLYq~<_N;fdwgM2!0Udynj+PJw2CllXf! z^^J1N=GDc?;P3*B`{;ZY;7r1zj<_|EGeriZV>e5R?y_kjDok>a{^pUspa2~#qdX07-2=QGn zEs#++Pe;*!6Xsv=d|>zRs2$&FS_Mvw*%DoNY>VGtVZj>Oj_9W4XvvN7JqGtja8ki8 z9wpKYIGKM16RF@2QyLiV)3isJ{u(sUH}!qtMbQChAp8-`18do8iL&&^eUk)>esEO0(A$$00 zpy2-+#fd@E2?x#dlR2u4o=t zZ@UdnJS$NfyAB-#GE@Vg4?z;hV8lj0h~rzE(QnUC0kSASCj_XsO+;)fLL3Qqy=dXI zmhaNDz)SrY=@ppsMgKsfk_LS(6Xxv-Z8W7e%L@Gz^DnUk&pR?zl*ds8ZnyFI66wfu@zp=!OyX;v)>jRsx=hSSz_)Iw7N6 zAZ3twQ=KAR`~H4JF(y~;gTWtL&DMs^9YZxLSe^93ezIR}C z>aBB79DRO7{-1y+eJYUz^{gWl8QKR2eXb70Z@U)(pp^YUpvIQ>g9_<_c?O*7Z6o1A z$=2I0go(UO0e0jM&JLUw!AjB!%BG50<-=a_@L^ZkL#wlcY)g%nt+}c#Jj_B6Dro$ zV}{l>yY0_J6&*#x`Yqr1mbh($<;XFqw{++EcH2bwTJ-gh8T~b|5_cMg4yij5qd%)G z9f$7FABXYCS2(jvbyBLWsvH@In40hXiW#V)b7$!mMM)yQEQ|-2t?<=9VmGwvwNVjd ze@lfKj1-1q#Ad4)3xcZ}{1~;__F#w$Avgd)R)Vm82C&`s6y6pl04@9`(5mUvK@{^S zF2lEFW9C$RNqLcN>FdAyE9SZLqBg<+j#Ur{*}3GRtTgao+Qv?ZRCrNJT*c&!0bA`a zO^l%xcPzczUrNF8TalF+wUImBHMlZ+_#SVZZ(L-?@GWH#_yQ(mOUCfJG6??G#3KhW z1xMFx5|^qL#A}Pl6al`50a}^OaoZG+mcOqbK^-2t7h=_ zxM<7Y_l8#Qt%%f zu^76=y$OWi2TW(fGBlVPsNRAC-+Gu5!Byh!V~w!>NLI9Sm`TEP^P8-IpmJ=~Ts&Mt z*7s0D;!n7*56Qy@3-X0=7u-}|bSIY2+*RT6IzHJUgH;Lf(7KCk>wy~cmsA&D;qbM# zrwG>D?f{^l;!*e%ckTLk7fl)AOJ8bS-n^f9!?i13Z_weagMI_7HiuZCyZXtxjIlzA$%b zwvyWKBfSaV(gyNG6OrYvSxPApE$o=GaWy5(P4LoXFzSyn1u6z6#d45ZRxCPUz{%9= zqP&6Aw;#25=AP%oV*1N%)B6A&508sYjuaIV^hwYr04O^ldoB`)DK$EEWc5O+hXxSo^5MRU;Jd{{K5 z&34$=F8RL1TTr~@hnXb>>7DlYbgnT=ejHm+Qqk${TDRZ6*7r-rwF%9a`0eg`Tixg2 zS|yUNx4i-*)y$D~VHVAsI5H>9s(E{l^bqJ_+wjZ3{Z+>ubK~96+vpE*?2l|Ik4g2} zN}DmURMmi$LR&tJM>@dmDi|=Shii4xe0$P-?^pfSVWBIfHl+j6==%YS>GsW^bu90M zcvi$4h~TsU5Va9)m{#jPVPBi-+q*Fymf`wBj+E-dxsItqf3LUw_L-p_9D~V9 z1l8C+htaX``JTP4dL~+#W04zvBtI#rj(;w9Ny_w4UT$S0jv;s zc;vyf385N6_oXnWp1lK9{RT2el5O~oiVHb~K3kKwR^XOuTVFU=MGe5)g@7N_+q%O@ z)FMg*jQHxuXS2Xy-~8q2<&kdt=4K4xY~Otf0_>YVJ*|9P5Z@&!zFjHM7PmA-C-}8c zt?HAo8rzm{fosW*bHF+Gu|4jyqn<}pcTLn&03+y@*{V-ogY|EMFt$9F5h9^Or|D@a*e>0nBv0336%w{LQPq1$_o9FO5o8RO3J%Zng z&Pp~bJfCx{_xPQ}?uwoV*rkNu9(Lc$=6Co_;i+~Szu@@Rf5>n%Lz92PO~4lPbJs3+ zQMvmQPB^%&sa>9>>|YsnC+tntSeT($2u}+?P2Qk=qYA&-2(K&qtg{3k#RvZWhMoHd zf5KEFe53LoXV{aJJ=w4e{{Du&Qu+5V>_TsZVJ}ktf$-5p@9Q4~=qEeqIbhHu>76j_ z5+56vsO_y?Ua9b@@UAIPVjS49wwa@;17GyTI8TJy+iSK3{lh7m_+Q(Ozr*BzaXbDV zlRw=XsPMae%U8mq>CygbQkcqv0{Ro~Fz6-1noO*FzgQaH@y?gzek0iYWS~F_5(d7f5b1)veU4y zRQ5o6Ij}c{8u)6L&r|*p2EGPmUv9(~`&WiNQTYeb%U1ShyHomY%0EYc_=u_e+xR>6 zC1!t-$EN4OTjFCdd>kc1@-(qUc%MyvS4po6->`450*WHf5U?QQod7-_&Ew+55rFJ zo4mpBE0zCpGd|?!E5k1NJ7CyXtMHQo@&R4N9DWVquRbTxo(MgCjP&=nN-vwjdxPOU z%D+b|{8Nqei62Psgn=&{={F6N_(A?|pkTh*H2`{NoJ-QWy>*%Vzts(Y@Kf?PmE{|D z!a(J#>^{T3)37%x|IJ2t$!~!FICoBKiV5b=iSSJ^2?74FeON2|qpj>QeOrdF4%#aT zpEoh!Py7VEG>gprk=T0}^sS`uslo6b6@Ix9-bMa6Hlh9cn5b_#Y%mK|1nuP-6~C+M zPsCoe#SI$n#<)$@Bjas^$G86QpL0@wb&f286{!pN@!_NLSzKgkaKPa5$B|4zf6t^7|I_;Qr|Z#L{sWe=nmr|kC` z{xn7b{^f>USNIkf_BF~r%dkuNOf~Gd6_MhPGwhYHH>ExrDE}{25Q;h?hNhlD0o}wqYYs>QQ!Lk)hkJ*TW#dJ%H^n^dv_~4H4 z1;d9c`ds>+&)cP+$O8S@`ZH#K&_f+H?lsBaAN|?aiou4j1@efNp#m> zdY^)4hwImp8&+X%1|-ahbgp|_GCUvyh^J&DewJSQnTZTTU8QSDd>wrq^|6AAiNvHF zKE1FE-LWJIBgs1Zsx7`PAfAZ&KfnJ^a9~s~E7LhxV4T3;&s6TZz`X)D3VcA|GJ#%! zmkUf5*jHerz~em?-jdT5TrBVof$Icr6u491#{!!LhQ+D)Ibt`Moha_(1RCxaNVph* zzjssd4+-2ZaFxIX0>=sLDX=+K#oH@zqrjU5W(({g@aq^A{$B#G7C2a7jKJp8RJd0K zJ|NI5aH_yj0{aO3y{n4%yueig^97C&7$flOE-L&^fiDVNBXF_6e1XFR#t3{TTE$;1 z@M?iW1jY#b$*#gR2z*pvwZI~QsRH{8>?-i5&MN+!0-qN+Sl|y)%73rGM+M$0uuPy^ zU>|{+zz-u;{EY%v3oH@%Z<^D^?>&Lf3S2F4fxv8mBLqeW{5C?xe_i0^0=o+Qy`%DP z5V%TUk-#K@;R4?YSK-$S^aykdj1zdMg9^7@;2i=z0y6~m6u1|&ru2JJ;BtY}1!f3L z6!@i0g@04vT7fGB770ui*iGP9p(@_10;>h)2+R=Z6xdCmRp3`4D*itO-YhUfpi^KE zftoP-ij==E(`wI*g_$^QDYTCa9J}+>kz!HI@ z1V##E=Hs>McW7;1_V+3{+xbrjRf44xFz%YRgpDO?Cj}^R0;Ijfh6xj8k@}DfQzr@=r z_OAqvKcvEK7I;9Q_K9+L2%IGFW`Xxf{8z=U3H}8F4gN(4J^c?Td^rN|6S!Sq_y@|r zufWLy*9!bnV9bXq+&F=i0yhdgF7V6uRk);&6r3Y)y}*s)|DM^Bk-RBLw{86qr@I3aPQa3eTBd>f#U?m2>kSj3b$Thu|TK5Fo9oxrNX@^aJ9e% z0<#5PATUng@g^1TfWTJ;J}PjTz#@TT1jY-D5ZJ6MJlHMlJb_mWbP0?T_@&hE zzYAO-&?S8H2wX4lCxN}_C_Vfp30y3&PT&cFeScQr77F~Ez}E%-ATaW%3fEVlOW@T4 z=LvjL-~oZ*$5gyzfpY|I5cs*k=;JC}mcTgzR|$Mx;O7G4eo^651y&2(An;3paVJ!` z41qTZd{*FlQhyGKz3Zp}iT_sN^99}~@MD3;1rGjAg_|s}T446? z$~{itm*T!a>cO*O=fcG6gy_3r-Bo{glh{`XoFwka0`C_0e+uj=?hRu9SYWe2Bc0+_ z_HQMg;lKP0mHx-#9@#_L#|SjSc_m!H-pYTB_zw{nFL08C%NO{hxNjHusX$F&vV{9V z;FkhlH|#>^2noMd+?NTwTl~8jc!l6_v2Ql~CHy+E-zWaBi`~fQO=5RS_!X`Et>S*P zm3!TTnu{dDfYGTIwmVxvBc15c%HOabzo4bvaCeHkeiDBp+@FQcK31mdkVC=fvlXlq zIPr>t>1ic1u;@RgEO&N+Hm7uEz8QC2@0Rh`w8CeEHSnJbYC?w*&LegMPn2O0NIb^Y z;8Xro?bI|(GO{K|vqR)IKw@GtQ6t>gQO9tYxKFyyJGWr^oS6l4r(N&W%DttYv^fPO z-r~|ynvX)e+`?ZX0j%k&%76X!svJEY1?$A!2)VMP{c?6htN5$SmA_M9bc}L0;%A*C zJ~GPXnq4aR1xBCVGJcNG6~Nc3JX`ad`1WV{P5iwW549);zi9&lxu=-iL&P6IOBHwQ zG3Ct;9mx^DG(3cd+-c(iLHdosW8kM99-YV$zp;1>cS;+(bU9tO$(?Z9#r;x~JK-R? z09}<>J7zP|tR(#8-ueNLDv2lL9u0FBK>Dr3L;U+29&+1&hknoC!D5I;^KJ;QeT3&U zJm2HNqKVcS3?iO%1tj|V01~YO0SR9+U?;#a0w)0yomT+jU%L`7%5Nbc#h(L6d`DF# zLB3*UNq*^Etthu7zqnv@L78`E;mo{TZ-J%-E4#@#t*orHOv?*~Qw}A$b7s!S_0B9U znN)CnMM1f@Am0>!d~4snT3NyMny0KZub{kqTsc>waxJg8w7lSQ(4=|GX3m&VP&TQc zeCC1z!L@NPnV}_=Cp*Y}%J{VGthCXS(^8Wi`MKU)$90fyM?$_MFSn$m)a#gD;3zCBD9AV3 zi*-WJwjqkH9Rha?bV$D575fJQKM{CX;5Pz)6!?okXT0LaW!_v=EKr>5btIH)Oz+$> zQ0^$Hm_5Cq%u!m1e9owtjn1ST#3hs?nE77_7RO@F6S9>cIidWgm(0m6o|*3`FPiP3 zYU3y^bCegCGQPRFGdcM}xOt1p3cyxxsiUC8U_@SVL2e1rSK*=f279!$c`BZet&If_ zudkTtb<9S+g~S>G(@Ie3DgLCi%cf*Zo;Gnx`eaI>tf0K2n4%O^aM-zXsFX+sXBHQf zd5Y1_Oq&IM6y=sr^AyaUM(qmuo6Tg;E5&ZZc~ncvz#;6hM#V4k&Sp8L__Sy=AJ1Go zBp}|I-eR<1+VtG=f@%3P%V6Z6r=V>1OfMRzX~2ef-qPy|NH!%qT6x8E!>D=Zdk6*p z40+Bgojn^3WpaS=;!o`={YW3`4_H820YmQ~(vbGwq2#OlJO$?qyis6trIHh$*#A>G zTPpEx7f7_w&#_9ScSPL37kEsdbBRiKms5rNLfrqXeE%ll9~AhAz)gbhHGz8s?i2Wt zz|RCW39Og+---Qafxim0h<^uxQ36jB_`blm1RfOFUEo;)69f(rc%Hxu1->nCq`=Vv z?NYCE#XdveY=KV*d|F_LgzqSDi?|=ZOY!?1Dfj0je{Tp(mv9pVP7!#OK*!xGzB5jh zUsewVo5j9C%C*x_74Bs6w4p}DYu#?G5&W@2_Zb3v3-k#7eq#Sm<>nsA$N!exTq1P* zRk;}?@h=kiSLJ4?#BVJ(Y2yB8<>m$9&&vW0xk3;*>`mj=-Z66INJm9U zenBAyi}~j`Zg89|oa3r%hC3ETwD9&$W4&!!L9t^by2#?<;qCh)QhNc)(X%OH;9FQx zl1C~?V(Ii*pd-S8-?`_aM=38YE*M-~IwP^)We87sX8MyI{Tu@v6nHp?Z9y2Cb(O!t zo{I7!MyW!z;Y2VCMxsc!1ui2590z-#&v+9h#YGW|TI6>|fv~pRoE-ygaREA5c(lMB zp!1LNfJopyXOfW2DlaXWMwrH3Hevi=rDDx2oS%5TkX2UTttcyzV8e;VbI*0;=I1+# zX6EM?lsJk=Eq4?Y7myZ1z5n#m{P_+rrlf$>{M@qn5#u9vVBqvV9|U? zQ2xwvC^GZGw|*t1B?bKyL;oOFfj7kq{dIbUw*YD7_Z#TwhsrYu!+wL?TUOd25C1sJkg(Qr7K}QWb+i)i72F&!6Ba=j$_r5S`PZg+12Q^T zDfW(w9Zo~2IYtYKHd2CP%i7{Vee?>6|5x>j zYb5?$p=X-F*81ooajy|rCGa+Z*9p8{prMcE3I3Dm6<135oYhKiSR?%XPxZ}Z5`T%L z_qgDFN?_y9s@(1r|G!#pr4s-DE#+1r^wbJ$U2dluN8BLsTI++SDz{rCUfjJ>Zo=RH zwA@xoe2>((=rdF~9g_N%b@cxq|LC^kcuu*Iz9+*J%n*beMvFw!RtVmUy3v zxA8BQ8$J+q(VXI4QoqIu%oG?c<@SHtNyVrCt#-0V_`d!xmRoQd9Q{4dgHtc4@vQZr zyyBU8*U|hg=AAINLq%^pOPPBVGh3-eWZ*9|Hy8wB^cxn=p7C8y36hvgNZ=P$_P zK&9RyQU&;@W?^~0-oX>`qF+GYfQq1Lt#q#7KmvM}S&t5SU<~32=xwbA0#{u_o|G`p z)PpW40>~Crr%N=AJV*^Ae^%cxgkojPu+ta=Zcrg_a6nl|b`<79Jsc>LgaK>8ypm)` z!C;w(b6}XkcpX@j$SX=LAPrIBZ-dWUR$)e$c+NmfKm!@4!-yOXZ`pi8z%(&xo{uMb zl^Y=~1c}Dzga;>@iXr95;~Z6vE%bIEm`zI*_(9pDg$u2`2umyYVT8o)YouLhl=^GH z%HyiN+90r5{8x(IalexD4dQMESu zClnWB@>$}MM*Rn|0^w%o()6?mISQE8qw-4g3s7bWgpz+P>A|G8N}&JaN zDDUS;M9gz2s!RA$XUad#ovUO}xg>@E41a{C_&6;veUdh5(u7G6x%Ba4CXnc*rj431 z7VwIcN#oPUkHtF1rQ;`DFY_)1bsm2c={F=?G`In8RfOcY8m=S!D7%84c#xlm_9eG{rM;o5MBtwQ7wBv#yBxQ0JL zqN>5<*E(Njs4uvfaVT_*(<{~@|cv|B&!Vo0f#B2JQ>8A9|zj+8} z$Wvg&T9KyNIPlJR;of<(two|Hx+0ZP0_cG;VRAXN1FC zLA&7$$2#=M8xaO`aE4P0NUkI=jb{J*EZU#t1tFs}+LISb*Zd=!LBBy4=BUg;TA0bF z$mBoIWTt>|=NP?V%XTWORXB4BS%}jBe~f`!q-C}c)DG$C%t4q=lLDZ}LA5v*Urb z;R%=FYEGZEgvA_y5xos0pGuSeN|Tua6At5N z&IjQ&|I9YZ6VZ>k7;_Ldn_a>OSheuKSu~9O+k`V5$j5;&#?NUolN;eMerEazukoY3 z?;({TmBr+S#KlNP1}Me@ohI*N$d^&2WWf_e0c?XwO`e=Wq3kg)3kkfUaCX* zEt+=OR+Py$><52c)4ss-)*G5uvK@Qq>rq?{nl}1P>^FQ1dr1EU-ZWx<0*{U-aj&M` zgy&;C$!`PqJKzJJi{I6>`|u3jhZAA(e2Hh&ew>bo=ZE*Pj(kAVZpQPE4{#{qM<^RS zV?GAm2XScPA*B5Y?m5A8=u_bR3}y5=@ZstECGZ?Z`glIWb4}*@ zCu;p8cqUt*SK&D~#G;jiS~Q%utSt|Bs_mV&7wVv=doCe z_6(jEPPb@V@XYRR(VjTNqJ>;!(Qd@E3eWY)7VQ>1r;o5`6&G8y$ML+BV$rtaNgRdt z9nTItYbO9No~Q6UgXa}IujBa_o_Fz32Rhba(UOK*H2RD$>wJs$d=$zm)uP2lYU+nD z+AxbYn0Bki&!(-V_=o{*3V`7j?{o&@C^raO4(0=ZYw%3kwH$vwMZ?^gmPGNK&b-1I z;4kdqWFI|ga(wpa6bhraawEs)mTpri-0>D}=^R%pG2=^5A;<7mZlmEA-O`Qm#kFwD zV0@02ZX7PLg%G| zBhPCM>>O}IEl1mfwk#A>{V&T^9aMLEMItTlAYP0pDsnA3u2DtmmHM)ORr(14xu;zXa~#s?9Dr@b)obva~- z3D;us@l5WZ#UNbFkZ6x3%&LVAu{yhVvuGXGLYGB-bpv4+dzfa=kJjwN?3(@APM*-w z7A+rTkT@GJFCJ^eLqjmV7dB4Iur3MJx}V!g>;3uZT5oSRt#^K`)_Yit*4xrmi_Oxs z)xh~EqAUmA#HV0*J`jIR#Dk%l(|S#aHrVeOGHmhdyhG})DYuZ6P+TSf&ZveC1(k)c$HmR$pOHQ;(?ICGwgFpB1RqYHzC?wq!bIp%r8denM#Xna_&i0P5J zp`FJ>dhirSySw)7=87BKBQY+ir@L3*KI7y2#AQV~HWw{4txW^C98Z~KBwsY#ZtFxzHke^&Qs_5$J zo=E3-ghKp2OVs97{@mRUO<%B(eCZ{Lb zmY9xO%+~1U&W9o!BkICE9dg35Y)nM+0O0YbZM7{SaW)J4%Iq)J7_j)ldi{_I-UvgVZ9V$_j(FMeSUV@e z$$B^P(*2AOtt0v&E6SB*Vj#S^A37g~sdyqIbI?(*8S)R*T~*gr1LL}bsWN!G-N>Ns}ge2eZq=uOr#fL+ao00D&*5rHP*L;9NSX98=kmP8PvSG-> z2!4ne@NnoXvNR7_36F0dm!Pyf3CpVgLI-w1)ni`re$)+A^CkfdSpNgn4`tq``Pq^pzTllD3< zZ`XFhi9+n&FGA~XNzkI2J00rS*rCqm3C#&{TC+&r9{8t4>q=$v7z|(FiHS62uK9vP zDCfaiI@%O^JxP92UcIf!8ko7n`lJHMB%xbEdUUadt_{l$UmQ9vGQRVOt{E{yx=xPq zbgc=E#86x7(x;QwC;u$1&#+$jHoBYEtvTipG!TzHOSNl>Pow^whgTk+=+2c$R5~~o z5>=>;_Yob9C-}{sn~MYGTDz5LtF4nEmczm>j!2Fi(Ya^zn8@Bx+`0sHFRte+DV=-q zdI*oTa}Lr8jn~FlE!2LY?IPW(d+!d~X`r#gA%kN|jvEn$>&E*q9KoaNhN`1kg;X_S zN}zdImtG%y*i|e@Von4mIvLILxl7UEgk%>eUOI|Qmh$Cqi^but1V=SOoS0 z>)i!QsofAi$CX_tkEr=j`s~*=p9|=NI!PlZv5P;FDrwwe*GZJtNw6!YO6r%=#7SwI z#_xa5+`ISQ{g9mZ+F#%A{RF?+GduUpnVBl#~^z1r4g-h+O=HWxav zLM%m{t%GbsRtBY=Tq&1zqiv7XWv{mGGT%bGPpwde*<;;fxdp*xtG0xhM_JlCs;7GzU(g<7 z_7G)P`Y>H4E+R`(CjJ+`l`MNXB2}iUpEQY=@w{d|BKr{vxLu0M zlMS0;(RzefKf_W#Sh-*P++1m?Lko8y)Y)8?gneZ}uYH~6hh{P@vex(0C?Z+k$ML09 z6Dkrcm(^v)=*}opb823i8@`V(I+>zIrp{^N3noG7HF=0EN3clw-bf?G?iDM{8!VNm zt{flfyzw9l^JXU^F@!>uH#8__SQe#V&a`WCDY;c4nNf~Lua;nbwkE|aw9jJogJAjjkHJBTd*66D5C zQ>vfGA2>vdiUs~M`!e;#Y~3IpdxK^M%s^n#6aVQPQfw8U6t9>cwXC!rv<+Jy5|#E= z$C{FF6`m+<7sVwuQPS#w?kE%`CtwAK^ZjH??Lx6N2k>zRg4s^Q!d8zsW;Q=zMl(cl zxlNSA{wZ$-gpF2Sx14qUgOu+R_(&kw3*M$mY;=4O6P%MiT=e0=hjoXz#a4kiv(gS5 zbp>qH<*-jnMdi;+7fR+GUaG?!Ncg{l5A(BJrosM%j{60IYWL3RzF*1it@$&W|M1a( zV760Mzx6e;KYvN?2VugE$4^}(--ivpk0qk0EzN-oa_c}~X{T~=?uIrm0XiRC5b z(I+e>oLI3y@)<^P zHOKHVh+wwINscTpQGY^)*mq`!{N#zE{rO?Gc~02pZF5#v6>eN{ypShsSewoJ;9K#d zEg(T_2IF@uhkz$i@k*?sp-U!bijvHT7w|L>#v6q zG4ERfHc0+qTocb=h0Zx<3&TtO1w6iIfL8MqKAt7~0^(nz+5CBaL#nCACVE=)L|1(= z>7_Z+OI6%%t5|vwYu^`a!g(0JeT4JKPVLrzHx=cIqT&3xyjiU1U09Fgk}uGX_h<<5 zGJ@?ZGLP{)YMhEwX%&^=b{W8NaxSw3PduE-M=?M5Euquxa00?~L4A3sH~*w}X!Fk7cYkJVC1JYJ6R zFN{{^DpsIn<;PUSCMxWKGq>vcuibSs^T@X{VlOO$9%o$u@I5sQmm=b zPo*b}t4gBLMl@($9YDnXDYK|DBj2-Da~sAc_)~}BAy^5!cD3~p`>5Kc_RMX%1d=uXjE}sp5$!qX(JFJp z4(|?Ft3>dB(nsNbtU=9n)&bkE%%8{+?RJGv4`imf38ZSaa{#)IbYu+ji}|vm zbqRE&RaDfim^WE-gtgwn>!hku3)-9mePtG|{X%>M;ZYPtywQIzFUu8qud_XrY~!oI zV|jW5kv9>{Jb#2OzcoKd?b7po@T3r<2rA$8-=+S7KMHg6O3ckGBSu~5c}CG+I}x#5 zG#>=*@^@K90ro!%PRNxT*{&fxZo;#genjp=FtdDnEUT>MSF+@Z>+?+Fi**4V`-YtN z*-r=mTnGGf(5;owt(6hYPj><6tXE${#PSjIm|2})V4Hx~WSSahN>tac z6xEm~ldbbgUEut4^znP}@j(PT+jM^R0L|8s*)YUrgP&*Rl2-9qET-Bl&q3G+?O(CA zTfqxn*HxyiWA6jGCy5^)M`RA6jA<(q?p-|L){)C+Mj9q3NC7P<3tP53X4x>2cD-V{ z4&KSehx4FlWy51NCgnAbmrLF(tzI!&dUHv0!INbn>^l*^c}>0?Yx0uhn%ps~jEiza z)*x8y&Y$Br1J}S~+a>%kG$I%i?6b%h_K20o;5MMv?8ZkB!N%?Iu&#=8JK{VJN_U9W zP%Sg!N!#rlTPGgDMzpCAK8+`}bx!$m?5n+Oc9G1)L5^j35|J4MGuOuhSMkkorik*I zCE}WT57rwu8+-&8fcl&XynPLkGta_iWV!?i&jH4sT&p<$m2leOHzHCEh%$${pkVj;h?x@QzVc z?#J2DSCuO_hpKXeT-&N#xy=K5yxmik+eDpVvaaqB8_k<6TcG&2*tZmHDcs`NQsOCX zTG3S2RN<*yn$s|V{w*$`F<6`&gQP3p1S@KOi4WqArO>|z^Xecz?AL=LsVO)Tii?+s z;^){SXP6Ufkfo*;AI%81f^M`3ULQZaJ{tz`sW(- zPpQbqc%nXyA^QoE`}+||AQW9 zfY-Il>Yebrm5G7{*rdGcA=}gp@=sD(`w;0yuoVnp>ohKHb?P-)tiK>^K4-bh+-a?` z%>qAl96gGxJdQqti2df|C`rZpqKfx4;mL7DqpAG*eCWgXKo{1CN|RHREI8&1XJG{@ zyk7wNuc@B@ipbqBVExU!Z&X*uw2eCW$NX7WjP;GTjy6%lEaeMzG)2mlQ9zE8S$;6Y z(l7Pk?3Z{s?fG~PbC%Z=3i8m4teRFwL_L(qE?b#B3^(kSlKm@AmUt^3bFN$cSC#7u z9;v>7`tjTpv+!QcOdfuJf$;4yIqw<1lYNT0(rd>aJA#U%|6Xi`KEb{;%Ric2^GkgE z2ElA6?K)(63+5!sG+8hth9OJr7c9rxz6^dr$Ste@lH2RQuE_08i0nbI*@-zG=D}b) zG0n@quNg;&SZ7{i*Iru?p+YRoMSpRi7_b?Jr-rW?uSS7AcSEFHisi)={f5 z-B_N^F|W@@+w*fo{&U#9^FtPIFA%q5Epq_2dMVa3MX%U}{e^tkWCgzZUB}(;o=yJnxu!%OJN-EQhOXIP+QmkZ`PnkRqH{>TCF}j3o!! zQ-L7I5~yN)8Pm}BIvi7RjwtTJ`SEu25A4vgcC1+WWC+gpp}v@G#NCkB&m)A;pY)fv z%qEt>Zd-=6^|DCO!qWNtu!{RU@P3ML61W6SOLD}LrX03wO=dLNh5jjr4-B?*Ic(>0 z*v{pUEBMmpiF)x$8+<{AwRV#BPi}&2ZZwHssP$lf1NszvCw~Lgf%v%jeJ0V=U=r7Q zB^*HfxbC|N`X~?WHQ6k}7LmJ?d89v9Yi;iPfJyu-!e-DQ$aRMvHZ8SaFT^gE?zduZ zI~V?$ufRWZPFU#~F$aGH<(VU_b6RoUs6JPemN=k^U~s;hYN(x;FGGCBNhv9RRr347 zH&v?Ib26YE--20$Kh>hNMn^8hcd!}~1KhJbfchxcblI}W_# zy0q^i?I_YR{aw8eOv?1t`@ke0uHFYG`Ed0rzF1#zy z<7oyBA_Ed)lW^nJ?y>H}I)v0>>kb&QHwkeQas^|}xM?G;)P1O9TjTbogZoPDwAvil-qh$uAuT}gFm}Fh%lFvHH(96U*eyHfV6Ep+J?`(3Sgm-W zqYl%HyHRA#@<2^qUa~vb+rORe1<~QjiV{WiHEOXn6_r>iN`#wVXq_>mZx82`lnMQ2 zv=*-&yi!puNgOWY8sVmw6kaJ;a}tMh+0Z(A{o|FgZPk!CU!ib!L;^>)_u{SASIWE1 zh{*YiWd2>jz`zyDru;fY&hL=<=|-t{QoM%8xr-^ca`jurK9QZdEs4Xq%vX?dO`NNR zo34XOBfSr@nld6-&Pc|u6K+x`%Fs_A3Y4?SIKGi>Uu+{pSl;M&h$|4?&=Cp=r?IZO z*NpO8Mm-)H#5`KAeMgw28eGhUQ^t{c8OlZ0%W13~bg!4klcutAFPkg9xHJOd#$0#w zaHKmNi|RTcse01;poNjQ_Ju-Fx_H~7)FM73UzGe!{oSFCU_{5iZyEWK70+r`w31pA zt&7w1q=|{DI1T!mMM<42NYAvP<+xd(qXU;d_4Niqt&x7Z$W6zz3@kA;sS!%7mL~#t z^}b!*nA)IOqahsyXhoKTE+c;=6Low!a+&9vG`(o#UK*8QZqXhR6^&ndEaMCYCR{>} zzW&JJ;8wg-G-D=ZzECDT8hcN3DJ_@JmO5Latj}`3oxL<$gW=vj;{;`>=b`!(yjo)8 z-!O$keUVVd&W?<=MX@`nZ;Nu=-MvxV>5_(}m)zvstaV>fKd9A_{kPrfj`eX5r!v+^ zkGXYOYQ(`Nv%4c0<$**aNF%9}oTTPS>wvJy9XNa#7tQIguRsHAp>kg^xeses8E)+g zbibp*wf3Y7H^|1VZd_2Nt3lfRha~8-8EgX~&$n{i+RLL;tck4I57ldrI8QC>oR981{R4mPdfk<}%1{6f!6ODC9NxbfNFJUKXkau3h0FSb5!GTs> zofze6XKV#2R34V%zvZ~;#oc`EUr;|Vb!{g3`>4d*(cRk}?aGGe+k*kz3ry|mOI^q6 zC>pdo^1NVmX0QMDK=Yql7Isa9UXuZfhov zjF@QMWWb}fCupkM@!X2bZT#Mpz^^#@3?rw|ZxR=Ex`KH_GHrOVxsKzB5iMJV^lVmG}o-k7Pa znS168a`8*#Gd}$q@$+DJw7cENdWDr@H$BH%4cBt%^DB>i^fV(s)chZ2j7HL6_CmLWX8pR`t15QT=3|TV9WV z*UfwO=`qv^Xn1WUN4PCPabjL-omra_%u-Lpd6`bF${qJ(jt? z!F{4#-=vu0a=EF9JGG+7Od3Ovr}n~+ArT!NP5rSLS#Wv`QVC4Ri#zia1UOGHJN97;EbkGx*CzHc{wG*C~^qPQU{6LnsTw?apO&rja1Ho3j zxhq2^gFJ!}>!A@+G+=6z)7BQxl9u2*K%i7p+QDj*XZnXB%`i2jLrLL0d8tV6egs-B z*nOlcwxcfsB^2w@MmM97>No_PK(zTXXi_iTSpqKuRvdEmZzLppOZSv#gdf|Jeki40 ztc4uXo>Id)irjYxk6o!%w+4^tc=3Dr z?oM1z7~R>MwUiz7T+1?|B2Iu5&Wj?LKS+Z#eRN8{frE^qf$)>}ge64naFEWkIMknM+X(eTq5Tkqdt2g_1x{-f&<-$gV>2+ z3|*33(cQEZzKZS`r^8uhAR%>t`iMBNifj!z|LcuADo;~mvP5O)Kss6|ZyVWlbf1h$ z&`_3^om_TMzam043-`xR^{&2-3~Z6r+nI_(Wj$!fyRSb;#)`@vbsHkN!Xy0r@JOr>Np>`V3NaA{qW zhI^%jjrchvtS^R3W;0|~<`vaJ$(hYGd|`uR*$!`%c<(#eb!4I2Azi(b}ZHhxVZ4CRJ8s zvAo1hcNu9mHGS+TW~XNN*=NmKCW8vDbI-B4XO>F;n`N6)AaMZ zTBtT{8fUZ%$_hytGwJ9lTSOtb;>wC{+`f87T`gtB-_MIFO@3NQCNTLO#aK@6%Vnrl zDh_r1f+Blz9iXvCCwvCs(Mr9?I3o4NJZXSTTQp*6il@Pt$uJzEAHF<*KnFQP~2`^afgzoMP2<)$&Rn0QsSD?5KEJ$EA#$`wXKq z9o;xGPo`)yL*uf{0FPm=;v4F{ec}Ev%~xK&P8H+>deYckDnU)OY+ zuAIy|jr`-h?2tzXMC)pjwSE2FvAw;!aJotMEHe#e>IeI~4aQfCVl06Q9!cN&@3ZWr zZmqHWq%JxR)o<@T+}DAt-r*5}1II(#&2klS|K+LhafJJ_<5X9pKzV54BCu-H_OZD> z;Pp-mys0h0P-jc`kzQJXq*q*VnjRs{C=CCda5rVf!%?J6?ngMw`uR{7=ail+aBNR7 zc5h$gZpk(KGOW&fkHor~gQ0LRg3Zi`T$$}lF4E+2qpet@(aAF3tr!!3ndhb>Xflr{ z9hDF%09CX=OOn-^ibY;l-z_w^-&5eGmwso&AS#3tV4f%Iq&OPsi99or`h=@Wi%LAPmD9{gZ+q&n!>_y;s0d`S25)yFGY>wu%j; zc=S>e_owlR8maQ=kGK`;7O5&l3l_KgrhVJMJUj^odL&z@ZZ4dsfRhdNyCc`_-k1ev zE1ui!@Gl0UQF-10YgBdV$EB@g3}W@64+y1>Z)HDq9KL@S7b-DTuKl9O z-Hjfl+NclUWgsiGj=8)o*xs+~OYr*rA<024RWg{lyM3v<;~4g}jYlMe;gorhze|@KSF8mpZ{9)~eX!a48pqQvQy{$K`NALd9L9(4}*o ziUjZ|(vcI*n6=Z+!>S#UW*^$}X|))Qu^eO>_3vfgrjF|)@Kp94h;=qV-z(ce`?h~j z+KakD2CcCsJ-;G2KVpr!Eg0y)5rAN8cTe&J88&~gBRv3ZPqm|?5iZzLj3Gz1V#Doa z+SES*oSI-kF$`HSSUkr4ui~hd)~nEEu>c(#QlC(6?4fug-F*=gp3-g8U&PZPmJ@o7|qOfL?r_1zRfQB4kOm859 zZ3DUwnhk(UrS3j?5ITj9x+zH1)gDL5?_GtSYQhN*S?<9=s6V(L3QDT(J**=hAe^0a zgqJcKQRKd@h5B3R=?qAG)L4-N8Vz;iPq;nF54Ae#P%gE)-Hl8}|AdGb%jbcm$`>fU zw9IfCRPDN~>*Y6enu#=+mcgjOPV4YUgX!_Eq``i*RNXz&=Str_dRxJRUjP$^QA_(oW$P!a$((BT5>n787)dEz< zWYYYbME^wjBoj;@^{JxSs3~;!PmgAYsu-jYXjYW!kGtt9l!5a-7_Ax-&nuZ05LEG6 zkAA`3LV25lU4a4Uak&boDcXbiV=J~_TY|k&90ML;M}abnbY+^$nj2FMM)bxB^we#- zda3+VEunu&TG0Bs<0*aufprUSwnU5EM?!t==+Ypqs+t4QE{?%WgzU+aj>XVN^ng40 zR%0jg@<#j`{ZxzDk;Wq*E!A7Ds+tua;`tr(D7dK^lP$1yz%^8>&Ba2EzWD-MqUwld z0(c~)250oJK2e{kGw7F= z*^(xRihis?c#^zMS|A{SQ)f*FZsdKFFZ0MrRxjBHr!%A<)b$1^@GqJEAOoH@E=Mvv zrS-s9GNemSRXoEJ=AbH?$UTt(2le4q@k1G&=~RK3WL;utue5JD(yr~ zA|U|cp`;CBK%{eh+@R|sZ=V>R>rE3Xr@&zI8c?Y#fbuz(?8E9I4=7za zADQaj(JLKDt%fe0i9B)c>gx-W?jgM#232*pEi*-yL3JeY7iIRPjuuVVxbK1UDRWlT zI>!B_t#b^0O&ipaDAp@{a*F4Id#-i&M?=A2STlF9P$l1qpDF3>aYN03F)VFrX|byc zLDX|9pGiwfe?3|qpz}ORvf@!zOhxLCpC#=lwdq7K-G0h5^jmU`A!k0_jG1r1Q-xhY z(COh16tP8aT*D|c)y;Lw$vdu@Y zk>wDLMf#4>1fg<;Sjr9wo+V!*92^u0?!viJol<2iu=S@{x5$H3(g95Er;}E%7bz#L zP&@K@@hX5Gh!YvcJIj!MJpn#UWgGWNW%X$qsk&VI41-Ly^3`@x*)&1)+*-7^{*1=33H>rcsdV4q?ukp~ltd}#&N=rx5hT#QmlBO4D|@9k5) z`1mIMurX9ou_@)UoF;~zFm|DP>FgRjwK@zef_UV&^4v-c(J$rHA+kI9G-cJ8iTUD_ zDsNL)k?PEw92jKrP??GYnH&Enu)z3K3$L^EgKj>WUyD(!W}mTo3B`D7jvIR|_w)A1%tMzLsE5Al!wy53366A-F*xOLCCP28m+J?m(C{q@7ri-Q999G9*$@ zzpd^G_8jiP8}2r7EPM=aEd(a$`+`U5fHihs6=0aTUBEKK2Ih?Ghef1iO5l?0f+?gQAI2Vm?TlFNUEf@`!pchQqt0#=9U+ z*qH%^zTVF6Bj^%eFH~pWy}m%?2;O3PBk=+YN#1Ty9|d~{x+8tPF1(NqWSQmRwEfe%nV zM3m34(#X-uSDvW9eiM}_4RRxEAp+s<^*zz`_jdQLN9y{nU?99cRJ*=*y)s5qo};g! zAufl3-{z6{=uy&WbaeM!<~jPE*3Fl}NG%|>6(mLa?5WQshYc9E-2Ji8)<8H0dBcK} zj&TVGrC}j)cYk;XMi?LF#rXi}oondH!R|;5{-FcCU|xq1zlH{ugT5oFaiBpVW3aMv zTY|Byk3BRCY?bOpSy>6yBIleP@T*u1l5PQzVM=9Mq)c81~hATG5G(QJMlMCO)6DGdbv5=*VI-yzt^I zYQ*~?M}iTxCZj|di=F;ZP%8C9>N{Po!vFU?0x|?Dqj|tyh4#Ci) zK(7M*3Y=ddpD!rTdyV{#i`O}yLxC!3Dv#bLoAaDZ2`kUTy|TO+<@>Ax=hghhlHQ>D zT_utVQTV4UzCrRSZ}4@(#CE%LW%nG0&WT_Gnjv@4}%vRw5u1HQ5r^)Sf{ z&y$A89&HCulE z?UVWgDJ~^rIs5O9-7AI0cTY@mJ0l*pY@$)Tm#V4nsEU;l5B*I3588Ch_*{Fj1EDFT zGPO^Cu2rdiCO)~VeY7s{wbPcBl=Y;)^>X7(&DV`RGhc6?j~CgVgDJ!69g2Ona^FF{ zFJJ!u>9EdHp$vRhl!4+h%PuFX!;LXA&}r%FX$*H~?@#%hHx@lATQc=0@ZcI#NM$I8 zoE7jD;H0faCQ0xAlL+i&ak2#0l#Jp21i*{S@J=Jd9i>8i1)&~s*eYUjg%GiPN1LuPbq96})E%R0lucuo9mEoI}`zb`fk^jo&39?gb1W5P!me zd#^)Yl;s6Hhp-Dc1h1{el`x1Cd^bWD;x547Y!>1u#kUC2kKjUl5b)4;#6bskj`#^K zdF8$UH0{K_Ah^%d0r+pX;4VMhZzygRB7Zk{ins%C*A-;&XI4H#a+i<5Su9x%!e(nz7 zpxij%-}w+nUi}@djea3Mi!gf5#PEBFe+_Yh>Yc0vbK4<{NGEtLfF>napjj)Kg{;pEG!}MC*Lt2I_K?%}5q}L;^zmN1|Nc&J1_=9wUy$B)1 z!+=lWE~j&d&jS8Q53ct?JP!EB@Xbyc?91a7%|9*@y#65s74Wi#sp9R2oe@wv#3@Y(3;FuDh z0lcWh7XZKi0NP7(1$f{=$T_tI@a2!o_&ner{eck8NRI=SJuK6mfHMfB9|*pVK+v9-!U$ze*wEc1^xqn5OC9HFlNu7EWm=#fzKEV z4uS~xokiOLKTY2;E(mTriFCvnBK~Q__4jU$BCYlFkPWnv;KK+77;ACB{Krra&~yMk z`8e8x_&nf`<3c39h_(Q}^)=i&hkA;qAxqCdo*|zEOP)nu@Z1Ub7tezx_%jE%_8ZU- zh`Rt=&toA296#XWe~G(!(3Uvh`fo#?L6hMBK!_nuFoAF!@fpBhBaEUx;zj6#zeZV4 zffI0w{zXE-QxD)W$cV&DQF!X)sG}M0xu;K4OA9+0lUqyRnPzONo4{+xY z(g`m9P~wOm;rTrD`JbZP*YNxL*U=Wl2Lb2*9=t_ff~{|0ydymh_*H~B%9;hd@MB!_ zLpXpBUxFMWJ_K0)Q;cQcI01M5BXk{=3;4Y^p*JD_^MH9jLtlbd4#187ggStS9>B*D zE}_3>0N+5Mu_G2Rc76_?KL?tCyAXJ+0mgp`emxIf0p|Wn;yVDhD{(L2q!JhZ0$E!G zov)+*fUo=pvNVhO0Dk{%=qQQno(LLBJ}fFE6A z;&Cwu*l5E%iEHw_fTg(a%7U_-fa3@}b^z6T`3Sy^Fa&&p6?WWbM0o+#d-(`HjBpO= z1V<6Rjra`UT?J?dcrpn190Kub9&oY9B<{e~sKQ|qkz$nlEN}qdUt$t(A>9x7B?Q8s z1>CUABpyY3J%B4pP2wop2$+#bIv;u8JyJi3ntpYv7{eX`n5Y0H? z_mucN;POhD?gIQHgv2+1130i6cRx`a@I?gHCxD^rBz_q1X(c`jm{%>+oq&ONn^;c5 zfD;ImcLuOy4FYJ2wWv4l)C(i7zfX_u+50hq2k8X=8KD(%{k?p2U*9moN~9A^Ah-~p z0W4gH_&D$Zy$EzC9KkrkJmLiN-U~h>uD|b%?uOfeU^y@0t%#Q)PSA^RJ>mq_d+`Wv zxE^%?9fC~=+Yl${T8}y-PSC5w3D$0ajzqc#u=WOA7ff-$e?Zs-`VBXl#0Ww&;-i4S zMF=BK_ubuuKz3IHAl=)TKsv!|ZbG{ecLDA}IFGm&@KFTfIl(V0@pFJR8$pNg0e_4@ zIF|qyDIIZw#kePq;-!E?4M+n%!C?eS9|gRCKzRvHzaR9zX%eRZoj0S7h;IYzK%hC4 z;Nu9CHxBr>O8iy8Be+A3=yU;!O~{A51gjA!o#1XI?ge~Ai9ZTBg243wY}pLCMBWDh z{{(^3&jT)VW4s`JC15WCr4IuBJpzq|i-1m#j1#;=iTeS6*@XT=UdJ}r`UuAncL8oh z7(zU}9T4HuQxeW7ae{M7oZx~Ir%TCu5D1^{(T*!|Z!^*nD4p(u|AZ2c13s<9=K;k| zi9>Lm688h%ufzud<4Sz~7U18i-~&39xN8^qi9lu1MY;DQaD4zDSK@ThvtZ!KBq#qvP zC*|0=-n{l$FuK;gWvP7=eufzAX%8K9f|Pzql8gWm_h!*(PXO+M5=-i~))_R}WvuHZm0|piM!$raZlVE_s6^9gQLeshel^c&yCKGo*$hXy)fz- zYaa8CwT=15y2ip|N5=-oj*ktEog9mgB_?Jj&P~itoS&GRxG*t4acN>)Z$ESv-PEN(A z5>qo%=cZ<-&QHxvU6`7mx-_*gwKyfFZPSkFvT5gZ&9rN}VcIj@JnfxsoAyt4O^2tC zP7h8WpB|b%IUS!)OwUZ8o1UFMKRq{nVS0Z0()7ag;<@a*vU;kn@p!}G(Jh8KnxhsB6(#4%Df;vA_Nag8*Lct)B>yd!NR{*kVc@W|1T z!I9%5Ln9|g;v(I$7tE8bF^mEHQF%h8Eqc* zj<${ZN4rMDqen+&Po5l&k0uQLIX`-7bYXOHRE*ii9Ajl;&as*?*I2{YW%_w+X6)S9 z?AZCSxv>jl^JACB7RDCG#JFwTF*Y#+%2z<89;q@viak_|fsf@#Et| z<0r@C*V*Q?-m`6I{b##q>d*M}AU0soL(Iq+8R$i5J*;P3u!-nTvdG*DY9NV>P=UfB& znIWGn{l53Dv)#WRhaWh57w?lEiQTzF{oa1(PwMxMJKs>h_MPAITlJKE=XQSEKWX2& zli%-q+q2I*=GNJNc;pUM{tu5-&i*&)e|Tipo$`CuWn;%n8!km$I%)Z3 zZrZj$ufRU-y7dVZr3C_?>D025c+OJKlB%EE1p*y(w)Yz-CsCNlzw|))bhnbJOR5Iq z{zy5KB9DO|7N!NpO9Msi0-NPGzg^(Au99Q^m9+~@1b)`Ew7?;5TGDS7>3O_wn3|^0 z_p-{;0#(UyybS$tY{ey$D|if@Mx%m|P-*CJi{=CZ<;Pxo@r4x^!j_jw1!mw?eoOdG z`d38lV|B5>`0iw6!ILihw&OSHUr``Xd+bDAP|*mjfo>G&)~a05vDZ$zb}U(nC-5d9 zMGk4J+$C3BO+n#N0A8t%IjmK=0p$Mw|B^Uh*{j0#1}kyoa5{6%nl;{gKleRj%b>Kt zQnJ)P@+o|d&LpLEc?0hVx4x9`mQ+4tXK50=upO{YX;;}JY!_u(rwquf?8;LXPg#}e z&!jCqzSe75w_i|e#RgDD37J)P`e$ zaI7fPD`453rP4tQ68zg1tV^qIPOI#qQ-d{s%Sl32(;quOm*y*SvqxIhUzXb$TRXK2 z%&w^o)|`woSa#Qgp)L`cGcYX>uCEoK7VM2ja*Gn74J6LC;u+09rGZpQ?!o>-ttUtj%BY-gf2I4d6Jux2%Y7Z1yYH;_1jb#Hn}IrJ4g&M@42dU zv%FEdn_m}50rl1pvFk1Sb?1s>(*jiNZrNu;ljgv<0g3~P8;j&QcH+FucA$EG?qth; zAy-JWs+X0I@p|2|Gtvepbpq@=C7SeJG@NcI3fu40Yz)>sN%i9D=8nOcAMq3(TN{aI z9Q;)xQEcB`wQN69(l;bN3fpI9(nisFjYV5Y^4=a{IMeBcKe|shedRvAkp>@BtwoHI zey#r71A(Yrj6fk3XXoZWMLhV3*f-t{vjL7I%Ev%lS!(va7Uzij?` z@z;mHllUv)Piv0;zh$>WY>>1>dA6j$-(pO@$8W_?sDPi9y}&M5b34GHFiU7I4bBIl zeL*GXyv8#zwL(M*#We2uf_uKkeG*WUanCsq+>0}-3j>vJXd>?Ph#;?eS4QPgQh+XN z#vuvY2u^0WUqfYg(T5JzlQRRA9qN@qSIrxYk%uRTB;n8dJ1OsW#+`7{qfgtf3rKSL z;o3i)r1Q`4^IPhBdIzKLqeS21T_@05BJ|klLanQCTX~y}vN`j6lN>Lj%aq73R;6Ay zZ-3$KxnnH5ArbnsWW+P3{m4&>VK|bE6vJ?6l400i3`4MOi!ehVCRv0&^6nvcfXU5K z7Gacmb1g!VUltudUfz-{LN9rz$6X7tuPW_YgdgxDOgmVFuhpAt5q^J+vItqp7U674 zUF38~Xvr~Y4zL>9IS-tCSP=KYWEJN>E0x9Z>N@vZtxMW&Sq zT}BGEYn_e=RGyI##J-b={fvT|fJhDX0hz@ZcB=y5zb|s%HT>t3;G<*EVj2FQom-eF z%1eZ{^oKQ)o(K)1ux_-mAL^1skA>W0IlS?xof(fhp#{O30}e_OWmU@(`8)?3m}AAC ztpb*1zhhOO7N{6(^;=g_V8y27<_G7e_fJ$DWKC!;w9-$r;={5Np$7#Sdwn95E~q4y zTKzt#eA}`qZQ0$N`3I6%uY6pw&4r?I7bp%{b{MmBLt&tzBRsiEk(BYcZ=qB3&(QgU z_mqFE&i~x^Fe3JQ5Hkw1bkPssP_RsxXoX|LH-zH@HXFB()hzKJcbGx#HZwD7Ypn1qxLuUF3bKV z5sLRi-!|3MPCl(BQ5l5yQ;)OkbHo0MbcMETw6fJl^>mF$k6L4UfSu zV84!J`U%L{Pp5eHTIksu{1+_^|F~ZY|90d>E8#D~|8?X}@PF;dUx@!1*t8`0zWhay z#GDaU{EFNst?6IRMwpQN@jC%8l3zN^&ae|0NEwH}Wb7LkygK7ni2E)$t+a1_>FJk^ zy|ALbbl@eW*IqlWzI5=_*Ul;pFFIJD#JiqKxkP9NoCDD3Bpj_0Cg_B%1>5ZvMTM1p zD>_?=+M>dWjJ}oIDY(OmNBbs1rMgstw;lK)@+N~v^z%fhm%Q}b6s(D;0Z{UTlEjd3 zsxBT-#TgN#cvGQUmx3Rt7k4}uk}K>B)}#Z-b(Z5J`ckh)BJ?Ol#aZ6{Z|Z}W_{!4O zex#S!+blb}LmY!cEc?uC8MHB)`&FG9sOV-TR#f#rK2W(s9OQLYtg>Swbe*&tD-CMU zISLCQhj#YSS)Z$s@C^O3l`K#%^vVIEx4bY6mg>Ai z%8uBa>ScvXt?4^uS>sxUz2c*+es$NKhQs9?08D^u?|lQtZ097py>=Tgcvw1Wkb;FxBU9x!UIGwYzNG( z;DAOLmF64>V3}jZI)v@Ftk_LiLP_i@v|y9-BNNsY?fX$hp!j0~gODZWmqExmH<<$M z?~Bu5FTqBXVwr;@YpwWj2C03lxRn{~-p+X%sL0|dG21b;YN>!aPcgnl{fsv2U#aWo zw^1LkM@w>jF}(z-vEodUI;fIqmR*lzw6 z6BufKRhQYglA1}m(!cI_qlU9Y=-uPf0^66SRdiicsJdpo6U&m;6u;|*G5+AIB|GcH5C9c1tG^Jo=BDDV07Ti+!;a_*X5=x!>yS2)OpSWIX>BO=#rhQ9`+QlnF zN2*V07p!>%M%XuG(y77jOeTXPS2EZ!d&05Ia>gBoEwF1X`yA%ftUx$Ze@G-|N8%K; z@m{-L*DMSU=Q;oGBoFJHD}gp!<{L;qys(53_=Pa2&Sgkn#SA;#Z1t|QsvQ{8-1EAF zl89aD(fc6-+Zsid04Wpe^bcVgZr5bkB+C{>$~R$>Ztui>tLRbP+^!;{x;ee_Kp`Lz zdP5Bq>y@0~*evJOnbkQhK;bEuE@U7?6cHuo1kx6wr~u!@{E&tt2y{G@%gj_d>xBbh zQ%_YQ5t>G}IEC?0SCc)5Y?FBrnbb&xPEilay7)qB+4vcwaE2#lTd~PGBZ|*19#MQw z@klHF#AJAjQ&P@^D|qz82KsCLHb6;#)f6#BkJyc+$A4nQ4_)wXB7tXe;x;;6^;=C2 z*>v0g9Rc5vo$EU9&$eOvW={dq`V zo!H`JAtZFolu-+5I^fi03Zpg|w#j&}S^n(lih)isI%+bzsa|Y=;a{@M;T+}Xe6L1A zxV@SOsLXc`nh)&9fSuITIVnxmQdBoJ$Tam<53i|5H9(rWUz&Q^&xyHBmGiLZVAg49 zFURTJAuUk+LRw>gAvhkgsRh&K(*G>Tp(~|x;km51D-BA77X3CYAS;jHT+gF&3@F`1 zY5R3WfyG*XaQ+4b{U7vM-B<$nglUYj_0lFN7Cy>HjKIlg^*>j1N7HWP|ttJO<~B|3UHNbp1uTepMn=Wa?K@ zzt*o`*T=<%jJgs*s%o>dUC6bW6gVg88Ku-{e$Jo<`9Ktno+{>Z{1%|!fWb^^mg zberGI4SqAXBscS zM~~piz@YkXO?6Pb#jP#`7n$mvNc4Mnl3T|TU{!Bwjvk}~GTgUl`5a)SsmDh zXBC`zJPxKaLWX|)v$fj+u9fW%;N3Wr2@#xoOI#H#LDfekF@B;X=Ci&>qG9}gJbISx zBw!emGw^Azcbk90`utWyp5jA3ItlWeDsi3>=W$#4~;qOIW-zWUlAYBlBCz1L1ieLLeDJtq-BfhY%MCE}740 z2$epBSIPDmwZVsQnh#;9Kyb;t3J57=*7&`747+oUW4bCb|0ynzCiA@HCN}#`yqoKh z>G0?^u@6lcQ5p3&kB4i20C+nM{7fJCPt^4A-{u3q$p>yH1OKNGqldnx7d+q-1^8nG zM8MwfWnDyL{+DFnXqHMx$Pf2{ADayPOdt54|Ly_bPk>t*_`N>xl4Rh_EnVQtj_}y> z8jl`ZzL%CX<`+KZ0iVAc;7$7|%un@!e@;!0Ejd2$OMT!K$-wXRfxq#%2mD+Ce!B+# z{)rx2ZcPS`EAL|7*$3Vu8ThF_@R84Zz<*$6t?@Vwyvhgu+hpKHKJce|d2Ct4qsNx_ zr6tXlMK5~59~R(mbXIIR!Uw*AnjTxqeBfn1@X-R?)t4%OBNAZ)0Rw-#3!x03u-u2x zjdXv+nCzA+^qiX?SxUm5D&Oa5p;4Xzcqq>;MvUX7wi@dTdGbb#p~++Y0WR4&&htBE zCaqjxp|A1%PKxY4CwLw9j*{*0;X8L1!AZK!^{lV>G+InJ@ox)bImLPK>41NL{kH4e#CU2;DwR94(%lt_C_ycM6~ zbLRR4FX`!Z%X%JVQQ57ul}hx?0tHCnAS-HK-#+65nM%6inrZG+UCuNogv(6oQc3lo z-zg}Wo~qF;ougV3&fl#8l*0KrwSGGxw;d(T({v%?B)tACOGd_o%BHgOJK<~eLv=7Z1zEoU25SrLRy3Usql zQY9lVdReciEP7ogod_&l|0geVu4KxpvKEtKk&|`K7k_f)1dXZGC7-X-P9={-;7Bw3C2pXcz%!TG`_W5KV>WR&LJSwqK za25%+@ldq_VZ>ntC6c6Xn-8Xh9HY|E{7+p@HD(m9K#~kDV-!nV={!?6)XU%s7sj~N z;o+QsKQsOC5U&xsDD0M^=S_dEqkw9J>|Jhy0Q{O~Xj#u4c+*FDl2017X=ovQL-WCW}25*qwKjP>#^ zle|`9v!7>Pp!KvQT94PyvdnQ5k4A2medn3`Eef)-oo|^(+FQ+I<0i4b@z7Cf#YIWM z8wV>cX|c)id2}}EW)QfLM?Lnzjv0b%JXEP57^ckDFg%;(L+M72FEx{OIn|cCr1S%u z{jS*LX>1MDgLrd?K;%T3wPOW>8Us(@$r}StenJtijLCi)h${Xzg&IFm=!6Q?GK`{m zv$W}|N|BFkIq8PxD|syOh`s|j5IstPFz7v?fw)AM`Ctwt$0xd4mrGWaOi41TB6RR< zfc{1|)YIUKWS`(xhXr%W{YG9m&}#(wILs~OtIDGkP>qni-fa+oOL>NtWomWCG`n8P z`l>R~Zzk$DL+8J!%O$Hyf43R3$LnSc(BJEZE>#Vw?ilY@2g^BCej`q{$M=8pXiOA% z_W(qyw*6K$C)!rPlO;XmXZ^plgU)t&`loVhkm$JwwTn6`@tTH z;5o8NucrL@ddi=p{4Z}aCDg{0|N7C+I7Xq;8J`4ay#Kib#Kw!H7P}``ZD$*Sy$1_Cb~OZ;TtK%kPpjr{e^ z4+L)GuaUn&#{~kvJD&LZfSeo>=)%*gdfE#a?9DXb5^mvtM;Uc4AG&q1VSc4Hp8@R#f`Z@ zZ@ijaO0_>Z;+&D*z70Ximi=vsy~VOmb&f@(WZU5ay~FY0)?`r$15u00dYP~z3S(&6 zvJW%TaI}{{OsFIObn;DR7ePn#=3_?V;_4qdOufdb1-uC6d0H^9Nonm}%IVfFG_8HZ z2Bv}bstoD2iV}#2z9HXv!_WMS&P;?R^PoVpj>#jjd4t%co{@{SruHB^FJLE& z=&Oi*Q%)rIa_$0hBlcB!k=Q?SpHU^j`b0)LYpkP2=c9SXMua6A?ojpI9JbdcLfzG~ z<1~J)m>9h6PHJmL-b0eFa{-Xiq}{^QTo`qLkNwBe5*zgP4Ba|7viUJXp(O~@_a*FZ z@{}h}WhxdSV&A5ylKzi}Wc|fi`lH9K*%~B%H4n}Zjoy^&HEO%RN=EGxN@&!Ym>vsi zH~Mfa4X1=?w89b`hJ0hkt`NaXM&Mq^at8PngDwJ}$>?44RdB|UD0FGf_TcS@sE0)G z_WjhuSHasm^RN(Y2{?0=rD~Qgla45OS0YGyvlv;xUT?=>_rY2Gm{k8r>uIiemc>!KfMgBo07qO#Y&dlvTVLy07%-uzcrV!zG1>xqs8SSzhkH-v_eDpfoc}<#tpkNZ*uYOTgoUxpO6-umE=y8*{ef&zzz&i6`U1uyGr%NlGw_ ziATXu`sY`MzRkccQFx=^AR!dH50J3IH?yQIJRa4_J?YNbLg{BLGA6~dZ&jt-c=p$L zGx6-}BqN@YSkDiZ%|GZef{gztp8W-Z2q;`Vh0^)*?jbnH zKM}e}-jd?k&ysh{fE&*~K$XT3RDMq%zb=ptQ*UlG+pR2IQW2}+pKzHGgjKN<|NSOF zHKrR$k?^3&Z60v3RQv@amX(=0ikC(0%@O;Hi2aRKFS0EmQX+6(s8lekU9fx6g5qEn zF=`VPyuvXB^;3tOzG+BSg?e`z@_F!IBWV zxRn;QUkejaQ%4khygk30+jH!wddoB`y}qh{TB7pRs9hIM)KRDMje>WH!f5)3g`tYF(CLHyy%ysUxNQe|rL!)#WC8U7>j{i&@WQF|+WWDZHyo2LcmcgeESS6cSXRTQ(kG!(~z;l!Y< zaCLoq$dA}#VB6}7{@9nCaJ)Dz*mDNug!Bzzd!<#^2>ZJ5y9M^WR{as|TV2(^bE2{; zf=Nx(QWy4#U)MMRCn_w%jb|Xrk_|))g%wu@eZ3+V5y2rekdk6W)+>p>gOp^9Ze@r!mQkpMk{V7w1 zm~G-Ffnkni2c1lo@~d$F0+o>nri`fCC88vec$eBR0xfQ7P9)vRDMqdb2Isf$Y)#ly z7*4-m@UiSSmCbz*u#lfkNNOU~k(Z{CqJzLv3Kzk)z#$h_5wNx>SZNy8eF96uS+&hv z(NTDWzzogC4#H-oeoGI!TS%uV3$cjTLHqRH1dCXbz#k?^blS)2o{k zau^Ru5S^*$sKo0!{Dw}BT?7%aj!}D^@*LGt{NsR`EmhCcRnK;<6oAr1A%@~btgOhl z;x{x$;#~{ZNI-7KMYCzx`TM8B6g0+InCc~n#Cqon+=rC1c(>9F3-Ic=7Va6C#*KJnX zlL#G>Vd!h>YuWExbsuL~>F@X^Ap;T45tDE;>#0WJFbSWbr>;qW2|*?9_%$L3zgGez z{zCP#GI1GGMuZmf@H>11WgY(S<>7dP^Z!mBzD)mld00dK|5Nht(nD>^!;DF7%R?8J zzP-r9wKCn)1{isGt6hpbB!tyiPbCjSu;1E$Y)c;0c!6=iyUfU6?g>MA*lrB7qbKW1 z%F1_gdNB{zR(|-exAMxC%Kj6`egm?z#WZ946QP0f_8%B~89202PZQ!5IGl%NY4QT; ziO^11X^eeGbwZ5sOBCdkk6=jkvdPLwiau}@-@YL$A_4m6=0xHn6VW5^X_v@wrN*(? zS@?;1EQ_SCj>I}Mh;`}C$q-I*2ZA%iH7%7R)^aHCl~Zp2xRC$4sX0=?_OLy@N^EKR z%92ysH&mP#PArMWhG&MS?~>%o--V~wiOCMfCUFFOWt1}$y;oa|tvebcu&ZttLyiol zr(5Y8ga+|F`)#P~5RM(prd~20m2<=&z)e~zE&;qfKbMmP>W4J%Oo7nLqL+7mFlpV7 z0bw(T?jrV1T)wPuVwGk?@=zX053?rLSvV7cD|#^hoo2%ukWpIjl{KNEFl;Xr>a6sg zVS7y?)DRGHbky^g>KVaemj4XTxDx954W4IP{Z>@64vwEH81lsOmYi^7(k4Pkw=(}) zMM(_ocq=h5Ghz>fmCe#v<-ka6LZ&r6UD(ON@u)qFBR z^hj)6%Pbxp+)eh=D>Je$U5b!tn0=wKZr61 zghBbTXK)BBhq9i+*@v8QR`90f%;++?@u6>`;)HPQB&+vTIm!I^DwQA1X*!1Yc{?0C zC$o43lj5dnMDpQ(ur`V}*l)wNebuV{I%fpt3js`S`4QIl)LfD|votELuN91QoX-b9 zRf3t@uSEct4kzb)S=hcpVgV|o8>XnCO|$>}WZug_r5u4@1dSfxyIdfS8i`W;-!YrHc+~d$;jGzS(bw*Phj@LSDpteF3Jl<^Uy?I^v3NjUov?i}^i=e)J1|4XLG57KAGoxT zr@<@}!b}&QG6;wMd6jTe=0b5NogpkmiIm}zvX&W%59aI%hPuJIlgW6*-rSU4TJVYB zm8dw=Ud|OKf}%LFXQVi>j~*hWjT8IXzof}lPVD3F`cCXR=T6?Dv7_ACy{MMxF6)+x zgXn;B0V{VAyBrBDY^t<+-;^Uguw$zXOLgLni$TORHd}R{Bey?Dw>BLoO>dxEU3-b? zmU*?6J_NIZI97i?P1KUr9hnFiUGe)#m{vK)#U?m^rU*vi%ozW#1QE__vHcUAf3GBz z*h`}6wU#}zikAV53bnKDko4kN`!mzOLsIPy17hv#hSZnT!A|K<&b`b1F+r>M4JoR) zwJlYABP?qk=VS)wYndsYg(@B>oi@88n_lwg6zzBu zb>pO>XW6`Igy%!HrC$~^%80#7mYVESEKY)>U+bMevfIUmXgJnE>(>)dZ;dStSOtUs z0|iq?MJ>)_=}@Tk&H$DTq}MQej1^q6(526;+mr-V?NmA@<8rZ9vYJFiAG@Qd){&A~ zQ>!!!G?O%I25G_h8ba7UN%Sh)?ogbnSV9Du3JBs0f!Z`Gy;`LbT)p~Mn9i(QjYln1 zYei?N>NK@0_)2TmS;ar2TGoL{eQCcfRa>c6WRu^Q>ztE#3&)O?8FY?iznnW4%#3A% zcWa#vJ3L#R$H}X@aluKOGRK93H!V|EyRk|rX*E>*jMhDtFIb^wm2dA*Ya%q(k*8!PTLE3eWeT zLmRtD)nBSZZ!8kB&G0lBU$qS#%6!xB%5~1S6!LZG1*1c1Y{KNMb)Ng))1mw}bg1b% zr9gP^JHGn4@oMO?s++NBdJ%Yk7J+49xs1UIpU$Wa9x%SJQJZ{G8{L1N+8i$f)?8tp z_=rxW3N1iHWF#jZnD_~OZ_6j&ORp&f@_SgiQB+AIn>y)G9^wB&ht6A=#Q1d^+hqJ5 zultN&?cBiI9(72?KMa>Mrm~{Nkn<8E7l<9mR)=K|kqe)~u`@Em!2w+AVzvqF0oiOD zWb>XwQC#<(Mb}^TQWcNk*ae)TuTy?lT~o&e%2c!EFC)IS&BB-x}|zK?`(=U4YY!<)Kzagox{9SyP5_; zGpp(Fg~c@0yTMvebK66P{xbDl2(HcTw z)LIymh>2EA&q*RUHASTbiD1tnF8VP03xq4>gkN!;*l_xef_ItV9M(S(obhLxW+_2Qi091hM~>pQ<;dmRbPEE>Xi$&rEvXZ|*sC$R+FhP(9p9M4@c zj*|A8l)EHr!-d*snzcV7tsE)Yr5OL4P$VAZ(oD!xErY~9fkU${TL}e<)eu&w>%rDr!Sjo>Ra@sw14Vxs_pm*1> zN3p9Ys64;L(!3SB!55URMo@Nq-cmN+7V$+VQ<1sN=8pp8AO@C1^N)g#$&4VPdywLF_hTlL_*O$up z>7QTG9vrh4fSniyAxH@Le1lZKLzxTPnX!^>9{b)Z%9OC@sdg(GoWC=@a?A8vJt>Ec z6lLGvL`6#i0k#6IMBOYd{5p#sTYW8a8#QfkCan|t=Ls~!##s+bLuTgDT9sTaI@x5g zt=Yk7(F$w&PXZ`-^H(enh>W2{%VrDcYTYfU(lW9lqQepL+4Y03qS6z^Pq4(RW5ZEV zD#|o^jK0nbeIg!h_&KtSgfNX#))-k5gS;hzL5}uoh{U+^%e|iifr?_Bl~5T`3X4G= zrwp%(I^ zh6{-OL-^bUij-vu=FDnkLTq}HdG68FmU#}=+z-^f$-2w#-D`!nj?tDGwMnvWcIMVP zimI#(l=te@!aF7JdlB@MF{7i;U|;S#wvzkDl-z6H%TS>NSueec3WzGC zxqTC?xzwmak*ET)uX|Lqp)AZ=8+XA;P^k)}^zCWOMJK(->RMM!Yg=~JsDN)@ja}_Z z7?!fDVmAdlr3zwSeUqAON=L7OdtyqJ86CwoUB*ZA=yat5@vgUIi1=tbig|Tjh1n^l zRDyW1qT^={tmh>uLzR%pzo*isB>3+pL9MUq7I&sX--SkFQ-ldR{H z(&Hjg%79`$_lr!Z!v|0nRLtu{W(P^)bfh)mH7+20GsV9_o-m$?I_zg*iv28D*+QNS z=ZyV~OjzQ&8!`t9Bw5dgh3s(pCK<{^lVw|3_ASC+;H8G+=iu_mw(_lwGV@CKwsj*? zlVn!4Oc_}V);y{t@a0?qF4lAp%PiWSriSv2LXV7BnHq~_{pAlZ_!k&d@n^-1`W~(r z)GL)iJqi{o*S3X0eMWf1g}gHsB69^?uXS7QT#}^Y)##qS)3cX&k?l_tds)^}Jh`0_ zM>P=|;t0c8Qs?<9p557U%947B47HN3=66N1_PFsgZ8VEoi1^)LvNsWTjpm95X*}2U)04c6?Pau9ENxJ_b z@dnA#eV4JI(h-)ioTgvIf=ZXMaQuP_oDJ5D5M3~)(!}8Fn1ugR|9d2>2O_~q{`Y%N zNiT~3eX}5*;(sp?7W)48fhwrt|HA)19mvN2mKzxJWY3?4?E2|d;3WUX)lZ+L9)jJ| zg58UWV=g8{r8u9zBL2$wE9Y+__d^Z$Lwl+o2aXQyk=kks!BxBK z?>jZI93`2k`W7F72?`5@iO|)bQYIqhbYBtGr@l!|Al6>RKlK3ms# z7_tHw@6TntA68`R`Gp#}w!(L-dTA!CmhUtwLE^TJl+k}>#E1_kCN;0mc>j`w(Vxg2M!{pGi)lT*~&Dw_*OAC%<|16wW@UDdQj)}ygbFJ9uC!+S5ImK0{CMpLP zt8*EVSSe{?qLmve`iz_1W^8vjeTjsv5DuLP+Vh zNIF~VBc2Jz&&YE^gb9+iz(dc7v|aj)Wf$dG=|t~ro~Ar|6_s5j+#n>XAyYa$<-i94 z+E(?~EPz~(PYREsY-|gMMz`WnX=@H0;~|h7`~Hjh^NjFkF8qNvoLlFNw9|Wo;?HK` zj}6kY&%<34Z8K+sbHyOVoK2B*u5VP#$#F(~^xtF7Qkb*VFh_#sTd~iMZg@$YdCADJ zm%5)o2_=tbl;PfI7Q)YnKpENPV&5Ct?NaAIM>Cur08niN82YUU`y6;0InMg`g;DHB z(u*Q5DilbpqeLvLWjZ5EGDEa%Ekv>xpu!2*7FcGrj6X?*ucY+93!eecy}ulPTVIjx zDNa{cah%+ta9c%_j!}!rdot)^KQJBmM<#4s&Asf5+=o2haxQ#Td;6WZhl~{-CNz;8H7F8Olve% zr1n?epsCq%oDd>M@$4NLdO(*xn>9fzes^w_LY58LN2P+PPo4eMt3JDsy$OtLA`U4orCH=uf=zJbUpjZ)!hk{ZUj?ASZ_i%0k zF9bRgpP^DHaE@$h%eMD#$y0mXF8e-to5B&pO{q}@3~Iceoy*R!r5H_ z&+h@iqcV6(lZ#RTJOBU=^JEb>J6S9n^p(r`*YUwTp0Mi%1^aj3(1Q!JLC5*k z9OnX=`Ic}{Y0PMa?QOZW(jvWjqF^$8nez$(& zzG{u&=kAv`^$*5U==yo4e&e%(>MyPT04keW|H)rb-|53`p}P7+)BNQ>SKXcexbf`D zXz7nA1m~+YHOy4fYHiAPu8G7*+SRQ?s-5n1N6MnDzpLx*biK)h(X0zc;xDSzw|+|} z9fKx#o4Yf>pZ#5n{oUGGo%R0i(rdT6#mzSFZO=$!^4T4;*UN4zP7a@2D4ungHx1X{ z{_*O6uU1Y^1|u7Yea<7hvOULe z`H;mh4tAQ;j=dYC2Gh@W9B$$`S5r@2Ze`PcEy}4fOi_DpU@u16IAfc9w>ouanH z-@G;@JtE)C8j{(R!9&5yf?72di1g#kWTx~fL)EC@pKBS^m{1?WroMzJj^gqpnRQ($ zrhI($Pn_G7Bc?3=%c;xW%dPvZ-b<|4n#s0;!y2sgwM{)Ggo|jo_5}t>HpF_!DOG($ zmG9Jb49EAMB>=nHMeU1YxPTnJXzJ!YwU5LG;vHWhPArZjgSY$r0?q;m^UHAYi&EA= z%zWEjPyFxmKm8Z*pCy4`#eZQt{Aa~4mH7{|h5moTd@vN|H~e>*Z|q(62sz>E3Vvf$ zpHpfj_(Kr<261J|qp<7Mzdxn^9TN#gYB@Gs=<2}*DsIfz16jmX=R^=7_vnq%jowSb zz3ZC#>UtZSj`#)jfDq|j8%BAOEJy+UaUGZt4@HiXmPlEY*{#yxaJAuflo>(CWWKtpZs*Q_01 z5PhCRuoZ8AR#-xKm5L?l&rnZ)cryB>fY zx{0qGjcpfR=mrT|1q6J_NcIIMT{aNu_nKA&-t@W&NnB{)1^+E9<)T zdZiL(?1dpWzls+O2gVK?aSdIk3DLPoX-}rGN5w(|@{r1&PXUa8US3hK- zl?6&7K>sOXX{W|}Mv3=~rZbWHQ1Aap_y*CQ73X6liFpgB&sQCwf;SQ=JKOqj%RjhK zeJ_VwX6?_&J5#{;5oT_j=CyYug=gX;QKsfHSsjd@c(cQgW~`9m6x*dllP4;o+lqsA z(LnXiw8{ZoNzOXPN{I+$`$CS?o2`O5f0N#6wRCaLNiEYx8X~%cHwUCd7nvix+GW0 zQj1Xy&b@DWbz})DQQ=(xAZJkI>{RM1&86IG=aKr%&{rfk-cA1! zubHmSxM`NR*ff`vVtc2|V!kQHaNuR;JGb8fP*$4a?kdmPdrN#ArE$2rq?4z8CjMxWBvkg*RB`gijua5CMa8~<< z(ph)Oqm>9}s>_2QIsCGFO2iK`7p-IU_k0f5^(5*HQ71?Ww zomJpp`EJ3=@bp?Cg=to}H)qEoMI0*n-uEEoNgdw)2kvOo<6+jF*^WPyO_fZEQJ&R4 z$T$2rK?_%lxt^p^zRwo6uOhS63B-=yh>=!D5@)sV%ZG&2qeL7>(v@MR*8;OtBAHzd zThab7zF}?xkM9zk=|37_3adJIR=bi}wsfuEdI_ydAC`+D#hS{=+Z018lTrS$xe{CH zZm#fNGy(d|IoE_Xd%I;vZ zw>jtS4sQFo-N6!e2Wh`tpNl>I5kZy%rRre>^SAxge>$XchYV#Wq$5n$QWf&UfT?-gxdk;a!(705b3+H>v$q^f=` z)$KWR-PiL38nDYKyny=+>Xa1A{$gET3Z6?l zDnpPwL|PH{$D`X4q4~AIi10{dSQz>zOV$dR<&vSxJViU|h8?L;*`h+st#G$r;RaQK zL+etZq(y}(ZiTUa1&a!Z$+Ii?f$Jr)OPbkC-o{$Gbgq5k>;~85-ZNJhk&f}#(I<+S zsde@4I* z#fr!-!@jcHqW9-mfj)tBcbj3sE66n4glc5?gh4VoZ;jPI_1)%;~o-Xxuk;SVk2N+q6?jKDXa{eadeNc;v>t87q;u%f!V}hY(1P=u53ld?X1pW!%V1n7OQa# z357Bb8-wAWEG(0$yn)Xls>@P`t6+^7Z^400EKZgD%9Yre3e#<71Z?Zf!8&Is)1ssZ zTJL<#TYCK7<9P$Q&)$l?SS9!|x)sh+r)z{h4za1j{r(Xf8Cg{<$t-ocf7bpir_9tf z3G@r6%N*Byw)MZuk3zvtoi|b|)7Ps$PvQq_v-fH|)=6NobJ~+B%s4`a6TdYsC7#$l zZ^@#H@R>c98`giYW(&Sjf|Nqu?mKW8C_vy%X0!BHq7| zVV)6b45L=P)9Yn5sIPB5sN)M4?J?wMN<*d|&o2@J)p$NqhK(ciTrCm$Rw;hQa4qT# z*IPCUCkAF|sUJNrR{3HiR=GGVm+4|dWE^CO{7?pU^+oZ+UqVyEVkS_W9~Me08_22W z9=k6bOO5ktY`aXnMQ`$G+D+ z3W915cvS`-8CM#3_p-mI;eDu(e;)&AN2gWqY**QFaXQk~G^KiHI?wIod1Acy2PUZ3 zbySBUn=V}3p45J_d3tZ!kOO^kigc|dy4Fi-cQHz>cPOzaK$D6};LfFluob5NR+)bue$WJMih3Xg^-7?N2dm_rtAFBYKG;=+b#;T_F z2vl}AbJp%Ap<*j5B}x-cCPe~dWP|fYpes(D`UbtY6lp$6Myi+ZAz4pVCGfy_9pXvo ze<+vxsD5?-nNJF9BT*}TWM|ww+3mv~%w3yH#9}nYM$9Z_PEd0bjsyKQ6JqA6$-*Zu zD(mrLYwJOu?%8^r&y;{b`1x0<$#~5WYQ)TN zJeubm|AkC{DlS*|LWvEzp8_JJifC12>-?V~+QMY6GEtK4Gc5)&J4TlaIT+LkUl)I7 zlEOq_A1XpC-D%`k_i;y3Iifw5XzQtu2XEVt88R97I`tcsLC7H$Mw8#&U2*{X{h&{iqjIE1~aRR~4}d%cUYT-3wOpROOfSFyMBidode4oTu*?-K_2f z&6M#lY$&R(%MPbY3(M*J*SlEzdS1k} z^7V#U_Ed7)2)Vj^a+0g}{+-fktz5l7{}K3}t2c``8tWnY@!(xNPhVC`M`+)?g^sB4 zGx>NJhHWl}tz3D^8CO=iN>Qc`jqSAC$@i;!1ZU1X7{K>oj)#<^kGI`CLxzR)Rf#Rc zNj%4`r#AVb$7f_Z_pvGtvlb|^8&2lzML?%3$(tg1B8~$|XK`WkB2+?WU8t*VQ`v_| zHRtQNTvpzG%Cv7w?4ktuHITgS9SdIX#J1qhVZdnc}=gPbpZN)Pq}X z08dam;*k^Cs#+&x&fxy~OC2DDy>faD6T+6r2^KttfE zyRu@SUGK&W7h3k{CxH1(B%Zr8-0wZ_{77HnJLgwOtNhwMydnVbkCI%^Mm& zq>(+re044*7A>^uON(G@AgV7F=YWPKHwYKeJW>c89$s%Wg$(c=#)&k(% z#mj$D3xL>3FjK;PXq#FJ(6)rMykOq)8I|zh<5OuDD|e&{~ide7*v!-sZ8hQdgUc6 z-8n zHzh)aG%t?~nZGrU_p#pb51qP=@86l!1&L4>9vjc=?)i)tLnAsY#2?4zO=PSipM@&( z9mj!wfh-EJaWc_&9e*Pn;`ZVAp$}e$0~;HCACoe3dZcu&92?;LNV(A4OALh!{Ic$+ zkB`WJ{X5<`J@Pv|i2KyO5hwT)p*tRjZdnl?K_Bt{Fz<41gk2>jq|9eosxg_VZJoUM*fwwnXiJz}6yh z8QfYhT&eT&Z~>Pm+1^DhKXa3;A50@F&Se_kRZh8bv2c^@(kI-onhcHyG;!%(%W#?* zABf_L$r7=1DivOZ3o(5GXZ%dEVx`Je+s`GPIM;!~olOe&g+)^E^rV6Z;7Vmv7^xL1 zoFfJZpSH;*H0nMK=Z{0hXsvS=kzqH}pVBhM9u%B=_y`?$qmhuW6KY71_!e2qIYp$A z@o>xK>LP_6W;tPrY+{qVN+nk`(m$vH=dRgaZ+x>GYeV8K>$DD%R!5qtdyCX%dQz~_ zd6$-qAU;8=$eG_=KmAK@8UBH)eyX!lb)ui};-MOq#lr)E=ae?0C#nhb8@)}0MyoeL z?=B@{kaZAx!hAg2p!D5e6%6igQ|XnC%Z!Q6C;?ydE?2k-8icqYFG4yWerjy*6ZI?* zMB15kb?}LLom64AuUUfvBp9i~*UBWhWhvLTat{(F{QO@9b0jL<}_a-$J&*Ee}e|R(n&r9A> znsu3v=WrEOmg)R`yzpjIihKUBt~>%O0pssPgWX>GlpJGO!TUw^CKP-{f58?p6(VO% zxh}~sq*S=YtMD?Ve3B0ndAqWUNAdxbGbB#{PeXDcsi`EN;W4`bKZNY0uDO;SCgf$H zPjWdHADiSXxKxo0y4bnig1K4|l^%xNKf!(>g}fc`IJy5me5caAMj0E5E=21?=2+P8gNjG&^uoVZ&8=V!Tcl`U0E)E?oyehbow{g7ZComqln)=CQ;(bNZg4U|36n0tukJmM45V@p|xMzuU1bzce?m~-^oCDN$lRK!F0u5ag-|MnruKTUc3J`HbQ1^i#UY~OV7 z%IYmyga;a@V!0HqqOhU4ly{>de*$+y^QEMws>oD7a|oGSCh0q|7y5a}s=UpRbCP`FLH;2P*XsYJ~e+)F_hBj zPKWbaP?KS(`RezYnp=MqYDzqem$Nt_71yeKMbD=89uXaVT;8By36Wzd9?<8~vb$jY z2qk9wy|P;8ZBn-N7RmG7)UDjLAat<(1s$al);*UsjC>~5+KdgNAJqhcsHhmXFvLTB zbRLtTV^rQI(l*EfgED6akTzSL-jxNOLMATi058#5dF^x?RVq@HP%A=NN*C~fRz4f- z)Z+@MeKRcL^MF_}s5lM(@a`o|9e7k-DaJEXnB=)<|N4`QWtOUe2Z{m{R?7zlj2AP_hkIBS8MyC`)-UL;E$ zQOOcB$4BTnbW<$xUu9uAg4)a>9+p6A{z3<^5FV_dqrqK&Y4kRp&FbiMm0x?)l!)D3 z&c+=Pw$JhpqssM2toh4fR2DjVb5@IJ9FDHBC&hw)`rBep0l=aLx40Cm?J@NwC>zES z_Rs#!J<=*s`?BZJQNI(4Bmr+k_(Hoimk5_^@3@Q{-Nf5mlVnk6@()g*4}66Gr< z)Vl>Z)EmgPH+r681WgaNbE+|4u`|m8;RgsDZzf-xws?}-l7k2teIT#i72lRcio-Zhw|?BVF!y# z{u{@l2&xbDH!qy>q&|Gt>%%3w-XQ72;0#PU+S?@?#I0bsLGFQ}AJ5hsZBdR@Ra%yP z0W-SxYo$l&^6YTG4<^A#qC~^-J_JKePFQtY)2&23-#23$lY30K9prA2I9Xz?Ud}e< z2iJbybgG8ahnw);pOmM%9RCeLz~y_L_*}OFaOAoVN?rSr5e>^e)`&(20TPMblnHMT zjhmP*aOV1xiX+4J{<+~;pIpA+83r{zt%Y8Ok*BOERy9i&47h6y%_?@qMcp)5FvMIB zc%Zp&TKSsmMP^#B4@1_KcL@(T2(2$xnvh43RX%qU5L%%wS1NA#0WM=7_9$Q22;^(0 z$k!|ISJ?cCmT|S1-PgOkTJL z_>%_yTG;(t!REC8#fULqB-2){qqG%?O+$3~z;WzSME5Od#5mdq$cNzUZ{_F zgOJ)mdlp)u*}d0NPwL{*LGF!`Dl*+1nwHRax##$o3T+E{^^dMFqG@YL9O{438e;p! z8isrStToJ`x1%Z6@XI?OI7uSqT}ve22$D~pG)~YGse%JVBLB#A6p6e-Ml>anU&)B} zg47d+D{IKq7!fi#4qKEQ2qlAI8VvCvjls3c9)OQ$F<4PZL=KCU8#S`6X zo>lzd+V_lAl#gBQGmS+`Dz$zkKzrrdK;GGeU_m>MwE3|;U zEc|w_3|%DsktARv!O|5ltl5*1{i~w)RjI`TvtC20j=8bG^7ug!6>lxXap=7J&NPD`LEpA^(R2EqFO;|g|)P6rs z8YNCk5i_4Ie8m0jL})llY*p72mZE$X#>XESA2BX|l_OOZug2kR)~m@GA0>ogCk%zH-Dlb}ntP>@)E% zb`@RU{x0;VysEgy}!$S6zUIjV5?w?hck6g@r zks92_i9Y)uxG@LeTO3*6Izi|bKKBKE)Kes@aME1Q=x_d`|JI^WF#dGW(j z&Q}I&aD`Z|^uGVn<`)dO-ktM)eE;QgY1{G7r?kA@{h!R-k`AYs^B8ZYp2ukWe)mb^ zf&IU@-(4L@VEI)JcoKz>tv_1u^emtzeY4=9pX5T#`NC1F`m{iW6}Eqh^xIx>bZ~x0 zZVfodny`saF0g$lUp#n1u^N~`Tc9BOKUKaRwr`i(&eBV1r~VdsmVe>tD^N#(nvZJ) zYkJWXLNhcfeAnMgmFbK+>K{!y>i^U@sp2jn z^@po)Wj>lOS0c-u*?b$|BUNQuW*|7@ZFwBq&PuxNLbkcN*va8bRs_z>tJ6#QIbpdx zX$hZG;oA~SGtqH>o8DPoBO=Z;RK{fP&+VU?sF-H;=B#td$A*!@A~{)5x0_keQvI>g zO>(Wr$9%4IlN_~R4%p2(SyngX(}`^COR0|4A5RkrW?jOZTuna{%@r&J73V01c4gL{ z;R;ZF%eZ_YN*>jP9=xdFd1Fs9<*1GD1R~xM2%O;J{OmW}+seuuF)5M~A4+@!UBpAa zN^zc*H_TSPf4a#%-|L;H*evX{Gqzi7=oE0?vh*mqS6$BTINx5V_tMVO;j54Gik_O? zuCBO`dN1uRRtQ9wj=07PO5G-gT)tX}wuWRM-Ra&KBEbYsAjlT|4;-M5i zk9*B$@+za1oVeIj!wbu;MEaZ48{4adw4XV>@hM+Pl;s<0KL;pb2%RCXH?{)yuPkM_F{q{P;U_c+!l;MLBSm}hs5*Pg!^sDW#$H5n zYF~>DH2sa!ZH^c=(+E9YLd3o9@t|I~ln>v36S1dGTeQEFh({MYWkcOwf0%W3FqB?@ z7$YLRSMNMKMe(m*Tp+WjoD?rhfw^4MAiYlQE9qH%P-kW$v`xAKP2`}C&n7s%z@gsD1oZ`Y3OGxfDtzbXA zH`urPu+IaUmZ+8G@FrEF7K;JsJ|sn=lqLM1X(Bg?KxMY^4~;z4m~YbX0jBEvE0luSPIDMIjj(8o(M{@QgU!N53QNBWe zp^?STHY-WK3cxs3zRvu^UV5r%t0!Mw1#z{x4MDT3QsispO)VksxM44lKl|E){5-(S zybrdWs6l)3b!98q59|&0tv>9LK=bA69pQjG(js5oTfshkZ?KQ`VebZ-maoe$fPyyU z>)FArfG*|O?;jA|2*IGeg95womx+wI(4e*RNcB&>D+RGYJ4YD*{4F47D5#T zR7&JmTmeS67x`zXOMM}ugUDl3^y1Yd@+Y)PY!`PK|eYj%+&@-z;UIQbITkmueAYPCPv zN!~l?Z(B%8eYO=-3|StDlW@~Xf5T|bJKd4{Vg1Hwpw7_W_N-E}5Sk8r;$>Or{$uXf zTa_$8|9=ow#MK4+^_?)?b1FFi9p;UxSxv&)j8>D4?_;X(RcO2-z5VQ|ZG&~LIRn#2;Irb?B}6hek>kWFI}JQoGicKPfZS;Uw%br-_v5=O ztm9PUO{!MeR}_wZhEMRowq*D`7Y2H%iM&Gu=0g6FpQ3fb?TTTcQ``Q28RkU(;Q0j( zEFvdi5jiw>r!L-T4|X7K4Q%P$9!&Sac_s(hT8-$K?8_!`Vrs1mJXA%`L&jWmkr65Q z{S?C}H0FOg2nftj#NprZlhXJ9H+*<=Td|im$G%;exJrR5t)CP z+b{NolC&MxcV8e9K{N0k$h-agYb2Hjes((FA9p!YUyjrtpqh;K`(kBBOmBNmf$8Os zf|%|iOwxWUJ7N0WsW9CT!ZZt*RMpUazAoBt1jGLrG+Lpn->eq`m`|Z4rjh z{PsK&8mXW|SlVbWG+&jTqN?A+$yXvYe`T_0+J~H1bwc&XsZjksgsK3jR9zpq1ZC>n zR}TW&9qal9th}^4d*gQTFzWg#xPzS!=Fe2u-=hAxuD5P7*L5mo+htu-e?!ZT4!nP$ z>GHEs78{70K3m*5Mune?*H*soXm!M<7~QBRO#yG|#UHb$FS6alEo=bxfrBn$`vB;R zMAm-&+U3ml{oUw``}Jk-E4Cx`xm*H1_yI0UCtPQp3fGVju4AY*#rMl+E4~v2blM3{ zyJ*rMN&}%r=ZDcT`x@eSWazY$GsS~B{t3=MfZP7`k=p;zMng!&_aqgtBB&ZxF6#xi z2;eL5f8L>OgTep( z`0l){1OFcs59U9J^C{wp-?2nA$<}^9(UZg6zJzk=%SpX9r!yG4vhMJ6r9Y!|7E9-ee@v8w~ZDV)TPxc1ee38(A}yp>UQXFT@|&rYaw>4Jm+3H`a~!OHpJj+Y zpND0vf0H(gYQ96CK1tX_m0t&1NajC5pH64;+^0Ws70dj6-Sp}A>A!zV$vje%T=D1t z`vsjaU3n@@*&$2=feA;I{05|8B{gpGIF!Mk6B&p*iTBM!Aa)=LfyWCw5okV!=|26N zH}SF|9>vwuvQg$b+^-~~1HCTMZ#>6TRcJlqkwZ0Zp9;>MY~mqjVLgNI_Ta;N`aw_` z2^DCAcOk6Ivoq_=gYv@{aa~b$w4Xq=KkxcxDkHsTQ_>uKQPGzxiUj)ZiO9+<&~Gkd zW^@wh{}i24pj+_qs7at7MQ!ow%}oi_$S)9A+zskGPmOwgd(<<5TCx9mEc%*OE<)3? zFci$B7V-OqN0u5bW>AOs3zbGlu)X{aKJ8a9Fg<%6m82TcZNE{~5o$(#i4ti(3xd}U zbnIV#7}Kss)Ks=lusV88=ujQmAOo`5sX7W-LVvb@xftKbnyOi#U6;a-B$yqKqplUFmfhHqQ##hMyX$a>U%cN~-7iVI zSqi?w%#;qW0p=7v?JP=slD?C{XZe>n`3rhFM+1|btO+yX-E?j>-9&M~^v=HhofPe^ zqoB|8s%T`ue0r~b#uAcpdU1}vI|=7igtPD^ zBA6KDz&Th*#1$Qgd&fh!P|)y|QRe|$J+XxLHAn?miSuk3J#RF6JfRw~c+=!=Zra$J?34?A#}x4wtZG}b{H6ONmS051GKNmi9PnOp+wlrGNnHqHZs(m zb{P9puq!K$j$w;64%-34^|^CUbZj+6@%p=|G-(IQ`|&n@f6R6`Dk5k2!;`V&g0`?Z z)g}rTHr_`ml535_T){Ho7d~}Rw~Aq<3NP$^;J}wTXdH@PvxHx?Jxln-n~uRR8}lpM z_bMIw-jmk;eNBp{w_|@0oS7wl3*pfv2!j)gdFg+`6=b8^xY+~5n>t4?p)0{H~ zmxS&xF${NN9m#^ChAS>vVV8>)!svtUkn-7~1bhJF~`KLR+wp z)8`l1dV*Vl()N}QaDz0o3*4f`Y6tpuA0H*KC0N<$i+w0GHr zg9^YlN9-$Y^1Y$IH=Ja=nZ6mOIsg0UUU1s#1ia3zTL^4?Mldq7-L)P8*msBJ4rIm> zgbgcFCw%`MEfq?ZoFDIP;jS0&X@OQ6Xl7>-O{8i|I(7`QkBbtCd~*J0b} zCA0xgZPYBr7^}_(&76Rn5inOg9Ee*;dJ8E1gw`^^8NY4r2C_|$rOtDv8|xU05rZ9A z4{srd+kZ3SVAQl0!G$gT&LtUjYpY;M!M=W+QoeSLyYAk4M9J9j!e%0!HYKVBJlX^D zCc69dEf)3F7i}x~ zQep`Lwo*R+^F~7Rp|K-Qt|YCi!UYdNWbfnRgVa$E*vOQP3~-S88dN>bzs~S;uq~t!6Du=KGtR%@m?OBgc3pf z9Mv%Df?iF2&@3@gt1rMx+?s@mxO?XoE2WcD%@ON%;9;EDA#x4u_$21$g^0tq5`2wM z^3)goSgPSYHq$v<+8#!WbGa&UTnl#osGLSHAvjy#A;j4Oaq|?}ajBIY>yAL2rbxri zBVa}2(1^YG1lCSPfVj}6ER1xz>oQhwIL_lL4ZUBxU#!4Q`T64B!pZf49d&Vs06_=* zj|*l0;sql{;Nv<((UAdR@ex@nQ$9@;%ZQZc%a^K|31UoE`EcrSp*){Zh={QR;LDRv zmFt}gn3-|S)D5Vj#i^pHVsUvLdJjw;ack^-oiAv;Bm0!M#-eavs%)69+l3f-4}vud zx4QW*$0o!qr=I*h?XS$h1=7v*C3Wp_Dwq#tBq{Cgym~D5VFx!|czO}XbGrSjPGSr1 z!)FrBk$m}-9*-4Cx{S=&j99w^Bfx(BD6Ox`A*TEEo#Y}eKo9vFiA`X4R_zx!!~d}# zp@P955*K-;#DOF}r>cxjhiyRBVA6#HqiiY#_^cwbk~+1myT4Nh`4u@CKzgU~_U+3vu1MyLZ( zcJbP%94-h#-1s%*%P)rmRPQ94E{X;jW4*QpzNCAiXZby>SZtE$TOjbbb0KQO<>?Bo zlAhLiz@m;zB=0;<`7%7|3w^?}fzusf7JA8!Q3jO?nw}O{N-%#&U>_kHMDf9D_mdmh zQlTiGClJT)(N*Z5L88zX3v4XvsJ)4X9pbHX{Y{VB?V@k-xr`69*G;_Doy7Z}X-d3_ zvFek$4)6Ssc~ooTx50HWDB@A3>Utb({mD+pb%atj2-%@?c$FDi$2 zPwF}J0#XS{FHm0r&_(5$z)9~+&?8h*HL>kMt}xs4#Lha3anAj)s$5@8?J8Hgwc^+1 z8o1oZbsXn!`w0sr$Q4)1R2o;y;A97%t$&D`(})@esz*QDM9t}<8Totdi&50rV{!DJ z=tq3LRYyMHOZzrakJ|HMX^^Tr*k(H!)iqUBBs_{o*TJf&`r~BwyoPdy(p?1%H*%*)pcVKud&VcCtKH4-AiJpc=a5tidRRm?hDTjRK5CNQ`IL()dgg$ z-Id>dDUpXo)<^mM-sAXC9wT$jXU!OD-9B3~?k(cA#q|x`IiX#ko6kaDv6Xm>zQP|j z>3Z1wIr)LOv8WE}osTV46@%{i# ziE;4|2l?YRtCaA$HJDNl#62a!H7XcB6~W+Uj3W|!sS1YAoM7-)tdB@=;5sG?KIa63 z>+$`X1XrtI`1B73Z-9O%!GBl5@Hs(?G)e>a;Qfe%U(De=q`V%AkcV|?xQHtbi2$#s zLJ?dz_gf;ISVQ#j(0N-ZLK6CKiEvONz^lTDkmE-ARX8hK%TygOmIa0#SAbGm7 z)9qksVnwN)Vg-K^#R^Ui6045=_F~lnap7W($NOegeyaa3#F~%&7O-N_T1REBTVD;) za@RdYI*{8huJv2t$`+S@uA9g2CmFBLPho1BB@xn^FxA4G3$rcok_ufzIr#hy6ca=2 zJS-H`Y9uX_Vf~h*+w_{1cG%a2QzP)l6Ba+d}Bvvz+=1*nvxWO|H_p?bwTlubx%d0|-;zRWFnGEbwLRY@!VsUL{** z@eHyL?nj_5*EcH#=ddFHO#`{2)b@2FKo(y=U|&afVHw{a(iH^u^*xAYtim8FRy4n- z@~ewQ?d#qn2i>9S@Abw2Qsw0y)ts{_Qm6X}dM6{-*2j@(_tY5X!)oHgg;+;Jxr2PT z9`D-?KJ;X{ld?XIeYYk)M1CrB4=RMWNZp^Xz)XB)u0gnWx)AMk3c;hy1mErKlHe;* z4rA`IU%!w`H6JP=?woGFe`rD8Lx(V`t5VZ)8rh5mL>(;+nc^xK8 zKs}5l5lXY|->WERI_VS#dsNZF3~a`NOx)xugsS{kkaST+d6Xhdy73HE$xQ7eWB}>A zNv-9e?)oZZ=0-{6p^nIN@x#)!bX1b9E7e8W~+9#w`cRqwL=M#P5HtHxcu^ciOvl!IP zcw|Edl$}k9w}zp}$N=;ss3#Lsd)>QuaiKbbO!J-^^Xtw1`jY1fF@Lx64ECqYqFTmx zx`oup|A6x29%~$Hk%_l$^!~J(IRcp_$M-o@JPiKy_HsN@g5Sz<6d_#;?IQ@;ghDRO z^83|v_a)vLfYX=6{Smtb(Pnl~e#l}U9Gh_5bLChZ13ds&Y7YfrBi(hCXQAi=5NBi{ zt`TwYzUY@l8zOKf_L0$SDvunw4T0Y#MTAe#*95;}G4=ZpnMf)~vUg^N}yO#LKgi7DB>gJ{r8Yg;Ye>2&d9 zr9F0PY?iOb61RPA16~1C4yOihUt+H~61466o=D)GJm_fY)ZvH|mDxul2s@JCy(tSt> zbx{dXsyr@~xl;04zZ}J7$}=xNPZ@mApVsh(r+9t(YuS6hTaaKhTq; z?jX$|(Va`Tg=X6tXPb>KL#0#y()Y1l~z{*?ztLchoC#6pCDnJw)`f ztPg+tf_GNr(|Rn4xggt%g8yA(a~6g7l52G#3zk)Te+f zS+`w{eZZ_IQp=>eNNPQS&AFW^S=62q#R9@*-tSb>GpNaI23d64jPG081V9T~JWM@t zA$O8-<<}q>f}e!yZsWiF;<<3d2@fp8y7ECT9=^ z>e=!ru8aFVJ@#VipwP5Bt$ai9IxKxRqZi&#O%&s@F5FAy_TMJCeWmE-Y<{l@H3%61 zXHefxMrTSC80+7>HSSdF-&FZ{&xZAHe7cWL&M7+R!!f45HGTwT)2VMg3hz+gx|3W~ zZV%?SS(HGuDCj_qSg`J9gM=@AjY*o-`{pS1J`>FqcVnj)`=<7L!cv!B0?vTbJ*Q)j zv$~&zR*%2VM2%dyMy)^BnqFK>3$Z_4Lvj$zgXN|3{@!z-Lh$52^ISLY?sfb2Vjcwk zlE$^}R?MYpPe$0+)zPHNA9v|;0c6&r$u!seR0*)a7Blf#I-RVvB#!@&J zEv^aoOMq-}D+k}iC98-uJP*LV)F>VT;^wn5Mcd7GQ2q0EGj)I5Bl^~vR5>}g36$=6 z4_@02&8e}2R5d}Ws+CkVK&qNZg~0nU$sEWt75S9&UgQHB{uYSKXNe<~aV9DfslpFcgvITo=^(TBC1M8(-w4V-f!8DYb2(i2e|IkYC%>rh4J5#e%q!cWW$k__+sO2cin=NXPux#e-A{H zCe0Hy;J_(Wm!>d=3%Lo{a*HV)1jP2jQnKOHI$-#b7SVk(Q?P!7u6UaRvw-xidDITs z^UvJZQ1E-ohM8d`;e(n^jQO4!gYgb?hFPkXk*V#6bjpDyg1+;rArfi<{(K@4GskM; z97qf;{fFa~gj$66FjX(fDaR!VDVTFQ2^HQkl+e}c*bKmUv8$G^5L-1B$dvU@WJS$v zApEtva!m^}QUSz&tk2YZMv5Qkyc-KM+%XAJIKYJ0Bonw;C&8<)mLVdkGL#fAd)dZ& zz~U|-HX>)J=xe5NL!v+oP!48Iu4--^K82eFhKni^;64hCY1&KOc{P!Q?)>C1BJFN9 zNmd^=1s5IMzM6VO3--6Z8cG#(^7}Q_zq|eOsDtNPg!`|2*l;4uSsy3S%21i%}J zI~`7=zjtH34bH%Csx^wQloq*oTKLEMGb+_q5GIU+-Wy!W{Q@O+W6p-v5KQ`rGc3ny zsbR9gg1jIL9MJxQ%WbqOmCxmO088yI5ABJN7n)dN84ih3<5zHfZFl-A6eKPsR1M!C z5_+HDOljN|p_$UNEF3aZDnzeinkhYX_`jJc9S%2jFf)b_?>cobJ%^e*m~S{zyP1+= zFw3V}s-RC~9)+aVgO_0VR~BOkg*Jg*9C2q;bLQ;{0T-8gF3qnG>yziHLDG)%2EY#A zWySCwiF=bS;8=0jVCeupCos>Ybm)ms@IXpw|9K&mBnN8@9f!VmPu=??kB86aJP7#= zRTY%;e&pl3tVEIVn2Hkj1r`|KgAv*#WV{P9Knlp1q{zToD;>!=(SeN4dfi-PI7G+* z@|}t|M1~vIpgLFZ1_?msVKoRnh5H^hp?^P2qS@_*tO)JmLe`^JQ|)IDraU^;ey=mY zm*DVnf+OWzNW$I|l0XXv^%}pijmKhv1B(U5B0=}^@O}U}(O&ILk%v(_%8FPiWqjDl82?V9K-VP45e!)4}Z!0@8se3DM5KiRpLh#@gnl^UFKC} z{6R&D`#6`$K$SU#jF3ExP-OgSdFU-<0Qo-@Z-|T(ScCF#$q}bl6a6e>#0tsP{+z=z~P$VMmxdiZ&U}Nmo}}^J$|k z*}hNl*}A*Y0$D>pogO7HmY_Y>iucW1)9tZQ_CD^-xD(A+yd~RLwK?18YH<7Vw%X}F z1)Q~6Y0FM~$vcBK-~<}7eOJWh;PSMIZpdwp-)+I2mchNu;k^GDGu_(vu6KtuR!^}6 zDqqO)ZO;m9N1Dn*6W+w|aO`nx8MUt~0a2#aKAt1Xk(hpUnj7?sG-@N0Xso;w6lc}- zrh_`OaCkM2dX3F$oX!QI9jL)mi6bz-z(J6Fk3%B5J>d0lDv;N%jne4U z$@k%S8C=QKX#E3AN7JEeW2-EVPsN#~O$Z53pb(cjDveJs#n1^QXib6>D~&%^_P}wZ z_H{l`EXS{9`@?Y{TnjFMyU+oz+Lr65V&}N#z8bw**rsYK8mU$(L`DE7kk&TF<2^vO z@3Ppev^Ts{vV993ZvQk3ou_~^<4_*=_ExBMF?(>-DNb>Gwf6n%v%>aOPl*oL*I!F7 zVWF!98j!ZKc|u^qo2~c=22BauWV=4?&d^l}QvcKLyhu6bsF_P+yYhP!iaQ}}=Vsxm z%lVtTF6S1AkDm@FnQ|@!-G14g9A6F{#_TQ0#^RBK7UYw1d>7+nyVOAC#p!%UDV>%K z&n(DOlXrrgzk_}JR2tezuTv2LQN*ylQ>&-+2~-Xs3FKsH+ba+8F#wF3wy8Rfh2aKX z`>32dc)zLx{n{O(8Q|2BLqBi>&upX}im{MA+_pgc#3b*TZr0DA(XW4)TK07>W{3Th zr0%1f8aK$pWu)?l? zafuqLK=(crO&zty_m+RypYphyUt!T(S8#?;_K*V_gCa}(R{Ad;Z}+XcEOc zD3%^iJFjpa(6!8Q3ye&)YN~c$F}RwQ6A7V@Bxa6**j)mtM-QZM{+cxKzAzda;)XdvmaC|VAk+etdd>Flc!DJm!;Dy|$P>L;}}nw>|L)Bk(q&2(x`G_niT%=v$2S4VBmGn?MDI z&ou>#sPuM3{TUb)Z_XB?wx5AvC2pq^x}Cwm8xbi3V&{*0YrdlVZbTC9E=3>;1N~o! zQzYyK0!5}BWLB@u)w~0?Y2S%P$ejXVnb{V45kuTxCA%|Izx`DS5t=S?UZv~`pEvnw#&-bZQ=^+${k$H*G^9OmxHwBAsS@Bh#? zuO+;77Fy&zihDt^i5K&~@r)bX_*~iYv2RD&Qjo;KNx}kgmkAAlxE$DA#~Ur)UfVp> zsD-O_}5Bmwi+FjK82bNeZPd>6PrPf1~8^f zLoatxRCa-uj@3;piX&N$uMc#etgs#4Gh{!=WKUE@ABp2FSAqEK4c&fGc0pcvdhPcC zZ?rFJT3yU(8NR%5cR^GwGz!!o)bbt~b@QXcYpcQol~MTiEy)*E7fn0!eSPYXJ$C39 z^r`(W;Dt7gm>JRGjV>%~;6=B;il}pB)M>{cc^AcI_;FQCL7$AUgLpNT6K2UOz?WRp z+~tukQuJdJGwS-JOWG{@ju2^mQR#JT5rS|goTYA#1={K~hktb}YPQuX5Vxv&6=HmfZi9IK@JJdQ=?6l~89n--N-;0mV|=Uym1NNi5`X?5Yz zSq11G173T&FBj!#LQ!xMvISK@4DLY;rFf{|Y2dUfev%X)q0^!=>ar1A7{vrk!_Wo% zVS!wjB$=HCXp|gX^4f?%6Ux1_G2MkCYP`sX!gF~8iS98bc|-ff2Sfpf2p~CpuFyAW zXx}sfa7vQ!Kw`8h^~*1VUzK4K8o=BhZq#yE``zM7o-t5oC(v{gi`ow82s%`!XG!Sw zncU&FspV6;9_JJIKI@>M2^_?$)jS-pdj`H}!)IOwK$;a)f~%kd(lYgggRXU-dvUdN zld1n7js72Z7d1%de=XdIOE++0Jbf)vb^Hre$A2T7p^m=|3ZUxvSE%t(kHD5NtOOW` z1@8|=p#7jUGJMoO*xNsWK<@49U~z3Ii^tLPSh_x6x@I@m8O~jq5FiPrC1a{Y;~*CB zKf3@I9k}DC*M-;Ndk9~TZ1B~W9zWF=UXA?;%tZLomkZQ))TCH7AS>Azi#v3g>N{;!~eXYf$gFjo~WDirt{0=aOHvjwQJ z_3yTZkQ|a6kUZr_NqaQt<(8*NZcY-C%k-QsX#Lh^rnLYWsmh@7n0UP^F39WY2voH8 zo2vrnhXO}2iO?T3wshHCFh1cx51Jz4DlyE!E@2^cl5X$!(g^yk{#`$s@a*Gxqq}h@ z^&hl^O+w0q(c6(IckLbv)~%q+LyFxy!4D^n6vRmAqE(hlu}Yf)4HK)h*`EQ>gm_(o zgM8|+zv9b`4O#I}k~8g33 zx(0AZzXxTZW9y;S=V#+Pz`ShOFh#)2Eqxe1NP~`q()IRfzGj;J=sE0nX;ijP_qlm= zn;BI*8F#HUrt?t7`WIMU4dkQ&y8`I*a6*0}@=5n)h7;dVlQ-US+zgeSA@BJLrL|nD+Aq!sL+!Ub9eX{t@Uq&VjQ@M4R-5ONUHF) z=fVX$-OrJT;di||?U?;H-yj+$Ll7`KKJ#2Tl+FQ##(dyYTr8EH*0!=Ye@YG|B(2G9 zpLztR23YiG@S@n1Yu!T71u{?S_r{@mc88yZ)hiG;&h4{j`7gD&Yrcbitd%2H`bjJ$ zjHJu&YFi=H-ws{5fSTMAG}G+53w*b6!HFS+c-qAaEpbm zv~$tTOnI!5(tSX=^wm4{dQ@7>FoLZK0}bxj!yR(xVwUl;e$DZp0<1rp=9|=;xOjsA zt=;rNGhAXX>vb;H{r+RW9=ncqQ^SQd^U4MF|(T^wGQ8-oTzbs!$3^+5gTt@oms#Vis#xSZ3Y>WVoTNs-N$9!^Y{ z9u;tLoG-p(6tVhKh`fnpT(QB>%sXrrMwiL@C5bZ%O@}1NXW))3pC>khm1h1RyoVe0 zroZ?Nq3`Ky_UU>BkyCqpyd9_Tlh|Fr6a2%pgtYlIuJuVq;d|;g1{0ptQ;{$OrKe(C z)UovJA*JuB+YuGtW+O{|7uqf>G*z6;T>5FM^gZ=9FpJbdDz}TO-%aJtMa?^SM$&p8 zkci%40NT`b78%3Ih{K*GFD68`zs$l*Ou*X(t{3PRxSSy2@Y%L~3~M0qT8xW<#7s6L z+3dk)Pd0n8X=k$!o2RjP2Af0K9LDCEY~GF`E08#p&2%=?paumJ$Fccuj`JRyud?|P zo6oTMD4Ty|)6eGhY+l1=0h@E#ypYYwY>r`5(WB_Ju+M)u_m9{-%;p|8pJVecY~IJ_ zZ`u5SDZG-?-U1yckoa3Rf5+zSY~I1R zZ*2aZ&3~}@6r0bm`7E2yvH4FnUu1JTn>*R0eT;#`MmG1bxsT0P*xb+N0XAP{^EEaP zvw4)wH`#of%>bJg=0F&mHZ~*K9LDAtHm_v!LN+Ix{Lf&!oy}2+MBB~;GW~20VDn2X zZ3PmqX7e02hqBp+%`i5<8BTFNVe=@P``G*^n}1{Tem0K{qnKx~8Oi3w4)QsZ&2NS> z9ySlagnqayyUy*%u5)22EH@VV3!f8`!q-R~!Q64Ts|o$xcUktooy2{SZf?Fi-2vz` zbWRKO#)0lJKhX>2d}sl@pcAgf^K3|~L=M$=+3_EYC|Ji`)Z_r}_v27I=Sy8AORoomXTfV}ox(YlF; z3VL6L8F?{E?g5Xh9O@vJEZ^lI>Z=@DXKe*(IL;)?_ieU+TDXqg*8%7X2}_P2VOld! z-;;jgXhv95#`=rGy;zglpF_$M#_?Bltv3xvq?@9D1VTEk216zdk8}i!bc><$Z{2CV zdc3b`l{g_~d+d@ExR|`sf-8IW#I|k>BL>R)jqm6&e3`#bKMm+<#h2{g(~Js^PY5@r z!?Y3*p}z=??Pa~_3yihFwIAAdr`9!&@37$eY+9Mt7ef;y&4Uw@+^P479tX)Cy-zg8 zDktuiW42)3f`uZlWkcQ(TuSO4#v+DUPuy$NA02duvE=2-9cxL)-cTY3e&icNq%2;w z;y?hB3q_-vwM|8V^wXg(l7>R|FtQ)fH^R;_>f-e(6c1bVEA*8;P$qw`#{u-ypw8%T zz(B$th>R)WY2fegX=ophv^@X@qkKm24zMEy#ljMe}&>~pxD!* z7*~Yi(X+s%=^r2fbdwzGzk?l1*Ce{^E<=2MCOok?K&mf&+e>lLj6!QbPF2_nR4;vs zF$t4ASMqV!1}{#J7!J>kM|{0rKZYsax7a9&!#p%xIXt7$_9DFCK$+tjFc6?X_XFt3 z$N~k7-Wos{-$INC*Q*G{6rm>~G}>yA+KL#*qFhf~IIoTS^jz>#KY`g9CXw#i6pgg_ zCj9{>%!{i>8q)o_R_JqBpNRWkfn)DSaE^816dm_diFz}j4{|Cc({b4}$ z^^q@1Z;2%JP5%ZA0;A`;)*Y|3>9-)pgoA&#=pO@@Z|AXri1Dh5k%rU792(+WgE;DC zhKt0A8WXOhQuT2OXxgN#ZdlPS-j0S3;2B7@iR+~&3d$8y4w*M(4h@2I(>Dha#aMiJ z0~XwS#LlK|J;F7f1=G^#X7ZyY4X`iz%Ks?U5Izk^ zao5=`qq=UiT_d)w zQH1#F2CDa^l(I40LiHK)_x0NTHvH?d!ySevG}m6A8J+3LTj z5BJCYtp>sLLREhed{AxA2OEeQR^;}DCprlg1_9jciFe8UCN#9U?SJoer;d*G3%^56%}VZa+rV_j;(Ss2(E1k zV3uREAOeIS8i1Sx;XDmsx9#muKqM1@9{yR-ihdhJF^}T2ecQL@V99#PWZO%-e+pDq zxeI!ogasUXia^-jn#r^$v2x+oo=CK0a(aB_oa`|>?9W`>kKQojRkQt>bR0JoQ=RRP z+3T*u70_u1yz#ynG1+O`%cJqdN7(l4w1#pB{*I($?_!CHu8kxv)viv^t|MDC_!vR6m9`JmDZ}sOP#jD%iHk;2z(|zC;9~$SLECuL8@}#fWsIH*iASe| zgNZexz^E@3*Ij$w8;FeY>S$%8eiJ%k8V<1`wAU_p>y_}JyxjH-ETQaBxkw*Pvv2o_ zBd0fyFVvhxtEhWGakv?aO9c8JpuL!IJaTKcK5R&1V3Op6OIX? z+(7kqRJfI>z(|?vKG6*41ahLE!^#VmV_#;)1C3*==Hi(Vif%#C(L23?*UK-zyv2fY z`E5UbMDr>dn@+OpbAj8Z{QdqG3hvyyfL6awLDau6cVTf*|2>AWuWzD2 zbP>7ky7iP3(ZZhTTkoWdxeH#u0apECra+~@B2qqb%SE-h0OwGzi~7a{+jj)r7+s+3?sp|0r?!v1#)>~Ph!5(0}1mm&04!ZclD1C{t>o)_o%fo-hgO?(j|Gc{aj`gLTZzvev zneD=42K%jW0^qyltx6$A+sCDnA^QAh(D?~S>*?eOtL8vF(C@-Q8%@4ufme$iC6`Y>$ZnVXRf_lK(XzK|x0&x-PbbBrJvLMLP?B4#q!`%}d4wi!vG}vDI10jS8 z<4A~@5@BEeIh;P*f!DB!yrs4&s?qiWtPlgO&h|WP>BqM_yo+m_9F4Yz;e@~=;6d1) zMXYAf?Snnz%srs$N050PxzhGjp36B5-;uhb61OhfmcYBV*VQmxi1=os?Q&R&S|phP zE535^+0tRLZ~J&aMU30NtqoH*+gb2Qw{Ls@w2B!ad>5qq_N7Bx+};|S7|_DC+V>*r zY+tqjSIwSL;GFx!0r#1`zCJ|AdwmWtg>Fr)eeXp$-+_}5##O{ILS)o(T15|lb9NvI zRA6@(S_tNL7&z41%2<9eP5o*EqM&tRvFcK6>I@{d4I=X^Hv6$pe>RiY?91lY9QrYv zN7&rU<_~QCiB0!l!ZVxA1WxrQHXUrvV{ zlslMTKHRN`K)bZZDixk;q;FF0ZAN-=4>H1&RCqAIJmvlr(|73qLHXurzMOphQ92ce zg&P@m3U}&t=5X+f>Z5g?&=-myPuY+>UEVIfZ)3H}f3>35w^7QojNPI1iXML(V(a~b zD1za>Oiyi#1)#Ab={aCKPdKZf z5Wl?m%5my<;dGoJ%22q_*MijgieQwGyzW)<=?}`k;m)P}=Y;ZSM5uq3MT4JTj}Fo& z{899Uw1uMi{Ph5O1kUB?*#Ejr;UDWp zIQS*yTg~zgH(@}2%aq$^xK(>V|Iw_%-!S4=DR+?n#GlqfLZ4AzhZ2MJ=_iKp6F))k8(4PZ{z2TS27Q|-et0OpN5y~4i0`8C50g6bGoGUP za+36CKQWj^?Ip;MWHnxhyLP)9G`s*MntGwo&xnt2-4T9ox8dp>RYa*}vVsV}KcWu- z^Dxii@=1Hx2>q1ZDJneL2tT6Sdkwc+xknr2b->*k9^xmtfq!pQd;FgoZsF%3BYnP- z|2GW$PUQ~f7q8sgjBuJP0RLl#TUYu0!Ej4`Y&6_%6@Rtiu7AeYUQ9C|Di`(c?ATqR-61`w1y;m7=E{YMQyeXRs`V@?$pQAT7N|yZnSd z-a{Sb8^s~|T>8-uyQH7ULU^A3tT`O?Q$XvkSAPlw^RB)Q%jEs>9cNWGh8=ueg7QTGEfRQR8Z!wu7O))0hU+DGa|bj@ z?m8^*Q}nzjeF6F5EzFI8ggJ@MG4D)<2V?;8+&rYu)o=g6M20b((={Bv9=;y>g@THS z#G)KNHLy(BQDv*)EutqAphC5cm zzpyF)BLcSxtQS}+aE`zPfycw8JOUpVc&osCfyn~D4pZ@W3*0PllE5f|UswgNz&i!5 z5I9rdM1g|^{=l!HH0_AMn+28%JYQgcfnV@~6<%!!d`RFXfvW}P2|Qn5Z-HL~FdE_a zSAjPPTr4m{V1mGtKdJbK1U@P7PJv#5^8`*6m>}?nA65Df1uhUcT%c9pp&wMd7X&^a zuu9-;flh%j0`>1zx+a153LGmiLg4$~Nj!m%3EUvCL}04GAp*btR;9a9;8cO*1)e;q z!gmS0Q(&>c6oKIa-#Ve<*9)u?=oT0&@c3~RZ->BofolY23$zOS_!|{}o4{KIt`V3g zu)n|`=*S}c4hno;;GF`O37jr)kiakgqtZPoaFf6_0`mn<7nm$?kid7oQt6)-xJF>U zz!?Ia0^?-ZCT@CJcRl{z9Nr@INNd;9siHHE)l?yGh_)fyV`=>{a2H z3S1}fpuqn7RCtEK)dIH&>@Rq9aVNd3;uj12lfbtG>P;#(Y)N z6X+4X)eC$}V8RCq|4e~52>h$SHi4r*RPinq__)A-3H(~%@Q+lyDFQDQ=n;66z|8{R z5E%WjN|z#VnZQ2@Y!TS+6BW-Tuv*}s1nv^}p}>B+itiTa75JpU7J>a+C7!@F0-q50 zzQ73KTkNMQ{#1cg0{IMBQ;vl z@sRjGFYtJWcnK2ENSDw-};ods2z1#3_o1pwRcN1>JI~8>HwK6>|u?ohXreL+ei!Uo$oLPDmHUUg8 zU$nePTT!;O(2TR8Py6)s9q<`(4g9Bqn$Tgy^N8EPgGK0eKjJMGl27?ltx?nZAtp&C ztrn5r7(Dcg$3wVB2%HE=zu8xNR~9W^v9xIA!fU)*g}2O;xuU4lTT)g=>r)-W*^7<( zzN+5WEK>F4%2%*K{Ee9T3zWa%HlQO`r7td!aDlP?lz%W@H|bGOuGgf6Dt)uWiyhED zy;JBi@a1->&yM^izWq{u6Myl6Xghw>h6eIaH~G`<2f|Cg3_MgnSe)g}4_GwiUnWe$ zpEfd3IQ^#MG3t|cd|;8Be;2|u{0TQ+K5)KnlRx3cOEdPr$mCBrNG?EEH5Mt^jy$Ug zKlyijz@uv73Hisuj)ipoZGuVsyB81nZNWpozvICRevQ`Q5MRTVQVlQTwJ-5tQ-anT z3?iQN1tj{00}`!c0SR9!U{Ap50%rpfotFXPU%MOzm3IjsrC$L^d`D9zLB4EhX<^w) zt$0ysVM)=nqH^!jB})qyd5bhH)YwhlndRkWD6f|kx@}*Z@Ra8E^sAB2rBEywa zwxUQYSz3Cv85rGWULAdWmMLQY8|buUGv^{xH>#;Or3>@nUZ2)um-C zOC3d31w|f`3Ijn+*YO?IUHdOyROnb#UcP9RqqJzHqok1LWMUJZ>-HyaUN5P`f(lW1Oagk$5c~McJ(O)D9 zJ->6R{O=NYpFoF{>tS*KS>WFVJ|pm-0(T1BBT!3F{79^DlvkEk7}+wtE6YK-qqK7Q z;-Yd#*%FlVs>I zjBn+lrCws#68L$G%ZtEPZ<(X0)L=wGNztNGicsmH^g%i=1kbLiT~at8UdN5 zXyg=scIG8>v*#?lcy87l!dPBZQCUJsiYhto$`w>ABy&qkipo7D=vNjltI*KfR4nuq zEni6e2!)&N7gvb;e=1jVCEX%{L<{}uYgK;F ziT`$ijRG4a-#?C5@tzX@Un)2VS#T8{6OHNlKvine-qd$;r|x+jlk~(S|nbizy}5P5_p=xcLkm;@LYlC30x)c zdV#MBJSy)1~@ZdCMrB>5c^_@zKi@ShO(|5R?Sl63!Da$}cr{#v>DQRwL*cz&(igh~32 zauX;1zf^A43q3x8hTLqGdhz^9xmmmn14CkH+$pOl@R&WaN-MmJN}y9+<)E%O7zE91 z33}{tiRjDBzoknYNh?`l9AAF5cOiFs3%R#^))q9vFd7LIaU>*y|?tSfK-m8vc=0lN3;XKv(CbZ zQc+e?G`^(ls-%&ZAU>6u=}&cxbc}IOnz8j!a_&!(!#=`Qb#eV;f|t`BGOuD z^j}<7xXJ;>lopX%zo>jwbVZRj3nO_sG?OHwUK~kMlAmEAOB2a~W6hfO1vQvRlF~uq zxM1DzoCT|}tbjGF@deO;yhWLc@}!YVS@=duvAe|p7OjE=6)vrSBC`s78(CUbS~OBI z^k-5PdDFenR~J`$i;!30$gz%*XguREZ5j7VGj4~X6e}-3gCtl=s*drCJRS&p`$ik$ z;m;Qt64p`9LP^K7j#lcujJpG7!gUaaiXt?9{&lL}pp1@JioD}|htm*hPSH-Hjhx`w zzO^{ec_2C(&DiL(ohSi1C~nAT(MDfo(l^;_c4aB6w?=*Abt|QstCHW$!%oKv(#}VYMKgFTDv$$%?qZMRgoIZANtV8KE|&_#;;t_Q?`iS z;u)y)km@fKJV*4P?(~-K=2xf7ID4j~A13Z!tB;P9^uJcG7$@m36nf4Q*ij$N5&z2t zULtUzz%+sB0u6n1g5d8?uNWoqTYjVTIgjx7f2warZBXeimi$%<-s=R`f351RK*E1* zyqmtKp>30p7dqVYB)dCwNJYU@PlCE0( z4cIJhPdDitK9%2=!3usZYqs!jJJFdEk~P> zqk`%EQ$bl_5$Y_FQ1Y)mJy_&cITQgwaannhiKdZ>6(b!9c2M&AbrrEiRfl>#~_z zzSK{)ywCTXZsqqWv4a)l_aP-EWoR4xQiTH*3;uV_IF(;Vq}5j{er*!iFpF_R5K-<<;M1#T9&MIfb{KIx^U1nJ$N3or9xerwTU*8iU=i03xNzbb*nQokon z^k|y19UC{rS+(ZtEgIgn5t&{7C`31fpETJi0pT!yG&du=3lHHn|IDtfNaL=yXm~eg zj?&If@1^ri;nlEj#?vu>BN5>=C^6GP`Ivt?;u${Xc+DN+8EFWoZVKy;1_LLhqdXX2 zjoDXWH2bvmw`#eFgLj20unUv;P;3g{0Q(j^Q8#p*hH!Sp2g=9%iyhE4AC7d0XQUyV zZKkm9XmA3r@iX(+*$ur!mD?27v0P@VbAh`Waq$k!$f6SrhtHj+@CMj*Jnq`=c}7SG zH}RT&X1Xaq^REi=j1rpT#R7j_7E{=%%IySx`q4fcb9s}x;S=TIGKJ-u?1aa_NA{n? zM|dbt`Wf|#cY?~pWSV{QKx-4?;N71oMtdujro|L~684U5lTr{a1B;nX!f*bWUDZhA zzR{xL-Jm&2&`!Q2fBB~HO|bvcx+X-FM_2Mk`I>*^GWciEg?D4-C~PYiYfR=S?d%kyo5D|;>=ZG6pfMV@@28qO#53oRi!|6z-*lzZTI^C*mKpf2JJH<0RD5TyLzQtsxIE2Ia zndu|E#*g-@hgFAFe@1@jY(LusnT6l0=sN zce)RI0Glc;W>_H=tbD;il-URL)nnI98G(2 zrl!rBt7$jlxe3oFc-rt(U55PdJeH?v@8J0ePx|GWb`hTE=4sjvJYQUaea!PUZ4{pM zcy7THxDtobEx=w`yo_9d=Qu$RAfEDTG;J*&D;7d~k=S2&E}jiob-Sku z`v|cqa19>c8jPQ7@!ch!)Qy@p4UfZzJ=1u!n=r@6^BSI$w_&Wk9sT+ru^$%C-FU{{ zgRRCn596KepRgDE5!g3tTFs;2!xLyT&x3wERsYnqukkd# zplOf1sA+Q=koR^?o4*6J??j$>{<#bIUedI)cjH7_JQMcOiJ&OUE5N%S<-*g1C+Yz9 zGvavx&!B^tU%m?7;TdvB(^li@{ko5t9p!||-Z=Jgx!RQ9uI zHF(zdw`jk`b6&hfTQ$g{?VM!ME;!es&B1eaibcB+&*8}y?VKqV?J7JgFR*Ag;?eP> zxGY*7p2ay9Z3&*`c&@>79iDY~ZpL#v9vVOg3;{eFIv_bGfF@exnQGDEVgTufI1LCN zPrFSMmh(2{hIEVOLXhE?;B*GlC_e~Vu0^W`uJKE0mvO>5gbHh8S_-9eIt!LyC&E^^ zqsTpN_MC*gY3UTFp@ScJHnsOd>p(ke=a3$o689KuU@^na4}e|<=!TAmwO8mveKEJymo%`n4WyI z-y9XMxSgMhhjlvE)5d#CDu^Dh$(;Z<*6$SW5S}nkrKyJBCIpVJQe};O)}noexXPUX zq0zJ-;5WwtKP5NGrAfjpqtC$#F&y20l&o+?ADxC?Ix0Ck05bbwS1r+UtUpOkl;LE zHQ`l$OgH)e!e6x!&k`N3MNf>-qLU*$mbfS_&Ks@8;WDhaiLlS^(_-ltrS&VsGbd8( zhj{&xV?7p}=@F4^bq+*-5sALI1?|-hgnjH0n!PYqvrn{Z_9uFJcA-!B5Ot9BIgGFI zSfk6FU}MA#E!$cXt_?h^r#9@v0opKce{EP{oHlG?KW&($uNIe!@+Diegxf6|h6ycc z94r&@sPy&G_k@E*SB7cht@lIpG^VHA>a>JIMy7U6M+uTM9hI5?`Mp$mr;@kSS^lR?h5Gy=L`n^S)3QCjChUN4- z(V0fKIWWw{rV=aPv!?zA;Qp{wKS2HiY{pp`q*lVK##&AwJxp8-JP(kcXT6mHd%dUP zS*+q>P|xw|RlNF28%3{I7?R0uv2p~9H8D~-rxH!g5A)&otF2nrf_x1}ci^QS`=g z{PeH~$S*zY9FCG6#<_u&lpT-}sQ-v_ZRP|u)|dKG3Uk?mNGkg)WK#)PR1VGU*`xBY zs8UHj^;|elWdtSjywrz5;y}*Z#vJqf(|X)GKRh8~Nc7^E*TQ;FkMYF1`;O@EiXT5H zDL!Sed&r34GZTi#=f*hWN5o8tcgNg_XMX(Dm?vF4eW8SfD)dmhk z-&bhYqMwNHP=9mVT^4ON+I!MHusnpv%55z_;%;;|gVC?_i$)*VPwV$YY+LV^nC9q) zC{JX5L@xDnFC%)=YcRgX6Vux{&7w`pg|WZ`<3=+6O2+G(U<^vtRz+KvY02R(ZEQq} zHZ}@RG@h8TsxM2n=BmCJ{V@98IP|@7$$eUke#JFZ(|(I5{tv2uGP}7CTr7Q3vNeBL z?{KZRH&U~qKWc&g9_GQ?qogyt`wWTEhIspEL(qQ@nPb<6Ozf=#G1}n5 zzS`h9eYC+7W3|Dz275prKN9|ke8<6c3xz(q1Tx&|Y#kw|r0Zy6`zs_lD1j0lDB0<&7~ldUk}2 z4N=;ry_$9g<{2LXC5A(4{2^|X?SILge&TY=n*mNqCbsD=|kSq-PJ+`dQ*NHM*#DPDFizXqpVm z<#-fL)!hEmt;>k@x#Hl?px+WE${8^!YG#BpIw2z4I)m^hL~4BtPuKc_uD+nFr_i+t zD1&s}1xL)1cAZIgbTuI=({%urPw_-Cud2EJI}$X=>WY{dJ_C<4Dk0p%JnE*rj{8k` zN5O&ev`=0_$)yfE%S1ks1Z83=9DQeNS6Z#fK>=`Dy+|(U2WuT=svb!WB0T9)SpJ14 zhRY>go+{WD7OjoM`YkN=)k9`$x^+l+GD?_@CppR){#f+jn9}Ic;fJiVL-}>4H}(M& zy#wLs7ZNHGEN6rwxGR~;Hqz4AFc%J!Ox-|b>@cRSK@{>&S`W)_@q{b+o!*vc_i<#&vPArS3Xa$X+%{a{D|oOa{a|2X4{d;D zh}N?W`cJS&S8ew*Bni_04IBwKFd@kiDQKH!Lfk^kn&@iav_$q?J<>LYqXgoup34j~qLRTiVL9Eyr$UTb1O*>1`jT7fR^gHM!;C zmI8`@Wjk?1X>U^~eQIeT6bf!Bya45*cBK&d`tB3F!VQJO`}WKnopbb)l(#PHy>(aY zHQJ*&d-lxi*|TTQp3xZ$r&@(}iJ(2J*M0S)a-1|E@;QWs7MfC9`1k{dXhD(SUt+IN zU&Pj0F(tda1`ap_fkjVRPUMneTk;@#)o{PD%(TxuY`TXnvou*(6u($-bYUwiDmJs? zCM$GD0V_TV3)nxeh31IUD7Nxte4IfrScsV4P61L#o8O+0B^X;`EWA54HvBd@I{-#_OOF}+Uq=kLk& zz;d24v!~9I-@^>Q#~fC;cAj5bb{zUO7Y3tJw)T5biG`KG-Y$W?T>_q#9OdodyeS(; zxmVz0H3IByQqv|_Cw{|Syxh`Nb6HvFa@fwxVdIs<##_b|pTSMY@)qh==|$v+2sR51 z%wwXTYYcZ#524q|PKa^YNN}le@-b8{d<6r1PRAEbR#%_l$H*Gx@{;oC0V7FIWeeM2 zSi&|L%1n0iO_tjH>Vg&4=kuKlS1kTnep!jLY{jy7@{ihvS*dLf-lLM7dtHj1TQVW% z-f~2)LojpuC%%rT-zX+sUZosEafhK2s`f^6ttn(aV)}t$E81MT5^JWWGWf4P09~?} z2`LrhFa&bL#Fx7ei6U4zUt*lzz^z0)NAPGs@Z%90Bu+6_oWC$o6-sVowFay|YK==+ zy=j@bEWf^B8N1hdE9e$MMwgr|WJ^K?Y)Sikwxl|rEjhY4L1W}?6j%9seEb=~V6l@N z8DFOUgbZ=NnFaDQmlf`r=jS%hQA^xBYqFPHjm-M|TxQ1F%zq1GFC#3Bh&6-$JC;Mh zW2tz>CRY58nazisX^M55jLS$y7h!x17bObg^JnM9 z=K9Sob6nJB$~#DTAI8Tx<>hPQYEl)i8!Ydzowp2ofrjmaWJu12u%F)8gwKDE2VVC*0% zEA~OREWr?52D^5->0ZmI(x%qTZE6R}%5Hpon$vE9DlRvy-)hC&(nAElOdkb%Sh>-# z)^yPP2g3uotQB3)`E++?nx}~7v-tRFlIAhcbf(hGF&fr`<_!j#lR7NI4}dw4eC_4j zCm{SX3=6RegttMCWK;XSXd(IE=fal(i1~&5@5JW~$5DqZ_}GD9u+XBs#q<;QGs8={ zQnwZ}X+&Vyd}F`;oQsS$zBy!NO@A zGjJj;J;VggQ|li1w@&05)|(F+s|<$Ua1KD%k&X;OelcGzX_^BaX<|#(E{^Aza+#^x z$k$2b3yo-VF7%aw#a!4EZNT2^3Beof_tKI)Hunu~4<*~!3_LDR9z;4341E6Z8~x6oFcEgWG+hU7=EjF@A8X=< z$8t={E3B^+zrC??*N6raFBdkzoXkiv*?% zUIV9j2Wx?$fkq3T#XM#SnD`is0k!hG_;?+`%-iAQx+=`u5$5Ay;a0XBswK)EGvCN# zs~Fw%ky8Ml#$)O_rxa)3O|Ka2Br|1EDZ^JFvKj$?Xw=6ESMjxQrm)h=Iqb4(C)OL+ z>U;!EKz)wZ{nW<#qaG9_QP$Mh-jz z@;ooEZF!#9;sHIr)l;5VOO4MlEpKP*3>%D_p!hdgHsx|9v8xVEHriF4Wf z-1P_1hei1`28)tokYu?Ntf;&lA9o@c3v4?uuR8HzSq+M$rr<~@Dw@NJp5q=l-JCc| zc~9Wuc?5I*N6}JveeBz@G;z^~A0L*jY_nmB@m}*wc~}RcZ$c&LpUcoc3)wu3C+gD# zvL7WG`y(P1kI|Z$xDyp~o0NO9Kn1%8#KQSzZgax*f#tY)h2@-iMgF%mj$n&xM5+ZLRnDYm*Z5kG~I`x_;wk6+hIAy%m&|#`H$56M_ab*6Q z97jcnSguWul2kmqg7;Cv6XS|TQ|an?(1#y_F05qBa%`+PVT~8WU>LP_b*tqqbGcf3R#-{=F4vP(MC5g^YZ! zX26`oh7fkhy<^>XvQIHr+U8kelMcEXzWRI`G1_`A0Pb)1`BD|LE}3xCsAgO z5kq1avc&y@rC8gSz%K~7^@~1^APbk+pWiaiMSb#T zszcttpv?%zf;iOCRct5Ndo6U*)5bTbF4=6q^~h3LgOBSG3z$&3g{Jb}eZCjrr_G ztYP-TMqh|^OyR2*W_f-dY_WV6{}4=(RXEcH5@e_9zvBQG@-gIL$it9_ArAu`EnW`y zdBE?1^;$`_nU$;+J`d4WWzTLN-?Jk=RXmA$ufaz(g4mCB8v6}3#Gld+VttqM8D@&} zoiZ1lL$Mjr2E60hTzwASn!x`*&?iInsBbDI*%T0ig-nzYsbD~BCHTK&^1-c^_r;x5=j-%!)uK^mQ%T(7~afH!6qX-B@J;w{IR zvfY%!Y?`!nNIUg$oGsO)h4DUiC-6?6R`bS?)`GK*2@T#GNIL?&K@FY}cT-gYZ%Bhz zfiyet;+nLrNb5)1tR}4kX`M*R_IK%?Eg{2~?%5K2xOC5!7%P|V*%ExXbkCOH!=-z+ z1RpNlvnBX&>7FgYhfDWt2|ir9XG`$m(mh*(50~!Q685CB?znW%mf%O~JzG~X$L%3^ zw>RWz^8`aq^(Gs-1;y#yyQQYawWS7Eh170#-pJNyuzkLa*!BCX>+o7#Cti3P^6YNC z74PPAI_p7$$bbafz#Mp$dZ?>SgOFP6+P%8$wTyijxxArz+-#9nY6I%nT(hNiUqd6m z?8NEhUvTA((}@B9A))bE5Y9)CVr{)_12&?rO(t0(oI97Zj>g zM3sxqX0-h})CI4Et~Rd5P5#9$WJ#my`SP$Jf6FVa?7jLGWLn+%*{z0p386% zDObh0f;s5Ar8LqFkkynC!R3r({Bq_Xbs~p;`cR;pwfgamYz?7x5Mgm+-hN(z;8pED zAG7J}s(Gy^f2*g{NrRY=mJhx!Oi~SY&V}Rpk$M5jg{BK>tgUo!meZN0vhpsNE4{ch z0_>VRN3bo>3z`1k?VSWJ}6zh^-yRLx1KLDe{ElvuiYEa@b5)EKeFPP z3{op8HBq}bJx`jLD2h|3uem5Ga|P*{X0#k{@^5d)WlX(29$!|VQ z)hT#Y#Ks?S3j2ElzV>bH8EcDTw^82~<~q81g1AE^4NEJz$+=nWzNCIosw4Vui^&n{ zEcSSKW}3+E{6nViBTU%kvz#S#G=M zphwD&T7)o?k|L+GBOMjW3y+-@6*cRmrMb@&=<>jTg6KPgp>`pOm;dc0Y$FZw{);%s zN7-iY!6sZy806K?*a}jpd|0x7%yrO0k; ztQ(6w8jaejBJ z^n!MMrsjIyGc(A=U)rAW>C?o|eORz2$_E7?wZjD-D7+_V|>t9qR-tEz$w#kj0$b19IUBqR9Q#$%kU@F3uzEe5FsPRNBj>Ldc3 zCzu_3+HtFdOcC|?L!JW{k!2tu*EBV)xCjn<;=*Kdd0%aV=Ow)+;23`(%3CBbd+6p1 zXv%}$CcJ4YLnfU(f)Q(=5mGc@YLnB}7SEEF;CF67siw4pt4%)Be-_dVQ$skEBy0~;DGdxQ@aRJh54-xs>mpMWn^mg{PHfbJHj!|J<^k!!$nJ3C) z%5fIsQ15!oAR8H+lYbHU)Cy}vC3CxT;WlEjMc!}H;*=nC<4ILmY-gbq+15eJr%ts&-rt#L=?scKA=D0dEoqlNM| zlU+ymw}}7$7E!%zsW?>Dr*wH6`n+VUDBMxDA(AUx z^7kYQlE`AS<9<2PcVVJ}hCNu<37?`$NvLE#libLAA?XuNG4nHfg#VyftI*C=N+#XD zRJR6~)-`Fk7hBk{-$BB9L%7s6LuNUzC=N>A8G_@)&FSP^q$@S!gtTD}_F%gGn%U?g zd3ag6f?d5qp=-Fyiz>hpA0P`LX@o1LESW>ioc-)+NLO;-NqsK;SIUM{J~SV#P5QcN z4@zuOWkqI-iXC)!kZN=D@<=vwmGzpMxrQ4J>|4++xCu5T57`QzR;>7xXGHI6#fH!D ztd7rV+WB26RGl{UGuj!sLXu-99X(}>$R}1@S<&^|SI;P`rL6dS_+mh1awsWs+F17zBwVe?Zw4f;&F0m(j{6~@P~=JboOe9Q)IF+9r9CIP+6+nP^z)v-{kYzh(wmv{s4Vbj@?|OGF3pcMoC#Z7L|Tp;GUZ5JY^CM;lV0xCSvjf8 z%Q9$b6)i=jv;AqjRB*HD$5&G%BOO0gDsD{Se0mO*>sLU6l+`MH0v=yiNMn5PwI>cU za9^?dSe~sY(d6Cg^Bho34P8F5U_~A=_dO&02^vo)Ve5T7aKSea#UP!e;DslNa6`}{ zd<_~Jim%}g?&GM#>LuXu$%Z#*J)*p7T#+bjfo6IWElEzXO1ffsB@cl7tA6Y#cxuO` zjGH@kqca^{KQf0>w3)7PS!RGoF<0>$;a$D{K0nP@a8T$nO8*LfM26~3nPxX_7ENn1 z&2TTMI!#kfW}Qa-;vsqo_ncV@?_s6c_@(85_@ zRi*7?^ZJ0-+l=t0HhO&>ja>(NXa$m9ap^QYK$t-o{@dVg%8ZAjNSWM^aF+G)LtQ+l z@LYjoyS$-8y@A^V*DMRLI`26U>a6$r{N4aIGXr8}){tDJiQ`6fSfkO&GWW+YCcZb< zK}XO;9%ni#AyNP;YlN00t2GsiysYl+G`HWL@1U1-XT%^XgyZ2nPu58~8tI8RGm-j) zSCtl(tR$EEA@w=s>?t8{xi>)0^pxk#d_l@~n;jlM3}^ID3W7MZKn-+V1V`b+Z_JKX z?*ZB>){)|)mzuaIjZf4_g-8F)TcK=`DpHg%IvgKv*bL_3iPzID*g|!)<2(hNY^dK& zc@D?AEI4&|Zn40>=m`eJc?Yafm8BmqUE%*X7Gljs`xxlTcA;>!sEzzMoTgz)t6!dz z+@B%;s7f3|IAy_9ySGYv`0$y_&^rfk8pInAJ19!Y?cNSSidVx4LaF0h?x&8!_iyKg z3QUD-|GUu9g&w8aC=cLeAS-k&=kjK6YoFYg;OqB$1P9er!C=naE%P1ihq14%KO!j% zdFmI@hu}uqDXLc&tNVMjW>$=UnytVYa7T=vM>Tk~Ue@AW%*veR?Mb=^6b7(9%#rp6 zeu^NO7EDPari#;7fs`j2CC4Ut33^K3g+yWH3=c_g%k6#G`f}a?QRJP(5$)jgND`;1 zGvM{^CtuJFBt(b2p4;5L0i1V&dUiIzG|*>cF6s^7QYYxdS`m93F6G6bl%Lc1xDYN# zD7Y&mT{_n(C4i424LMeiSv&1KtkNNA_Mv$mtrmkJE(cjg{gs@zspI+pJe9qBLmlg( z@8xz-!Ab!^Gm_`CD)jny`FX)0q{0;btg}dVeHuaAOrzW_d=!Ps9%pT?auiz+_)@#sZbc(^*pgf`6*h6szx_Sd-MvB?! znGZVXVq!g-dlz+puG&=64ZNi7!QP(DaAJ4Eij#E$7vcqujzDiWJ#;qcQMhIjr^~cm zfQIblm@ZEM+XeyLzswDQa|<24;vjSi9c5FHs4G2=lCNBfo~p$O4^i$ukFU?W2MS84 z?p<6*+)X&!=m;-m)}x4hTO;+i?CA_h{HU>%0~!r$$)9jzk{?QSl%c%P!zkr$Lpj%er2EQ=^$kgQ*$x8tjAyk2IJT?_wJ45A&7XBW}a*47HFTli*6u+VY9*V~FN_0p=U-V^NPF_?*v zJ#o^p2>OT~@J{}izLWX#hP{h^s>19@8Ia8orV8)55!Yp7PU zoeMSk=4;#%RYo)?fJZ`Va7GX76XlsQgFdkcC)eP!50J}6d8o`mNrO(|%yo1gp@+_h zCvmrNDW|>%XUm}}dKLvT&M27Tzn%)2f z{!6CMWWZC$y0+hIHYn3TJr2IjD#xa!+KyL4EkD_?`^UG^&72a$TZpudr`5 zNN+;L!@(kyg{o~J4S~fPJLXdwNG@6Xr19fy;v0Wn8u=C*k{JVh)ef<|LrSIBK={c1zbE&J4Y zQ_x47AILJxDUy9Mxw3P2a-Whq)zr~B(xkQ){v;R_*=CN{X^szu0=P}lTEFz+vGl4TwPmfp3%_A z7xrv#UrN5c4brM1Un7>|!d|P?j%hhu^ioL^KOQt4>Q(&h_$EB2AyiRXe_{bmD!ki| z{o)=vWd@(B1_R3#uEU%7EJzH|F1nNmZ*dwQC(ednt~hl3vg}mm_2y zG?0%UT}VD7i(lG8@PH=|*45F~=EgAr^kx8e0#galr?~C6ZqMFbP1|;E0SDYwf(P0( zk#Y~iWW(EkAH~2=+_TKwT|EbTZ}Ykjc|wqRdPjlV?P&{y++Dq`Zu-3uJH$FVd^n^` z7gh6CcJ-oeXj_l_V24<>u@cq+Hz)3-X5RiT)X2p=q24aMf04nbj+HoWwNA?`SA6V4 z3|$at@AI<*OywV1O&sg-9_nOHV0b&-9o+c=zIjLVTDM*RgQP_JIJFgmgE|az-ky-J&f^b3p0J>! zV^YjYX*+s*Z|n1K#aQ8oWwHMb4RRSh+1C{a!T++i2h71u5AQ;6is9Ry)E&@!kRjMc zd5zvs*2hlL-E~57V3pg3Gvw^Q=QSzXMoD5%=57nhFK}RZJycgZkw!v2VB|+8UEV+k znJ_){b6#*7h1aB0-`38yXi|lD5{axd7d2@-jD4$anvH9Mq_`=@9?spC98`^TB(NS{ zZgvti;`*9=%UB_c@W`m(QKIi1MQHdrZQ(lD|mM9Z?G|7WHm%i}qzJB(Xs9EgM3XbSf{3XG(do zg@Vqhw!dF_PEC2Uvb@uO$MWbMxQe{QWqD_0c?tQQEt33`(5ie#-uLqtmGY~MhkP0o z_*2?<{vz!Y*zf<-ChJFUZ>DjE*G6-wP%z5zr+m)_W3t|}658bWvrFhy#-k*lw9kn4 z;R@g6pXI7YWNy*<($F;-1T=TG2G5igA3H7C$ zZLf5^`q#fAIzaDdroPnvQ5yYGx_C2{6fF5Q6+d#9o-bEn1)E$yh&>)oJ`-N6ryUj` zej37!GO?slvSh{QTUmU?la=lUpQpRE-Q%v>6N_DI8*X+8O!q{>uNq9oCsEl!?z$8A!)c zb~#bpQiPF-PGe_xjlU~>1cl`sNU4Y+@r%HelHpgObw4$F8Ha2DZdw2NTva=hCJaTlNmf%xMG+C1k zUPYYXy9nnHXBDW|M%0h;0zQEdMLY)hdL3iOK?imYJG@2o#Q@;vuE)ONB<`62yl)$t zbR2vJ{Nl&Zr-+9EM|LvCaPL_Z@N2t~_XKDH(p`2NC=RIHaYyhg2n&%;a1voP;!(i7 zM#u`{R=`g-VQmPSgMe@Bhs@yazy#pRj{^sBJK$}%AdWg{?+K;*Lsz&_&qxl3bpPji z#I^T;(*2;HZ^8XPNGEs_;ZDS(fKwjW$`l72XchNq5`3c#Z&L#w2>uBngt+#;Ou9$& zB*H^TCrEc;MiAHCiRp#k8uvhdAL#`Df^d%L9Dq#1-&j3`egwSQ$Cw{+JK(BrQ6E3x z7vbR?#Fczuz$TeF*)C zw*YEOk4)Llln! z{v3hELL4wBD91iv0DzfggMdrF z2fDx^cppLnae_k#M&b$JTL?DPCjof!2Po?p$_4!5Ech}E9Kb)mf;Qs{a`q#fO8v2j zhXHq-VeB;0{eUGu1AXMR0XF>{dHXba*l zz~~#`E%FkqI14#I+z)skLK%29NNI0kZa|%*fH(XadWQH3_?vSW%cxHRu=FjIjdE>( z6aNEx7#>mQ?llYfDZiXsm95X)i5 zDIIWw0km;Fo)hrL#vB$x-Qs{x=i#nLlp6!wZ353A4=%u>Ik+1N^lgA=5e5)X03I|8 z9PM3jbVu9|5%PgU@GXQ2$~#xR8;6M*k71dXpk-WK7? zzRN`14j3v$8=pXaz?EgN3s4_BU^fEM^aD=FcogtW8D~p#SQ|pwzW@jD%5vP@g*aVk zb{7KalQ3Y}azV!i*e&CJz^7z<7I02Q4wn-v;PnWU*9B<20&Pd#!hqjffj&Sy0hqk& zZ6z*&M0gzO1n);UP56MyopA)$RDw51CwL9QDB@1QFC&m$p}mhRjx_s+aDVfY0zQm* zC*s<>$LOB2pCI%jo#4+A?nj(p93hN2LDMR6M;pOs5C*{?g0CQ)LY!diO4J!~f^iuq z`0Q%*Bk0TmKD!3(1`eyrVYeYfk?sThHo_Sy3-CPzvbES+j9UcjDFJ_pcnRVOzyjPy zW=Gr#xC4RsOz@D5_XD0os3v^C@oIq+0X&63^a;K!kMV&(b|b-?5h!m9;3G2rDB#ME3Obd5F@)o%1UxI#3C_P(;8+2- z%lHn!HUwTDzy;S~oE+j?xLzoplr^xM&yd zc?8b?`#+2sR03f@Ul-w{wr5D6Ys7p6uoopPkZ@60F8@}i} zG4nSU#weZ)oH%k~@WjxG@QLV&*oiYI;wNk~l{5C4^)oFqoiqNK{+S~)gEK=j;hD%x zbmr7dY^ML@z{w*g2Tz7io;n#jdHUq+$@t0hCs_-|8p%P}9JYpSVS9Le*frWb+A=yY zdSrBPbZ9g@8X2{Ym5kZOD#z?&>&Kj9^<%EF=CPKs&N2U3=Y)Tve_~+b$i(2p&_sA5 zG7+6PH4&RQJuy2GpEx&>m^eSdBIbxSQWCL6DkJvD`iL`9A8|#RBQ256h(FRF8HgN- z3`T|`;YcJBjhu?aBBvv>ku#Bah$)s(va?(Dze$qKvKk1rmo@|-y zob*rjPYz5TnH-!PnhZ}yCZm(5CS#MQCub+mOvWeAO(rJKPqHcVly$0P$~ILwWuIC< z<(#UYa!oZ)wM=zR`KS7)2BwZo4NeVBg{LA@(Wz5Yv8mHjvr}iL;#23Q5>w}=*tB`t zI$bhto35O;Pp_YLPS;Pnrkkf*raPzo)BV!}(?_NUr-!D)(~;@u^r`9C^y%r@=`+*u z>2uS}4_$14%{bgYJTQD@cyM@VI6NE~jt-w1jt!q4o*h0j93MV6oESbo%tp*3){&AC z+eqbzePsQJbEJO6HPSrNGSWHXAL$<%7&$UBI5IR69*K-ZM^25zMoy2+j+_~ZkDMDx zjGP}~qvlcTXvwH;v~tuwx_;C-T0biKvUAiw+OO-;=;*1@*y!oe+0iqj@zHamiP7_; zY|K2Cy{G%f2F8wz4UP?sg~uXe(Xmrwv9Z%*vtwt*;$!E=5@YAb*tmJzI$knv8?PL< zkFOthj@OU7#+%1m#yiLT`_^I*O`04T4@iXJ`@pI#e@$=(s z!aQM}D4DQLR8H6@)=xMm>L*+i%@ZvXofnX@Gk;e(yIB7wrq55a`)~oixi)ICK(Y&T3$z03{fAm3-tm!}VcT zxH;Ss9ta-^4~B=r;cz4z4W9|054RlaJa**R?6EV)&L49Q*AI8qyE~n*8*|h?+yhwJT7$e6@%^K{9(lj)g(iEQge9!sbK>mUGrMuSNpS?eO z@9){)^VsLC+t5cF`e^e!wz|mUaZ9dsahA`ND7Vb0ZH-EY-`+4ea;}O=k@HoY7CBqR zl*mM2!Jf&H3xE#f@pzWc#+r3^L|dls}1(s@BuGw7$x;+Yci5_-ShN$dREjp#_Wzt?|^J>;25H?R|) z3v_dQ*sy0ReVwIvMbp!4kyjc0J$uosQU7xUA%*t03+x{h*n9fFWjWqy=^b8#49w(h zy3i)ypW14Aw_;fS8{Vw_qyGK3)a_-5yid>T^~P}o@CSgs_8yJw0M zli^UZ=6(uSF*rHN*HBdVJLpH9yQ1|mc|3a29lfkZ|Di^$U$^-Zl8W%L1fI0Zo%99_ ze(WYSdA*xHq`HUMV*v}jdK38$!r3PQ3-u4Hb`Kg}r{63cVd?rM2D8d-0+;TT?Te=I z^E1T$s5f~nyrC$~Jw5D%em1RU*YwZPWVSCbf!^+D56qxTS8O1}_9N9l5>K&%?)uwY zQZ6Vse9s5W9Q=0z`sW1mE!O$ADu`XVpe3x-67qOLFcMsn#PWhIy54xUJ2;2Fz`BF? zPH5vvuIxaR5V<_x(}`VNHL#BH0?8~#Jw zw@Vi}G)lLxRx_<;3!Ek3Tv7rkeq5In1B+rQmy|55R&Tg+jgy~{Sa7n-gYrX<@OJ<1 zRp1*7Jxp$r%69*2ZW4vw@n})GiA$nBsy&uFmnW8BQx@5NK{0$EjdHtV2&<+mcyQ#V zV%+NXGm7DIG+SiIpf9oAhD_Y%9fl~nll{{$hvu=ciBU^Zs<7;a0DeO1196yH+%HxA zx|He8fpmVSydR6zZC%RudaE>C$s3hCk;h$*aP@$!5#}W=$sYoP-u?s+)8#eG-k@Xc+_Qk zexTf#Kd2Z^!?Qc(G;VijcGDuG=C`pK#>~LQD|vpIxk$dzi+-$ZmoYYOm|rd>ArTcl zJulPFo>MSz5B&hXQ$^NcjE^v*R=>~5nJ-1;1CB1Kohimix-;P{DQrr_`{Dc$&-C+) z+4SUj5AMB-bFCOovQ1&R)W%*3yEFM@7+O7#F^0RRh>u*0+>}4a4OuZ7uTg4-IpCFNmww0QN2cJY8zYmlx0fK<)_2n- z)xx5vc1bm`_^pXkSPE0${`G{dF-ZEiODY@*Wx;ew3)qK|Syl=5D}A;uZ{1G(8oyt5_ zpMa#NLEHSFgSH^?W0%wf(^Knk7fj=T7qaSM>D#{w-RdXn+XszUu9CeNm7MgiGHm6c z?qqCFzVW^s@1KN3xzRrsFpq8n&2&`7ZKc+FOeH13rRt-qwyS!ls@JQ!TGb9!KdI`?s;*V_ zR#m?mGUidWp(w4QU5{Rpnn-b(^YdRGp>j zNoqbHu}VUxs!yw0+gNuXd&4}FRk#;KKqv1-jS0NA<04myo~*Mr>|9 zutW1x1^=}0&13Sa1n;gc8xtQCzNg5WATW+2KmJrf%o5ly3N8vfB5<$37LoU+z>DrW zfm=jgp}=g^}0RM%LO62})+qouWx41<23M>;S3!E;{D3A#J zOw_+4@Zff`SX)u(K{K)Nf#=4+G|f*PgYKgAR4wlIzhE6np+1pO8hegiPMYm7B_~lj z=qQ+cBZ2i71+ov81hIxY{Mg2#9kiK!R}>S_nlrM>(c_MZcWl#HkDCaY9gELl$d{0x zAa=a!f53;{Bz&5sV|L|0UVvPKu-~n~|q5DWe5<)N;(+FvCw}u$O8Yy*a@2fL! zz;*jj2TOvj33IySi9*R~V znRwsA6{~rH-~t`evT@WfYFjgSI&KH@tRrgq6l%2K6c*PKQUN-t97ZKX7hqwlOQuo_ zYbwdqb@;OGlC6pPm~}d2B}Zfb_<%fu6UeawQum9`DoPU#Je4B#^Eg5_#uM@mQa7?^ zN^9sPhtF?ADLueqSA=AB@w?SR$l-dR_zi(;w&2rn6n7qv(?M{7+uT`%TxGRb;ToQ! z)!40RRAeINo;SEuaqsh*dEksW;6~-GVjU|&l6N7(&#Q4%_Osv!vP(y0zsZJIMEp9# zf4Km^&hY=k3}^Q8_z*vGZ%y4@+t*fXt6sbPuIf$eHWT*O@+CBw4VUNA2$sFdU4+=Oo zLwG|RD`N?{2YeOqJfsdb$DlZE(FwrC!Y%@S4B@qxfOQx=4an!XAHsQ#9r0Gpc?-@> z5g=wlLLt0UBhUpojA9SGg<>F_mw^m#q+{R@0KbKBp5V`hN=Ps4D&Rq3bG#&MjAw1DzJ7M7UBV*XDa60RtQFBFyuVX0nUQ-!RD{6b&w6U+63mKmD?OY ib2Qz(V_eXlmgbiIEeBf;x3so&we+?0JHj@7P5%d{7q8|3 delta 4994 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 CeV3E~ diff --git a/private/racket-webview-qt.rkt b/private/racket-webview-qt.rkt index ac3113a..74cd743 100644 --- a/private/racket-webview-qt.rkt +++ b/private/racket-webview-qt.rkt @@ -45,6 +45,7 @@ rkt-webview-messagebox rkt-webview-version rkt-webview-set-loglevel + rkt-webview-info ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -243,6 +244,7 @@ (_enum '(version = -1 event = 2 js-result = 3 + metrics = 4 ) ) ) @@ -267,6 +269,20 @@ ) ) +(define-cstruct _rkt_metrics_t + ([shm_usage _int] + [shm_free_depth _int] + [shm_free_size _int] + [shm_item_depth _int] + [shm_item_size _int] + [shm_item_usage_factor _double] + [open_windows _int] + [function_calls _int] + [events _int] + [log_file _string*/utf-8] + ) + ) + (define-cstruct _rkt_evt_t ([w _int] [evt _pointer] @@ -279,7 +295,7 @@ (define-cstruct _rkt_data_t ([kind _rkt_data_kind] - [data (_union _rkt_version_t _rkt_evt_t _rkt_js_result_t)] + [data (_union _rkt_version_t _rkt_evt_t _rkt_js_result_t _rkt_metrics_t)] ) ) @@ -299,6 +315,10 @@ (define-rktwebview rkt_webview_set_loglevel (_fun _rkt_loglevel_t -> _void)) +;RKTWEBVIEW_EXPORT rkt_data_t *rkt_webview_info(); +(define-rktwebview rkt_webview_info + (_fun -> _rkt_data_t-pointer/null)) + ;RKTWEBVIEW_EXPORT int rkt_webview_events_waiting(); (define-rktwebview rkt_webview_events_waiting (_fun -> _int)) @@ -595,6 +615,22 @@ (define (rkt-webview-set-loglevel l) (rkt_webview_set_loglevel l)) +(define (rkt-webview-info) + (let* ((d (rkt_webview_info)) + (r (union-ref (rkt_data_t-data d) 3)) + ) + (let ((res + (list (list 'shm-usage (rkt_metrics_t-shm_usage r)) + (list 'shm-freelist (rkt_metrics_t-shm_free_depth r) (rkt_metrics_t-shm_free_size r)) + (list 'shm-alloc (rkt_metrics_t-shm_item_depth r) (rkt_metrics_t-shm_item_size r) (rkt_metrics_t-shm_item_usage_factor r)) + (list 'open-windows (rkt_metrics_t-open_windows r)) + (list 'calls (rkt_metrics_t-function_calls r)) + (list 'events (rkt_metrics_t-events r)) + (list 'log-file (rkt_metrics_t-log_file r)) + ))) + (rkt_webview_free_data d) + res))) + (define (rkt-webview-set-ou-token handle token) (rkt_webview_set_ou_token (rkt-wv-win handle) token) #t) diff --git a/private/racket-webview.rkt b/private/racket-webview.rkt index 7d3a17a..5ae9181 100644 --- a/private/racket-webview.rkt +++ b/private/racket-webview.rkt @@ -107,6 +107,7 @@ webview-default-boilerplate-js webview-version + webview-info wv-context-base-url wv-win-window-nr @@ -954,6 +955,9 @@ (cons (list 'webview webview-major webview-minor webview-patch) (rkt-webview-version))) +(define (webview-info) + (rkt-webview-info)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; testing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/rktwebview_qt/main.cpp b/rktwebview_qt/main.cpp index aac9b19..fa81e6a 100644 --- a/rktwebview_qt/main.cpp +++ b/rktwebview_qt/main.cpp @@ -15,17 +15,7 @@ static void free_data(rkt_data_t *d) { - if (d->kind == version) { - free(d); - } else if (d->kind == event) { - free(d->data.event.event); - free(d); - } else if (d->kind == js_result) { - free(d->data.js_result.value); - free(d); - } else { - ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind); - } + do_free_data(d); } class Handler : public QThread @@ -142,6 +132,11 @@ void Handler::run() quit = true; } break; + case CMD_INFO: { + int open_windows = webview_handler->openWindows(); + result_queue->enqueue(open_windows); + } + break; case CMD_HANDLE_IS_VALID: { int wv = data_obj["wv"].toInt(); bool oke = webview_handler->rktValid(wv); diff --git a/rktwebview_qt/rkt_protocol.h b/rktwebview_qt/rkt_protocol.h index 663bbc3..b1c3082 100644 --- a/rktwebview_qt/rkt_protocol.h +++ b/rktwebview_qt/rkt_protocol.h @@ -27,6 +27,7 @@ #define CMD_SET_OU_TOKEN 24 // arguments: wv: int, token: string -> result_t: int #define CMD_MSG_BOX 25 // arguments: wv: int, title:string, message: string, submessage: string, type:int -> result_t: int #define CMD_SET_LOGLEVEL 26 // arguments: ll: int +#define CMD_INFO 27 // arguments: none #define RESULT_QUIT 36379 diff --git a/rktwebview_qt/rktwebview.cpp b/rktwebview_qt/rktwebview.cpp index cb267f1..983593e 100644 --- a/rktwebview_qt/rktwebview.cpp +++ b/rktwebview_qt/rktwebview.cpp @@ -48,6 +48,9 @@ typedef struct { bool rkt_webview_prg_started; bool valid; + int function_calls; + int events; + std::string log_file; } Handle_t; Handle_t *handler = nullptr; @@ -98,6 +101,7 @@ bool runRktWebview(Handle_t *handler) if (td == nullptr) { td = "C:\\"; } std::string tmpdir = td; std::string logfile = tmpdir + "\\" + "rktwebview.log"; //handler->name + ".log"; + handler->log_file = logfile; SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); @@ -105,10 +109,10 @@ bool runRktWebview(Handle_t *handler) sa.bInheritHandle = TRUE; HANDLE h = CreateFile(logfile.c_str(), - 0, //FILE_APPEND_DATA, + FILE_WRITE_DATA, //FILE_APPEND_DATA, FILE_SHARE_WRITE | FILE_SHARE_READ, &sa, - OPEN_ALWAYS, + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); @@ -145,6 +149,7 @@ bool runRktWebview(Handle_t *handler) const char *homedir = pw->pw_dir; std::string log_file = std::string(homedir) + "/.racket-webview.log"; + handler->log_file = log_file; posix_spawn_file_actions_t action; posix_spawn_file_actions_init(&action); @@ -174,25 +179,6 @@ void rkt_webview_cleanup() // So we would need to cleanup at exit of racket/drracket. // Cleaning up when exiting the current custodian is not enough. - /* - QApplication *app = handler->app(); - if (app != nullptr) { - // testing with #:custodian (current-custodian) - QTimer t; - QObject::connect(&t, &QTimer::timeout, app, [app]() { - fprintf(stderr, "Quitting\n"); - app->quit(); - }); - t.setSingleShot(true); - t.start(250); - fprintf(stderr, "Executing app\n"); - app->exec(); - fprintf(stderr, "App exited\n"); - delete handler; - handler = nullptr; - } - */ - if (handler->valid) { INFO0("Sending quit message\n"); handler->command_queue->enqueue(CMD_QUIT); @@ -240,6 +226,8 @@ void rkt_webview_init() handler = new Handle_t; handler->valid = true; handler->name = buf; + handler->function_calls = 0; + handler->events = 0; handler->shm_size = SHM_SIZE; handler->shm = new Shm(handler->name.data(), handler->shm_size, true); @@ -253,6 +241,8 @@ void rkt_webview_init() handler->rkt_webview_prg_started = runRktWebview(handler); if (!handler->rkt_webview_prg_started) { handler->valid = false; } #endif + } else { + handler->function_calls++; } } @@ -280,6 +270,7 @@ static inline bool validHandle() #define FAIL_WV if (!validHandle()) { return 0; } #define NOOP_HANDLE if (!validHandle()) { return; } #define FAIL_CALL_JS if (!validHandle()) { return nullptr; } +#define FAIL_INFO FAIL_CALL_JS rkt_wv_context_t rkt_webview_new_context(const char *boilerplate_js, const char *optional_server_cert_pem) { @@ -512,19 +503,7 @@ void rkt_webview_set_ou_token(rktwebview_t wv, const char *token) void rkt_webview_free_data(rkt_data_t *d) { - if (d == nullptr) { return; } - - if (d->kind == version) { - free(d); - } else if (d->kind == event) { - free(d->data.event.event); - free(d); - } else if (d->kind == js_result) { - free(d->data.js_result.value); - free(d); - } else { - ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind); - } + do_free_data(d); } rkt_data_t *rkt_webview_version() @@ -557,6 +536,7 @@ rkt_data_t *rkt_webview_get_event() rkt_data_t *d = reinterpret_cast(malloc(sizeof(rkt_data_t))); d->kind = rkt_data_kind_t::event; + handler->events += 1; size_t ds = data.size(); d->data.event.event = reinterpret_cast(malloc(ds + 1)); memcpy(d->data.event.event, data.c_str(), ds); @@ -581,3 +561,33 @@ void rkt_webview_env(const char *env_cmds[]) } } + +rkt_data_t *rkt_webview_info() +{ + rkt_webview_init(); + FAIL_INFO + + rkt_data_t *d = new rkt_data_t(); + d->kind = metrics; + + handler->shm->info(d->data.metrics.shm_usage, + d->data.metrics.shm_free_depth, + d->data.metrics.shm_free_size, + d->data.metrics.shm_item_depth, + d->data.metrics.shm_item_size, + d->data.metrics.shm_item_usage_factor); + + JSON j; + handler->command_queue->enqueue(CMD_INFO, j.dump()); + + int open_windows_result; + std::string none; + handler->command_result_queue->dequeue(open_windows_result, none, true); + + d->data.metrics.open_windows = open_windows_result; + d->data.metrics.function_calls = handler->function_calls; + d->data.metrics.log_file = strdup(handler->log_file.c_str()); + d->data.metrics.events = handler->events + handler->event_queue->depth(); + + return d; +} diff --git a/rktwebview_qt/rktwebview.h b/rktwebview_qt/rktwebview.h index c969e5f..0fd9da7 100644 --- a/rktwebview_qt/rktwebview.h +++ b/rktwebview_qt/rktwebview.h @@ -14,7 +14,7 @@ RKTWEBVIEW_EXPORT void rkt_webview_env(const char *env_cmds[]); RKTWEBVIEW_EXPORT void rkt_webview_init(); RKTWEBVIEW_EXPORT void rkt_webview_cleanup(); RKTWEBVIEW_EXPORT void rkt_webview_set_loglevel(rkt_webview_loglevel_t l); -//RKTWEBVIEW_EXPORT void rkt_webview_process_events(int for_ms); +RKTWEBVIEW_EXPORT rkt_data_t *rkt_webview_info(); RKTWEBVIEW_EXPORT void rkt_webview_free_data(rkt_data_t *d); RKTWEBVIEW_EXPORT rkt_data_t *rkt_webview_version(); diff --git a/rktwebview_qt/rktwebview_qt.cpp b/rktwebview_qt/rktwebview_qt.cpp index 04ecaeb..64044ac 100644 --- a/rktwebview_qt/rktwebview_qt.cpp +++ b/rktwebview_qt/rktwebview_qt.cpp @@ -147,7 +147,7 @@ void Rktwebview_qt::processCommand(Command *cmd) w->show(); while(!w->windowCreated()) { - doEvents(); + _app->processEvents(); } cmd->result = id; @@ -156,7 +156,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_CLOSE: { - doEvents(); int wv = cmd->args[0].toInt(); if (_views.contains(wv)) { WebviewWindow *w= _views[wv]; @@ -164,7 +163,7 @@ void Rktwebview_qt::processCommand(Command *cmd) w->closeView(); cmd->result = true; while(w->isVisible()) { - doEvents(); + _app->processEvents(); } _view_js_callbacks.remove(wv); delete w; @@ -175,7 +174,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_SET_OU_TOKEN: { - doEvents(); int wv = cmd->args[0].toInt(); QString ou_token = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -189,7 +187,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_SET_URL: { - doEvents(); int wv = cmd->args[0].toInt(); QString url = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -205,7 +202,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_SET_HTML: { - doEvents(); int wv = cmd->args[0].toInt(); QString html = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -220,7 +216,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_SET_TITLE: { - doEvents(); int wv = cmd->args[0].toInt(); QString title = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -234,7 +229,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_RUN_JS: { - doEvents(); int wv = cmd->args[0].toInt(); QString js = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -249,7 +243,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_CALL_JS: { - doEvents(); int wv = cmd->args[0].toInt(); QString js = cmd->args[1].toString(); if (_views.contains(wv)) { @@ -263,7 +256,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_DEV_TOOLS: { - doEvents(); int wv = cmd->args[0].toInt(); if (_views.contains(wv)) { WebviewWindow *w = _views[wv]; @@ -282,7 +274,6 @@ void Rktwebview_qt::processCommand(Command *cmd) case COMMAND_MIN_WIN: case COMMAND_SHOW_NORMAL_WIN: { - doEvents(); int wv = cmd->args[0].toInt(); if (_views.contains(wv)) { WebviewWindow *w = _views[wv]; @@ -308,7 +299,6 @@ void Rktwebview_qt::processCommand(Command *cmd) break; case COMMAND_WINDOW_STATUS: { - doEvents(); int wv = cmd->args[0].toInt(); window_state_t ws = window_state_t::invalid; if (_views.contains(wv)) { @@ -336,7 +326,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_MOVE: { - doEvents(); int wv = cmd->args[0].toInt(); int x = cmd->args[1].toInt(); int y = cmd->args[2].toInt(); @@ -345,7 +334,7 @@ void Rktwebview_qt::processCommand(Command *cmd) int move_count = w->moveCount(); w->move(x, y); while (w->moveCount() == move_count) { - doEvents(); + _app->processEvents(); } cmd->result = true; } else { @@ -355,7 +344,6 @@ void Rktwebview_qt::processCommand(Command *cmd) } break; case COMMAND_RESIZE: { - doEvents(); int wv = cmd->args[0].toInt(); int width = cmd->args[1].toInt(); int height = cmd->args[2].toInt(); @@ -364,7 +352,7 @@ void Rktwebview_qt::processCommand(Command *cmd) int resize_count = w->resizeCount(); w->resize(width, height); while (w->resizeCount() == resize_count) { - doEvents(); + _app->processEvents(); } cmd->result = true; } else { @@ -652,6 +640,11 @@ window_state_t Rktwebview_qt::rktWindowState(rktwebview_t w) return ws; } +int Rktwebview_qt::openWindows() +{ + return _views.size(); +} + void Rktwebview_qt::rktQuit() { Command c(COMMAND_QUIT); @@ -730,9 +723,7 @@ result_t Rktwebview_qt::rktChooseDir(rktwebview_t w, const char *title, const ch c.args.push_back(s_base_dir); postCommand(&c); - while(!c.done) { - doEvents(); - } + while(!c.done) { doEvents(); } bool r = c.result.toBool(); return r ? result_t::oke : result_t::resize_failed; @@ -750,9 +741,7 @@ result_t Rktwebview_qt::rktFileOpen(rktwebview_t w, const char *title, const cha c.args.push_back(s_pe); postCommand(&c); - while(!c.done) { - doEvents(); - } + while(!c.done) { doEvents(); } bool r = c.result.toBool(); return r ? result_t::oke : result_t::resize_failed; @@ -770,9 +759,7 @@ result_t Rktwebview_qt::rktFileSave(rktwebview_t w, const char *title, const cha c.args.push_back(s_pe); postCommand(&c); - while(!c.done) { - doEvents(); - } + while(!c.done) { doEvents(); } bool r = c.result.toBool(); return r ? result_t::oke : result_t::resize_failed; @@ -859,9 +846,7 @@ result_t Rktwebview_qt::rktMessageBox(rktwebview_t w, const char *title, const c postCommand(&c); - while(!c.done) { - doEvents(); - } + while(!c.done) { doEvents(); } bool r = c.result.toBool(); return r ? result_t::oke : result_t::failed; diff --git a/rktwebview_qt/rktwebview_qt.h b/rktwebview_qt/rktwebview_qt.h index e83de37..16e5599 100644 --- a/rktwebview_qt/rktwebview_qt.h +++ b/rktwebview_qt/rktwebview_qt.h @@ -115,6 +115,9 @@ public: void pageLoaded(rktwebview_t w, bool ok); void onPageLoad(rktwebview_t w); +public: + int openWindows(); + public: void triggerEvent(rktwebview_t wv, const QString &msg); void triggerEvent(rktwebview_t wv, const EventContainer &e); diff --git a/rktwebview_qt/rktwebview_test.cpp b/rktwebview_qt/rktwebview_test.cpp index 9075755..681f84d 100644 --- a/rktwebview_qt/rktwebview_test.cpp +++ b/rktwebview_qt/rktwebview_test.cpp @@ -34,10 +34,16 @@ int main(int argc, char *argv[]) int wv = rkt_webview_create(context, 0); + rkt_data_t *d = rkt_webview_info(); + rkt_webview_free_data(d); + rkt_webview_move(wv, 100, 200); rkt_webview_resize(wv, 800, 600); rkt_webview_set_url(wv, "https://wikipedia.org"); + d = rkt_webview_info(); + rkt_webview_free_data(d); + while(rkt_webview_events_waiting() > 0) { rkt_data_t *d = rkt_webview_get_event(); rkt_webview_free_data(d); @@ -47,8 +53,13 @@ int main(int argc, char *argv[]) #else sleep(10); #endif + d = rkt_webview_info(); + rkt_webview_free_data(d); rkt_webview_close(wv); + d = rkt_webview_info(); + rkt_webview_free_data(d); + rkt_webview_cleanup(); } diff --git a/rktwebview_qt/rktwebview_types.h b/rktwebview_qt/rktwebview_types.h index a1edcc8..fcac80f 100644 --- a/rktwebview_qt/rktwebview_types.h +++ b/rktwebview_qt/rktwebview_types.h @@ -71,10 +71,24 @@ typedef struct { int api_patch; } rkt_version_t; +typedef struct { + int shm_usage; + int shm_free_depth; + int shm_free_size; + int shm_item_depth; + int shm_item_size; + double shm_item_usage_factor; + int open_windows; + int function_calls; + int events; + char *log_file; +} rkt_metrics_t; + typedef enum { version = 1, event = 2, - js_result = 3 + js_result = 3, + metrics = 4 } rkt_data_kind_t; typedef struct { @@ -83,6 +97,7 @@ typedef struct { rkt_version_t version; rkt_event_t event; rkt_js_result_t js_result; + rkt_metrics_t metrics; } data; } rkt_data_t; diff --git a/rktwebview_qt/shm.cpp b/rktwebview_qt/shm.cpp index 74c3fe8..d4a6d5d 100644 --- a/rktwebview_qt/shm.cpp +++ b/rktwebview_qt/shm.cpp @@ -11,8 +11,8 @@ typedef struct __shm_item__ { ShmPlace next; ShmPlace prev; - size_t size; - + int size; + int alloc_size; } ShmItem; @@ -69,6 +69,40 @@ public: return _mem + place; } +public: + void info(int &usage, int &free_depth, int &free_size, int &item_depth, int &item_size, double &usage_factor) { + enterCritical(); + + usage = *_used; + + auto count = [this](ShmPlace *l, int &depth, int &size, double &factor) { + depth = 0; + size = 0; + int alloc_size = 0; + ShmPlace p = *l; + while (p != SHM_NULL) { + //p -= sizeof(ShmItem); + ShmItem *i; + ref(p, &i); + size += i->size; + alloc_size += i->alloc_size; + depth += 1; + p = i->next; + } + if (size > 0) { + factor = (static_cast(alloc_size) / static_cast(size)); + } else { + factor = 1.0; + } + }; + + double x; + count(_free_list, free_depth, free_size, x); + count(_first, item_depth, item_size, usage_factor); + + leaveCritical(); + } + public: int alloc(size_t bytes) { enterCritical(); @@ -104,6 +138,7 @@ public: first_i->prev = p_i; } i->prev = SHM_NULL; + i->alloc_size = bytes; *_first = p_i; place = p_i + sizeof(ShmItem); @@ -118,6 +153,7 @@ public: *_used = u; i->prev = SHM_NULL; i->size = bytes; + i->alloc_size = bytes; i->next = *_first; if (*_first != SHM_NULL) { ShmItem *first_i; @@ -574,6 +610,11 @@ void *Shm::ref(int place) return _shm_api->ref(place); } +void Shm::info(int &usage, int &free_depth, int &free_size, int &item_depth, int &item_size, double &usage_factor) +{ + _shm_api->info(usage, free_depth, free_size, item_depth, item_size, usage_factor); +} + void Shm::lock() { _shm_api->enterCritical(); diff --git a/rktwebview_qt/shm.h b/rktwebview_qt/shm.h index 8de1d08..32b9fc9 100644 --- a/rktwebview_qt/shm.h +++ b/rktwebview_qt/shm.h @@ -52,6 +52,9 @@ public: public: void *ref(int place); +public: + void info(int &usage, int &free_depth, int &free_size, int &item_depth, int &item_size, double &usage_factor); + public: Shm(const char *name, size_t bytes, bool owner); ~Shm(); diff --git a/rktwebview_qt/utils.h b/rktwebview_qt/utils.h index b7e42d6..d7ccabc 100644 --- a/rktwebview_qt/utils.h +++ b/rktwebview_qt/utils.h @@ -2,6 +2,7 @@ #define UTILS_H #include +#include "rktwebview_types.h" inline std::string basedir(const std::string &path) { @@ -56,4 +57,24 @@ const char *logIndicator(int l); #define INFO2(msg, a, b) MKL2(LOG_INFO, msg, a, b) #define DEBUG2(msg, a, b) MKL2(LOG_DEBUG, msg, a, b) +inline void do_free_data(rkt_data_t *d) +{ + if (d == nullptr) { return; } + + if (d->kind == version) { + free(d); + } else if (d->kind == metrics) { + free(d->data.metrics.log_file); + free(d); + } else if (d->kind == event) { + free(d->data.event.event); + free(d); + } else if (d->kind == js_result) { + free(d->data.js_result.value); + free(d); + } else { + ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind); + } +} + #endif // UTILS_H