From 2d990902794c5c295957328d0b2b459a4dbb7807 Mon Sep 17 00:00:00 2001 From: Zach Walker Date: Tue, 5 Nov 2024 07:52:18 -0800 Subject: [PATCH] Adding relational databases slides --- schedule.md | 4 +- .../app_server_to_database.png | Bin 0 -> 66403 bytes .../demo_submissions_index.png | Bin 0 -> 104753 bytes .../2024f/11_relational_databases/index.html | 1122 +++++++++++++++++ 4 files changed, 1124 insertions(+), 2 deletions(-) create mode 100644 slides/2024f/11_relational_databases/app_server_to_database.png create mode 100644 slides/2024f/11_relational_databases/demo_submissions_index.png create mode 100644 slides/2024f/11_relational_databases/index.html diff --git a/schedule.md b/schedule.md index 539a0744..c211a7c1 100644 --- a/schedule.md +++ b/schedule.md @@ -130,10 +130,9 @@ The following schedule is subject to change, and many slide links are not yet ac ### Topics -- Relational Databases +- Relational Databases [slides](/slides/2024f/11_relational_databases/index.html) - Relational Databases and Rails - RDBMS Scaling -- Deep Dive: Load Testing with Tsung ### Tasks @@ -151,6 +150,7 @@ The following schedule is subject to change, and many slide links are not yet ac +- Deep Dive: Load Testing with Tsung - Non-Relational Data Stores ### Tasks diff --git a/slides/2024f/11_relational_databases/app_server_to_database.png b/slides/2024f/11_relational_databases/app_server_to_database.png new file mode 100644 index 0000000000000000000000000000000000000000..43caa50b946859944b567782390ee1ece3193cbe GIT binary patch literal 66403 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 z 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 UH*uFj@B$b`Syh>8DU*=@1FqeHNB{r; literal 0 HcmV?d00001 diff --git a/slides/2024f/11_relational_databases/demo_submissions_index.png b/slides/2024f/11_relational_databases/demo_submissions_index.png new file mode 100644 index 0000000000000000000000000000000000000000..3cb86176c619ebf946a99ce8d847ab30ea3af843 GIT binary patch literal 104753 zcmd42Ra6~K*fod-f`{NvaEIXT?(XjHZoz}QySuwXaCbdOaQ7ew{ZI0K-aOnUs(PyS-p{UZ1vzmQY^9MRFLoAv+|H2!dVogxhWy!sd<^vGIOW$kucoa*6El8MD9LOAVHtJFnf zu68)eD{L(bwyL=g5cUX9kUtt=2;w}1a1aI`8ZN+_B$Wlxmq?3vUDgFG5+4F99BOKn zJ9UTK;%ogmkKFmL=2!(r)HC+dB(V*)Zgp96<70EvQn=NKKhFqK{1GTE@s{h*p@*O! z4iR4-&?oNSVux8j`*3zuD=&p4%@MLu=k+DHvHX!#&Rv5{v?T_-rrH+VxZ&BwrziiZ zVd#;vM?1ibM~KX!d`fAQ5?Qp;Oub7s_{Pixv_ZJT3v4Elr#r>znDkO~yT~w{*XWQ} z_?Tg}XVbdzx;eQ$B#+(gj9t=mA6Z24ud!~I9AqHrIefw<_ea0!9@Zg?_FxdWP0#Qy z`UM%BC?eDtGF=#^X3C5oqf40Zp*$Gz%XW?dKPB`=L^EFfF z&n(tdq?mT&i}+y0kg?<$3?N)`Y1Dy#FN+I9=)reTREC6h zc{iS&qRQ};_m%_7?-$`NE6baI#y|5mhxV#U7~7e}&GGPw#f4!`5a|t=`uNN`d_a1- zMYWO{O>wP!wbYa)z`hW^ia=H8>j^-2aWC_7)Hm@X!|Z~Jue+9VF*}6YSgr28q7*VUm%L~ z9{S=afoI;9oZANDO44@JB9r}|24@k4Uh7Ph#>G}S=|w#2Dd6k1ZjO0Tc9G>6z1G2S zrJS^Kz~Wa?rc?K)-%pcSmQ%sAL7MlJe)g28?uw|lfUvCpk*@yEi}Y^$6UQISElu`s zYc7z#t&#IynkAOQ+;!k*TK9RA6k}MdQ7daT%k6|>fdEKRnppwrH5}MASJ5c}r!Oe5$LF)<_jEkhK zD9kn-G6Dvf@kx><=!syGB7!O&>*sIkF8GoeN1xwybm;;j;j766t6eRUvC}o<)0b3r zRW(($bvL`ab$L6zAI{T{_{{a(3Ed8}w$c}vyBC&}HC3rdzA=AqGKoX5LWHxZ4v4G_ z=>+iU#6e+$!77MBUAQBC?%Uirf60V@**Ir*7KOdph9_>(NGU#Y;*?n!JaF1^;7~w= z4j1_rFF~4MPm*F9KXFh;3tzerZiq!0kpTU!&s9h0Aqs1lRuYZ^p{i<+Pa7RQTyOstQjeLw$zidP1r=|fwfM!zaF>V>$#3D+TTEH1L$d|`~0d7YN|J&MW0D_ zL85d4?8%4EMYq>{?_JisI%ceUo+sj#&^0Gk_@%IlyIj{Qbv@Va0y*fur^pZRNAkjY zA!p)X)U1&M4@rj}v!a4LfZfjZ9+vp>`aH$%qopC^g8i|YY^sp*L-7d6(ZoOAk@&BH zC(G}Q8nF-dg?#0{wjFj{Leg(|VD~*vsS>29pe_Ppkl+*j*H!ZP&-45#XXILR9H-?Uz)C1trN67 zBu`iOEJLU{p)PmWH?vqvy7M0}Z2Gxp+#h>sH8HqPvP-^LJxE>1$38SKjukHV=w#em z=})|i=fC;cey~~jYqap&T|6cp3a-bF%pvjpY=N2US*&dbjA+)wShNpTn!dJqCLH*u zHr2A%QfNLT((C{2+2Dt;a34Fq?DbqXwNr4VRB4yH$0a;sK#TfDtB&5pMKAY9=fWm_ z{af9*e)+~h46w#ppT2g<#w%@IecYP!;*m=X^cc|RC*SJFJ}k{wnJh@n1bZjsR>7THec{~ex$Qs@&f$$x|9d8)Att~JpHm~U!Th}hnE zdhQiBetnBU+=^^oe<>UPC`o-Qn()tP<}b6A?|7x~)Rnl{mc7_^DSEJ{f9^)DYQY$g zg@GX+HD@kTvYhNJs8&@S*>Tx%;+|V-uEnljUq_&+Mz5b|qB(GM*Q$&o$(BoGho-MZ zZe0-Q4tppDZrF}USv$~{`qFWwG`<;H^m4y-FaOp6g+cNQW%Kq~hgTA)pI-cGfS{mk z_E{UVnF*aXsT_G)$49CTGBeMsS46<1q1nr0bv?C{{L1vB z+opGg^@GT^{|z+SeC2O|d|xs(*B@%uU8y+a!DAMWraiB_9L~!L1cahP2S^Hf%JSag z+|B649=gLBI3u;CU;1u;sad(K+!JAt*N6Mb`M3tYpU~QR>+km+it!+!ha@-G9u#d? zg12q+tW><2#co+4UpKG55V_I&%Mr#tB)jlhT~uzC(OhU-=O7on=^Y*Ft&Cd%)EW=; z?mc?f)#qQznrmHRc@Zuud3#eXwPmk@Ec81*{F-X-z1mmqJ25UM4%!o{t$EqmAGgn5 ztBcgFJ`OGPqrD%%sy`bhre&5q4!iDd!N$iC3PT%ak{+64;hq$h`u~Is%P}1Z#mVY; zW))O$akP8$TM;&}j5rAXOl*hP|Cv}JWy~5KTmwjI9K@@`;U1r_kpo>FFx?GYh0e#sbuWYT5{0!P+WB{!Y{R~-LqK3RE0e-(gL*%TazG52_z zmHTEF;zK{Qu?nV}O7HOQg(=>9ixM7eQH`K5T9THYVZxX53l&Z-HrJsjDsBeSEOf1$ z%IUbwEysf=pc)5ip!g{pt~>s<@Ktm+J~r@tQgI?nH~(=z!>Cd1h{Ic`k}s#xaxcCh+7L zJ0+xAa!o8htkBbPbI9ZAei$XnnvY`AqHPkP#Gph6J90L8=hW45YtYnk*3SdAr1faH z60CWyD)D>Ow2K~=?)=f#S1RufEqe*Gk+t3n=XQ#S?*NFq8dG>bo*O$`lhKEHi6ch`_R$t$5#Z&S z8^l-u$TNI3>2;0|egXAbmPDDd;7-!{V*GE(R>YW(rE*NZ3zF*#EOjro*zEx^k(JKE z8gupMh8%S z;}u>-cLXyWwVHB-i9>)Z(V)sZSf1}Cp{OuobLPBXHZZ4VLWlc~tfZu|lWK5d5lXlb z8i(EXX!g)n=28Ff*V06kcOgrwtAjyi?&3aJYG)XSx9g9G4pfYe*t@a#+B%{8bB?yi zABIf48xzr&jXo)ju)+Gp&D2r9E>t-~>Lh1knHU{{EGMR7LfIZz%4HB@zPs#w8@L0U zP`WFP4yI>fn|iQB_g3Xh0oW7?X4CM_4_`y}R*{eyE-elH+%n?(1z%aGn(WrZMP~(l z3UX^I)t_FKqvsn4=M_~0jTo8@ZFPOlWIJ;rjjMH|pO7hXUFTx2H&uqACkq#sY`j**Eacr>OmQPpiIxy13DbY) z>&$#}$qnhx=M1FF=6O7gY!daQ{gX?co@UNt9-onI^!u50R||Uv&m-R4y?MtOwgjfr z(dU{TbNJ<$AgiQ?_9s9Cb;kG*i;$qG)Er?*H+JP>NF_VzdBa6M$~oUU_)vnR3{HsY zI;3LF^B6k^(3)N*Zt7MSA#_StRb^bG)g`)iJsdh<-_Hhq{pgZ{?P5Ffb}qR@0PIRmIY!%j?WO4o#gm_&oOm z7d>ES*0BRY1?t2lbZrePXWq@qs=@&mhZ1hbf{boTRVNq6#E>teO7@V6dH2Iu4KB93xmqgGSWY&QxH>n)OBmoy4vQ?W11V5Z&xyo zyyp4J9$=`n|HBLStJkvp;*XWO-#k~V9=Uve6XbCRhTCU4diUBUq-7fU_ylHM4jnlV zqs<~vY#IDim<_4;Q6~%~%$XHHDOj4wgyy1Z==e*c9#2$IS%n2WLgRZ)sX`WbNnin0 z61iOf7QPvNDfFhBKW^@4p6Fci@^cEExFj6kZ zh{k}yl?4M+PUmz|!3Esj7Ij?sW8aRaRYCaFwma)JT)sjBnuA29!F3uBn3yf&T%URl&jFHv%1IwrE^;X9HtIyD4%e zb~*V+Fzg}u+44fFYgRgT-?UCIhY+yT2}z=3Vt(e4^K-nD@5pwtaap-WCN3FORM$^B zlod`i3S-ly>Dagi-@p%|GdW!xFqept;UFsG@~{4QcR3qn#rOE(upJv5NRA9+r>B+F zaLJ4oCqzs!Gc!SU5UMVK3x3BiHZlq|QBC`yOqQBq?&KDuBG`X1tEg&P?)@iw-_mas z1PdvYIz?_Tc8RMYNm1ZnEBhuD*h}Tpp77&lNYe-i%`6A z5%hZ}SxKVh+0*gQ_J;cqdMe~9#@~Ku;0b+g#Umu{!`O}a!VV4#7(PH&P*sne^ACwE zjWHt6fVJ>E6nkmsVGQElknnXq*;VntMJf8~{73hq*dVyfc1yrn7m;jh*Tst%j`CzG zSPq$yiEY$E6WSmlBGz%|oN9Ea4E97O+QqrsKBu9?O-fpL5^^nsswVpduA5PQ&^j)M zVBcs4_KCWT2LAVKisR+KwKkrIjbNO`BcBor3C6B;dVkclC*x8$|G0`WB6Nf>ztI^N zz@7OS=vy|0dt!sXqcnpUGjm@^9XF$i72u?0Wew}WiibpjHN0z)99Y5Wz^#k*jGBm! zKH%`XP8GpE?m4Eq30cPy7( z{H#WIo0Mxkk0=wY$f-pIf)ibR-+2?H_JV?I^5g~)rktGPRDPTcsp6}u&1OqL#LrlQ z{Jb-iT%7%ldMZ4mXdf;?IggXo`s9)ZqG$J>5Apv9+9w(yv-La1>U^%lW5OBE+`1T2 z&o$~D5U|jRt~zjXtAtZsR8kXKxAM6~h)8K7KUKe^swFjD18zdip$$@m+RDPNqTjT1 zt-+o@No7~H9|JC5g6;(=kY6iWT3t}l;hE-mwINbUF?8jC6w7WeU7dy68zw#0yv`PS z^CZ8jA!YgSQ=lHquNHgXi^Y@A4USiW8}Zay)NfcBO6R&-iw8I2t1qwcBIFGoOPprr z8&H)vYx7E>;>?ofGH9E!p0bd*Y)yH^Nx>4`qQOf!8!5c)prh--*m0p^+SmdQ%oQ~Wr*S*&ob$T9^`Q1}{ zQ=T=;Uq|wNn>Ax2P<9_%YXFw$HL84=ytLKLPofO2Rx( zM*KyrHBn@~qE(m4xAVHR=D=)i-uI-y3=DMrUP*Y+!@QNkytiVjxj&3s&y~BF*u?zH zwOKYN4i7Fr!tP~2%zDLmqWfX2M4~Y|Uyx&l*amPl1taOnIvW4H0Bxj!#Ob!4*X= zMZRx!i^PR|?nCmHL@(kx;bO{C6aUW|n5CZOXHS$AYnxoLi$~+TpbgAep_d4x*(rpp z_ja$0A@njM;Ul(rFK9BqqZQkF=um+4 zM2fA*jnb|wdg%bXSQvvx#{(0Xw4z=^Ci|V?b@2K>NgMpL1P2;Q0YUM>0Tkdwv~P+BJ#pk^I@~r z#!`@#-c;y)QTO)kiWa|o=R=rpY?<_j##vf>11ZMQW$wg1#(ZA}?Re*9i;h@HUmr@7$0)jnBmUTsKtc$wPMvsCB46ubZl14tJWyvzit5BGff zYEpM?O|@np?4mDPyWA-YJZDLRFp{B*R+H<4!uozgq1nLUk;)WID87sFfn!Za#OZ}7e9nV0G_a%cWUOKw!rGR0pEpuaXz;4MyxU-FDO7j~M zqIsL&9U-82!IBe-{NJbSa|`Dy*2kwDW}uUtUihn~O*9O+NaIv$4N=3}NWQQprzbRE&0N-c?>_GsYe1TvPYdllI%k;jC9bWzcy^a1Vd0ek%1Cz4wit;Z`Qac&zxJW{abN0StM(!J)UMhx zCB>hAJ#|9c>ch@jpX#c!d3&NHdHtvNL4C^6&R_Y-E+z6vTkb_`z5iv-&wcH&(zn@d z*YOE#BKeVsuW$1uwc(t_BXz>{%(%>*RPR7cmufSpA*Bm6*@9MI8JqbppX1ki0qcY# z-EB&I)^snKMZVpj$lvCnu8H3! zlQ5-+qWsMa<+!Z)wH+>aIU7%RW^r(Hn|7u`yNOAv3 zyroG0moWDKMWOFfw~zrmxDXMTC^#CrsGZVNpNG%-_}l{$v_W(NO9O;%=`Q_hxq5?|@MAI6Uc(xAQ|EMgrIG1Qpqt^3d^<+}PoQXrapx3Z8#@t<@w){V z@8KE=EMMp{<~u)7|czn|K^%0PqGnqpt%95043xYfw^b*QNfz)~>cf z^wgTT@Mz~hLEATvy*^<%bDG26Gme%X5p;;A9O#jOmW5?Fq4{)<)KD#^h8Qxz1x6fr zd6Z=pp%rD66@4x6CXJE_?X+uI;dX7;&%SMVpVoJuGEmr3ERELKA_@vB;LPY{za^I# zlzaI2brE28K!oUIn0ymmZc=cCv8#ot1%%X8mtnWq^hOr2f;ov8~BCE z#3|D;vqm%-hqf+{Zo90|cUD=TPk;=YG+QR53J(E;T`c^-tb)RE)M({?R)CKTh7?RC_Yl0fWoLb)&3nUOI8k? zRwhna+0O!SkzePsGtMV6nCVI3HB^&R6l3HRoZhF(TfFnao(uF_9&gyE1$tP z@^}5-BNE)>9y{Xv2FloV9H%CgOf~wv<4;SPIB(a5myg_ZMR=t$=Rn^?O}z*$LcX)ymN z$NVuxjVA^o=t%x{?Suw}{s>5zjCw1gaE?~EnF@Rzb*w>@jhi~Cr=896v(j$8ewCi7 z%cqYJ{<1%Rr^Ee$E*_I*>On6^uMgI@$B^$lVwl6*lv(i;CO(pR);H#npEI^R<@OhH zuQ(~52s&Fi&{2-?BkQYqEhB60aFY!hNR5kX@H`?0)dESRAwoI%XQiG;nmyd|dZob$JJ9P2kg7qRp^GD%fr& zrDy89yFbP5y$7!Ti*8_xa~Nb%o)H#3LKq};;_9pE`+M&8;OiVbi&`@3^)qGl_T={K z_Ph5xW&EI98&!GL0P$hF+X+_h(}Ci;8x|g4o%i2f1e>VoSo;*O~v7@M9lq6%u>Nj?Ymc3c=e^6#iMQeLKu?GU} zxA#O=D4~b?_M8k3=S^ zDU^OlQYVX1e!_$?AA8UApMuYRE&SX{d{p#zgWNyanj zbXqxHUTH;yb-l~NatqI7W9|5pngKyiRFlv~e_bcVV(O@USL2SUFfIy${+Jm61;89n2= zqwin0h;Wg6e>rmlMv=4kMpG%;xfq9vD_1xHykjZDT5!;bLR%t@piC(_H~(ZYyg2aB zFIMv1+4eI{JwHqKtw|`t-aCxaPH~QxIc^)P%7K-gqXl_+r&Aw(PIs!#9RK80x90B) z&JmB>Z&5k@cRrpxzfyRslNPmC(MB`LDal(z9v1hHV37VW_3)25)KZ55UI}|IJo0 zUyZM43~p_g6h}b;L`22z?NZ~*5aHd``wV|EvCV?!nTd;4g!HCzldXSFFYv5)M?jox z?Zj3Ei}M|zo%>ySO;6u9>jc6|d* zUzJbz`^t_bsFw33LX2ppNAGXv+nvxW0r)CF>ZjXR)u<9P2zrW$gdSB4ILZnk8=oX+ zLf`R4mnefN48K=({{eYDUV-#&N&0sLTMij|hHm%dglrK+)e35g!)xq3rRE~;`W#aih?co534y{Du#Q zB|j|{e9bRQYHn%(UJK&T474F8TA0!q#=;Ca&CjpOcpH=X)ncZi7w4BpIIK=Mh|w<0 z!lR*Wyeo~5pTc(1GZS9z1wFo}hlGH$wJa$Uz}@cUzTsM(T9s2H$6@tISd;c~Qpm(S zTvvX)>Zi4JWQKN7#ve|-4(+UzS67#i?hnOm=W%>g9GjI@486W0sMpRY)w#4>a!>XP z!<5AYLwovt-sdFnl#N_&yl&bj*r$H!yki;Bz6O&lMuPT#?>qkMjubx_=#l^G-y zX)XoBow`X7=TfTk(5+=Ux$#N`7DW#sNM+WZ4V{XRsyP+eL#1eqb>68g@N zraTUPYHXcZ9z4FVyO9Mo9PL9!SrrFR8%>u;JTJl4JLd>ykBN`VFQp!|Df(RF#=Q6c z+W9;;+Y%71jeL7+%}`ff5_6>QAJU#RW{&wHDWiY%*xM0k3LhA6r3GNC_ug*o`t!@L zLWe!OM*FV4P9!GEw2;#7lzO84=TjS*?%Z{9lH%ra)Pp0k8&7ODlf8O%Wt2c!s8Vbp zR#Hsp#6hu$`vzBh#(?aLGsCS8`NRec1y*{5Bd}7Q(|=#s;knG(ro>s9Vy5erBxiFj zW~TjlMd6=H0;G59y#ETp%-Iht%)Qx4O=W5ZtNl18%06bay0}8H{OA%wv zW!A2`TVtc$#Kd;fm@DG2q{Wz<|JKWLt0D5eU-6Td*YU}Tp$q*q2(CL{3=>f;$pUkG zMHaSFpUQh99&ml5q7h~{y|XWSz8so~bH1Mtt<=cpcS=3&fHUZyxpx$c8mzG`ZzdbT z2Wtv!oO5e+=(EnMKn4L8Zj!ar=^vP>sCPQ(cpf`)6GCkfkYX9Rc>1Exe50bG=ll;4 zeAOA4`AU`a^+m-^)53aSTmCV-ZHLQa@P;Y0fuNPA*M(S#H9a3$T+8x`JnDT-7g`pG z9n=b`x2G)Xp`lOEE#D$!>unWBC*wv<>%h?k={aX!UrDI|9oAn2plvb-pTL9%NJv{% zzq(;|X9$r`Z#;2mPKY@}efA7&yG*NgDHV6wzG#Jj74-7Uiq9tyJ8YorS3~M57}-T<4k~qeb%vTK@r)okI-_K~lBeCUkrk8IQHXLLC|0y8JRFe|9*P?~FO zJC`K^Oz8P~zvs}(zOzAr#Kg zPI|}FRqS2pNC8hW^x`i(!#opi#Jr%Ki=a_gSnbvuC!tF&KK;$@JnerV_PUQax17^yx|vnjYCc!w|L@HP6{-2W!>M(=df0?N?q;d*Jvu(Mbpy z`Sud7TPhCRnr4jOD-0jM-{&2ggW1Qe-!BZj16v(lY)!#!UY9&8-os2&Ea^IqW*G=U zDgP+NZ~_4l^d^3Op)+$QJHGMd6KiN~_HOSx1653`>%0njUR=&^uNBuCm;1&zbt>x$ z)1v^yq)_Q{+UmStrA)lsgD<^6vcq$fnpdb)Il_bUA>!MVXc*HISQJV)HNODqk*%ZN zw9gvdS-fDY#y70IT#f~{hdmKrYy+E-|F;>BGyS#Z^%uW-K=QFZukkyhk6 zW<>)`XypW5l{V{h)%AUI9<2CppaT>zOA`z8wl=NnIfQL2?L!p=EO5$jA_{2z#*LUr zwWtmYtUvXivbo`Vga_o466&5Ftgp>rU2#TAhq-(cTz8pWY{)i8CNMgRQGz&xYGh`b z*310;1Y<|@sfrWDxqTIKkXiP9UX>@D_wPi&WV^8^b&^Z&&vo^Zf*G@{blsBDHe z=$&!IrmjbD^-seRW_M{N0t+k%sksuexSbCd2fu4%7n7hB&_mXzg4?Y|nXw_fbT^@iWd;)_7qEe`!OPpu7}#`l&09uk(hc=Rs$v< zeD8wi4RNRkjx!=tVy1X-8=0sxEPe(%ya?HN9EQD$YO)p+`c5BM518CS3kWV`i&$rR z9u}`~)-?vziId!(>hFDKx#=I#|IWcJp09v+`hCMMgYELLI91=oSsGo;Fk<{!4hdiG zM`O-#1tm2c*;4lFnEtyq^~5Qs*E5{*n9NP&pNI%9_i1zpuVMgoVr01bg}zDB+Z$rZ`SgGh)Z&H> z2&^=5WAHUqL!782gor?Zl9HaUPhA8q=(GzWdAkl=vnq`6o^U166(?m8d2thQQs!d^ zGAdJjxRibye-2Ti>*(NsJSB7rtoQ>OxA`i7Z@DwZS`eFz4p_qlx)1=CF-#d7G=zbG z8k)3r9_R%TMOHkyqiP=;K!L(&yez3?iL(YJhpt|iA3J>*r0|b`8GBb^8NiC^KSl@@(?#X~T60(Ip4ZE)O31ETp#-XQOoJ+Ykt$ zvg6Qz{Oy`Y?q+TWEUpNr&Yp%fgmRe-A;I5_Ivzd*I(F(zu@t`d|76(PCrJqVs$(!Z zQQGv#YD#NMHfSM`Rd!{fBX^I0E7BUXdJLnUWAPF35LdbOKNzl=(1&ZS1#SO^Sn9O> z-p5`Nua?yO80VvGqqj6@-vhEtf%bkLdK1{H|9_~v|1Y#<0t8|dAs$N_(gfH1TC#YQ zz(2q65)+k8Y(e(q;x-s!0q3V{4*Y#oCY?E{0z>{ZP8oQY0ReQ+Lo;&?2|-U$wB8k9 zk*hxpQ}~n&GjDFczM2@v?}2h^v<7T53JM7gxMFnlVBVS`=T;9D`hoLFwD2w=Nz0_T z?U0I%)-NDnZYj8Gf_f(-8^gqkPm-*D9YV6WsPYwr^?OZ`Q9I)d{mdfTo5b3Rg6p;e zG)Il|cbqsClI>Fo#=12#Ax+S+I3Lk_pN_U?Qyc4TafzWoa-tPZO@!KdK{KOY$fz~{ z!3#GoHs=c!W@%QF{kE_-)GC+Wn$tn!LyINn{ncJ6|Fogy0$23Jc3eh1ZOIq zHb~aSCYZ)tuE2Ix{F^nnf$5&igZ}<)TI_}MXEO@1v4j3IMU6ClA~sfu?dVFKOxXH+ z1B|sux_F68QEIkfirx?L_Y-&VGh< zYgpu5IUv(igA#;YwvJQ4*a=5OzVSgKsS;{bLYF;h>fZ_Ry^I(SQ# zaq`2GheT-Mzn5+Yjo^!9ufrzFex?Yp^$!m6)F^z8PXKeX3kU~2Xh43{Ixc)dy5Vr?VSUem(kO&1vf^UZez?V?(@w+g=nwmN`53&KK~!%3PiS35 zEpFpM^d|CqZ~0Vk85IQu8x_K$stSnc!s?775w%+{QG2PSlyu72=b8OGmA@n~8CmdU z6-_p!NfW#k49tomI zd>1}?0@}+Jio1b){9wEk{5!X!cqQqEE-t75)#(ZQSI*ii1`3e>CbAU!jCZDeYfqe%I7hFV3KLZy5i_p1I}Er<_0G@l}bXC@AiH(&)QQz5fi%HkVb8JD(t+uaR;JR-@q!N1IbD7z)^GJ^izVi>KH|l@acUaKSm-DhpBYA@irnaI)w$M2FEJw&2IHNz! zY$~k71%w`$_R65&DTM}_Y zf-G*kVKNGtG>jJ0`MMJne;_;m9!0G^8IBu?jpi9@xCtU`K=OpKHV(b`&mR-vJx_ge z_ykhp<5cjR;j)iTernwtUmG9klll~~=@yAE)|v z&oxLo0>I&c*K_-i4F30bf(^B-@_2C6cDxi66?@;5-dBMC(A^7nU*IzS%&ocqOKX>- z2TaW*#9N^=sWPWXzlg>|K|34t!Y}Go$`oibBymZ)nUDS2r^k;=bCy&uiJ_7)wA=kD zy!0-iJg2W=x!yS?p<2I^y`RQYf{cbduylY!xA7qy|XTQ4jH4E-+jfPxAR z9zm&ZYzAtLR_cmEwtb|CR=y_M&6G=StF3W@%`F+qfvFz+$pUEH*7|Js)RhS zn~EhCGECakk40AQvjRFD@iDtekdHn`c@=G8*Wy_59^viwVJN5OnYmd}s`G*-jvM=& z7J-4@YFbH~?*x2ZNVMtNs?eyW0SIalU?r*9{=V+v{quIpy!AHnK?tcUUJhGw7Oky4ZZi!!3CVE}z8Ux3_tXODqJLs*Vq zvOrr_NeLravMNjSdy@KyGhVk-=!_S-i+M2qOw+uEYJ_&;<;>eop79LxYvh_H9$~JD z#S^Odi>*p&Y78&Kbs@W6X(73kz9<=@tlg^}MMOa!=VnsUijq0^=jSY^FCyV0PV!y( za5*1ygo!Jgp#02dkTO%e@@YVM+?n4an*U|z&Zf#~@99K-v=>OsK8;6%WDLyk+?l1} zX*4DQ-e4h4HLIuq6hA>)E1M~h1DOGFRIAFDTJuaFSN3= zI>o6=qUNDTCX0u|$yAm4M&Lut&dsfjo!c#O6+IC}*CnMbi;f<>^mK&UWVazA%<@xt zdJVW-088wL+y#MU&Dl3@nubeg#1%iJsU<7h1XcR!1SlysLhg{Vq^OEPj+<#_V-sj1 z_xr|k4pETHTtQn~bhVn1o9Wl}Dq1>E+pA&4sTCEXmmTzi%QE2q5q&dxghWD+Q$ie79;*xoKVTw*o{ zx;q+5BMsZw!UhhYcI~l|CN#7ci-LGcYECg$W=CCVeSL~C!2Uc&Nndd)B{^c29wSVO zL$b6o6O{%Uas z2~A%|8TzsxQK!;)YWE3TT*DEf~uy!XWYU6=aLgLsAOS3`0)yLKKg%-@GTPm z@0mS${Q3VHBXaxySlC+94^KR5@|`qMl6FE!aUWIwU)v;l-r98NU;RGtrLi}5zz*&_ z6UInOETv%niNB!pClJI?dbRGJFcOMrK754qsqn;ui7l%CoJQgM`FWN&9ezjaGwvJ$ z9X0-R0slBPs1_nN6o`NPOWp``3H`h9?qkQC>k2Do~a1?kcVf8$tf z^42!d8O92Gvv2c7h*tSQHZ$U}=@)x`P7f}v{&wtT+XxYCz^{St7x^b>5c#7t>bKWl zTBi2*S(xE9gK1D6qO_BjYEAtYJH~eTMR}_%+xf$d2Ih_P*O~ zJ5dnFkazkiG=H9*5KaaWf?ayR7;&AS~G`S z$5X3-pz4bDj60@nqBLz?9QALS&wFk-ls}SZ8W=GLmUY_@5>@2LbWnde<{s?|o(?zI zD5$910~X@eT6A3qRMGFJ6D8@fNib&iXz2RSzAx(_hv-DKYv82v2hUsxyp*VfW>c^c z7UpqKQGG7pHE;{DiO`@8xkNhzWPls#zck={-%&>!a#%e=( zdfv#*?7lXTWuZ`*^z;0zLU>Khkx5Cr-vOy`2z86S%{T5vS)M}W?JW^kQ;)Y{SV14R zh_h5LDodOE^77pn7-wS6nWe&96lB}oCCrw5-W_=R*H_J+ER=JeuGnen4}A9O~!fd-#xUtIO{{#GoI_gC)h+_yj_fs6S)5Z zIkj$3)|KPUE^@%beJTlR2hTRrYuH?F|UB^eu^BB%POt&HGytn6-OV{>$U`Z?FM zN?v?%4|QSpldh_71ch{*?z3NUWni3~VxTUbFGskNjoWt7QQ?2WFN6<c<;T?MN^HdjD% zI>~2KOpFerge!`kshua6$&$@mq^2hs?du^^S%oD8+7sOBa5OM zc)VUbE}ez(F5dsuNouzq=D?mN)Z8Q|KKvcsi8fw(WhX5SrMR31R-t(Qa+xf)qT}@k z@Hlm#*z=dm7ElcbPKR;p0hfwTa`NmMW?Wm?Z`|ztS)i}y5@&iwIoPp-_;@du&l_yq zwGrKRp*!99yq;SQu9?q~N+!tWEgUW{e!mx8EqY265?N7EBaX!LkZi=(yc( zFtaSglUPEW z7Wr%r#c<*Ed2txUD@NER>13Q_CXcGS@CO1oNzr@pD4%!DvFD{1>8Po|=l0-nYGe`< zoIZb^QDpv5tf3RWRYJf0+P+UO1!KA#6egIqdAI-SK7pczj5em_n_L)a#nRFZTihbh2t zy772CxEwmz1+v-Ox{KG7AD2`A+MQxsSqA%VFd#DQ*w#iyQE)BVb+gAZmq`*&q_7no zpFe=dxuwhE*YNwWC@=nlMI54nXodaiZh4b{+5I1`x?o|Vm!t0=XI9km z(n~w2ttrLra$x7vEG#6kgoexO!|!upWztODxXLBXWcPs`SpGbzc$`e$1kJ$X_2G3p z7q8DerYX==$mQ~AP8V*MlW&E;y-xCp7#BbLj4y^$RJAq{au=TwPSry;Zy~TLWYfeG zDJ*n6K0jWU19kCyrISh0**uEoz~l4baT#}B6T-$c^W^d-wq=sd> zUw*;yIWI51u#cw7Fn*tBoiF6;K-dV|1VupzP*t7k@+dFvt)i*ag-3^(;aNUDHpICZ zllHc14sHw(Hj1$Yst`;}C3xrDI3uy_EjxuM4zt;|wK$BXqN*AS0^2qbg2kS3^;XZ4 z5MnX3Lx6H~d$GqD8-&` z!%ZYo%E4wQQ{$5y>q%gvg0L4yhFG+r*mJ7@C^lkI-+Eb>10?ckCWi)?TqqDKFU8Ev za;;~A*77iJ#bo6AMXq!Yl2;T8ISa!VCggWvrRJGWrorK(dGk&-HAKnG405IGI#aPM z0u^sb6^-@P*fV`xxp9M$>@=#&q^^B4n>Vx&blkj7EapcCxqkH;6X`q%f#wd;x@jxz zwZ$9576Mh%@Oxo01GWGwpP;wvB3FAy$=St=!{v*xb^jL3sUZd@a#Xc-(iHU}7KS-< zVTh`&I|%D4ZkNCY%v_v_{%)>!53!Ij$*1P&n@Cbwu{Ou~QKL94GBY>0cuZ%;qmap} zG<0lX*S0!_y038h_!0W!Ch3JC!rlZ&j-FsBF^a0inc3b+dsCSHtJj#Ai<65d$q0?| zww)Z@)k)N+GC$GJ*>m0a>N?rh*?`AT!Ok-?*v;UqP0NeTgo94NCO+0rfAPA}H z%9x+DnV;?E^G`p(t>;!s#tzpo%u!v9f^5s`uq%#F_$rw4KgtlF~ z+1yrxU(GSr-_3=~SDB8bQ8X_N8+Oo9X>sM;Nlu-eAZ;nkbav9VVI%F;UZw|n7>!xf zKi5VikfZDDIYy^5Xtqf{F9_E);56sx@9QC!22J---?@!lo9j`8O>TCEu9IJo?Q@XN zSOlv#aQM(p%Dpz%E}r2^_b|y!0hcez=3U#VEz=o1bDHb@x9<)yK62fH`7qGe{e zbo@BoLsMi`72O-8x~YThovnDxNlu)&$mDDmD-$DOI;h{Wi#=OgDe*YIcF$OLmj3Qb zeDFI9@&y8Q8`!>M8}%gy>A5kkT)IsE@H7SCq@tmX9XmG@ahVMFbaDPt4|B;3n%hTZ z?FQ=A42n6!z{O*Hv~ZnV!lZuVF1B|@ne4s9*^|c@%SBPt1Y7s)q_xt;(A9HX@1G$r zH2h^X?A)`1kg!3uP!s`J#Haf?_R&!$G8VR>Q&Qc`_N`l}2`cnl?czq?G#iH*&ZgsvMAUp!J2mV9N15F$bmqhIXskwoMh%kIDhsuR|jXX(1}(zv3>g% zD#A`C2Ya}1v5V=2G`8ZQxnnDP_in(uWIR@wNu~y`bMpKUg@Q>kHizjgXUCy~Y;G(g zJw43%3uhS^ogrUP@Re55v27=vH37zYE^@AG1S^{*nM$Ap>)Ca1H|;eM9Cwa|l8KFT z<-!@R_Dz!)D*m!+wrpv~6(8pOnKK+622IT}+1A1S{o4pXKu`Iq^(l&t_^n_`bbKB! zjTI#X>^zp?;?V9eYBopj7t=JQog4zhB2^Xy}T- zvNhsaivkKkmw{6SOK8M1CP`Dl<1q+0KvQfKY;1J$mcXT3C_*KZgN2-h>NE&AGz`T? z6&3(_p`xN;sDgs25=&d83j()GBkWNz6tHZCMA{-_EBJ#>Tq>woC<3ykLPl}ZRA0^O zdjbqx&oLIuF`WRz0KdaRL7`wNBr+Dse9<97C?IU^CvtpUXET$Ur@wy++uOvRO*M>l zU18|*b>iEbakvD-*Sk1!yCMUZY%LOQR!{Dh;IdXlT zs`@7M{3KUy^f55KjrLHQyls=W@}%=QO!H39P6(S!BF4<*6bqUQEf=Hb+!ZDkbSi() zert>rt3YOEjLBh*>b6#<#>V;LlP{UFJk-~fGCy>cseFKFXD#WW8=Sb7W@kwQ^${zUoW^Qs$4{Er=rCrumFclKUwrWeJ>yv_YpZY-(qyvMBe@~&2UUf_>;QvfVO*5~ zQiInS8=oRj`Xd~Qh9YciY-~j-UNp8qU}7spFWyW}a^mPGbd76l?`$Bu(9enPX&nAi zzQ3cK)ciP?ubih;i?E@+9*Rt{4z{yV;w%n0+)`CkqcH*7T!pSYiW16#llP<@BQHq;Avn>o1g1fj&VJq z;PAR=(nfjz-S_EDxae%DX72hGes^^m@q_I}n}vv_QC}b1#Ug;%G3GL1GctnD( z^I!7OsX;0$>nSfS178qFW}Zya#Nlu-eCY%yug(xI`3dC$%=iM6-941L>M*A#Ie&42 zKuMGxwQ+v)_S=Prc@#!^PII<@7H_ng4p)l#nR#+1 zsLmYSmyUDl>L9i!%&x#VM?U?K{%JpZwpTJbc$F(tSwdw|_B5B>8GodJAkXN~1k*M3 zc*Q(tKAB)7W$?qzE`~0A!6%nyXzJLABRS0{AHGk@>1C&XnvdRnhhZ~9Re2a?Zj`Gt zI!2ubB{$31FjSTM$q$|5THh4@;1BTFfNd{c`(T?nx{rRsyGL(O)3KGHGfvl;_erS= z`m=~-`i>|)T_^d?yJv`0)=(3vz**IZwf=o=|Iw&NjT-&E`m87g9_PUFO|)PvMU=&{Cyv`O0-B)DSf#TevWfTsg_L=`5b_?_sL%Ja4^uj{24ks!Q^m`TPT7t`HTaLCULxPw!Xn z@!JnCQQ5wgkSod6vmX%4rP*2&z*cN5OCaoGJc@W!oj)wb`q&miQH%Pm93x|+{PO*I z%uE4SxQu`Qla16ihj5*kMO7f5Uf{}=9!?IV$mVTkVi~66SyW*o>|*>(N!ZVGyBpYA zwv-TdDHJkU zPMz)N+?>s!{q1y=6nmasnqY8bhD#GR8#^Pk)`zGHsOZ5mzPz+RNkx!d4Q>ntW+&(P z;`}ft1`}khV$W2uhw4!}K%zi$YJkc485|YciB{I2PIhr>xSPS5B;iUonVgO0t7p%F zm#BA6^3nV6F>HnCJp4TEB@Rw~^eHzcW|6=i72Jl$7^8R#9SV{Z-3 zWf3&9j%N-ZqO7C@-;xjqMFC%F8TBnK7_kNBrsL$|b4&~jlF2mQnq?$}O(B~hm((bv zVoWFdn6{mC9(aMhEhS7}O!Cf|87#{rXXZ%d^5m^z(5bNUbC9W;Lc7Qu_2V{8La!N`iGBYg0o^HTMxg&v+Y5qy9_=!HN;RX!@-&c>Z;pl z*tDM)U)+eA9AWC>dF=U39N2%D%^hV}^H<1b3T)W9kMF;7fc)5b(!Y3*{u=|NwpUS7 z)5;64dT~W+i@iSxvJ0bhkBv~$aFB+IVw_bzHB0Zv5HW|B=UQrTX$rPb2uC*Y+AH5@ zOC5ar^S|flwO+25g$Z0cP4D$M8(-N+LxZ3B>sR>daxbI%H<3>ka6210@Z2+WwnQmR z-QeT*P7o^J$s0d;onX9+nZZ9$NSS2jN0}U*LaD8%zGV|0O~G)NP#aj_R82FH%55Be z;Tg(8F8a@0B(FMX*s`DJ4s0dj&hybfpCle=;fJrhMy)5w$Jt+S_VNvynrg{rK$Ntz z{m?7ysZ#LgC-`i@&9guGDHYivvcLI=iK!TwybZ29;{^)&JVJM}>$$_cyt|IjFaDkn zd;93`smG<9=UP`E{!PzP-%y7;*2C2!-7F+_QrFT--E4?G&m3fXOC14^o80UTdd5cy z*6pUDG6+_TOg2SnT^rB5_#zF_VsLYEHi+BfA(788Yh)O?+ROB8l1Lc5B@wo5f0-Be zbzqF2Q!FIZXS;MikSgq^gpDSEs6_4K*}NGMi*(L}9RJfc~iz zTiX0ox3!|qE|5;g7%XHN9U7!}JkB1WjN1 zHVz67S~hIqdvCl!I6s8-tG5|Ef1ay3H$6u$GUsUL`KAUOvkGTVUZ?v;KMrG%?irok z-+O`mowaDWB#E>EGku(KMrqx2nD2dWFS%}o|L;GaVmz5=S5-3&b*(t;W)2@dM17gb zFMoT9-fWaT4RwUISqA!VaII&U+HeS4P+T)#sJH`VG;i5JqL4$RCs>#mrf+zf)W#6G zTn57zV%Kx8v7@DmaA^ehcd+*dC_aeo91G*)bX`&ybr&5VUs(g5pqJ}iy=1~2{N#H- zq)Hp(oqzllm%IA#yVJ}}jZ>h4x~2}ottN)I1n=DwBZQ4<7Vw0_9Q@wP?5H)+|Kb1O z+_iqjw)*J1at)WSg%@6Yl^S1xb4Neq{Sz1I?XQMRj$lOv&%XXDEhQG&!T-cq_YjFg zTkdp#3NcQ9b)KF~n4R@?lp6C44|a27V2YNeW*Tc7XmtA6eef`w>mvjlk0=gkQLhj- z%HphIflVwnM=UmnjZT9*g0KYnWERsj5w?xf>t|C(1O8B){(*76n3^M>Hy7WQz;HU* zzqf-Q?ybdX<(W&Hl!iTQHw<)dm~ABnL(@6Rt1Eb2S4cBOd3`m9ww7R}Q%s~)8Y?{P z$Yz;}6`h;9pvKj?JfbSfo-MUhkYhYy;tToMt65CUrOB&KS}OfaPA3UuL%e>tkxEyA z*`!H*T_t5+oy3_bwrp%*Z>h%cL<&9Vr=cQ%@6sr$(?%!?C=T3iH`}%c>1-&)m5vj) z6zVE1D*7iDd%NsnhljB4s}WxF?P=z+4EFRhG&D?R9*)jmCpSCFTugA~avvMZIsgq% zpq$#8I_g{sWu*a9M5t|UqSgn!0YAosO+K3^naGkdX6U(k17=(f4&1ujXgEZ(SvJo!QrZ)u38=4#5L ze$>(s4#zx-0*b0&+hCf-F-c`{D(pi+dyM=6$L#*(5o~5=x&Sk zVJW!6H8eCd&{*%soo~l~eU?<#M0Xi@d>(?qQX(ZK2t7tHVBjf~P+C$-(C;Og(9kp| z4bAn`)>M*Lr>OQ>WReL?TO}B(Wb>BtTeGQzm1F4I6^3IvdtcZ}nH#`jYN(I?$sD1k z-L#bZQI#wL1)r~y*7`cCs}yR>!>FSv5;Jksxp@+?DQ;Xo#loP2v}sY-T#jEaFr{il zDw^27WeY7e9wzNkG~uMWx{apt5)?g1*zX{TO1NelTQ*H{aiEv?emjJwdDyu78EW@c z;PQIW0|83QN(mSiLQ`>sN@&}#iOm}};K&VO3WZ2x3w1S>l;}AcY8yE{HqC4*i$itd zFRP%gwt?D8le(r_qIsRx4UKq*P0HMErmf=eE8JWjq3Dhaq2TccXl$#ernZ*O_Hs`5 zPLr8jAnl5gjxP}F?&8bz7$Th|(oj#h)Qdjv!|h2EE-j@r9K^6P4EFahGOx1Z&}Pb< zKpMcHuBDAF+cr_|hS*3KpMU-i=Z6+3YiYyqx$tQkN})KEtN8s?w=`2*SC1! z)izOGS%sx`67-%Woj1{(PCQ;WK2bs>6d~Z5WPTw-dTxp{$B*JtEwY6GmEjVcEOx&E zW;V`^OJDHIx6Tu7uEgt9@aYD+X(Mb<6rGZ2HJf*CrL7|P-TuyyWuvG88nzbS~?o3D^cleE#vyBG|AZ**}O_sc?0zoQA$06mWDb`o*5yLOyROs%BrF? zHC0pNQ`poRVtOP^K5Jof`}w%_f)gQB@tm=kj2?y?Fcq!lk8@ z1bvUTJ{Nm{ZZ|rMv%t`)h(!76fkr}Bf?t0%$ihOB$=P|Xjd+PT9aPm+v#Gg?y683j z=Xb9$I9EVd6%1#9JsZmL6z2HF$JaQ~yFkF}q}*~xB>4;lRHf4QBq%q0KsUtOYYa~p5$sG!#8WL{Ot#^Rj5e2F)EZ8q)N z%Aa-Ey#3)>uBXEMho7`k(^ijO-XnF-J|G{r$C9%piFnkaFGMrO%oZ4`7I=vZ^}ObrY(TW*t`m?4ufZ)GGX26^cY z9jlOKa%!51NgsvrF{a}=wDm1M`G{EznO8J)hZ~n_pjb9Ss3=N?L?%W&l|(Dp2nyuQ zdE%)!>8wFvu?H-jOcPHmFgrHNWLl##REk3tq!Tj?k4@nWR!|cy!A?zcxvLvWTG-lI ziwc;j3Ho}jkugfywQCbWw*$q>f&eq0BAH1NpHDM35l3~E5)S!s1;Ugxl(6g2%j{~2 zA__?|!b??HV@g;ks)D8{C@5%#3stch8R_9#eeBy?9LvKy$e;JWg_ojphi@armcfHWXrmSNZ7JQNB8R zhGvh+aDR@CFTBX%eRT|7GkWjSF^u{}py@40G+XEc0_CEQZ-(FRB-S z)8oYLa-rEOc0SG2@DP)+0@3Cc!a5)dWU@(;$t3yNaYpCUsQxDW0To}QlB&v`yz;#R zL_8{~Od3xx%#CCZ`Q91EM<=KcYAA&aiL63CkzH&|ivKi+7Y`cB;)u1PGlokaDP;4)LpD8*^Hg>;OOOJ^u3ZT#Sk*RaN~6Ym>GRmH8R z9*Tmhe|wf%xNigqTSaqt@dv|%f)0cbXodm#99~^za%_sJ={TA`&dA&}7}fYaL24@Y z^G5wHNX_uY$8U4&*bz4G+)YWP=j)Sw1jRL&R27fUgF^*XaiMF1srhlHV+&}70%OCY z#IrUow;MHHTu-VPFstGZdC^BSuwa`IeV4`nEut6(6;&1d>5H2=+@SE;CujJ$cY>q|=gwZ>dRG^ks#8{8 z!(ac=Rytauggia;O{LKc4b2sx#G#X!pJQ-jn!e!$G}TF@rXIJ*(Kk6q@7N5gdxpGT zg4gdRWeN(J3=>le42~KsWb(L^DY}Pe@YPh2RaIQ7f-VHPY>w&4S^CDHbUsHqV>2>2 z&p=!yYYO}&J_H_|y1?hw3Hub%^9xMP&N83Qfg+fjPtZF!g)g)~y4^>?vPcvx@@9c} zBEi7e9QLJt8p8%1b&dSAt%dpFKHmI1#n5b)oL%g&5Vn2W0ayoXa)5+oF*z{8^rXqQ zL*L`Y16%OxDk8r?|9Kxj|FEBH*T(T`Dw?J(#&Ibqs*bi~Zj`1KBfx`YmF(Qv#D`~Y z@c9=RqJBYqHjY}hg=ec-50BpuJ>y(Cb(EpP z0#|y*3D(!5s>S>bO+!^RR8>baG;~jp^2i2UCqCedci!Y$SYf=sm#m`#R4*0b3Thk| z=|A@&Z%_D$j}9=AaxA`?s;H`t;qp+?&`8Pke$IaR38URX?1f1N$I@(TeZX~e9u}&K zL)X!jVzVq16;;>KH5G@yoT$g*!m)QqE!<$su5EY%5wd4a@Q1f%8QQg#&KixpInS3L zze8;B9MfY%q{}w*{avkilmb0{XZVL-y-($?H~5#Y9w0N)&yAi1nxFj$fT;`W$^TDK;N|h26W`5!Fe0-usjo(h!A zG-jxc*Ph*p=5V5Uw4!&Rs07Lz>D;w}>mMKIfBm1k@GEm%>`St*-DY;^93P*$NO->`1L=`QR2uj zG&stxm;VKuYJyz4tQWsEqZS)fRn^fKV-^%uL3e6sx{4w!#;zRWH-G@BinhSODyr`Or?olyu5*+rOr_ zy#u$MVxnuB#)B_VTe8@duYjgH(3HiQRjQ858zAHo^mLu!y~HGASI;n%r~sq5PKZ;} z&=>DhMN!c-7dje=vFrTi7sm-#mEu*B6f`gO6_r%G7wC4+arM$MlJgfC?dxJPAHnNz z5G*ahrC;L0na`OV(&_8E%xF5yMpZ*mRdm&frf9e8$*rNfR5I}?&c5~cymuzXtN+*k z2QO^$qNpZ4mrwKSf3V5Uk1>$*v;W22Y^_%bc;k#8JI`D1EKnCvi6zst?EOAlJ2x|Y z{cVoE{Y$#flwfC*WSmXxsP^D+8W`H*OcX^!GYoV?$KeiA;x#yX^(epn)ihi7?_t}% zT}-`yj1S*SQ62Ge;kwBV8X~;-7vo zN2w#v=tvAt%WgKc*U>w94ozEpek-6FD!Nxg)$W{8tvSLx`|MsufBhLBy_caX5+J{@ zK&WLq2M+ASR}vz7>;!-Kb%LRe4xazP%S7FdNARo{Uvq#I-APSD6Myx??Yz?BSzcDt2)e+Tyf* zMc5#0R8=7}mt!)gGVRH8x$7FAb;T)YPC`yW&UO}`Ka1-vVT)c6M|gM z!V##Vv!k7g5-*yjp*frwo)8|*MR{2n73E<{%PXm?E643nP;@t?<+W5-l;blrG)*I1 z7Nx1Bp6c2ff?fm5$|EocmDkYJ-bzzLC6QKczj{J4hOa+ za0Mc?w6@c^v4i@$3S15+rI9LXqb2w}E<)wCR5vtGRZ&i9$b+VU+a07TWU-J{Y1^@f zrixNZOZ_;U4m5|4%K9eSH+0h8+DzEx#Blp4Z)~Baww6fHhtH{?>2As@>e-Y%1>XV#&1A= zjx%3=&Z*uEo1b}x&5h-^W?iVNg64K$Stge1WAomZc=6y)Y9c{`WwlgBOCgscoz9`V zLbP^lrlX}6kH=3*O)U+z5!_B4&2SS9ms09bQ5-Hx0$x(Hc`DkrvSUjPqL3$(NR!J6 zqIDZM{K9jzHr7!d^rMLaX-mOh*+@%eDP^VQG_^EQ8t|g2I^pU%q9rQxu?4bL6HJLsNYv4h3|Nn~K_cYNH_>8aR9<)Uz(<)%;ZfcvhvUAf$ zIybdbS6zG{YcR z*+6S&JCUFlRWs03CnBH6@I^WB%=5gstDTCna>}b4C<{19EX2tdprpK>&6_vU+TKQO zO&Ow)A(btl`@*zt>SSYUEoG&p)HOCxQQ|{Wz+rf4XlbRYJW9wPz^y72ESqpu1Kal= zqNzMcI*}lgGx3yE(XnwOP1O;6UN7bKO|&-E60NL2wR0p37NPPcwr|tV+$KLv=Rv^EW~0Ij38V0 zzr^9aJ17r$5V$*$pB0ni{& zogTJrYUfY(RHB)Aa*9rSTQ${Qg{0}?(BUoocyB!$8=~y&tfsyHohiEdCK#Gm z*t)SCBOT+z3nN4-O6jN$FxWFr!thY#6-*Bead}oyR$0M@aGtL&4ln|7?Im zfATkMsVv2bjb&NbC}^6#^4cB3#x{$qpKAK;1;D;7*o(`yD(dYOMT;{AOj6@#`A`4r zTQt7#6Mk@DJ1$j4S)ppv(}R5SyI(UD*u`J}_z+%AB|F)}`|rL>pIyuA-+PYM%Fx%> zd$BDn8#GP(S{(~vVOe6a_ip)mwenf|PoCt9&rUGs)<{kavtUQ~{$KtT&u*^8p%qu} zw(Vk1%hG&oyZCTfb%jwOipK-0u0Osw4k55C3se z1RUxb@>^W(SX<9ZwnaMxO0hTh*49P)?%ICSM$5Jrd!y6`{@lsU^QV1nmHFE?6xR}2 zveOn=i$m4w8b4c6y!IFGg~jR=mQ}pBwUt-6w{08CwimDAZ`b|*SXsQLg`%Kp+LC*z z_#C#y;=O*~by&>bwn0@jvE|EtKmPJ4wtBO7 zNkK6jlvhOAQX9Z^bFCj0VzV)NC)0$ZVLGZqL_=OgApC$&|*1)+lZ( z#p&)DO3K1CRR)+DpC{+=P~lTa&P>xER|rSTXbTIj^-U5pU2JKKkcr2+F;k$tyo6oN zQ7Zi|atjHDCuiuMNKjf?N>nxWtf zQxOT^dIWF5wwY)2$_0)dIZl5fi`yS&%g#OQ+}26Z{T;o8g&?~y%gkI1;V-8q^6g$_ zS0a%Vu`Qeb=^sAefBfYUEXBCvRONX=ArgUSt?c&)m=IOO5-5DErxewT+F6a`l(LQN?0q%Dz1 zB#(mP`YU$^K?9n~?cm-eUqes;vrr&WDBMo3-1Tj+Vp0?V`AnAlViq@xFtZtAnI%~( zOZSUgu|126r!AQoee(n0H|<`sZ*fsXbx9ro`CN{CmRrZEw`LgKHhAeV!nDbn=55>Z zIgP@K)d%}HSPqn!r--9kZg`UpSfPf~r;Q8g$2;5WTe6m*B1P{d8>Nt+^( zNF)z}a&sZ$#Z`@0d+`*jY*$v91hpjcTil(`&12V)|Edngy_^rh%65u-ANsYw@80;x z7ebUsBoc{4@=$RY28OO;<%>N)OZ|=2`r+^Rrl|P(zNL8x@%6k`+qaf9YqfJ}+O;@4 z>(wrVKvM)RrxQ(E-$=mv9iYW=K(QD|Dnk(@5{X12SwD)R&{AK)hL#$x^^Q`=7w*pi zT4tZZ>JG*Iq*?2}wc5EJTUN?b(G|)g5w>rStF<1d>;{rZBoYZ=<`WFw=*13H z&`?+L6iqL_KZFqE3k3>=0=8vK|7RT(1ELiST`#WVw|0kneY3!F$vBrzo#A}f80F2a zG&I%_ajC>+rm#&56cv}pkKgA(R{`53ol25QXEANi9WMMnFHS=vn@$ivNW%cLn-3J8P~Cfmk9zE-%n@ z2mWA~fZsuEc8K@ieTzcnHeP-H0F?nBexK{E^?n3qF3tSx9Lc=E?F$g}d!UfRRt;P( zCz=ZRT$XIk#O3v(i9D%PmO`OGHk|>dn_$of`80`mnu1~w42AG}T&N0I`80ELbELB- zn!|<5<;LUnU?>*(TmjAL#_7-zR)J(9jl=81WoX!Dp5#J|g=7XBonW|xfZxrdTJlX% z6r6^E!!Q=VAt+f7x4$L0{u8t|2T0f?riQqFwTrQtG|p&>v}uqSy2{Z@*ICF~V1vJ+ znZwT=rlrD5Z1e_S9Y0C;@C+s@x+lW+1N&)NhA`<6Cj_CbMedf`QprF z=2HSy^H9~cgTv2lCEIhJW5Z{WXjLlQ9oYZvg_pC>UBLv;iwuP8&y&U5;!D=er{Hr2c7z1EAfs)IxO zchg#1Lutr|w&*>WnFX#L{R6-H;5?qXt?b>=3RWIX5saQa%a9eMt-TSSQQ-Q;lYDXd z22I=@U&N2zXYBR71KU%dGNYIFm8 zcXy(s$GLQM0Dnz0{@57DPIRHww9!%>CN*<|U%&Y=rR`gB&0got-@HqI+Q;TyJE#xq zocint6P`M@H&fFcoUfDy)YhV>}#OAyCr{iNxC!I9J=drCc*=&~S$vINhL2R6q z)NbN?KYWS0sEbRVyvNbLX@Z@VEG*2E&J{?^&N4GKOWvx%BbP9gNFIZeS%%@Z3>QSwSNwRP20HE!eZp@Wnf#m|it5fm~hhP(Rt|Fid>&6Ztfg5UXH z+a2%kJ=c4m-T;}2gd+fYmLZGPUDZ-aqv@H@M2x;fN9Y@oJi0}R3A91)NK)r5J*G>P^;qJ9k_RCIrsa5zdZprWf9Li6MI`|%q= z+Pa5m>Iu=)oAOG3JRXnd3*nI4p5>kQ-X`yB<HZv|@@Vgz8*W>YcJdel4tQRO)HDX;I^tUyUUECyFvPj5A*LNMs z(()1$Q}Ya_lQgAbsH#FEle>>pdz9Lh+kAL!06CasV}1oA6d;fil$IvAeY=bONR`{y zuam2VxRl}>&t2s5dl#_!3~qez9=nAij!=j+ zg$OHqEZx1vc#Fl_&9~So6p%tCnof~wjga*RY3>}NFR7E=Tf_GGajScLc=2tfib=lr z@(c8)0$=oj@cfn@I{*?wAry_0Oo7kPF#JI}d($kBZ!kS^7g^0B^$^KOh(x-Lqo1R0qOqAe3iv=whq5tV~9L>DJ^tE@{oAFaF!ii^}q5t@C7B{bO z{leQ!`CYd6DukQ52<%#Hg(GfLLuJS&ymCZyf-n)uin_9lH10YND>YPXzd*3nRCm0Fuu;sD;HS} zYFK8C-gAd=ZH?{CRpzo571RBq4}#}+;IZ=nxwggL);5J2w6v!Q`2_j>4VKq7DOMeP z{s5Y$5o>Cvvo(cV$+5AqPBvG@b_9ALL`!Eosj$Y*+A`bwc`R4K@P|mZb&!l06n1v0 zi6HIm%>;ZZ(sd~8Z?n3-PQGlRDjLCf6Y17gnqvX42-4&6c)kF3y~M`iEK6&<)TM#X z@53+*V$IzQcPA+AuQ5HlNWP}i)iX$cUmD|nvjvG`)!5!xWMO%WYE@!{lk^Suku*$} zr)Js6l|a`qdGdKMGlr zBGMK30};B1$7qjftgSAxR}V1U-$N|mjU@FYRsw$b_=ymCc*uKke+&-Sb#NRPMO7Q! z(hu4R!9nrlK@p`;6cnY=j!3#Lj_V*LD2j@5FOZRqk{#vYz~-P4oa?#>ac>?9UT;B< z$K(0pNY}-28YLl(M$QNAL=|yx-~NPq{KM1BMq3>z0YyPo1VVu8G#V;H<5?nvKqv}A z%7f++jr;%o=aCQ({aqgXT{PzJN?g}u`u4m0)qj1Tk#GH&@0~wElOeGk2NxR4piy;q zZ-jIApe^fzZEAeyx(6enD~eYK@#Xepi4ftziT3c{RaN7Y#~(Ym5I&);vQQMXPs-T% zNn?u%fvT!cJjj{H1-^GH1M zy@INOs_3L!x_SP&XKC(A6HpuT(zH)mKOsuX%PaF?ac0uuR&zdM-w zBcD4?nVIQ3T)Z()E}Laz;U*Icv+SGJgAAY#R_qh!#YevX_%c7feUJVfkPhX&1@7Fq z!1UHORaZVyAm{OTJRXnd_sbIvg<+dj_O`d!%@%R$Wi}R8$>dBd$HlSh?C)%_wVTI5 zBa&#Mtu=*DmDqKYQn7+*Ik>h-W^aqF-7L1N5Kc7H+R{YG0JEHBH&ezD3iWCYsexrH z__an}A+ug)FSpM8^b{pSL(>B^wY1Wb3{lSPlB+>7-9%7RDdl#^6dhv81QDM?es7!Y z{Twyh#qft|>*^pL3OtAarAwudBU7joi6@DM4a{1e&8-5Fc$odgX>MM-jW1(U&lhM- zrfF+Q;`0W_^LRWSkLOG0u>&C2uCX$8lM5HGvsaV&G)Z=2m5Sa3(qemgg7@CM$X;Ed z3I|tB@YMP992rVK$j{(fWNB#&QM^lSFUP>xNfL>e7XW!Y9*@WKCG?n2Z%Mtp!^Ewt%x_m{9T?--vBUJX zr!X{uQ_nJU=PHw{B|1k>aD1c_dvA_gcPClT*RT(=by~FwGqEh@Hyln&*cZMIjoDCKkPuFrCJb`cp)Gj?c5>S>x*LD*0SLNeQ7u6C-E8!;44y@wpY=T%BVn>mCFvg07Jf&c5_AgAtwekVW;~ z8|)UdBxR!{N5DZQPl=Eqgo@z{67*|W)iQ-rgm`NYtYYuh5C`qEzu;mXBpw6n$SJ6lA1I_O9l)b}Np%uKRqiZrLh~SzXc)2Y;y4b@y}Bt0uIpkuF0PbF*JfvZjp@60sRV5% zZcno(lblVr6DVv`+_}w-4?m=yaJVzR$bPv6$Es7j=`pA8o8UZq$87lESb*k+Zbsc90zrKKr}&)wy{w9%dJ>rc{ z@9}s%9?zG=V^)DF_+y=%IPny@4{k7i?L!PzQg{5cws(<;x6^z21$Ot|W#Yqkm=!K+ zVwiJJonoLV!un2}?(SAv(#;I?Kg)jQEoQENz@j1{-o^Q6&d}KsqgZdEwG9$MKZ3?! zd-3Kp-NH{O7{pAq6IfYe{`zHB6_=VD;>fvk4E1(n?^_)0T4Qnk7FRWeiW?x^)j~Av z!>(mno1daMJx4&>5g&p80Du5VL_t)yX&QKn=f*l8l>PuH8ZEv396K?V6?he7-gS$iUO>lR2cX#)9pXZ$WtM4yGcXjXTUUT+bV_f6K zltFj3w~EWf#U%me1x5nI+t)c997kD#Oe|aT<1v9#o%V(J;CI=O=gsIYZAJU_W^-ZUpb)`PEJ<$s%qmo^l&``5 zBa9TnC&khg+iwrMMynITnT0CB%jL08Yg=)S^FJmobr6rA*aY zqdAHoI!TW5H-t}XvzVWMRtLxlbGP$^jU^thK^GDU;uhp9(Cty-BxtbEmt(z3h?Atw zmi(Fe+mY1cf(}kB5OztL2|%9DR~k+n*)Nk06(kelEmERUVG2SA!17E&hMYIOzYH_8dpV1 zL!U?Q+x~xkuec-Yq5r+RH$E5Zgs>t~lGSR3Dj)(ogRqBZ4B!7dpU=yS4}b3t6DX$Z z>pY>p8?>p72I~nH|Gz7MS5+0jSXxI62thgq#@3txsB=9I|9c_4U2**73KHJygkJw| zfw=Ke^@z#)-&rp_{(q$X@{vGr$7SN?hs-VIe6PV-H>FE~IY_cD5xc$Fh#Ybqfy{Z4} zjgaAQMtOn7;L$pq_VqKlOzz_vWya8vOpxu`v%PIyR_(38`!;oALbtK}<^LTDrn6*f z=ovf^!&@T&dch@bOCf|1{e8NCGCrg3KKtKqPP*EjUOw;wa_ioQbRUNf{jUiTq1|$E z1U@onYvr{%kzjU|sL<2XwF@=4?_Zzbs9I19=L0%b6#cWxyx6W*Rd2%ISfe7vX zMywb=QE8Wx0R~bPU0&sws@MjP=Eh{sHXlUlg}^3&j(h%*0U2dxm%<<*t<+BMnG zpa>Dx z;PhAVD;@x^U9Qcj;064d4RR;}Bn!IzvF5>eQ=axUcK1wHv$qXIdCKo^6Q+uDr1#}| zm)6Aug$S=8ETd4L%WH%~kNJ~@wPLC}AhG+rxW5#xQ4rLUD8K~TO54l{11C}Gk3bK* zWQUTWBYEGtTSDSNUK!4gK|o+EMDWGT5dTTGQpOtLq=H=I?Rhx@_$uZccC}tP6Hhzz z42;Nz<9l2?!ECV--Ctb?K+E6{f1$H4McfuU2UBgQ`*rFt?Ot9V&OcfaO&h%V7Lh8f z0WPN|kImF0OrRGOOypyHEJZD}_zW{$C*_aF32*iZlQ3|f1GDx1()PWB(&I5hs4*Bl zQ7*!ouv0?M`e47@xKZL~&a>Z%)_F~IL!)ky_dP`Q&2Xs>9Y)j~NBXi0m+v7wUpaJO zx^%w+M;<2gG`rO9c!IwBQY36Nc zc<;sa+$tkwWNp0qO2KvDgGeZ@7#oMD7laU&{t!&95n*l+*;KK#liOJmc>B0nVuXoD zS#s@hCHT<{fub6!FicbgxFwH@91toZonZ^rSSHGAHIc?3zuR;nB<8;@e=kD8ei`Zd z(1?ikQSiE}|4t|1$wf%(`N}qy2p%FT7Np`pNOSVi@A|C>skP=UL%h!8{M&H7m5eO? z%^jTfIb4i|MlevU-lTzRQC40WLN&lrEBO=wAt*qe)WRYLx5lM>$#yig2&ljFC=+HS zkzN`n4Nj;DN3Cn68Wl+{1bSAVeQMLA6)>8x2%WCNwQh*Et_2ZcpHY@42^%`b#xEv^NwEsm z+7K?-h6{m#{3z=k_$xy<*5hh>S`t%m3ejf>PxrWF4(cK#@_a*5Js^gvlxWoJY$B|l ze?SI5yQEbwaMj2z9&>>ZK;fY80wZth2;4m$yq|1yYiNUiWylyFr0~nxo44$#Oqww~ z?=Zjm!=unq%7xJKccs#->Sfy0BxXKB`trjk!6ezbMpB-(j6wMY*s=x-*6Gc`whQ$( z5j%)T@KDpqgW3jdDxgfUkP5GR;*YBL>0CG#!dJ5 zIpO0r*aed~(8HAw7~SOkFu29DQ|LEAxo1uKjpZK|->?C0pee^;br!)GJh} z+0H|O34?jXW#k5_^y$;e7iB{#P(6-y+T?-D&7qbnPgAr5Fh~fHm-^6V)iP~LeQuEa z`T+)Ij`W%(5vFULYQ|m@m?UVg_jjZ0v}lp&cb8W*!2+k#RNNTWRh+dw%|3nUPEF7MlA&((HbSg^PQZECTV3BniYk;s4K9=w>5C{_^sliF0I@cM+i+!i5|U; zrG6l$8i!4NdM#&vUxCGzIYoXVB}bYA{ZJ3+^F^{bVCo;(4>{4-fG`P*&h{ogXc9EQ)^U_y%zqNr1VfH6e)l8Uo?ct+SQB?7jcS3BTK_jK%HAdlqTJTd_(Q%L%A-0 zdbyIz5$7t#(SCy4YbIgW<;`8*Gydrcq+Qn+O;(x?jak4)F zhbgL|A+H~&uz;xXRk|o|j15MFxn%fn3tWg!&mAMP&{%5be8 zl-|Dwzhgy)=}xe?@BLaDJQ`8K54w?y&EXw6>649#65%Ey=nzB`E2PFTENc_)tu;zp ze7WAWm0|;37Y;h<=#07E{yu=E@-9iIvwb{gb0VRJ0U`Uc;BR|x3?c(l6EG^lW^W(F z!yq^(-e2l&TGq@oG_38tZV|V0TSyLSD?url30 z{*lAIy3&f>%1#u~L}^JtYZTHHu2)1>qiN##ih;T5nT=nV)VoO0N10n7!uYqj(((1h zxSus@W5JUmjpiQyDQWt4z10UA`KQA8xdH3X>FoRZdZ1jr2620Xh#16)fM2TlR5Y@x zE&I{X%k`-1;*->K;RPO#cWiwp1yz;f-Xcl~Ez_N6vIh?(=D35YU+u(U!jPI+qeeIQXEOe@GJ_mnS60Us%!2K3YvVqq8&Z{_Xty zJokr>Md~=e!of0aSu^|K^+MGu z*GoLoYB05ZO_W(x#&|lL>(ciJgw0ciyz;s_TQ&T{g)iFRq|;dMW@JlwHMcWFQct_p;){0=TLgH#hkqhn*K z&;nWV9e9dzy;26yDOYqSV+YUGXO&vlg(ik%hfTdKEUirP|FB689ci~Q8Qr%AS50_E zgA42y8gd~kac0~{2I%lh_ni-Q&cP5fu|l3KpPP=^yrLT!5=JaSMARV;lsg|?!rE`H zi$p*&(Ir`HLrSHNHHZ*nP^7&qZ18>pzICaVs<|f+R_-SyM~T(w>hFGJfPc0U4pcDL zn-`KB71_2rdk1SNXZGYk_zf7DI>wEy#h*qXl_igu-OcMrmTMRrIp*4;cFv%hJS@Tz zGNk-23ARX`m=zEBwD==jGFqZsdMVY5sE_qPv$wRgg2%+kg;l6U>*($n1r!*`KnOGi zYLtj{=nPaqJ8Up^s{T{x9<8qLL>G?0-d`FV!5HgLsx{z2S^LF&!Chi&tc{?y(fijb z9kf@vmR@Yjpz9G8%6BYDNtLFSu~vy1J?MGjfV$9&z|ycs<~tGn^9gCbrzS0 z(#WDNEuJFYEhXhd6C>@;Mc@tARwyk4&i?LnEv-IiqW?REYh{?o-hRsj$%{>b)r9b3 zgHC2vNfp)m@c?O6wEq6W6Z`MRCS=uHG&M8o2&Rkbt)8j_4K3Z0cAxa(2Tf2sDhec@ z%rc_3avGJ1bU(_LV8tjU=1@C|wLstEJFL~4A@Jkv-`gTC+6DzsiAKA9%x2yv#CWT_ z*{0~C0GiFm55GNgrw?&+dv_n9TqSvSl+*s;R;BvtW^ z$2&`ZvwCiGBbutVzP=qU!OX}U(J&R1`D!XNR8q$`GP_D6{wyK-*ILK-iQx^xLJBYZ zgPh;zNtTAb^aOyb^L210bH37#3g#5W@$BH8D+o$0Jwb%^3Tf&)?frGKlhm3RUeT?i zv()=nR;Fq&t3lP+_=5tILKSKXpF%1oyI7LngCh!toTzcI*6)$!PYpvRsULR?S=Ira zeV6BVWy$zhsb6nV;}?qn*XCbEwznXv{-6?A=B^*Rx&7aS6i&w60_Ciujuw4NYseD- zh2#?yv+Ywa>qPj&jy^`DHs4q_ip;I@-lJ+fZ+3{v{kqd#UFC);C%5bPfHLD0x|5~^KoUYQ z)##dkj@CY}XfG)QO*}V}xYu@x$u43`!pN-kSG9uz#%+0Gjuwvc6ye-zAfF^y%mD6>FI0RuVEtc@^I$d-$Pg?nhJU6*)kM|6xcwqOd@{5l8vw}vG23EN)pt(_r@1a0fRiru^)5%@g zSrl(`>_Xa&So>VRO9zYZHV@(4Of&Me&OY12UC*AIR!wnW8kR2Q=A1oua5alc0rt4J z7m7~6+OMx4T+R~Ei)ZsBVK=&D5(+GdP-O{COt5bb6V{9+A-uKGVPf1utZKi^IomED z;D4T8xK_Ag4h1=_lwi0ynvz=8EZF=-7ury?kQ2woDNCYNSx#Ux!x&xH8K0@-sj5w* zE^zj1O-art`XCO%QIW>Juqg&fQWk7K#mY(^`{1eijbr9elGWoAJ>Ij;1 z289CU!IuGZ2vrxr{+tQL`MTcX;m0(1*}wMB(>ZwH1Lx=!3i}wR@Mxan`H};%P;HS~ zPCow#;qG>9Yx~#&CnL8=sb<#qnAiV)lxsXj`~5?pvuFPq+#In9$^K#|1C#AtHv9QO zoY{rGYw~`SW+un^-kp^=z>BNzd={l0f=ggFMrq3F;uRk@LFn^+NFYyaE7T|@Q9+RE zxmOZOV(2$3Ce?x3vQEcX_KBq)H;Z7kPA}7{=VO~a^QxuuQ=j{bfmg)A1`2h9D0_=^ z^}mT~p0td~3|?Qq=uOV582|2#haZO=2!+xQNj%hm2u-@AjS-aUbk11WCOhWmam`NG zlHAa!uHB%z~0+ljFU@e_(qBN0a=;>*qLRft*=jM(LZ8(Uk7jFYO$cMCSS?K zyttQVsU&@6{6@+?bI~ET_@tc<|5Q}>kEv7V_(&nWirb}=qgUW!AESd$W6bz@yH3U* zL$e2%&r5I9Oz@@gq_yQzwZ8-^W26evFuLDG;D5$VCvx|4blv@&RgB?TQ-x)F+Rh&B zsYsF~z#toL2}uZS}a%A0a}&_=D2`YaxwXKL%|c2v=| ze^43Rh}LABViE5GiGY$}1zU}LfeIzl~<+?zI4 zZhhV{gDoWKe5R?6cly{zR@6IRxr=~rCWSwd3KSx9ge%&nP+9!BWdQ@G9LpB(70yGv;RrHUyfxH#syIEO>>?%VG4e^s;Mr^uJlM1Br( zWz1`CR3^ztVA~=PF)d3JAr6B!A~@7rl#sL6Y#h=#FZ7k zF|16es=3iXtj5ixA?#&h|8h-ho)Lk6bVdH(^WyL>{8rL?fKD*&=cZ`{mqaEePv z)8;!do*bL1xjCssYTl0BRb8~<`8y_;As{fI5LU}}z&}0gw)nUVQfSi74W|ynp8rZIb;d-Lb}gUF_{UU^!p$GPk39!@6;XGM|` zvrCJE{Yu$?Q3~5TV%iYRJ@(AKLr9Qg1-@*dbhb%vLXlu^RD$wFKJF>d2Vaw9wx|@> zrxdCswY0oXuFi?jUCI$$93K{OLWPlYD`)33%^b?2F5|Zq{L?!wP|PL<4|<;EXRGTQ zv_VO&yQc$BKd3N5|BxkK@3DY~h#>dYbIP8uPROSlTt!H(zy$3F4{7mVLrO@NtkWv;@ zs9b%1=Z|)Z_yLv@DOs=6H?F=?3CwNn%v71im+aIiR;Y-dQlnnPD+s8drizsA)G}>Q z5L2f6i;k;(vx84!j?OoSdqWQ~0(GifCD%IQ}`_|w7Kn~p&y0n;%yn_rIixUU(6a8VjXqe`o2P4R^- zMv)U#8Z+1M{NlE52b=VNA`i>5rLwQ5Ah1bBiV1TE$L~7qD-Ajr4!+Cj9%K&Rq7;g*h5Cw%$Aq5sBVWmk^ zjeksXdKZUNonP?crh(ZLeDEg)kXcx~K9SA1{v+D{FN82*bAR48yG-l&#`hbAX=eJT zGwyiV7DE~E=-@JW)*Pdx3AtLxVIpjohV5(=9er7gm7gt=Ll$T;9<=c1j)F+2(Vte9 zsS~3yMoh+3WLq3_!HU57b;T6FJ?ZhS36TQww-F(KiwAL*z(tBv%}>@R9dUU#ejjiw z%Y>?~MiwQG6BL`n!AJi$eIzX!lnk|F!sGiP;zAKEE~2J7P+_yH43S|IC|ob6FjlWl zvt33Vlwc;lsz z%@`c0St?VnoIm4-?|XjtYTl>>_nt1t&!-{FQhMLH1KG9`zH!v7Z#R{@CWh~}G91Gm z_X+`y{BW_T@r%xg&?9i7XHcf8FRGdOTLxoR@G^IgaO*LG=35(D2ddj_N9|CX(!zcZ z^nu0$)hb4Qrr|tyP~HRFTGUeu<*w%*iI}mhsA_05HAQMQb-;f;7hFuMuT)KK<8*e+ zdUezp8~wA6XuTmHK^}C1;YUpCR&1c%jppWG>sb2aRi!U#ExDN&b?VJ!nHb*Q z*q4*`iiiVPb~keiOJj&Yo)taK!?XdqsCI-BTEvR(^(mAuUbAmx z7+=>lvbG#!6ZBDiBjTHQUGfsOs-9P~cq^Bj#^3Sbi@KJ@r(?3IEYR|U&|sA;8~tbA ze-vniwl8h|7Y_#CrwlQ-XtI|=9Eg)`*QCHXTduNFih6@O=3u@GB zrnislf9};<@V$KZdmrUGuQoL^cRS(z1pknQ`j*k;X?976B>Cs?SOJb-R_I{}TW;{V zv_or# z=l<3w*AP#zXt0CzEqCo(zV$xVjt7t2CxyV^?Tjf``sx1l4sz^6Gt1ZD+q?5}v80W&w_B*lQQYj_l=ImuS(a(cXJcT&8}q&V zD5P6$*_Ti|kyuKew9k#4mjq9n>j{*A??V2BzVYiNp4l8#uy3}_<+`BM!)L2jBn>hY zA?~X-+wLDOzVY5l_w@AN%J%X~D_g?$*u8{&VaWH&I+@!Y94@zgAAkHVEl~!KW?-~7 zYr&JAyaLO)M-~zMo-g*^E0cbJuM|!mJof89Loxx9ktW2x|^X4|iZRJ?nd9Ol25X>ALmX zK8bBhz08of7DgoaOuUfve0bKz;RDAVS(X-P8v<$S4}lqn^3Lrjp6Q%8Uh=mQ38_cI zxYw)CjjlKQ05E>FZ!gDfWo59LAwC13f^JT#O?hw@l;WD zXe%=z@9v&hzlp}DD4^CfsI&=1I;`ORM?^#xzB!E0MIH^@e>#t=Sea&}N?j*JKHo@s zbuE*VJ-%S2Hb0%62R;1Xyd>)Y=jvL2LO#|=`k-Hr5u3d+wx8FmqWD`TmL+1KEpxrL znPE#TD#Bg%-A8m&SbVHBXLeo-ee_j6nP+4LlB7klGX^a=t~BEGV&=YsKI#X(;VyA- zz{y{ovWBDM#^OSk{^+TlT@N3%w%<6GMh$*%8`vHkT<(W2W;CxV1iCh+O`yaJmWeG-9x(S&NfGz^spP zUGLl|XNs-o8$>L?a}TxCSuc-HYnI{u3MMDldaOKp88EIS6~fFhYhXcDMnBzU>RWgm z-qExIVf6)b#R5F-*jTb{O35a%I3oVuumNIk%5x?+_PIUzzOv(~YY1|Yd0B1|B3>^% zLX6|_Fw=-bO2-BI;$rji*uw83Z%$TrfJ!S?581~@M~G-l_CGQ6Ev(>bMYQ(VUAQ?e zP5`%^Liq`NO!PF~kL^_qS2jU!e?nWy?}pN=UeG6(0My8SKuZyGgLSk#z0wog-Fr*t z)CxagOO38^`D*{u*ETsfYM{8!0jCO`P*q{tXATAHj?tp5uxxcS{L^geW73AEnXNAz zw#@XVz<9ke<*~J`aG#;KSy*xCui&H3sV9AczFL})L`!b&KC}i}I)<8t4t3GECT1^- zbeDcXM-^_bSId~!G9a>7I5a>^^)>@us~|XkMkq6hx;Hbgu3>U^k>73Z8)dlHZyLyE zHICslTcZ)Ruvom^{TshTV#t$Ycsy=lWq<&{-hd<;qN9V4tk18G{uGO>J)Dc1eb~S{ zdUX)?ZfwlvNUERP3k(0Ekh;LQo!ILw+`>B2i(F8jM2S1SiLTfwN2f-RA&oR`OgRy% z`os7SCpRD--noIL%A6ibo_DH6k5}G&ov5XLaD5&v3Rj!zhC%P;@ri3@&gI$(j0kCV zun{i=)LjWOB6mej~+}mwPpaYPiG3^N;WQ zPJiDl#>F~6YOp%hgsc3Ir&DskNihV%3LtV zz~$c@wff0!zrNaw88w4h^Q*0HLP^}=(1cQmWvX&X-SWidP{Tek<%NE<6Q;va$jmf! z%{#HVMoz8-pJ7wWq=jJnW$t2s(Y>u%hioDHP{BNL(j<8%-){20l**i@(WOOUWA$*h zpIzLU*8GiRUwtWkt%Av?EI45jVuM~XM}TK=uFsNnjtmJN$$@q~L+fzSDhGH$B1$SI zZEu~NmP$CNGB%is-(%|r*|f$b`@%mHJA(Gqq1vcB%4AdN2g-cMc_KzikRTf8+W5FZFv z*ZYdTk6jjzT7j+UCX5~;vNi2tWzbDWMO9=@1+D)>2P(IjAlBB12Ssd7F(jw}&%{3! zWhsTT<|l|+W+9(5e&sF$j0vk870L;JYr{dP7$`d1)re_{9{dFPy1b`ZhV%dW2K#?? zeUg4`y(0^7`X>fd6qJpA(2XepTWdsNgy&9 zam2?Rvs8J&$~3Wl2N(EyVOzhvdtV_G5aaczjaMaTEcbMnlwRT+-da`^%*(>3fjE#{WXR2-SX2?=(lgR2K5x3m zjXY9en)Sh*pr}1|?CUnI_U7w#4bcH@tLNc+sD}% z-`zyG($U}VTi_1ntBxMDk{P#cNM7(fl;J?8onox1nOWQz9SNjRJ8CI|D7dFo{Yy)` zzKY)XbbsxV)i;nOZIflF$2})$=^r;{&F1yC>gib(^H_&isbl2nnuQC8y$Zcner4l) zbIC3)4SfV%h{my$4x(c5aSbYex14uMNU^~u#V+N!9I8pp$Vop~-RHjJ!X2|+-=c4r zi9&!Uqn8PrGr4X^v<{T7aubp{lR zlcEN$+ciqLq{Q=Av^4%!IeOOaD8^h0_q_;0pN%qN!45UfaEXp`cC3^WHGB z>7^Xqz_{qgw=zD9)&2$5!+deE+K^o>EWDV;;;Q!C5&BZ6%B!4*#AMjtV8fdhvnCkAua_deH|qUiu-<|E^7- z``G92Ck!?>w3H@s^lFd2e!)Mf<|Kx7#9``1Fi*MwfcksT;POr;w z4PC6bns4HS^h2~yJ~i^t8u{BuxYzBs0@`ae9+cWjY1VyNC8-pYN-+?L@yY4 zSP&+(CvQ$Is;5HHb_c|#moSW6oa>!^r+XM2$F9og!4zvz-%>^iZZy2h-Gw;<@=rcZ z)Yz>%J%cXt69xK|Wm+u=W5q<`?-k@VjOT^oyU~pjKi(Oj9U9zi~kTG*kAx`xgOcnUyil73vv`Bu;w5R@%Vv#|Q%f|fH>N(Jke zD@2ASI7jei^9JA1UDW><->M|)J62}UmPh>8V7)C(NfasW){6_eD%g@^*`hAp4`9VM z2U^jY5}U3Kri$1$hlk4Hb>xG0y!ml}KlTsrEEsv63d-Vi+Vb@*|`jr1z`Oo|SZRhHPm z0_68-pP`abMMooc#KT+z(*@jmo7%~kTH?s25rF}lEMY@g=R%0RC^+SYMJO@lxc$<=5T3hvgLj}ibw!mZd;S1}??|YX z;AUU2LZ5R}Q28l4H}ex89dpPLxgxBD25@4qV2jo#sEk7zmGyx001Tx?dk-Y)+;Rl( z52ub4=ENdGyLM(Y&p5i-7!!EZ97Ohc{{{e}HDKGt+B^FeN{I+>@UIJ7FPmCgrj0q1KhjA`(~Z9vTT-3hEqVn0BZWD|>Fc15MPyGx zuulHP#jv%x{g@L$iiYsOadWQI*4AOIq@G8O zv76CnnfV7V&F<=U&?dA$tnXDR)!7&fg&$uXlTfNv7JY!59dE%G~K+ zlZD`)z0wBns-Fx}yf{u6IlBh0;RZREuHuR;!Z=l8>vQuTC$_yP#RaFT^5g1 z2Odf&rRR=6;{P$14Od`fw7xPBZf24xJ59$>Z5UH>z1<^aoZ$X@m|WW@i85(k@_3zR z;dO1y4e%52rBti#UeC7HX>~}c{?*SN#_8^b=IS4#)f&|o4)xQ2wU3fzmP- zlD~!MxPiZ$uPb{9A>cHH1e1~R`q3mKwFV{|IB|YY1J|zlS-W*N@}nWVxG z>)TX|)$B6@Ds5-KfHtMlW9x+7TDsTee!H~<=`a2`scX{PHmAk@8#~H!!QH|r=j_-% zm=H*&#xSH!c-T#OoIfnk)g`7kb8LB2s9Hf+eegTHm(whz^%CTNtXW?+YuddoErjA1 z+r~s%BxC;W101`T!`4>gV&6w$CeTT4)-|?rOwwPc`!$PBdeG8#yTf0Rf77=I#evaW z7D~K|8qXw2&2Yz(^{(42M@4Yx5cTzBgysoy zl6a!jTo|a@1O-BT<`K2mk6QbGp*D~Ccf(~v3H3?vArTYEBR%5s>TF-kOVjE32X}pr zh@AsCf;W)aThudhQ06J^6py_!YXbFxfCHzyWcL1bfZJ)u5j#s$RPCdC8F^x>% zaEdghCcbCih@`2|^6?7Mv$Mk!X#$zJIIhoqEL4OqakZmn0>34EyU^hKPI4?=_L0fYdE z5f^ayWq)N+H|VlrOTTqp@38#Gt`k9>2i*(tE>C`R5$J1vF_-J^g8F1g$RK zS`VS@^*u*dA7T#v&Y}KC?)!pAO#RVUfPiO3Xbg}2bxUnr65~ZeMy}Do#csI3yFHgc zqRH*3_4(%pWRb1m8hgnKR%$8peX7XB-?|GNZ5HQfea-Guz92&ji`cNF6(b+3m{;dQ zP$@^h^N>(xC-GAU7%>yx)FJ9m%PX&UmkJl38gMbxiv}FF68cjCoR!nd@`>?7HKygI z=jDm8h_Yc(>ni?z_0U|=XKH*>OR^Fa#!qO3sAp_x|!F$uJ>0JWAeJZA0`kpZiCfI3o4eHp)@ zvMpH8?>G}WK~{o-4qa#+8}$HEYE|3Q)HRskkoS9|F>!KMo-=H{uGWzU{AnXcEgn)) z#8p905d&|KeUmVJ{gKYT<3+k=iow_tOsSgQrD^b{jiy2&9>gkSfq`&QxtMWmEg ziT>^{c>WF*Syw(!|9-nb%U#N{4Nbrp)6@-V~*Gabr-I1VkyrB3(k|E{q{{4;}!UOwUc?O+L?d=>#X~e58 z8PpV>l=H0yPf7%zp09t-lP~Nn@*g~#g37U}gKGFMmwG^lLjHEe^E*`a1aqh3ztKt# z_m`Cc93gZ(?d$V7-)MNZI*__MJ4Wr#cmIlRy6Q3xx_U3W{y~a9mB1p1Kcj)@0 z{~im}hGn&=X{=D+RVNwthQ(f6myH&#mBED8<)f-2cA|p!nS+XhD7Yb%7Kx75%I<=+ zYE3!A3Lk0*h~EuSQ-chTZIKyNVA=nUH0`<@K~zm0dh$YF@kX<<0c%GTCa->j0s(5U z83|JW1t~enxg*+y*H2N(%LgRd=urvjh`9nI$AXkeSNgjGUxe6toL?xl|6D?*d$xzg zsRpl|r*E9duyZ%?Apy1#3j@U)s$b49|1qmuF z$~-nN6H7mVo%nupDj0~0LrSdZ{0hH8xtzo6lphRVyY}hPmS~S0RP(|BG2#`T;e-VC z&DIz8FV8cIrdtftfo`UEmuUQ*wrthSPOeEt|G$9o+Fc++xSr*nL)OIn2CYxJrSbl> zA>+4KSdVk@=}cq;n^s))pTF9bdt4wRM3eXWER~1}BR1VWuRXJGCdBPaMOpg+`jHfU z#28V(I(73;1v%07E#&c9`s8hj1veI8UR_mm3mfQ#q<@KOmqDMv{mLpglumKr>=yL? z6Pw;kYp%MwBxNECEjD*7C4mK~5X}P7xlS$o2us7*3L;=mJmTvroIhKIO$tM>VG@3e za=NdF!-)OBj>DKZ)e6`v+<*rVI(CH>z`jCx&z$+~3JDAXc>MEDY|!alCWt&V$ng-9 zt}QwF=>K6w&!t4>g`npk!p=?*?^g7TO|3NAsUcO!Ih5h+GYR_79yNV|KFsumVP{kb z8UNk;DzTg;ShrVn8^MPAB9NVg?Cpi-@rcuegIglm_BLLhe=yvuKTk zszUCsZwRKIO+j&WghxXz2&*fSS&~*pojB`{ z-AEom{_)3mM>`~|U1Mc@2Z#hi$vM9kEl}osJ`YD`jXaCY`20fS@mKV>k`YJ|l!W5a zC%ANV0G7zv9A&u{AgHLysw#vWBPyS2OG+N&1786?+tVmhG_RnFo*zJh2ErQ^^}FHG zt@WnBR+Qvd#*9zY>=~^g#GVBe6j;Jm4X3A@J^*ACUb)PNvi=O{fTh7-^mx?MtoRp198-NdL%n}( z@SxFD#W-Bhi0frh=Ntv8K&+$!ynV>Tn00HA@tz8N$kg@^DOgoWoX-1=1Rd|UsKsS<9r(Vu`KJBPF2mg(ou-)zh=c*yOMdIF54foL|~ zlX7I5!1P7p?FvP??yGg9u=tOG*{4G?E9StFK_|2LVt5V@_k?)2xbzeF2A}a?Tky*- zWSWT!5uZEl4U0e`u!ol1;-ku*|9X_~&?%;4h;B@-qx6ucuCN&^|IY)R&8QCA0k1hD z>EQhzz{C%(%U#tV)>fHru`WdX*P*`&Ja(mui6?zHF3j8<_E)s!i0*hrs7ljdS&yEy z-~Y2#gPiP=e{54R19)sh zw37efr^Fqd9oI_-6rCvyrws3(&fBB~kqa#y+aV;yV$VmS|MEno&eL$d4i9b|PytCv zt+A5|e%}1f{aj><)HUZZMwSkX2zM>AP1<5isFwDL6ccnWqn0BLm#-duRZDnC6mjI~ z+o;B=4+uUBa-sj5fdaRtDpixmMNm{r9;Dy2yvd+g)t+7=GLwiUMEGGVwC)t9zoAu% zR$o3Z1I+AmDHYiya{sT3JBHWo+r9>cbQ0}9SLdw11qyEYmlb$?^F2?KjmlaeMZ}o4 zic6@L?CjjuxJBh?|2l!PwksVZc>cGk>`SxZvYSb0Zx@2Ay-;J>^kNc1JzayEDrY~s zKpOm8Rp_;f24LN&fc~;c2ZCJFq|@MmN$xkxhOX?R-UIX+yQMO&L=CEOj$C|$s^ZB3 z+NkxFvVzw5TAt+|q%HrNU=_B$bMcIyZLwOT&Mrm4hpk)xhm^qaJTL8ZAz%5Rxm$BR z7Ys1=RpkD_;Gp10Uu94pUTkfMHwJDaMZHDPven4jU4L4oSXf76O6*}Z{i@a9GAKP) z82?WfBcHEj?r)zYL6_RITq$x{+MqW-{s{*D8~gdg$E$1gb5B*cVO zaJZDTNO+kE0Obqu&W}R;Qx~A)A3u|i5%hq9Y0uzjS}a`AkJ=x`k zEsu{&*B>e^hbC>6F4{BVW>77UF9)!n;>hCDM>qX{l>Jp$T*30jjV6KMuEE_2?(Xg` zL$KiP4#6!9?(P=co#5^;_~0(V9nS2%|L2^W@8(;#Gi#nTy}G-qtKRyRGy%m30~*px zgftXof@sD(Oa%fHLUl#n3H|%8K*+|)I>i{?zQ5BH4GD`uR#@dFe8*q;s6hnzQy=IP zM+=kO_L6xpw$z^#N5V)70`w5#8Mv^oE*-o~iVjYc#g2Ad(yI6aP(tk{bU?SN>sSyM z+9cik&Xf7Gn*WGKeD%QKATHMoQfi0G+HIIZJ>r_ed8R8z@BzpQ_C#LLhhbcc*^Truw}{OYTxW2-(|0hUPUSMk+r+7<+f3j?3M__WB_C ztNqj0LB1@3m2nmNU)v8Zoju8w^3;KwI8yq3(3+wKns5@Y1OMWWEO!=UQgYWf4wxSv zR4b{?G-)tc;RXu?{K}%cy0C>>8+$j3l;|AT_?8ru}M@pH+W< zW*#ET@eTRn@4dED6hyxdNZ%+BXCor>XIafsudHh`G@??^R||*m;TVhwCAjU-~Ew&KdYgW_z#k0G9^{P+1FHg?hT z&fx!Ua{qrMfp``CRrw!<(|(vZQG{bffiPd-+koPXWjDL2vDc-{L{#{< zg7=O8M;n>O6_FbqI78sJXm-5)Cf1P}t~^tQ((!Oub7R%xmE|Qc>L7G_o4aUg-{HEv zG39c6F97D-_~3;R!Jxc;r-z4z{RsFIX*WLP^tC-d-&6GBGRri5xmskNb0J`sh|vkc zKX;!++WlK^fIH3+9~EYAsjO0eYLbqlRt6a`1=wmc6Zy!36U&oJZGr$$T^%E==Es{p zckH38EZyfw-$y*RIQglLE@5IisyjXGd1riO(>1Su8*c$uGFfE){T_zy4=v|TEz-Ys z5l$BIfu_Q<^$ypnrz9B;n+#3xquU**`j2TQqheJZV3xrBPr3Qq>Xgat z(fgmoNQ)(CgYuLmaTBaJ@-KWf$@8R)VpNDb6h_@Pq@k{cZ7O1m} z_>!8MMG)7l&W<25$o_F=A^2^#od*~Vp%QAg1ypIuzW{t+I1l7DT#5OCp8%zObGL3k ze0I5{d*=IP>FOrV&NM!1g1)$J?E*eiEj#~ zi+YZvG6$NO=y9ph9<>L$U-GmwRU<}yT7#rPur)RDds>Ll5Go1^D(EYgmZfyZ9dG(- zJUzZEtR2-2c{yJ`z;SGdfFRi;qjc(K2K0(3<8PKxL8m+r{le@;a?aS0MZHrF|9`4g zWuPl6@=y6H$nl3K+~Q$}u{e-&{T-_~fu%_pYgT8t1`qi*a;9&#h~xE6knDTYkdR6b zf``tuLuC#`S=aL(+sV}pjJGDYEF&eI;hGo+zfojRz|6UoffNBrLteg)-$@N15hMG2 z!mM2qM3xH!3kZ-5wVIu1W9AY>+zJe};<_NHC^7x^EdBr$dAbaF0~L5N346-CZpAk0 zmFcZ&d3gWfu!Eu|0N$}{ZKTrzE>YDbEbY|+{+zgTlI>g%T55T5zeDi|B4#%TDXV3< zv|QHHM(eej;D&>d+-Z2{(8)?x82?zbab#MQTKX3u&;Gr+%s0W_H=+P&a|Oi&TkQYc zMWovo7o5YV@>Xkq_|PXz;u(!idWXLvbr(ga-T7-lVt_-)co={DRctX*LJX-$LvE1G zrGt|)CVj+580X7AMWL1q$g9l$$2ETjJ`#5#ZEwvTw+i$Gib*d9`cfkRc$diLkC zL9JfJKsKN0h{UplhDglM(p3J5ja~lb50)+37PqUnPsS04?Lo^}ksgL?(U(^9?7KSw zGbHc!FIZd+>jq5fad~AyQ;<%6)!#%1jUD)hC%n@I=Owi@pF7lkyGxOH^TkHOpb7D z6_!*@?87K3hq#KyHXP^y!)?L6bJCtRHJ z3D%d!dE9~eRkd|&gT)?zkYh+kI_KME+H?5qjYTtO&E)EBvV!)}=T~yxd1++_Otn== zWV$KA!u%Sg22zYywI&(0B2btOUr%7ONACuZg!Cer{mJmw-`_YCydKajpK5KKn||el z19Gps`*d#LhlKhN4@bY}uAQE-Mzf_&Yd%id@nVS}mttPBGLoX=3YE*O(B73Q9_|Bg zjj&QhWp2S`Me@vat{U?e^A!gtWqEnh7(O^D3=hYgvOrlp zc*DrsI&4zm^8!nkxG5p=>CnfFqRJ|EJ->~@^rg{K<=(vuZ5zdsyx7D9dKYVYkEBQ|f7$k*wUxpRDc{FYq~M-l@*w+`HIbD}=vF6YO; zN?{t3YDZ6}s_wiYuBoxnI59&(Ms_@Vq-7QNt0%fkD{_smb`dr~i;4vfLOBe)J2j#cI0iZD=!-AvfZ9_C_39;paX0Tj8(_@g?iEP1PlM#$N z6@?vhS>I|%Vz3cn(Z!dg0eeOBPQPf%gt&?z5NguJEeDpuTAtoli1~6;UEr_a8 z2^Fh$?Qdp2bg7YiR^#(c;gV6-LZyPvH~Mt}#F63?M?&TKeRuKC&@g-NdIE*U=k3p? z-d^@G#&%Mm<{zigE2mpeTre+&&B8G}WU4#bIENapPhvzq|K(^CJl`GJwx4Roo7ezs zIpB^__QM$G<{GJ|O+lPM*YcmvfS#ra8+BeWV`0(CsfFtP(Hnd)Q1fZA_&ZRLT|vGt zT$jn^n6VFO&YyiXcdE zB=Ci%t4NEU)!!|iJ7qj1(f>=-PySOCscj!qR(pWqR@E`#dm8FSbE`hOE$;Upd|0MC z&uqf!qw}jcVpW+x?SeDd`nXYw;a^cU|AbPP+bcP12b;_(TlvL|9!oBe_#rmvl&DOI zm`C5;vD{gPb}0n$$%KNxgN7^iN+x6>#dB{tg|W7^wcen8MM2BJa>2 zU+?OWxQxVoRF&sG_WbAn%MLWQ-u1{Q?B@{VNFHi^n3mDnFLkjd5Kxe~5nB0r_;Jgm zSXD*&MYTPex1y2(Ql)}v>p)G50I5mCBoI(Ow8RxvHMYBF>adSURYJ{QZ1H@H$z|&X zkfzv*>2T@WP-XZev=T5(C{3A!zMh#awK-a(;PyP(>D`yMz8)xkp&@$D6!wX_z9;N? z9Ay57>K`0}W9;uAxM=%zkg1`gF*F{3SNVNsm?Qb{aS;59>wZf~RQ_${>8rW6I~?Rz zQeFM6v6}bzmP3QN?5d+=s?Ba^T#EaTJ&DBrr7?^f#11%xF`qR+C)UnOz<`Zh6A z4g5SPlU&5DmO)Z3l+epp<~Z+}s!k{JExqM&)P_VYwi&aiH`_*gwEGn{>l@JJrQf4f zph=!SePE&{jv2l^obO85HP@|*+{PvKDYK_Lj5(`>SIxrs1p!er=Ho&?T(|Wa<>Pir z(Kj9%eevLafXAa5;q_QvS~s_~H{kt6pQEJ_6ICN^qkX9TuI6zbH#QMYz;jP__~-F6 z!Rwn%s;UVQ^c}tjO?6$ePs(-(ss30z*kfgLoitg-xGh&1m?QN)%@$e&7TFtMRoB!t zIK5e6lxkBJkM(g6+y9%;s-UpI=|lxqwsfNMa3SWKvmgPJsh1Zp#9$;? zQVz_AuYI#a##qYN<80$g?Dc#;Xly1z&046q3<&gxS!WLJ)rh`>Y8 z+Sr@g<5U02FE!Avn8|Y3j_DvIT=ZQ76m%pA9v9X+WuZswthx zV*3n6EP#F0VY(hOhARC8Q*xXEol7$ocKdqaCD26WkKgZUQ_`SvLB>Z$Jgb3gJyvz&n7vIObB zwH{p=f<{l+V4CThSDA#jNN%qH-_YVW`qK87BYTpf(-GbuUi)y~Zoyq09%yZoz>)}#Cgay;N%HuzU4s0L>$SDGCnj@VOk+U(}%}r2kE;|S(1TC;3s=|?!r>&W@~momrU+U zB}@{}3=-EccxX8V#Z4o2elahngwQ+2!>OT2${i#iQX=hQ*E)c5z$4yN^F7Z@(P1vIw2(*umA4wC8rHcEn2JYwpLIa+=QSzNZbp-3C8b1T0+X2X4}M^YTO2p7U!#Uf?0pNzW3u+*sZX_f(;&u{B|9&C8E88bd{&t;q%&65#pI^8p(vs(O2@=no! z8NHW-??d^?`Og>7rcZ9BzW@7O!?5hjz1QJ6cdKBR!b`Np(fLWSKBDu%>kZ+#4aGHY z^82Tld!cF{l`qh0X||X44IM2p=k$#aPY~5h^==#_P-@M#Z1Cf7b%5HYU`U;&oi`p~ zXCAv~zAOyHk&QY0{B(5#)fk3#0vted`w~g&Mllra2aiCN={O;+EK%rBB@VU}7WS=x z@8=xN2s)^hYg<3kDLCdE1ZplZ+*tZ$`#!7?^C5?uOp2l&eQTD?KPY%YYP3$V&X+60 z+U}S}b}rK_G;f!n;Cq9II#mK%OareJqD8qZOhSA$8ae>PV6yc;m~b#N8G1Ydc?D90 zFg_WU^WRUz{*GR%kL;zdGO2oO4Dr{T`j;qKD(if?tt$-Mh0vNLw4v*@3QJ_d!ZYyB ztb!s&C(Og-J8)K_Hgtr^%0Y|>W})}_lu!nWXtQ`x7yp)ir2F!QsbKNVv;N>)ROBnm zr`>r^Bfr!8nG{#s2ay^c7Y%&6YPPGuC>YL`o(7UvCfMn=4~Utp7pgEWTep)P+g8j zSb->^D{3CCT~485lYL-xa(w04xpi3&3t0P2N{G%TnaH)#V|Ix!|EE=%-miWdR2NIv z2=B(e8J|nFX|pofWKVhFLrep>#oki*BAdDnj()uhiG;+| zB~AV8v&y~W>&(bIyG5JiLd6{=R16q(Ju_YP&hpC4`Vr*RMSwAKuY+)6ZQvX!~fn;PF>aYa5C zZS5HhRuo~s-?Q8PNw&$&K%Au(Y%Gv@fN5al9X-)>Yy!epG^MEgYIpi*JbS;#&$D?- z@?c}{6KpM9^Hy)uFcCJf6|5s*w5CUd`z^cg&$z3W)HZK3!n)e1lrz&mJ;`J5NQoZy zwLi4rXn%o4?mBd;LnR7^JMj2@gW~hu$?pn%Ydy08#lYhhbh(hg3szt(%5DpiH&ji1 zCY}1k85_4(Vq`Kz>f0+S4wu|+w=J~ob^L_jOeF?wc|v@!T%O1gjvTiYOD!8ll{&^$ zo?rMIh?Jm}i1e^&?9?PRg)+C2VQ%LeT}jd@Pl;u;^|+$k`2a6j*jAXFI8A8ELAFe6 zY3@}Z;%^ZSVGxy?Mu@+4aljh<>7t^hW{#gc_}7L{^tO@3!z-sO<6OWz6be9Zum@k( zB14o|r}~m|W@+iIlkIw?YN%*3&@;DakmzVD5k%LQ*qm}Cz9^RqMJLK9<5i2a(wfW* zN1p#}n)sZOPGPgFA+VAX?j){KAIq8xc(EnZ;$+ayBm+x%Bo*N@%x8s|*6HDv4sj_l zjI%v`5D%p?(sK2-7S~>G?_;mC`|Sw9$;<5!-l2<&a|}Tyz3}Tji)_PyVHc;ePXO+r z52owT7c5R9i0{DCGNRAG^%frX=-#q-eP@+ogZ{p^qU8<44!ZZy(PJ;D$XwMiaPDAJ0@!_z|qT~LGHw{j5J0$~uo z_6i+-!n-iPKU-mUX|Q?Nc$m`%0Wp?RtNF4 z=@c020}PmVTbZ~Id;MXFN#P&ohMh7*D|0Lw8aoH~d7}Xi1a|P)$MS$uJV4~`HgDDN zLX6E}yD0gU0LgT!%=GYe#&|UWb9)8G>>{cHF3zL{agJ??JU3&h6+F3$Mj#fG7X2UirKpGByYG`}=;!*Zq>7q_-bh+GBxAk;(VE%r&0I|89_)6ja@_{BT) zaqT;#>*JT-oY(nx_3~M4T|}m}n+2d##3K*2TU>jcvbli`M&u zIy=Q+N-H}#4et~9n96_$-RuZK{SUr`pusy|z~>|UiV7ns(}8-~0q+|gB)T$eYg=q< zBb{Z=(|e>(UN1*92=s_bym3K|BYiyHq3Pnz(XtiRUilmM(q&Av=mv-?~S^0N(d zdmv-Xe)VUZHb4!?eLbSy7Ylr)}9Lnr33`-r&_A*CHhKr90&j zLn7^dlMZFWC1f+{^REJWon%Q3vVTO8r{12e90ItwnC$Tu4wo&Xt~Dy_>szh{wSW&BP zt5@n-=EMd~pPkV&cY3Ak2u|hO=7jCn0qSTq2^blx{yiUKBbWz41=Fo|@bh3rLnQ6J zjo?pUJK}oVp-+C*x<-@3Ek8?jb_UvPY$wZYZ8h5()x-zpeJ@2&pIn1~w+-IDPF)}g=PF^vYhSdvvwvL zU%G7)K+pMlN1&$`kz*;kvqAN6tBf=SIUd;Gh8R7N#g^Pe?!csZ{7tq%9xW%@ZiS;l z69|OdJMOs5E9Zn8MQXS^t`p*Dj6b*PO6a*4-K`-cR0=bFJqR} zTAPQ{ps2DXvCcPXJhjzJL5wuiQcy{l!oFL8<3n9TMI+?XU<4*QHj|;i7(qJU(-cos ziMlTTUiT}rWW;__0d$S+yUd3qb}S3eD#~crjuT`-7_UTBN*>xY$0L$a-O98Z;`9RJ zvmisshf^dABeP0{wJjd8&D-aETDaolz?nukgHcM8C!QLiH>|-4l$svrsO4^@5X+}P zy<=E1ijV`YR>$jac-YV4{I9#O| z^GGqnUfT=mok`UuTIM`WjdF+GKF24rYMEAgTayeTG%K6RLjlpCfP0rECRcTE`_SmT z_VMzfQd8^D3d5G};Q$=78TDiNT%EhVSrxV2{V$QPzZv-m9;7VKIjbbawX6?-OQAOITR>vk09X zPxh1=XmT!pLPW~GXn6ITR+N9y_zH$yb5=1(b#}_$zp>C+TQ#p;{Lu>{lqB7NVE|3t z+-KrzQ%t5BvM>HMGNi$LV(bxohGE|CbB(}OGR!fyJW=%)!)7wbuoy;}1#L=^6Pr&q z3vE%=-cd7t^&j6av(B>=GOv%W{)>{sACPbehMOg_a=c%b9INwxer{jh}iP_;N_6B(`1#y%QYT$y1T&0HBP({$pU4^H>VkakC0=x z+h#uwm+-jA$GJv<%PJ%7wqu+eK{tbiD^FiU&gY~^hPN~;Kmu|WP23tUF+QfRvTZkC z$~pA%EWi^vr-+{$b|D04Z~0(sb2q&cwxq|Kf&A#J`={b8j<-*p?ucA;IcFrD`*EGkP2{AItON2$aXG@4Sg$p0PJn8qh3B?6|CsV~sJ35RP z7u?%L;3smTMoPX1M6Jh@$vJ$#-Win)DVXD48Z3PA{uUvF&w%%w{OuWb01r;G*snJG zMKHB*7JD#3B}&rT7}C+`i`XG5qs5rN(eeug z`wJiLwjn(M*Gf~JegSR6E{RXfc`DV<6l&!o(bc|+%^sc0B&d>yyz}AupZ3TwPh0!HOd+D)r*Gz~!H8@Xi~m7yJTK zE)Lnd<%TN)9C%@lA=OH$$Lck#K0iurOoShZc*S&7XI+UjX+w5&FP^4I>fS01ude5N zB~+A(}Eue(Ka>`NZCMFI8EGC{AVK0H!v0Q}Z&MZ=efeX1gWEl0MN9yUKD@Z}&8@hL?R*=nsr8NNuIu-G$@e)z z0j=04caQX{pZyxDmImym*+47TRX)AN04c1@ukSGj z0qZ9*4)8ZO#jg0F?|!-7{RLVL8B7l{aO&EsAp>^Dmq!^1xuD&NHD zC(9wjhQ=8e&?{DvYyR5hTVR9*-LNVq%8YpCdgdlgI{ibp%y1re;#@}6%d`&cPvHmc@EdY^1Hyp9dE@hLQQl}cbA^-890b-xNO?w z($Dx-5oY`i4m{`%;OLhCX%t-=b6YQ*AOnoi5W*wV_$t2SobI$@^xKZ%%5;qF+{!Wm z^b5DkZ6~vLUZ2cXhl$Nq^ml^hM-5*yg^ejq8>`7khOJc`I2;8?B)KC(DAF>b4p$+a z76|EBk)bqI_3=d&m2++lY}a7++b?A0hl{lG?RoP~zO@6L4Q${^hVN84i4^UAU;=jw zEWJ-x??lQb@8fy2pvv)%DtenwAWv3gYuyC*^>*nInrj9`K<5Wo>vQj1OY%|GP?(oc z@3mSe*E;o#5~IbSvi(NOao2ki!v{PpOgARqW*PDkCn_4a0RUnNlA(M-f3HO6T{Xz+ z&iNMgpg`E)%p+ttepf@JB#Me8U2WNie68J<#}Qo*W67;4l3iN;_agI(V#b&T+M?b% zF??=olAK}#ePj#M%P+@1LLXNSx!VCR!`%NuoC*W_ezP_CWC?e6M2C<;=B8va9#a!8#s-J{;4D%zyDP9^mbp=5Z1}w^tDkv} z9Ap1Q*3fhDcxN-?w{^}b?q`7<@4GLES_#6>ODu!Qnm@9vSa?^aJ=_nE;H+BjV4|Zd zJN@lr0tJH?aB)4K&%GwPjk`Pe`={15r|ehPUwZv72&}|Y7#LFs#f~YnRguB=EH2w@ z%(<;&<(dQ?X1{rw2Ps~>pHM&Ehml-cz@szTzeobUKpj1#jy>Zjcku+TCGYw?+{VE< zy9)Ep6*fENTi!`>@&3bXIx;PcyL`8+^t`3pZNxfZ~Qn%YD*STL(Z-ZeOw z{BpgO_mTA@?|jA?HhiV)@!mFQKB3p66$4j83Alb3)Ye7ho^1DSqEGZ%!@CxgBa zrAgl$T?4mM4&C-MLeD9)sUY|ioWSquGWGiW0}Q%#i|;4!v!jD;+QW3Pg_ONVdL~JX z^wMjtlyf`UhZTUeW`mciC*wrf&?T*O&XNd5Jd=PDaHU!nl{$kr_Q`@+Jnq5Ls7Ssh zP)7`^vE)g=uV&)OBq$X){!It)g#@MJZ`IMLrHxL&DhY4O(PrI*m#DJ$VEOWGbVc(KH`h2|xC*s&_tC{yXz17O`3$jk;)S&g_?MAR>J|;- zVt|)2KS^!Qd0m4Q_`MjmxXMmWpQPg{oT-Bocc;s*>&^lEKzoKo>${Ey_{jZKsb|rp z)zen1Vsu4;|CoLB>8-mUow_ZDzvdIcKT$Xh3MFmj*XWCpR8&cdoa3JY^G}iwl%%9v z@=`Z{FPr+T^zu8e#g}&7l_%_qDK{IcA0y6%{!GT|KXko_`1>wjNjE(OzO?2HG6;Kj z5WK~6K#d4X;xB9WeL{e|H8{A(IWo&A1o2879d_T{LgM|&+T8<=WxFPIaKok@G2Yc| z%vkKx>!zQfgZc>nO^5ILJGkXie<`5G;&=#a`;Lx>4t-8~o&#$?F|-F7Mn&X5S1;}_ zks0vDl#v54eb5cC)UfYKui6k#IH5@iJU@nx#)`R8HpZ zK@)l6aj@fTn>o1ho$I@(wnx;3!V$0;@xLQ-`)D6r)r9<$N0cjjkG<^XHF@a9uQ?jK z*iZI=P*jAXxi zma(Gm1tHQqC-#)H=~sy5$$_Puy2R+stCl9f-qX%i@vl=wR$HUU;0W6SF~y%>VEVNg zdg$m9IA6n^XADW~Zxul{+^z2Z@$zP&9sN>9pCEG%+E=U5)f*DVdN5O`)C56Vb9tL( zbN}#$VeSbJzZ8~G(-x{NQdLhJ`+G-KQNelFQiMuNTQL_Eef7^bvcMY7R{&%q$ei(P z-d;`qcJLqs!J*9BuPiwc3K)`O?VF=JWax@Rs(q@30|2O!UGFQyE(QRQr1M*=P>)zy zMZru;RHC8;)Zuig1l(2RZon3%LSUPFaNCNaHQPk5NLcGdLsR$YK6dzfH7zbv6{I(b zn|B3$Xf}O^H2=|fSldNye9riFliOzcit)T1K3%_`?mcR$>KXkZvwgiPq{=DR4$_8C z(eWp}bf!HUF(+L*e!KqR^(|L}4YGh?{f`^?VWhBnzQJ=C_OGe7)I)xWypXV#0dICa z9UN@C$bV)^E?%{!>A@?j(vMcT{F8hMIF*c&1Ax5{?xx)CII~Ql8F7>A?X%)4~?>%sZ0gsSx;$8EIaKzkf>I zc}B63Cs-~SoAVAWOl^*P=AnpZo9^)ny~$+qJ10XD_#xaD6w^m?7THiYXEasTP^o=5 zu%helSEAsL;HvQ zw~3MKFm**|ZAdb|o_D+sQ(NbG3iAvFR9nG0CKtJ*6zIKsZ!*}eZgISG`nre9T(8G| zY#Gbu^GZZm8PVyTBlkeY_9Rep;%xVfHQmWNj_MtL{732LCifj`O^JY_3qgJuyj6@V zUX*w~pcu2W`X!a=d*akPL;F5b&+E%aX5~IycD8PFb+%dY&wo0!Q%N0T(GCEk$2Gib zB3b%Subk(}L_*mI%<5#%i*m4|d7Ye3HD*`cXwCZ-+uB&qp0r1d5%i6hA>G9?)ZVuG zt)QG5m%OozqhM^sWuc_$*~O{RG*xtDKgH`mBb0fLR!)F4oG4qWdFM8SnLmr*=-%AB zZXLS$nM50OM0C9O^58oA-RAYS91)<)q>}SnwZ`YHRS3vX=O^1<8sh*K9_cRHE5^0( z^p|x0h-bY3YCU}j`la7RNlqr~xTUHs4m*DtHu=x)X%Sj*+W3IPRx(uPg+kCi9(u^^ zcy-1Her_;OQ2K3(O1O<0aQmIFa45!^?~{A+z#s_7rZ027+w<&lfgjn>)-72Gfi=tz z(}A+hKWiMD>buD`(N|w?^KyxyI$aimcV19|&ex?M*|}Nevpyiq*GETgo5S40LuRFh zA37E;_mrhACIVN(0fSKLL;!(%M&YN@LLOwqwWcx+YYsh0e!<}qoyxh|Q^st;;n`H? z9aN&NoGYikCQc@jfCNyi;cg^U@Hgu?o;S@M;B-k|`i(Sww;5-J5QC1G_N0gaSy!$SA=mA6LmTn1QMkd`|kjTD|_AG*K|MXo68BE zzllqTp|7&5B58}xBQ?ea;zY;GNwPXbi^M%vix>V(9Eo9B$fZFC$qvjffDU*ACG?c! zk0c>tZjRZ`CwcgIouK?}VrQZa*J2mfyWZXzG(SQ3J$Kl;M}aTVVojnv+yh(xNJm3N z$+IOvG3HkApSyR->`;p!C8DlmX!V)|v(0r3rwX|@GsV)NO*%er3{mPU?Kpm}UmW>~ z|FD_4n%YSbj#H20Mo09t=;`nbrbHa3Os~E92!`bS|wE)X}aLQBd%Bfy1Cq| znVg(2hK4-52ku_YMY0j1^2rVK=C%?}#XxF7r}Bi#JMukvXntLMl}VH5R1sQvjY%G5 z3s{gfi{=RHnG`J#&^4sszd}RZ6qK~P`l20!7dIKD(tTRrP&YVa{+WW99E(lgtqQuL z8eRTGqXuC9yedFPHFz+G0NfBkUP(%=sjaR3C8NhU0m!#s1K9Y=#R1q&80%3 zT(_BlvvUveM?b}l|Fq#TWp_w)nmZp)&^1?T`a*BF2AWsZdEc>}nyRKuXP2l|l7*6H z{l*+GzUqKk_5k^}C-N6X?4jQYQ7YO91&np;Y^Hl?%CWhDFbi`i+}fHeE0ZXCq5;boB((I>5MGoq}53f9+^ zX0bvFAf;#}bTdKEM*p=e=m_zi82~kl<1yVIOjYU|ddB%Grnad-V`_*-;BaoV<>{rT z+zFiT)B2I))Mw5zX-qvQFiG zqUtM2#Xd9rXarex!qec(tio3BKq76)dByf28lKL84DM3qt5rxFbW{90y~v9WzLkxA zr=2QDT}4OcRQGl-q)0vQ{m$^?&hS%zuXI=*gBTe;yKJdKf@*NHLR4Ko%6+UG%W5`h zJc}$<{{T4|TlzOaJ0~?`qGGd|vUVjl95Qoj2@~UIpEX{V6w?Qz4B*c+SAiiT?F3)G zko@wre6$TBI&U^~lXx^i1KIXfih&*UXJ@PDwSo{$Y>J<8_t1O zCUr;~f`WUim}OO;O!BQI)Oh(^&Ic3{Wq4#Cw!W!%(0n_)q{x=TlpT=uaAoCdiiLVX zWf7W@X2c*%9%Ww!%ah}au`8^$ci^3zlM->N+@Y1*;`((7y1E})LHZBGE5%K@B`Acf ztW?bNx8;^cvbOWDMpExcsOiGc+}8(ukh#ak#@jg1`G2zMNj(7P`fV*Va$ci>6)R007G)QQq`8=q=AjiiU&j5Gtpst8Wk8Ng*vaXBg$=^xRE+0Uqq$_?l+EpW%+Y-g#qVl-~J> z2s|GtiB52HK(JhP zh~sw|t728pN*NWOg>q)g6)vuo2;mlt%Dq!l04ef=>(a7QQ^9ZP) z!#&?MG^q&R9V>NIvBkD$!fkzC7F{dL;#(ypYU8k@mkOqGbLp zAX=gW5dO2cKN}iDLz-bp({7GQAi`NjC52e|^jUe2u@G4@RZ3 zp!0BiTH`@QE>|vpq;CgjFyp0rzxz*Z(g5JqFWHPj~pKQIPFGfTC!%^+Swp!KUo+hhfbsg|_+aa^dwcb@UanS$oPRy^O^59}X-7+KpGKPXC z8kg&wEGD?V&OnrdSPYZ6sUkF3j>ja=lZk(jj~|&tS&XA-J{|>g4l6Ffd(x!vr>cve zt3ly+JaY6oM|_;c_GmPf2CDY_JW{$v1IC*4FS)-n8mW-R2)_RC^n)p_fKBv90lB z2GSGtFi~#E)5wt6!!24}o{Bz`xO!u2X44-fwkeUNhJaWo^QKb3#WtO2co;n>gKD{} zBV78y4a4aK(Aqk2s*RXLNtqsI?_Rk=- zeqU{Qd8=tRTH%tXwOgW$50fI>*CimwF%KXA|NePDky4;6{vDgNGP9#=iJXuA?~dof zqE~!e+!ne8#se|AhNB5?_d#UuoLvG#dItoZ+)s3B1Xq*ig%xB+@?9Yzh=JCB>0ZU1(0F7%qI&}d{z4A{uUie8{? z%AbEl5{dh4z)zokeUgvtMn1v` zXY_s*zAEgkOj5@s{s94nEC<-k&m}yJQH>cCH&?pNXS?9HBMASzLuUQNb+HLj)+hgc zl|x=OmuMu#+t`vTO=ALBAOHw~jk+|3=&*E$wl)m}*LxTSmBRaub0?gx^#WfwB8oB2 zASf8_A#vNP?+yR@@KX;E2?@Cz0g(q^Am{qv8iKU+Z-wXhcE>y=_sQ^0{}))1bF_eo zg9hJS6;UQ5%%&h=;(VE3P?2n)@A#sV61)FAsb$unm3n(JQB!?$+i|KB&q7g0Ti%SX zsYosu+kR^5Q>*2AWgE#{aCW|U6nPwh5h6ytaSrdi@=d>iq0`+q6j3ub@Q*AtI+33PB!0w~E)il$`8zi%K?OQA zBRKa{|BNh6Ur~aw0Kb@oIxROqVC4@YIY;uvHsMRNVD)*Dmz5PFo#wrQTjFIzLFHd8 zo&W5hBE6T09_F9m1FbE;MHyK&jqE=m*Z1x0h$UAbi&;`)XPZ!4TC$(!E!4ZGXc2Iukb6kzC~&zNINSiR2C7#4Xm9tM4A6kr2Y&Q2WE$ zGe^3fy`Qt8E8!O276TJyd#{R~pjJFICWT(FYGS;bLV84f{p_0bX>oz&Q=pvM;;fA( zPAcLbGb2CaOip+oc4I8i-+H@dc?d_H5y!lR&Wj~3*4Uaf{;^vEAvpdo%8=sd*exWO zy1BDpo91)xj>)YN#B%h%jTel1;fSDsCQH4tk!$w+2qWy3F9YyotkNix#-z25$iL^% zHOmBdJEb>dj4y`5h`(sMaw>4)(`;iyaxsBs8~bCn!H&u>^S_-yp1|{LFQu$Z3v;rN zllI4)F{lSrOjeE^W1>RMEshkV*&H>VmhQ=$;mXH-`i8Hu<;K{8<_VWk&feykhMgvL z0m{q|F^4jt_TE3R6sd5QSU6`ZzSW?k982`E4$bq0E_x|tXIj|V#f)jCzl!jK*OT*w z3oodlf3%6tsF6fU7k9}XAF!MCRVd%s@;vIVxQ8Lb5eZgRQ1(L~^bb{!~- zAw70McGrTkd?(QBETtjeocWWGi z2X`8GcXydS?>XPB8U9kWsHS@F{n&lo*qM)*EzP1v`F|H}mKl@nqAY_1dWjGlgX!!N zdAQZS&DA*pNZ1L@fdNTzdWhN%j%N0-Ohm;BO}t)qp^bGv%dB?lz6^N(-uX=}`wNET z-_7}1`18YMCV?=w*gjoQY|rE zTK01NDq^8-XF)jv;6PExo17$pz-p(qb@r&Yp++-5evf>U^=Y?;y>K6gegu+$Ahp`G0VY+dDw=)&i2&@8Gb~tLH z#<+pjMj{sN6aMxo8@dtJW}9t-zAZ^lk)#EmC}TySYboY&MIs@-U=U(7$TUn`yi4Ji zvNvC&LD`fYOM0I90)upX8-`=sM6svP;5jl)c^PVf09%9 zM>nrZD;%zF!l}riJA7?CVsM$SaV)$Jouk{%2}q}DFLst8PPbH|f$~++4nzmJh94!+ zN}yJ}f6fe6u~iQ|j>ie+StmBFXBL)G@z(K2Hg${&bwC_7ro_~8b{L{gj<(|3cY5UG z)FPP`$IJ?8#*_u4G!`}we*7$BkY2Vhu1l7>+rQ+V_q<&|XU9U3dZI0nk8-=dcw<(L z+ar^kFfntF+mB(YpZ>*D6{?JM#y>fj74_$eYECvY_z)|G87GzBAFEn#>r4zf%7cpa zXZ!oVFPDYMLl02{p?o$Hi#bEj3@E7R@ONvW1&J98>8wiK^E4B09N7DEaK^kd&oz;$ zy~C+SBbe7%RPiZmyN1VbCnNWwgav{?uQ$jkI3{dBZ!UxfaxqvQy2l`jYiF!(+?rhP zko=ulBrYmHtM#ae9;%`&O_7~*&x%;&Xy5d z-?-=6th=Z13QVNCxDoTs_I^{fDBps-6VIgH#AtefPDw$WV($5zE}`D;IK-CbKx|y0 z|Hbhi4Xw|bajh9sw}b;C3a=%Y8ErSM&8iao2B_O)PZDDA{4pb*A@$i zy0!Hsj&KzN%lZJYy0XJaq0YS&@w1ciJWcB6v5tHT>7H%KUxI(a%KiX zd=uJDB1~C3J`{94jYI{QmK+Ew55&@;1d`*oC1zwF){8Z*zAYm|^v3|N^prgEPes(q zn2x^T!V3&n3Pc*QP+tNvuvWba>cH`rA-;10BLSs=$QQ-;~UkL`u{`q0HOX+u0%+NJwPcp4x z3TXmKRBG*-RH>Qcndp>AJ_XmHa;)m}sGxCm{s}lq9%g#G$>z1mNE-tJo z7$)pDGs;(g1)?GD<@aUs@h^Y2PKsRC8N|scfv-~AAD*L9lp<_hrqBvj@P9f(HV4Ib zwRfe9)0Vtq{d+Q)ZDC;5O^Q)cP5xCMz-LKTfhw z^~aUEPfPv;*}}_(qekLJoer^SIP!RTA*cl_)5|F7ep16~7FDg+8y~kIv#FaP@f7yS@}8U z{4?Z~6f;_jL!RFJ+eWRLOSq&MuBd9&>_WvNZJHt%@c^b^VQZ)|=QJA;XA1Pcsl`K` zGURX#N6LwnB=;jhh1;b_a4v{tp%SH4P(mcF#7CH!d3o|p6!1`T3JBPOMnnitsB4V2 z^s_%zqCM9I->0h?L?}O82or_hq%#v;svQ5F=L?*m`F9zP$U_1G3%wD2(ggmnP&D{q zpHnymip8~Y0gNwvsso|86z80(pG18Z-aZXy-h2*J791~mq}~3fhynT87#Xmz{ov;v zREFVj{7p$G&pL40`M-^#xwl7Gq{oIe;?qw2$#b}#d!_m{{f?WHmbETr79^;|T{O_O_fnqyx!X}U{+>@dLz&6e@^m)Ewx zl;j@me*bn&A%&ce((C(6J@jDB2vpg8OUaqp2U?%)RsnL|?Eb+Dm*Xyy#__?^0&MLP?zzhmUq%wM4}O!a+5Npoib$ywHt!_gg*W5^_xYsX0 z-o9B&825QzZo@*8n)FRy^wayjNlIPz8NHRj%^@~OG1#8SecejAWR^`-C65gHuuYwT zicubY>OyGZn==!aIWueh(O2hhC`5;FP}xs+`1^_q`5=^94+oN^Ox%HKGZ(w)xiTds zV93)I2XLM+#63FKmJu@5BjRh!5-(uYDe8VFg(#KS_$XH~iwH9?Aakr-$~7s*X1sY{ z29i6GOiWC4vz862^5q{wVYe)Z)mSw?o7Ps$$}AMciS^qieri)A;jN0E#@>&~?jBKa zx>w()LFQ`@SL$f(UYtp0bIFeamFo$*e2mNd_HK$}xTQM)hMK5d(AGEgD~_UY$YSKo zAWc5cW3qoU=pgi0Ex55%AK?HbT5>$KbSTR%zGNprGKs5sm3Z2SzDZ6*iRl_&+pZQp zQnWHs+mZuO)h0j2`)&6-ZMP>ikXP|BJnA%TF2~^hb{ZDc`hB{|!=r)hr%Y2_@9zU)@N$)2FK< zG6tPB3OWZLA3Nd{;jq1@rkG+&I~pqPb|n(`>x9b0ooKtyV8arJ)xoiejYnkgJczdw zoh&)BXMn3(f62&$T+Yw}9Ri+Aj={R%&+6*H>K=Hk2L#NCfp&+e5IH17XrUzFj+Vim zoBh|W3WQr1>MZ_tk?angeR_W1Vb8J)XmD(JQB02?UiUm{hsQ!Q5*}1LmDt)U2#~1r z{q(uSkbk7S7{tow5>zGcaIAj3Vlc7N%R;qjR)jXR!z8#_(J849w`@5{FM z%U5o`3l4!?; zWVqcu2hgIQ({;P7vQEHrlV>PaF6l){A~(;|o=qRM0-swv21{oUu5_IbkT`R1rBj?E zKn*1Y23#zN^zJc*Z?$_QxVde_>}V`<;m;!%$Sg{0jj*oJg}vN@&-uKwWJS z&bhbI>GB!H-#x!|ht++o%fOI^c6;20x4i*}_QsX_%fi@%Es)LafIBz<9AUW%Er?6^ zIuG5j7?KAEC?9C_Sl_c{>*=^BF5t(IeAPNXrr93|dmx^^*6A_}M};5q44Mk$=~$$t zQ>bfK-x-~QDo>K*z%$Na7&8TCG#`C!)7$8?O&yE)`S7Qu3T5RO*7sdoTc(M?*`u9A zf&x2wGF!7m!)DZO@!^VM$$^u~59N{W$saNgQDCIO<873xc1$dFc4Qo&^r_6vJh_ag z72eV{l*4y9zgBG{)1^GaMtq@4PO^>-rcHH6b#IK|_YED+uslnWR{0|&60x8bx6mt8 zbqzO-Z=gXsu}*!wg;X1VH=NZs=$N)`ZFv(fgGl3955nN)n;5z9e~;hsYzutZ%3Veo zt7pUpB4E-Ze;z5`lD@KYa=$H9uHa)JFauD?dq@$gC04MUDXSuSFLhr6j$$BY8NT3r zV=t|$Sbc{Y)~^1!x=0o>Ja)WOxfx>aF4Dk4zTHzd^Ks(AY_Q`CYe#Qy)D5+Ev+oa_ zw?ke&i%4~DsqiD+_6x{V3>~5o7_`t~5!87`$$xyDV50#~u)H7}mNg|K`Rp8|E>l?3 z-Lt}HuA7zRi!FxrUCPQN#6?cG;BHlcj|hfR(k#rac^YVKk0mGgDfH zb>Wz+Ev%yb`5GI7(Tr?!eh%^cy0OvSCeOX(>KR^*UWXGSN7Eo*uKCurPa$YUEXmZO zQ7Kz>E$yRMlHuO9e-&F~D@=Zc>;J@^=POps+B#@N7xN+6*bGIUPK>QnNWseVi^2V|Noa9D(+Az)wmtPS>UaF8q&Yly$nUHjUeZZ5_26DCka2QLJx$9I z$TszR0@RPBYl%Wa$^L@_I3k%2P6-{!COh9!)oN~3P^?K}N|$S3%dWyvrzqvBq|!U- z>my?kIh{kL^W&D6rn_y=A)q(^=gth-aQcY6lA%etC7P@|D<7Mzk`z2A>kmN}z_PJL zTg<%RI5fl&7dS0WJ|*hZx@7#Im|3_uqSx9QL?!Bai^9$~sW7Tug3XnZ+SxO0j%Gx8 zKtgP0${OkviALE0(|^jjmke^kcLQ;`PtJHz7f~O`OI=jJN7g4d^EJt?sz~p8;}Q_$ zQdHHp)cqay4wP(>&()${5&W}IMYe>odB2+M2R63b{JPJ=qU^!B)Cz-3G`wv$b}=qj zeX$ZDGFHmY%kgKY%E&kyJlmEaeYj@aZh7Nzf04Y7S2*%ZT7t?L{4l0w@z6HHf0Bj2 z6$>e{kiZ!JZ~)45xyBe~Y31*&9NGS&eSn*=^8SKJWLQE<*;9|EO0Gc^6cH;NCkWNG z8+|3rCMwj+tnH_kVS9feU0AaksbVpwU}?2z;A zWBQ_8qXV+vt1_*yoT9BE%z(0VWETR?yw>3r>z^%k(e}I?S9HcxsHZZ}jb@ukO$hBb zOJ-{+kf9i5->_nn6Qaq~j`?pd7oTFORTH>0J)fdA22jp79Y?ozlP9hR>LlokHroV2 zD3{GKdylrsgfEUix?aX9J)#RH9h^S%_J4I~cg_N0ABn4xwd+8~NnaHT*uAWpR4`=ZECwkZjHZ${c4t4&dc-i#p zFzxAjesDGtwmYPhGGt-J(4?)jjVI_zCwYA^0s+C=+S$b%E-(t}2crw}6O}ddH9T&T zQn>VFR0Hf?zP}^oG`^z6%Xa)YNZVw2yFqF8pdHxj`DY@_#`NAVlEiEV*9dE(%;k1R z8(uTw**!XrHQgYi9|0#-uuJhg@SH6{CDrGY_idzFk^Hya!LEXJ4C!K$I8g6sj<3J0 zyYE$K$MEfdb^M7BA(B)V$U&ta1{JrSDg=?+IwZFNJ7 zP3s#cFVsm#Y8CvH&v#e7B)-XLE|L4$-oNuLl9hYOjto+uQC228xzZ76)^?|5ku<<1 zoJSey0)J!uFNmJlFIjF~N6)FCf{@cbXlSUYW6^c&@%SKND|U2G1iS*|kf8OoN+d&I zN!~yDgkog)JewH^x__2ncRFHiR?W}fPj6UdWv1-Z|8~|>{sPV>6r0;lsrxItx=}^) z#v5>Vz>K}_7ikt31&!tVN@;{Wmomz~CN$Km}DGhB;MBT1`t&}%35J%NNM zmE3BL<6FUbjq9G7|K+TlEf*qYfA5|h@(N^MHV+P-`IGzc=-S(q%N+d7jDb-L8 zJuQoIeXvXLnv4(x0(m|%p_Hrl#+p9>V`CjRstBw3s6Eb!atxb1?{*nR+t~asE?CzE z7kV!lbTbU=Cv`Og7}1UI9g}h^M8si7?s)mT#D;*2%gLl>w9V7|Tcgzbpqy%k-mDA} z@nkr%OTC4%#|9cK4w59`NPC-l_urz$%-Fd3&qZ5XK7##{GjVb7U)|#g2pk_@B`53opqPfY7sbEvPwsF1wZ|k10&r-i#Lz#|bqh{)n@?_$t z+_Chr66BD^$FNe?N=$s1P;$>Nt=fSe4++>Qk_phz+StiSo`;p?gt4g*O_~@<822ZJTC} z3@8MoQ2XLTJ~yJ+%vOc5+e^D_)uCSbLeG;Dv{FT8CQ;!~=Q#_spqX?O$z zjXRXWNe8xjKX9?SbGUi^%M^v5_>s*^6AqV`N6}wsv{2{nTb=V{1i-KH$Aq zsvj;rD$4D5Nm3~meY>M`sLB4kr=`*v0^9cjX!F+W%h1k|UJPybaiKvMnxd9wf1LZX zG-G4OtheW`L5%g4XieQ7!<2njqX?3>2ei8w4^lZCI&6;v+|G2Nw>2>yx$`RzA)i2# zL7GK=PwrAZ5)UC)p-nxUqN)$Sy}iQOlP$vTNX%VHL!lNLnZ^y%%%`{>yVq36({c>f ziVPwzPD$R$p07W@?RC8X&E>ujzi-AafJ>cjh74U!b~u(}&jyy5>o}T3YB#Ss9ks}Q zb@q<;crjO`|4QX+VE$om@cW6{d#(DTZ6Ri23;ja66!WSEu)!VXj`li6%A)>pL>-pVU zDUQ(*K28~4LMqe60k3NQUhe6t`7wqIc{Qnj+|q_Fkrny$&E#YjY2q=TZ-I43| zElimZw_m?4rGz|4)M z6B`!RS?q!8B&SB!d%ts(l#`(BxBd5c_Cc15jWwg+<~IY(fVMvjU2mM# zE|JNGzDe9`9nyR0QYrY^#&mew;Us|ZwQgk9%?Y+c3E7K|y;r1Po}(<|>`kn(3>r_8 z8vc6sjz`Fku3>>0-CLtj)mbSfG6ktiiTlF32{lFJ0ysfGs*YEDCYaw&x>HTw5({i5Om>6K-n#<)Q%P?zf&TgIG29whk29OcS(52nAVM}SqA z@$t*P_sgLz)nXQYZGmVg+t?r;Z}&uHr7$h>5HgtNSf0$+-?f2Ub#;n!IG(#qnET}Q z=~#@0Tod8v0cDGA{Qj~wX+v41B1J!hpc{MqQm5h3|TpN)l*l0q?IwF-(omC zqIcm;Cb^r$w9FSc7i3my4kIdZBT?XZlE->8PljsRx`>Rvz}!F`^CRiaNYRcxu+ycv z45X0@F1elY+Cp3fu7VXnelj}1FkJ6zzBjo1!)tNxAJY3gYVkfPgyA(s_KvnyvMu)c zQlfqFbW8PKtlR{7vpH+V^k~4Ep-xBLyJ;y4+mos7Zbf=RE=OqfHM0b zUZmWE~>!6<)`8Q2C2d8I) zVJF5DYtV?Ha<(@G%{A1hS)V>*YFq@?-=PQP#h+%Hg8!N+W(UM)k7ba?6OhM`pndF_ z;?eh^UJz)EOl#~`o&dB6_~7E571M`?ceaGM(pOAOTn^Yc)LDN~Z6P%8A=UeEC<`Ey zzD2&;=w079TjS|(8PTI(=;OP0a&*oZkCM!-k3T6y|FL&1Ol!aZ0~t4jPoqZd930;= zGw^&fi^$5!=NFSk%JmVfI;PMFcC3gNlZtVC?|63NQoL?2`|5b`K`kCyoH5fkfd4v@ zKB5dmp-;N#cY|5mkeTW^3CTy%;G_veI*kx&*u^G~gp4ysOU5yRWetFm2!xd=zTME| z@k=H}otuF&gxJK{^HBwJM+34MQRPD!?adv1E?nYi_YAI%qaqrf@^ zR^TJA^@w)fJNe4b|5-Fk7J`9$zKfp3KqDkpy54feDnH{g`Jj9HY!Kaliys}*bGYqb z1fLv|UdX4Yey}b$D(V((btYo-#no54?nG#nDQD8EREmvpl z?GMi55igE(c~zwM^8ctKr*){je7Y=eZ_K$CdX4OG)ggH43UE)#9YXW3>H7Jm9%iSJ zt3vO5((~D$bGz<%!{E(S?<#$NZC915|NW}h2*v{`PE~b<9oNLmD7b}*fODyL!x1N+ zol`VzW9t#`?XCq+6hiTRT%#nL*jwqh8`yTdeerrbdw_wBCES=o{@K#Raxt*W{coo}eFIvfsS$Y$Np?1*eTz z_;iu090Fj`slI%mz>p6jTC31ES$fR-k)!*1?dMyKCsJ)`ByU6tAX$%>*3LBsmS}TD z9B)5jgMc~K8cuo`O;{;f4BRF2HnvrawOS#1*cEG8F~3-a?rb!Ut{V|YCs!eB$P!mp4tBT zl3rn7p;`k70)N}>;nx#1+}RX*Me_+&Fwo5?JX!P3-!>=hP)6$7{02xq!=9Zke?S>92L!A(x1YutI0oDgE z0RTfN_{|_$zioN~{!kf8CQWXjlPi)~X}$9%)IK-Wy#SZwSM%@WLwCsW$^kg_}DReSKGG(~@lHa$d8XyJ@ zdB|i#gJ|wYbIK^qIM1wD8j+G8TGT&41s7|UI=Khp82Chz{LjcFxlK$VwzJ9@b`2Ii zdRGGYyYRQxSmn9-=>z-8nY6Ea95KywB@~>|cX}}amj}e1Yy}rjHiKSAJ>;1_Gdx*+ z%9LdNg&Qqn;^-d^$qGYnM85P}v1`z$A7^y6_LYwCm-L7$d3^Ik8rRp|JsHJES`^vV z#psJ?vu4&xga_|&H?x}5=-09iODO6Ygn-=3T+y+i#ANXsVIr>?GExH_m7<-SCUzG! z#*+c`cc`_tP}y*;4JtuO(!d2BeG8{z;auy$Ulmnnjz>M{waQu3%0aE$wfY{V%huotTTj??YnRe5xH?$XYl$3b0_=q@fn+v zH#3%GEfuhpw)&sY`s|`@Iq>V$1Hmup}p5@FdNo<;9M=5_2#Ujag zB&)K3UU?DK_!LrvYJ)JdPO#lmXy^a7CDD^LcG*b3nz{$AEs@joRiSF|V`-~wAFE6l zdUADT-L7tiRz(g-s;hYv<6~N0!$5PYdvVE_EiOeC1Safq)Mz+Et8Z@ojydI-^c0>C zcvSklhjMBTKmqCQ+~Q;vG&@FACi2SKsR8^QgTfqJxB?=w->xK_pSwm#1l@6N3n4R$ zbZn027&pb~$CbDgx7R1xJHvT~6lN||grI=A_5fq0C49rXI zLuYe6$FJX4QppCV3b2b!EiXsOK+8L^%dsX5v$}e6p9?~icc$-yyWRymC^WJX9Iw@{*dX}@sN_T`Bz})`{ zhvfsrdTd)K#fYF+-0nq?&r`o$mNq>ezH5*&duVB`ZT=CH!i`bq^?9KLf|>Yc=#i`@ z=hsA5UPuF~fAowkLg$vjsTrGkr>+Qf?*b<-?%$P3Z59}rZPAHWCaU6y_vRHzgVvrZ z5g_J?;j}qxZ_Z^$bTI%|78@m!?a?8R#nFM9VXA4d=Pwh8#f@5uJta%7P)i~t zpH?)7K8MQz1MV|N$*8uwSm*md70ssM zc22`W^R`MvWt2<0zL43jx8trigl{RaPUr{{B5Ig`+%4JgZ8=Q#(G6vqb-<*Ak2)-! zw7D_jZSmg$`5+W*C@M_ybz+)iR-MC`AC`>bKB|MazGZ?Xac}~Um~GGX5RqOpx^HgW z7$ozswm4T#0)>T4x?QbWJuT(qT3>HYWhqXAu_b_%o%WM6@kJD7YgsyURGmd}$Fei4 z*pe8eDns`LxJQb=qC>whz$4L3ZmGcd)Iq2~CKc>Is4=H6KS8(9l8N<4iQ}EwKEkmiTGB_GlS4yn$%vO1^@L%B)(jb(JKNRa58(KK6rL%QFW@cts3_?5}4w zgz2|lki}<2YW72SXBJX0xKRz%zZdx18CRuQq{WUyHoZ1>p$ud%* zJp3uGklZOF^r8^!l)idi^rApBUN{QLh3k?<{Ox<8KUr&BqM}>8#N-J%l{VjphUo52 zQ*&t6Ly8{MD`Chp3Yr{(R(Nc3ZweuamITku;&+F(Xf9aYKRKZp=_dY}xCV;S(*4j*j7Hd~y3 z$W4-yfC$gxSXzQJecKX!+sr~m~BlOQ9tpA4PaQ76)af_^N4tyv#O~%?eN zEo>p7%H4Spd-^~ruyp>&6Bi=mW)tKS{`%wvXz1L7L+z1ZcZE2~s%fYz42BgS65$(x zrG=bkaM9IO$vr8P~6~ z>teIBzf@6&_wa}bj7qqbw35{$sBEPQ^8;{V0e2tN{P290epw%zmsF?Meax-9iG7eH-GI2EDXgZIQrJiKei(sa~9N- zKFEBz6s&}tG=zN4hztPt;9)R1Xa-a8Mj$j$@5kU-7HML0{-G?v zgAZBZ3+IKM@cZAn!oFJoep2M=KjN-ASJ4o~g;`~B7lZZNZdS}7mQrp;#tA7}{LNo6 zkHm%z`z;*!Tu2jAC43=8X!BSF`>Lg!j($^5PIM_D5wi8x%n{S*MZbCM)foCFF@Fhy zw(~9FTfLt<3s`E2P;wzAT~Ml93&eGENjC!cZt1P3q^?BzbCVp2znIg`)D3fv75uOV z6HC$}s41gE6dH|kEg`N}x%BWwxi9RWwgd&T>^2{uRwq>w%}v`)+H$N9T0<;2OEix> zX~nlxT*<6vt+isr*)d;wyx#8LuW?-0--(F3Y*5HnNePimjucGBU5IQ4MO56{ujpCc zuFiS3qb|?iib;NRVx3gl0B)6p_SMP8P~JCuPVi1Fwdc^mwN8LQE3Wke+mRliIwaMU z*lMlZm1GxKa`JPXv3)z0K@@|X=ylT%vd{YxE7`HeVSt(FNGZx=N`6s8gd#CD>52uw z8F5nKAktUscClO_4zVIFP|DXVTyqqjV?{#BwG0x4d0>v2Iq8iis83kX%+y)!xd#*( zJ|GDN*knn)g99eE^JVbo=o?$3)zb$HOX!QN^1jG)Xcp=;Dc|h5Rh7Yn$HM#95VYpAc1+ ziAkGat5IGle5Z*CKeHuFQEuS*Dvx{aaY|ZD*%59?2t6gpjzXPCA8P>w9TAf&l5dc& z(R#|;i8CUFcu|c6~<@T3EWlC8})4UB6UF=40ByhZ?d5R_Fm4B|t;kFlZ3LAA9;Sqs?| zWr4@ua9H!n^InIicq_L2_k{T70ZKo@F0{0?Hix*2TWZv;51lzPu~U6fVu{Zz@)$(K z19fu$=F>iHh1GkaP|EFe2@f!XQGfORLn!k*^)Jq5vWDSk6ZeQ2*Tm2 zOKJPsyKDgw@7kMi?;h3IMM~Y@UXi@LLIBwIUGcfqAA~wxpbrFa6yhh2j2~)5sj_zk z-+28Vn-wSxz56*2Ro2`4Sh9UHUvj0IJ)Czau-Z?rxPZ(Vg;|7V?^-lvs0;mW%!Zw! zi+^iv3X;`t%5|rOy_wn1+lNPrfjk$hB#t>WZxSAdF5RU#+Ra~ki!dO=EZ;$W$-0}| zq#O5N{=X$9w~R#TXGh%NIT4gpq>IrT`W226p=|iEIroc>8g`qTJ4sEgX&=-HnA3`k@ZqaY zHyPktp*oL^y>hJhim0u$n6og0#PFxDOWOoPs^VqD!-8EQ38QhP$k^qiE7GAChb>O7 zb&%`lbvGwp8A@z2B9#0EuKqOWI0)e&P}iYGtwOblFynYy2#RodYYO`HB{bk2Hv8{~ zr-YWJ>{}+~l}(Q>1i^m)u9E>2jsV9?z&+rBHqI9L)MPE~Rx6?w`aUpk)sta*+fM#O zi6VIEiq&ZY-J zdKClD8VSK40I^p|3T8gVrR^-$EW3A~px5*DKy=9?+{ukmA#-yuHa1%zbabSNT>p`0 z-@>C6+Hvb;;v_d0?ff~#dVc0;815f^BUr_YBp;E$MlA+yPUjcZO#wD0ol=XPiw3pI zdFr&BC}L2%5R}l0G;YhOAZ0a>`C;eN+y=A`T!V5%XP~K?@5S~!Hhh|YTbzr4;>q!M zRQOu?7|T{|%!l#_RCw!Ol31u0Eo8Z+ndC3&hI$^KI+`G@e!s^`ygKfsryTgxtGnB( zYTxZP-Fd7lfdB-1EuyU?q6l4&B^_#q)iaP{<8a2%z3u&)$?fCD+uGHmpUDqPYg)f7 z*~yQFuzgI%i62P@eQfgn2c1&2pY3X|f_6QIe(Qyg^`EUb@c-N8+jmFO*u`(PulV!` z8L*%A7pyq1+wH#cOHgtWLjHe;wxP&y4~EzllDCgu@MDgB-EXD4sNp1XDbl}zrAcc4 z(jZ7Z5a9`*_b(=46_)Z1VUh-@H>HGwcN)zRhKbag|yFlK1o1pf#W~I3HBo6G@XC zev9I4n)eFL#6qW!os8|Zxxj_-EZJgo6@u3a~I8t6@wHaCaqDBF2EJeotCn-^7|@Ld<8mw6gl@X-Gkju2hpK?^GN4PGUi4d2_Xp zo`9>s*oc^CawMyB7Abh^e-Z4buHlCY>$m7I{6mwsYI0RHuT`#~<2qekL<}>xDn`5&2|YqURm&YKO68`$4S#Sw3!(Q)QgV6u_ev3m0>Bicl10~!d%8s`Yb_U z;o6(L8pRX@`P`SK7BBy(RyyY&s$v~VO{cxSp5pV5Kq`zYk?Imbp+5P26lfXZA-)zg zsag+QpUoz!z6R`R_&?sHKMZ{w7}#d4vi<5|hkd+-H{1b}AHUs)7}~gt7n9v8dA|9~ zS~k*txpzDp^$}UgJf+1oDLY$0uF5AUFotp9>T^uz3w%CCK1anh;BmxIEe4s5YiVTo z3KSfc zLNeWukW-dYifi8T!vZ>KWLP#hGeT_Pg8=c?OqMZTPzaxya~v#Ao3qZ_SP2@(@T|J2{WQL6l^kA5=3aG;~cu(2c?9{pRw zL+|~C{`nuNmv5p9r8kc#t$M!-=1q;FiA~bnBl)4v)4}<1ZvFWO6u`p={n|;p!tf05 z#7FjIx+mVw`_pqs$TL3g{;^nf3jz|WwQWjWVx+3t=CJA6+-_s`rXAR%ka{?S?#+18 z&KyHPfuBSb$Nb-h*O!lmPZdlKOU*ws>ET8C|EG*PyeZjf5%eK5Q zK=4t;;Ws)X@1-7bS1gJOqY$L&RNUHyP;Lg_7sS@pSyMYSQX3{TX%XS%z zef_!Wy63H})HJh3c6fMRT+JW6azu)*{lQA5VwSCL^#=JSUNM#Ow+x4ZU1BKeM$1FY zvML%(@E&`2)x6a#J*G!ei|<;`FTwCmW^Yv(sPOY=X>iRe=_lep&-Bj;;#ob za*pR&fLAM`;>}4%(rgax1m)`G6HErz5;9RTj9mdIuHWWJh0$X~nuOV~knt?EOV47q zi6@Y=A8^B4y$or17alWx{%}3H3%JZzR3~aOuaX^ zj&I`Vh+eYS$j|J{pqsr4N)l7O^opmK-P-j>osk0B9@bi5vUZAofmj;jxPHE=_5)m0 zSV)OOJ+IKr(7m$va`{uFZ!>eX6K2RuGu&BHFWcqnD< zRQ9t53u|DiD^Qi;1pz{BT#ge8#)fv`vDl;Y!psW~Tl?EA_AlIB&5JzX`j=A(|K=t7 z#!N6?P9M)OdIZx}VbZp!5aUUsRq5bHOlR0&|FGofUhSnj!f8rP)fdxosyKzWCReCp zkl2Q_Uba<(LrIoLDDn?uEB*ebRsE3jEvTnYtfs{=I9{EOdBWMO@$W%SguVEX1x7}f zV}jw!=yp~IERW~6lwY|}Py*-{7n78Wb2yKu)d9nEzCWV-q4Hr-evzDSjUwPYoU-WG zsia3*#Hd9_=fQmr{85%x+4WIEWNt^{);l+^j1N8ja>|J>i+5n8>jAcE*KLnE)3hF2 zjGjKV(;nsuesJ9@DO-c3-s_ZT9%2Il(=tUyO{3^yyNNy+!+%5RM&FM#?X#46;_CGp zoPE8giSu3^kconrQ~lxSA1c}VXI8`#lFl^YIYd5ov}vQnx>L0}s!sdqxkR%%Avr;O zNuX~;j3@_wVHdmNLUWUPo~ zi^n@ZXnFVIztsN^W9JxNNw9_MIGNbCZQHh!$xbGACbn(cHYUl$n%K5&+sWPMoO}P@ zU;BA_@2=g|T~$x@TI+kizP}+H-or&E9_bO}&qQa(R|V|t!P3+dKz^CJxD=POV;go` zYs9`xGp=Aaicx-D%&a#)0TB)&+d@`>Kq>TpX}A9f3V?Vvqju3E-7*^*AbgC{HLl)k zo7@=OV{MM5(=)_TBGLA`q=hPK%dwFzQ?auqtJyhtY>M+RP~vY_o&Yqkl7ip=N@na4 zw;Qw6=~s5erq`+fr|5#RN({W17`VxvVevJp-8jq2vV>G01kFqz&f6O_HZ}oqQsj)q zg1t+SGP``m!JLqXzd%yQ2o;+4BQC`-**w?Kz<}M;^_IeKH>Ay1*TPJtribs}*MeCG z?Nbob-_uQ}Y;?9B1~<772r!NHB>Ia-lDqq%pu%M=n;&&e3q122)2LbhWhT>c zy;u`*V+}U-8kqC3AvmSNytxnP9;DwPx^gELr=b9b9%LevITo_=LS(U~lVBu1`!ez8 zoE!+CB^H&{A2F}JxMPC~%gfg$ujTZXffQkN4d73T*&`nG@TbL8*4EGOU%k7xGF7w<)$TMIcuR?^uXrs?EwLWw0e9TUb*Xp$jUJ68t+|>>;lvM{bnBnSs#Ai zFPuMfUvZ`hHl)^)TWf>pM6{ZI>ecZBIk&O_mAJFpU&@~L4(D~nmX@ZE1j8oF@6th_cWEB&U7ksvi5nQ-0sdJv|MfgN&VAW>%p z81ug_5J%$tdvP?P+XnnY^7jTd?}mj|-Yz4})pLb#>(l>Y`=4XLQ@Wi#Kt}#^s^GR; zED;Fs6L|Q2>K2^%zh8TA^Z0@s{O9YuYrbRSu7CK$y$+nTw{QPDeG?LRTbCc>5Ue}| zKoV7r);S+N36@VZVa=8DmE0nS4^_}{r6b5~+7j<4v-7e?_$WfuE;}kHN zZv>O)(8B+_CI!l)rPpIFB_M}}GXrXw#to3)x{Zo^Cc3BB=uif*9M=?QB5fZUY#F`!#t~Cm-e(1w-8@cL6r^O$V^J? z<`dxy=nR9jQXsPTI#ho*r~lzHYh+9EvGN-;}&*vn6xvDIA{>D&!(wrEn zo%Px@0I|VG8To7E9QZKelM^3B17y2GU?gvpxoYp11B0evQSE#`qrSQqSp{*_H>}o} z)3f8YL!e`fTQ{UK%~&;EoxE(TfE@5Lrjp&-ZTWx#-O8wUJW(Z7 zx|5@_k9pZ`ffMD2w`5Z4G4Ee|ETE9QiOCp5Dng6N$)#PIJB>06=GRZo+(H!gzf1zY zUyd@7aBS5J7!3d(RKtB^(ClQw+H(?g3=K=a0RH7cvA;r%+s9z^1eJ7A^ffKg&(Ekx z(8$u+o*Azh5}m@)<+J1lnx}Xd6zDHz2+cGCVSOL;axNiP-FB!2)4s76Ivh(_=GsnZ z(Fo3km0TfSKnJNN`;vdm;CREYY|FBZ?Nb{UtfZ+WEp!q)c)0j)-g)FDVa7V#vG2F% z0fmKlQ0;HF*9K&_{76cHmE{JjlYf%^k9R##^|1J_*Uo@<548XW{a+Fn;E8KXD_9sN z;@FlRPLQwp<>hMAb1iE-=;ttfp5D~ufK^N8bz^DU;+xRm|sD zB?r%aug2Ho3aebCum%L!3>eh&CGO5CWA7-PNBhv*>el<9f^x&=h~wwAwHFNpF#xlc z{_foE2&dC6yzKd))(6YZoo*k~S)6FsQ z;vZ%+g4u1R1Y@p1Z{YgimTk}hYC#-9jP*N>olCypZ6bil@!{~8hX-x9&F`6tybrY4 zn$7PPd-{7G+IjPx8+=G+>w|hE?=viqWr3i*I~H&JJKM!KG%n4iZSmM=|1&G?b#z&v zYVctF`sM@v=X z<9Xm2=OVn&`vMMpPuDtq^Vi!2O0M4}L_c(1Q6t@B+xkaIC)Geq+!bct{$!5~r|y6t z&-QU{l%R^}@bATTuO?VJ{I}!pu(Y^XH54--#N*)R()EW&C}c^o zp_SK7n_ybhq32;2m~jr5R0wS_+{+xFaLhRkj5>7Z`V4(_R(7l!N}kTd6clQGtrk8# zIs{!NJ79u!Bqv5^S3q78z}Hf4?3_m00SOkCeRiYWby)|x*#nmDIU+g22-cIL2V5Xf zC6-Swl(o}!cAK8DuUF8xsQ)JFH6vrxk^NN{58?Td0$yzdT z_VV2|2G~JNhV`OTPi<9_G}xp_Y-;y~Dug9jhRW2aCQY-_8B*H-JBx>Bixme11y6NZ z7tL`@7p+2C*js6Ty}hWbhi`km7WoQgLqpfh@h4hUZ1Q;>RsxYFGsWAt>FvVnT->u> z1?(x-FoQR(p{SobQb>P%tdSzz!zD{Z$E{TA7VLu+rE0TmSR*OK#!Dhgf!B~7kYoMhN(79vWZT7d}G4#fP^97Kf+2m7BX>jDbY ze;dh#2$M^4W^Gy^JZ#!-NCuUxg1MT6hY_wQaIV>LERxAcsv6oeEG=tk>oV*Wq9~b; zmhPoz25Qv(X>S*;UlXP!MpX%Oo6p zLKeMI#x-Ch&`g|o3QO~KX;mvZ|70PYO=3!tOVqL{kmvio@t*Oh!_v_+))}|aCWr$c zQmmTx-onr8yEn)9QuP(q83{Kn-1{o4)kH$~t4BU$68NFeu$SL{%wx*(5^5N_Rgk%U zr}#a&jI5ou{z9Ji>9(gJnehkr)*t&>`<*@o{+CVrkiC+;(5Sm@{tyMEA%ViAB~kHs zbu_TjvtL~LUS7rGu#cWa5UL`yXOhevDCyD>$@+ZuXk$aps5F0{dIpEO0S0M-=(JqA z?Bvo&B#^2q$dbw3y}rJ#O6eKnXdn0W{HawSgre=z5TYvU~tE0-M^D-1W@E1F5fo}_UeD=^BD+ZC#DuP zxX_E~Svz_*hz_dR1H!~fr~01}S;+bCLU=XXB)U|0HsdHgzEv|Sp(ClVPZS-uOF^m@ zF`FvIiZqW75`JvuRL`hm@WX`y(@^e8P&KK?%XLaDTFxxsf0UnA8jRz6y#L0Bskto)8wg=8+)bf_d>kcXnbaM^9Y1XQ)IF2sIJp1r8BlDU%XO$j6cs%wB*)BST~zbqp!0VP6f4rIfu}(lR~A;>d(_Mffj6aI&DE zD!p>yA6l{J^dhG*zL-?$#RSzReOjef!Ha zsu()}=2ly#`UYqaeVijw|7K)l78UvN`91yqM&N4?tX9l5F)JB4B6$AO#w23;O3T#q z@KX>!PYjDzze~pRf!OcKJPzd#rpJ4Y8@Hd!kKxCg4Unw=Sk4QujJ_pfi_ ze%IbC-kis2x?h9|9c}eOoHv@kOu}6!ZM{?X zNAOA+_@-37;wlXGFN$4o-@s1`G~}tzC~cs<25Y{TAB%fkq>ME+D=TU#-V8 zB=;Yuh$s%^_z}drf#+N^Cxc))s_o;;{xWI~e7#|l^R2L#TOuLRJI~6XfyPMrT)qJ& zeg2U13hqS?S>4RA?-O%=w{IA_{o$9(^WUr;y1h>1p6ugOK}xqk?;Cl1uM~qWS3(4l zDxG|@r`v_Rk7TN+Xymq6vmvKZVDtp2tTOfPj*S`!KXkv@g&yUW%WiWIy-(sS)itzR z7xaDDry2=KW)jH%J&b~S+O`~ohMp!_)SFU4F+}IGAskI4v@+fg?a9p;$lvOgEI<=d zL{-*fd14Tp_c_q~dmad-8??R~}cvpz<@_ahPxg>Rl8TRlK<%%|W zdQF`wxP}U5F`k@1qz*RefZ7J5A8+kw#o%BXt>vo9<*U`YBFzYzEgXF-Mpt6-pPeD|m5-X>JSJ+%l`g^!)5boYCUBW7 zNWRulau!o4Yo;*S_C53kx)kk-v&!DZ*vAxTYh#VqtJO2b&k-o=&|em3F;u}Vb8!$@ zd>kUU;*`)XX0T)aYF9Taqsip1E%shy==geBr9!t1!5mL@GfyPUC+cyg6%>6P4XVz+4qME{7(a97i&v$BN>Kvc9EI9eM)}bAlA3=-)~DK zh|jUiZyT=B%IP-0Q!S)UJjeB`nuk{5(o|TlG&11%2J6w1p>PNq>JQ^c~suLg;%J)Wx2v zc(YX>$L&npTa+cbP^Nf)1^sh1b#rJS15GcT;r4;dVK0I>i0>&u;@8h}?}sl#ecyW@ zPTN%xE8;hoZ+343)&g4MstE(ZvGoRdsg;3ye$fj3t2T42`!L_}QJt{s&)K~BqKUh+ zI{n=kF^A0e1|Yv6m|}JGIZq&5pK-@RWPr+UtHfN5u7m-}%Mvywn-)^4w1tpz9|{~I} znbuM!P06yI%&L1em1)xGsmxd2t0g`(s}J}_PZgR1)`LlZ^i!}lAanPTEG_+s_vBQe zfeeevsM5VQ2pzVvu)*gXx;JRl@)+`q5GBxPAhR0r*e+MDe7x4|0Dli6u`8~Vlx~%8N8ys2nm)JqZ*GhKT zp$rz(vretoTpCfW22+af$c|Ff^l85`!fLMH;p=>fVWh-D95GijeGG#&@PSZ@i-UK{=hsp=FoFl z!{8+aeH#j8Nm1h0O++O@Z-;t!KgbAM$v{`1B06l*f;&h%qOMuSCRiE&%2^)?)>}A( zRhuWOZ|{t}s)V;CINaHPW72v?cGwtDsQ~8CN@3H_80C<7X%dB_nIC zja)D`;blFLX6EM{vi}V)@d}I9Q6~V_K{Mc}2R)3M9)P_r_BnEgrCWsfR>@4i6}CH$*6~F{y^T#TnfJ6I=cP3C|9&q&hvr4N#6(=8h&r*~p6r zn#}a+T9ctdO{Y-9$V*6QrMND2JP4-F&@*-J@>USrnvao*nR_ z)-$Lqv^(9kiBCrWksKC2@bynCMQIZq#$j^w+jvdl9VKZ=%DQ z4y@Cyraaqz0KI~OvW9wba;s?m2~@isF*SeQH?OIdo_ zNH;6beq&p+gz9yJ3!`xKTx1vcIAjDID4HJoM-o!f5&PUL%^_6l5ec>X1#~2Zy~qjL z@i$NJ*sSvprv25qDJP+^ILyr8GYPTC53;QsSX!{?1qF1lk%dOoVEkAWP^V}3rpz9J z`{qcu>pIj~Io`jW{o`4FWXjTGQecOp!iCD1a-p2#l+a~~b(rIYeLpeye&S`_iN-K& zZ!1n!+n@B4;eY*#0mc;#e=$d>GB)s1-1>%fux_{bQ;CS5tp1G|&hv=w4sJtvvF3h+ z1frEQ14?PiGh+)YS5W_2Agw7BW2P{y-1R2 zh8931=o)#IjRa)5CY+5IMq#i18S?BWUM@gZUt7M1$=`K&y~F>0dz0wv;0Q%Jvf#is zyF-8t;;2<#p4k+u!Nf#!YZA$Y3OX8 zf`2?WcrlT}*HA-lonSo5NLQ1gEE)(J8b)2OrSNQNQKP^_N{p>47fp)FrM3 zI8unB4WNSR&RgSmF~_Zi@2O`lFvzU@UF(f3O$ZN`so-Eo;^hM?uT|*YF#^(^EA`?m z$n(#v_=My%euRRfQ&n~PnGv?AnfqA9WOVkQJl11#qPC7R=%z}!aR!=Iuw%jLX;-N< z_2^K&SOY*Qz|;ve%3*$pa?F~hyoQYH<-((|*#PU&6dX*?P!p7yJjaI~&nDy*S+{UZ zcKa+TYp|aY9*|Y_?(Wmvzh6A|z&l#q)?xGw6Xep4B3w4dO9LQ49v^jTV+|yK9Imw4 z#>W=~ZW8j6By0_R#@QV04K{YZt?@xj2AM1{JBXRy^_fn=yQ1p#Obm#}JUkKdqRKqf z{FLeZ77W|&8k>n7Ug`K9{D-mpNKU;n{^E?(=EzcWycH+HPEsZWo-rox_+l2nV3L5I z5&Z|yxOS96=12~L)WP%JskMnz!LraA)*ZHYYLegm8&ft-Xs=(4DJc@?;u6VWw|{@4 z+WNxFLP)?6vRJBwy?@{ULf0~}>fBV-7%(788P(wPQ1gac#?(E1Uzc6vG~Hh;AJ>#Z z5ondum}bt>A&IljFDV~TIWD3sV3#37?9XsKufREC9@sU;6%aXXx%Dk|)c)LWWVris%_(wjE8s4JU?R2sihV&P?=d3p6{kFblt$C5SfL-Wy!rGBtSyb+y4E z-Co=~f3TK3Arxt!EaB(wa*^eNYZ|A1LO++zX02 z=613QXLJdWV{0r{>llULA43Q?0nS=GW!<)c)ew&{2Iv=OkORQG9odWmh6E@>I(Y)D zlhGk-8ROFonw`Vj2DxcdkTa!B)bOLjCw#~?Pe z@rgI79`B8zGQ8_f^SJHbcQxKm+5+>(C=g<_nvGM|Qs&%7e>;NDL6bf^pgby>9nn}qp=C}Z981%-oygP z>hyNi%z36`Lg5H0z%n91DU0%;BdfpjmbsyPD*X7z)iD7xKEbl}PzXJ&Y2~mpbm%R-yd#Rqwuz7^yZFD5JgD8 zf$Gf2N`GcDo3&?Vq^Y!*o0)NWDl+vugwFIR!fVrEa3$83C*ZrIS4$@%%m$WLT&ZW=}iV+zqam?wPP`@B+QHEKq3&?2lJ+K`o-Zn&JFY&IPW} zaHQoQr(rYI1ma4bf6uud*#+tb?S zFpKB;Zmn@AAxIwAk67HeEaeAs5J`aGnBPn3O5IFhh3CQji60qcAC9KpWX#CHZ_PJd z*WdB)L_8yN)88rEAD`cdxj_8MAlmb_5jzQw_XGBIUKSa)X2m)z-*s15_X<@YQ9&V| z;hy2FFFz%OC$lX5KFZWXoB{-;NVD)Y1d4*%C|1<-p{!c_LH8Fa$ zeYOQRb=Mo16aqo<*vi-N$m4SY0U@#d9)|Dxc+c_KQO?I{ z&pVrEPojQ|V^LGvCrq_Z5~0cb3ibC_8^9)pC!1G;GIi2^TQg_81WN13ihnU@Z)c0} z=z_Y4CaJHFK1C8-q(fq)f`LuLhM9Y2u-~gHoj|6Yjb(2Yn?mZi7tmFm3i0#mRMM71 zTUR&CIo-7*&F1+56_tcM(xQhlf%{H(yw*nOaaXdAt;FXXL72?IwD#yv>W@Nd!bKyT zahQ1=MATY#&Y{it<>fGl)rLP&8vGpNH_B8>=q`?%mV23#CF5-6rK4g#4y*)*=p~!n zvx0$J*AHzlG>1|D=KmeLnkME-wJDqWcF6#?+y_d^VJpPLw_1nZtTHN^c&(VF4a}p} zUnJq;AM|9;U1Xbyvk+|$;-$}0aM@mAUo#P?A;2kfMyYAgmS7PUEW)SK73-A^ISq=e zJg6&0q!!4r=F2&37Jh}>s2Ay0voxv}%=|@Zmti-V%RxjzW(;XiphhhuDvYO{+61LPms8(MZvwl$}$juGX|TfvNzZKdP$M)NMuWDA`;}tIRR#2bJj>&{<9Pp%+z}bBOO(xziI8he^m^( zV?7_>zx6F{9{ldH_&cqU#XyVYczWc!3uhLSB+7a>Hoz#xiPPjz=4~*|k98)ngjq(O z;ODl}2Gt?mG0&^y=rMkhv*sM|7M6?7Ri>opWEff21meIK;o;6Y$6m=pZCa~pXPP^h z<}_RyiK9L|J|@LLQZr7n@b!q79Oj>spk~nLHhFzDW}LM0FkBkmIOm19Hu+TocU3$r7(j-OIDIXDs5J zOqO+i>X_A#0CU5$D3;J#nq7Sx3*>Ymu(1m;l6%fi&Pg&u%<3{Ve}@)q0^GHjx+<7= zROzZ&_}G-X*MzYtN!WymvCFDjvfO8o0!N@X~+$Su4-at+!s ztDNR17^_v>_$P#u<=wb)RuL^yGcvLaYt*UmmDqTBEfuarzK+-5o6gAMKS4Faawf_jlZh{ZSz*yh1=ndR7gnEQgI9HK?a*=5OUV~$eB7lfKtzt^7TtiqIIjgl`Fxo zd%uq#K>``;JP#T>Wi13CJ{NLMQN4+F@F(O6g#y%zwpu^hG$jLKUImNH7n>X*!36zq zPXm;%e&MaPQKJSRkC`L7yL7C-Do}RC7`L*-n|kF5@2DE^kAB~NcT0bh3GHUQyP_xy zSwpDH*qWxg8GIsyOohGd54-&W?i%MHe)o8Um+Zi7d%fs;sufIcrz*jBx-l3WG$$d{ zO*Y=@cw0rsS?8s_xUWV&nIjO_5{3P|F8P>{;^yjx!#n?)sOyUXC92t@2PQQ+HLc*3 z_}kME?7KkYs<`8d(#p5GdLJz;z;`*~t1u~_6OkyFzaD2J;LwE8BI1M}yk2G#p#P@_}i zMVkZz#r+Q-uv(bo3k+^W9HpDmK)LLxN${0Tb~!EeanwYumL(1CXBPn8R5W=x6+4fq zQ8Oi23<_nkNcFc$3*@Lc%w(eu4F@wg=$>JaWLHQPP&W{;XrbIpj0}&8BwVjvc34r2 zDxx=DIO7~49tiJBIT{Sk9%YINhp}{q8Sp1!xq(`p)9$PfXn`cMnOfW+l)dH4jUP%(V+J*ql!y+CL=kpW_ ze5bCv08hQ5mB6>jjyY=~rc_{z$l74^$NtYrCrcg9^2>dv`&r9HS@~?9(U1xWJ%NFh zB?24VD>Bp@zf{5P%`qo|ujL+}kng*Du~yM_m~Oj9>2l<9S+9+JYg0bKs0If#GJ)%% ze-n83a?^vKk!m_2%E}=YX(sKHCZ-Z9$aoQ#FeRVGgB>1Uc*CO&^tmfsBYt0Te$G;$ z@j{{*zk>n^r|O-QpwL5@JS(ZtG02cV7Oan`^zS#tRak_I5HoRN>s`LZY}(C>Fyt4z zS>iN(1h=)y09}^G4~Kjoqa7_gW5L5^RLTDL(6}X{dwUzZ{JC!TLv4ADb$;Ov{@&Z5 zU=ok_9NmOKQyk@w{_A_6WB1&!WKJ7+nY)hm$>t)y%qPXP(X`GDrffyo;&X3raJ!`c zTk!hqf*e0dK2mB#Uz=)g`|Nfy;q&|gcmjab+xvH4!Hdjy7I}PvoH$8O_uJ{XS4#f7 zK}z{=@hrb64B-k---H^)mVlsQmu?4VS z`5Ax$B9l4Ei#G1^pq$>@DqFH93J0;a>C;1;(4tbM_N-nwOI!+O*Vubtg+PH^NJpLC z%`8EaXtsR>-=3GW3#`M<8+T%$4I!O_M~e!5g@u#$KL0^-axH(?SoY-b-7KhEvvi$2 zeg`P6#9eg`Oz5T$^))A%BuMRR<=l9RSr%M^)Nbxr*N@smcPR4vXu4Wj?x^=G#CvL@ z1>>>;rZwW?T)ckAq59rCLPYMVRHA!)zK{|CHcg~7VsmxK*Vg-U3(!R#CEYf%mWyBl z%v;j4GIwR!My@VDO~AoARCiWRfmmmvxJO7FA+~8}Rnv88SeGKcyC%kNF1Lst2k(KV z_WDazq~*Bz90Y_NV1KqvF2Qmg_dSU@$A|+qsU6>n`dc#;Hagt!3?;VOquOoK*c0#O z#bh=%QuOt|-QM5&%0h!)4&u?dfL1%U#RBZ$mscm;qc=1F4{6lGhe&4Kd@jL-`WwEL@nSn+8*=euy_{3zLYE?^laujm(?0inB zWX9nkKLSpEnV)~a6@4gWMJ<#4;~0BLdkiKFTFk)cqcaK$uq=_bH8)mtZnX5~_ zx+*XBk0P+NckhB;&RW98a&A><#NGgLUycys)~vGfOA*U{`}(*UoOro8ottftj!M%4 z`?9b=L(XviNdN0&)DY~E_L`u3AnYDNH&R%(x62F4!(9qWhtdAz27MS4cLl63vlsmR z9S26I)4@4l@J+Iq5&r4o^te8OIxWs%H|7?V0RXD?$K0Ih{mo@dNN~7q5Hpun*=D7? zDKE$v<)TnbjKP>oP7h$SgMk%qZ8{{$7F}$(w*hN@hlt6@38jROZI-0DGqFgEMdxx+ zIcTMn4ecsHqi);jACtxk8dudw_fe@+cqm;+;6T`E?w{kpeZPesa%K0mmq3X7h!iI#V+tycdD_1?OJ}ZEC{4dF5{)hA9n!6$AU9Yya=5Q|MFAV2yvax7NuW zj}3Yt0stmPZn&mqp#}s7rsuhYh|bpdf*ivM_ff$?ob+`!TiKIeKHwMQ7WDKjf6iSH zb29ct6^`q3ELruFkd&$&4~leDStoCcs*;l&e4l>Bnhi=u(M`}-I|7&M(yAaT&cWL= zMk{)d+VMTBC`sa}MsNqH22u0W&f)F@dz+OZ#w#m$3i%1K*l|KL60N$sk7(ANuHLyjsn~LK3Yw&xxe)73 z8FlR8gY=q5S@?ooiY&NC83H6%!A9|?`1=9Sya|yer)QA*UhiUC zh|hPx!dm0|6Y8cbAO7dhVVo&5<|aIbZP%KCK{tclNn^MRpFJgad+Wf_s>bp@Q&-P` zz>A_oPw7)-+M^78?fhNtl}T2oD7gVCqFv}Xc*mzjgWIvus_09<=rX@M>JT7Nd}~!r zo?%nT@X^QjeTzE_=_@_R>#f!MjzM40ImEkObd`}+ph^5!S_l<|X5+-d27Uh`a7o$k ze5h)vFl)YDV0%WcoxGp^enIUy+Zb!^X3sQOzp8Z%lbM0da1I3LgI-y#L0ii7cBh`! zt&av&ur4D9Yn``pjI^+$_ZPM6^)Ygt;GZ7Ue~LLnt2f()%q{Xv`7IQZK&F||$+t0L zu#<)cVzQoI#4)!S-M)o@B`Ev9^Pv^H#C^HPtcnJ?G0GV25_dR4f%aPpfosAi$^^xx zi@5n^Dr9-V?6V304mVVDN{ph?X=hc+H3-<*#I-nuInj-6HHuwU8YtNlY2$xn>@;lfi5MOTXA&e)+4RpgI%C< z;dutmMTbPq#(xV3kcvtSWMmHN9TALrosnYPx#SsF#H(EYQYXpC7viSR|7KPz)S+E& zjgmoM8?zfXxQr`WjnDJ@y&yw+)Ih{I3Oq}a-s;Ja=IjGgxs86;)I$RlweI%Qy;2^| zTG^-40dP^n_M50`a@I4AanOVw$-sq5+$Z5VZmNJdK{W6I8Sii}q>vP3+KHO!P{)9J z=2vc`)X#E7I0kHCYmVBq$D2)otBXkQqCb41XxJn<@nE$KDk|Y22yg94HscT|u~CND z#W7G=)}~e(QI0hdWu+>=xzVjSbCHAl3`5`9Ou%Sc2_p@eH*ku^l}Bp1XfR;C-5oQ% z3kLIqHu}}xp|vYHX)t8*d)S8u+9&g_WeRC8i6R~#VyWsg5o2wQTXf~K0S5~uupQT@ z=H^QSboz&Z$nL24%l!>{)ul0bRxQq(E1OS<9l24*D}QkrWErpqEz!Y3|P}Di67v z_^swlx~92j@+dSK|N33^E>dGI-K9$au)DY<5wK2ylKS)77HJFApx&xU^dk%WlFW7);%?foZ_I=KfM-HplAZUyBKs5$c zeL%m}qcTG+89^C9Sbcd0Rb>y*6>UdYKvv#x-0cNZCOK0-T34&=;@ogb-do2^HS!$h zaNPB;mZ~D^iAyK25DNQBzJW)#M6X;qj&7v{w-%F<6Q3k2M$OAF#-RJCo~*3CeT{q; zrNEqcXt52dDug$pSh8y_KUQY$A)UaW1Rp6OI&%OVS9FD*o~g0*;+J!9xFr0ZNXnh0 z6kA(8pl?RTf|*5dn$9&xeWX~s@dr$rX3^+{UPy#@j2R^`F&P{PbvO>GFXWwZIt3$^ zLk#ffIxjuu)ypwBEFn|=N$c1Kx!&x`x`Zc^WpH$IfI3ZdXHk2^!#BV4FJI2GY2a|& zV@xDSe1;f>l{s@vi@81MKhI*91{b^ZpNnpC>M@PHfss*#v;mieZoK-+&PWE5J4<h0<@+AJQr&EaW%PqGwE33MkQ|dNt6|hUQTJr! z3HaKv`?T$GTJ!g2Eu2e@p``2$zde6WeJ{zD&!LC@*Xy=Z)AFyq3ut-_4j@c#HmihA z<+#s_=~mP_(2X%I1q1{gTSi<&z2sJGqFU<~J!j&ExX9R&QDa$$;Q*#kO~;_L6v=ow z)#H=vdtg=+>w7cr8|5cozrpkH&bvT`-#wS#ecC^mo7dfHV6XsYupj<$I09NjZ&}QU zc_GcTno5zjT)DbgyJA(HUW6aRxK&8Pk5W`GDcPFyH558@G__vw37+bQJ7GwqME9<; z3py%+3REMBRSIQN3FbLMoJD(3*wf<-!J_sQmrmsxx-N3;FwdW=Fk1l14MbZlL{OK? zo~ZI~Pjmue^x_^mQTF^lx=!VCDeA0aM+NX5VW`f*2pgqx-KTTv?5qSNsG&0EoHBm2 z{>QxP>@m9Yr4ds{^^Am@8OF?bq_|r3x{THe&`NMK8FCF?>|#pd#!cGBwMO;&ZVA22 z@2-!I*V>Ws+i(-d_dZoL7VQDMy6Ui|OXCcB9Ma3eMC-1XChrzV_3^Sbe-#UUp(r`e zu4jpEkASPP2U$?cv6E~6)Hn302`;0;UhNK2AnO{D4DzlJpLB(Bb!Kh%fbIYaaVll- z`{3hZ6Jw<8aXG|ECwG*I01jx=4mZivpFl`n%mdn-p6sDf$DtHZJWeRacWt=*q);5h zTVfO;S`&*YH_ydBwAJ;FeRfWn6is|Vd;aPYc`l)wJGFCE^H2(Qu)O3j!M;8mDh=_O z9QvCD?j>x!4vLAQd9xO`>YTQc^oBnzm0^}0=tk1oELJmHyz34O!!qZiu(P9+$6hMi zu5jmyb2*EG5{OCbrYh8|DsnHe6U@)RSim-$s#)u-#16oxiwE(-CQ8m1TJmtCI&TuA zF0h~nn6~B9VrTwq0$5FAHlv?}Dhi{mq)ODB=3DTVmNx(NlZWJwlk6|tZH3Vw!=FJ` zB@KxzfW;p#xZ>7MMGz%JXZ?Y5X;hGVu3E!Y(ZUa8{LQP&iwz>r{H4cD4Z3u<$W$c% zd%JRR{zuWxg_Vix*7^tyQIHMlF1dP+c7kUfND&@zGoE02_A#ui;h=U*kNJCIMBy_M` zmuqqpK*iH)&i3Qm>KUK~>3i0)>qGOg1KcFNc1Hv&kGRI&O+3#9&*cPvY?y9C34z@G zN2dyqCqbWNW=#!^aU>8VdI639&#U;AqbN-9nUr96+>Slfw+_E}3B%sph|m)(*H$2ap2~LWS{yEk_F;LawnQ zX&}#L*3m+jvDQuPgqWgv-nY)Mjr+lpClF0tI)@A`XdDC?>J(H_u-vSUL({kUfQUd?#d$A`t!qx&9s`S{;U zeztXnmYGSEY#Vr$tIF25QgvD%lzz55HF44kH>((#ZIsi~ZbA+nvha)aA+zL_A6=W{ z9Ui)u*TOF@WS+~~+a<^ep1}J=5m+wl)ZbYcbrbfGzXG@1G z`a32+S=)FPx+;iVLROoo1tA?)a>^mts{X6s$iHwVBevepDRoQz#Q413(=!%>VPb32 z5`NIg(<~*VvzV%i#ltYeZK{UF7+}=SHWteuU~?JM9F_Aw>F)bd2T&|&rOD&^K>ItF zZg!S{3@>>?Pj^3U+~sTUmXR^1tq*P=q4{|jIfa#}TPuIzjypavo10}6x{9%XQ{^Ib zFvTOKD~pW_QkZe@1NS$6=H825l%88~@cPa{3Tu;c2awN%g@uD|*gjA4*E1!eLWi+k z2daZCc^Owv7cKg+#_4DPgHaO$%2A}ceefY$%1`TKA2i2v{%Dv*W~!7aaBfzm9M zn-@F|iWLSaIN72(goHqyu{e}f=u!wiJnGIcyVQ{Qxp6FUm;ATTlTl({?m_)OhD z;+AwZ7YN-QCFvZ*_&R+YpPHQM@XHEiZ%88a`(kr)L2 zaT35-*rYMmB==VjNvb_rFD`YN(VGeYEDy4fMWUh594}f@w?D%?4}nr7R;=Zd(9=?R z1nC;xp>ma)v+`Kbka?HMDW(9>#s;#J*$_t0`m_ywJ|j5gGf8rz-wemz{Ac)FGdg;K z#wWWsi!HjAO9#CcN|exAK#)ZT%d@ZdTgrOw8MYUZ;M2((=$Q^ZD(|a=4m;9Mv2zQx zg)ZM=pG-4vtcyr*yO$n#tkhtpB0IZCoQ?&nJmMzA%l=S?kXD*=T=M|Rx6y%>fgBSy z$w6FbhRwgHQ~)*(PgaDhj-w`f&g5bTdjU$9spqZBRoXy=Ff1}~g(x@1hOKu`cju2j zf)@I(0((=#jtK;nSUn`ZAVEQVm32WzNq(>ifUguE&oFfo=-4GuVY;7;cRT@O>M zvKlKW{SYc7GRW<+A{C+-V)B=LYm{=cM2X)2sq4zap?ce}eHVj}vSqT3b*#TogBkl+ zr)ZF!F&GSEiDYQfjI1%XWEYY`iqWX-vJIm}MV7LJB((fK?)Q1`=YE!^$no}#Q&t25fNtr{t!Ab#!5R1rvyMaPQk&`SC_&g9>rL)9Yqq*iV;4INiP-$D;dGBJfff)Eh3aM%b)l=2Gjv6Yz~*GA()g%v0so+H(RC*Bt6&2> z)#-vANugl*dmBB|xiKQC%XHbE2$K^dHt?eRQ~|bbqbe7#%K|USksl}7Tt-bXV`UeaooHWln@M!qn2^B=)wrPnC$5iwYD={+2;)*SJH?SfpWSrcb6Oa3Ca*$Hj++zUfoH zyR8|1BgjOrcmMN-15jpurKwVd z&nyw|VBAPWR0UUIxM)q4%6znja-In3vgCOtgfl4Vx<;%uHwMw{mOd`B_6o?hK2F-HYr`mGV{D{Nu_ILLg9KXvBJT>~!_ z%9W;f{WM3dQI^^x?YmIDjFqs^)`OY5!pp+f51;3^1lq&!-^BVR%^Y0>9tik=rY{+S z$(OOh4pLs<0>A%_X+M4zAKU>s@xS3Rv1{|jX&4K*Svn2NtlgEq)9|T7BO@@K`dbfS z;b5vPVElc&pyIMb{I8W`60U25n{EPN&#W&CQkJJ~%&q%!F0al0Rf&i#=1`9e&8pp) zw_)g-K5=y7Y|l(vwDC}h^kC?ck}KqDZ0SIY*N&kG2a)lpNDuN3_yITNxRx$)InGT+ zj)T?H^l`u{FL|;3ekgg3=m>K~B%r60kW7@=1db4C>}b%x+Z+~KMRiNqD=)9F#0eY% zn-ow#_;j?;lUzD?+fO?$&}7u#^i0>8*M_hG0li$i5cTRLomVz5OnqIw?kD*B#mTgpPA!`gY1 z)@!W#q|k+i>PNKh`Rz4;GT8T3xYj=0tf#@Pamw=;!fzW!NiYb)iP?sQvt(dNI*Y^C zH1#kxL=8F6q2}-qz8WW=mb!ZcmrQ?{4L z6-5x#18(in9gYV%vkvX# zBQ!K$e80UJ8wHSL9~-0mnGrX#gSIA$P8?IQGRdww`=G<{OwUS~FU@vuZT?&e*|3NA zY0b21c;#dnU+y73aaXLz`9{X`qd{tsOgYjWuH|vh4+WOnakbW$%>2Tddz*_bj4OPo z5^*7C6`mI;`aGHJ6}jt)`Rot2g5Gi(D!_=9#2Mb`M1Oddn7Y5y<8*&g^>KUx^>F=U zfuQ#?WN&Fw$|g>N`-z_H}A^ssBt09n;@5UIgQhY zTOlLjZ`2{HvjXF%I<8;(&wI&lwZLh0z|3#_S98U(huYrMdo?X?p;>)zxAje2wUPxK zXu|kwbnkmr`s}?V+fPMs%{T@x545f zWVluKgX#d{S_%WjM&`*$wsFhn@GOA1@;6E}*g0t8qigJKnLH(YJ}xcow6U6+XGrTe zx!9_aqCSzcmee4bnSL*mPEwHU2uPnZ6VmKyJwyDemMflHtQ2WXjy^#cuGx}CvH@8t zzzviveU(xGw^PlT+u5e6w5pbCa&Kpb6y{liT>_9Wuz0nOsDgsY1)7~IrTRlM2Wn!h zC5khTbTcHwG{NAY}P&s$1LgfW^*I?8YoNKJG>@Dd_6XTeqV zb4YH>g*bh6ME0}(m9ai@zsGTD#RfF{#GywX!wB4aP%s5%iGvqzsPClLAArhlqY(hI z5yr@;`ZMGv7?P_S-nO@_Z@>1YtC2Yf;JKj~TY+MjBwsfvWYlmrfMk-8Fv7upnb` z<*D3Hg^R|9Mt#i?e&ff~fvFR_QpPWf0$bag_j9cB=snho5=(JE97#QjC|e{J%~65f z$s#a}n)^f2?tbxsLCeBLHm(62YD%SdF_)<)Lf_q^%Wyy&6m;)2GRSV9_L%*Tb6WmO zwUY24pNP2)9B1W|d{b+coCv9K@St~4wndF;pY!T7IL}zI(8ubgVA55$#-}-o2P`YAOAl8z1E!VlC|1G+- zC19~$ik0bK2eDU8j9R-^eJ1?gJ!hY`zsy>=g{Ha@NR!LJ_sbh2D9T|2}fSi!W}rJU&#$m95&@xu-Ae3r6D3*IYX|5aMVz(2^+{Ol8ZUUk<<1vLMIz!>7(Ed9W(#D-esmt;0 zP5hLU2Ib`To3RQeLIbN#oqJ}2KfgTVzQed;)BZc9^PQ*O z-P!LF7yEpKnRMYNU&HH9UE<@tuiBoUC=HD*aLtQ>#SH%tq%Vr{$DJz+tp@1$#X`2wlvU7l^9s;)x(7WUq2#4S0aP-_uzpC zZ>S5=)y68!quV3rE9v#_U&3|F-rA`{2S3h_PkCj;-!fjn;xQWdqjCi#u9h({_PVV* zNynBBhQ?#vvB{9?yiOuGDdZ1&?CLDzzwz%r>p)hW^v87LCJ+&?%l{{I`qpIfK{3|OoY L_V6Y%@09-n`XkWs literal 0 HcmV?d00001 diff --git a/slides/2024f/11_relational_databases/index.html b/slides/2024f/11_relational_databases/index.html new file mode 100644 index 00000000..d9f0999c --- /dev/null +++ b/slides/2024f/11_relational_databases/index.html @@ -0,0 +1,1122 @@ +--- +layout: presentation +title: Relational Databases +--- + +class: center, middle + +# {{page.title}} + +## CS291A: Scalable Internet Services + +--- + +# Relational Databases + +After today you should... + +* understand the importance of relational databases in architecting scalable + Internet systems + +-- + +* understand how to design with concurrency in mind + +-- + +* have a basic idea regarding how to speed up your data layer + +-- + - determining where to start + +-- + + - understanding which rails-specific techniques to use + +-- + + - being able to identify the source of slowness in an SQL query + +--- + +# Stateful Requests from Clients + +.left-column[ + +Clients requests regularly include data updates + +Many stateless application servers responding to requests + +Clients can be served by any application server + +] +.right-column[ +![Database connectivity](app_server_to_database.png) +] + +--- + +# Application Server _Needs_ + +* Data that is shared between requests and servers + +-- + +* Fast access to data + +-- + +* High availability of shared data + +-- + +* Intuitive utilization of the data layer + +```ruby +if david.balance > 100 + david.withdrawal(100) + mary.deposit(100) +end +``` + +--- + +# Data Layer Options + +There are quite a few existing solutions for a _stable_ data layer. + +## Relational (SQL) + +* MySQL (MariaDB, Percona) +* PostgreSQL +* Oracle +* MS SQL + +-- + +## Non-relational (NoSQL) + +* Cassandra +* MongoDB +* Redis + + +--- + +# SQL v. NoSQL + +-- + +## Relational Databases... + +* are a general-purpose persistence layer +* offer more features +* have a limited ability to scale horizontally + +-- + +## Non-relational Databases... + +* often are more specialized +* require more from the application layer +* are better at scaling horizontally + +-- + +If your needs fit within an RDBMS's (relational database management system) +ability to scale, they tend to be the best. If your scaling needs exceed RDBMS +capabilities, go non-relational. + +??? + +* If you need ACID properties, you should use a relational database. + * ACID: Atomicity, Consistency, Isolation, Durability + +--- + +# Database Outline + +## Today we will discuss: + +* Relational databases + * Concurrency control + * SQL query analysis + +-- + +## Later we will discuss: + +* Scaling options for relational databases: + * Sharding + * Service Oriented Architectures (SOA) + * Distinguishing reads from writes +* A survey of NoSQL options + + +--- + +# Database Transactions + +Transactions are a database concept that allows a system to guarantee certain +semantic properties. + +Transactions provide control over concurrency. + +Having rigorously defined guarantees means we can build correct systems using +these databases. + +--- + +# Database ACID Properties - Refresher + +-- + +__Atomicity__ + +* Complete everything, or do nothing +* No partial application of a transaction + +-- + +__Consistency__ + +* The database should be consistent both at the beginning and end of a + transaction +* Consistency is defined by the integrity constraints (e.g., foreign keys, `NOT + NULL`, etc.) + +-- + +__Isolation__ + +* A transaction should not see the effects of other uncommitted transactions + +-- + +__Durability__ + +* Once committed, the transaction's effects should not disappear + +--- + +# Overlapping Concerns + +__Atomicity__ and __Durability__ are related and are generally provided by +_journaling_. + +__Consistency__ and __Isolation__ are provided by concurrency control (usually +implemented via locking). + +-- + +- Questions? + +--- + +# Definition: Schedule + +A __schedule__ is an abstract model used to describe the execution of +transactions that run in a database. + + +| T1 | T2 | T3 | +|:------:|:------:|:------:| +| R(X) | | | +| W(X) | | | +| Commit | | | +| | R(Y) | | +| | W(Y) | | +| | Commit | | +| | | R(Z) | +| | | W(Z) | +| | | Commit | + +Time goes top to bottom. +--- + +# Conflicting Actions + +Two actions are said to be in conflict if: + +-- + +* the actions belong to different transactions + +-- + +* at least one of the actions is a write operation + +-- + +* the actions access the same object (read or write) + +-- + +## Conflicting Actions + +| T1 | T2 | +|:------:|:------:| +| R(X) | | +| | W(X) | + +--- + +# Non-Conflicting Examples + +## All reads + +| T1 | T2 | +|:------:|:------:| +| R(X) | | +| | R(X) | + +-- + +## Write to different object + +| T1 | T2 | +|:------:|:------:| +| R(X) | | +| | W(Y) | + +--- + +# Question + +> Can we blindly execute transactions in parallel? + +-- + +# Answer + +__No__ + +* Dirty Read Problem + +* Incorrect Summary Problem + +--- + +# Dirty Read Problem + +A transaction (T2) reads a value written by another transaction (T1) that is +later _rolled back*_. + +The result of the T2 transaction will put the database in an incorrect state. + +| T1 | T2 | +|:------:|:------:| +| W(X) | | +| | R(X) | +| Cancel | | +| | W(Y) | +| | Commit | + +--- + +# Incorrect Summary Problem + +A transaction (T1) computes a summary over the values of all the instances of a +repeated data-item. While that occurs, another transaction (T2) updates some +instances of data-item. + +The resulting summary will not reflect a correct result for any deterministic +order of the transactions (T1 then T2, or T2 then T1). + +| T1 | T2 | +|:------:|:------:| +| R(X*) | | +| | W(X^n) | +| | Commit | +| R(X*) | | +| W(Y) | | +| Commit | | + +--- + +# Schedule Types + +## A schedule is _serial_ if + +* the transactions are executed non-interleaved +* one transaction finishes before the next one starts + +-- + +## Two schedules are _conflict equivalent_ if + +* they involve the same set of transactions +* every pair of conflicting actions are ordered in the same way + +-- + +## A schedule is _conflict serializable_ if + +* the schedule is __conflict equivalent__ to a __serial__ schedule + +-- + +## A schedule is _recoverable_ if + +* transactions commit only after all transactions whose changes they read, + commit + +--- + +# Not Conflict Serializable + +.left-column20[ +| T1 | T2 | +|:------:|:------:| +| R(A) | | +| W(A) | | +| | R(A) | +| | W(A) | +| | R(B) | +| | W(B) | +| R(B) | | +| W(B) | | +] +.left-column20.center[ +When transactions are serialized, the schedule on the left is conflict equivalent to neither of: +] +.left-column20[ +| T1 | T2 | +|:------:|:------:| +| R(A) | | +| W(A) | | +| R(B) | | +| W(B) | | +| | R(A) | +| | W(A) | +| | R(B) | +| | W(B) | +] +.left-column20.center[ +or +] +.left-column20[ + +| T1 | T2 | +|:------:|:------:| +| | R(A) | +| | W(A) | +| | R(B) | +| | W(B) | +| R(A) | | +| W(A) | | +| R(B) | | +| W(B) | | +] + +--- + +# Why Serializable? + +.left-column[ +> Why is it important that we have a serializable schedule? + +> Why not simply execute serially? +] +.right-column[ +![Database connectivity](app_server_to_database.png) +] + +--- + +# Serial Schedule + +Having a serial schedule is important for consistent results. For example it is +good when you are keeping track of your bank balance in the database. + +A serial execution of transactions is safe but _slow_. + +Most general purpose relational databases default to employing +conflict-serializable and recoverable schedules. + +> How do these RDBMS employ conflict-serializable and recoverable schedules? + +--- + +# Database Locks + +In order to implement a database whose schedules are both conflict serializable +and recoverable, locks are used. + +* A lock is a system object associated with a shared resource such as a data + item, a row, or a page in memory. + +* A database lock may need to be acquired by a transaction before accessing the + object. + +* Locks prevent undesired, incorrect, or inconsistent operations on shared +resources by concurrent transactions. + +--- + +# Two Types of Database Locks + +## Write-lock + +* Blocks writes and reads + +* Also called __exclusive lock__ + +-- + +## Read-lock + +* Blocks writes + +* Also called __shared lock__ (other reads can happen concurrently) + +--- + +# Two-Phase Locking + +Two-phase locking (2PL) is a concurrency control method that guarantees +serializability. + +The two phases are: + +* Acquire Locks + +* Release Locks + +-- + +## Two-phase locking Protocol + +-- + +* Each transaction must obtain a _shared_ lock on an object before __reading__. + +-- + +* Each transaction must obtain an _exclusive_ lock on an object before + __writing__. + +-- + +* If a transaction holds an exclusive lock on an object, no other transaction + can obtain any lock on that object. + +-- + +* A transaction cannot request additional locks once it releases any locks. + +--- + +# Two-Phase Locking: Potential Issue + +During the second phase locks can be released as soon as they are no longer +needed. This permits other transactions to obtain those locks. + +| T1 | T2 | +|:---------:|:------:| +| R(A) | | +| W(A) | | +| unlock(A) | | +| | R(A) | +| ... | ... | +| cancel | | + +-- + +> What happens to T2 when T1 cancels the transaction? + +--- + +# Strong Strict Two-Phase Locking + +2PL can result in cascading rollbacks. + +SS2PL allows only conflict serializable schedules. + +-- + +# Strong Strict Two-Phase Locking Protocol + +* Each transaction must obtain a _shared_ lock on an object before __reading__. + +* Each transaction must obtain an _exclusive_ lock on an object before +__writing__. + +* If a transaction holds an exclusive lock on an object, no other transaction + can obtain any lock on that object. + +-- + +* __All locks held by a transaction are released when the transaction + completes.__ + +This approach avoids the problem with cascading rollbacks. + +-- + +> What is the downside to SS2PL? + +--- + +class: center inverse middle + +# Concurrency Control in Rails + +--- + +# Concurrency Control in Rails + +.left-column[ +We have many application servers running our application. + +We are using a relational database to ensure that each request observes a +consistent view of the database. + +> What is required in rails to obtain this consistency? +] +.right-column[ +![Database connectivity](app_server_to_database.png) +] + +??? + +* None of our ACID properties are guaranteed at the application layer. +* Even with the database providing these guarantees, our application can still + have issues. + * For example, two requests updating the same object + * How do we handle this? + +--- + +# Concurrency Control in Rails + +Rails uses two types of concurrency control: + +## Optimistic Locking + +Assume that database modifications are going to succeed. Throw an exception +when they do not. + +-- + +## Pessimistic Locking + +Ensure that database modifications will succeed by explicitly avoiding +conflict. + +--- + +# Optimistic Locking in Rails + +Any ActiveRecord model will automatically utilize optimistic locking if an +integer `lock_version` field is added to the object's table. + +Whenever such an ActiveRecord object is read from the database, that object +contains its associated `lock_version`. + +When an update for the object occurs, Rails compares the object's +`lock_version` to the most recent one in the database. + +-- + +If they differ a `StaleObjectException` is thrown. + +Otherwise, the data is written to the database, and the `lock_version` value is +incremented. + +-- + +This optimistic locking is an application-level construct. The database does +nothing more than storing the `lock_version` values. + + + +--- + +# Optimistic Locking Example + +```ruby +c1 = Person.find(1) +c1.name = "X Æ A-12" + +c2 = Person.find(1) +c2.gender = "X-Ash-A-12" + +c1.save! # Succeeds +c2.save! # throws StaleObjectException +``` + +```bash +rails g migration AddLockVersionToPeople lock_version:integer +``` + +-- + +## Strengths + +* Predictable performance +* Lightweight + +-- + +## Weaknesses + +* Have to write error handling code +* (or) errors will propagate to your users + +--- + +# Pessimistic Locking in Rails + +Easily done by calling `lock` along with ActiveRecord `find`. + +Whenever an ActiveRecord object is read from the database with that option an +exclusive lock is acquired for the object. + +While this lock is held, the database prevents others from obtaining the lock, +reading from, and writing to the object. The others are blocked until the +object is unlocked. + +Implemented using the `SELECT FOR UPDATE` SQL. + +https://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html + +--- + +# Pessimistic Locking Example + +Request 1 + +```ruby +transaction do + person = Person.lock.find(1) + person.name = "X Æ A-12" + person.save! # works fine +end +``` + +Request 2 + +```ruby +transaction do + person = Person.lock.find(1) + person.name = "X-Ash-A-12" + person.save! # works fine +end +``` + +This approach works great, yet it is not commonly used. + +> What could go wrong? + +--- + +# Pessimistic Locking Issue: Blocking + +```ruby +transaction do + person = Person.lock.find(1) + person.name = "X Æ A-12" +* my_long_procedure + person.save! +end +``` + +Request 2 + +```ruby +transaction do + person = Person.lock.find(1) + person.name = "X-Ash-A-12" +* my_long_procedure + person.save! +end +``` + +--- + +# Pessimistic Locking Issue: Deadlock + +```ruby +transaction do +* family = Family.lock.find(3) +* family.count += 1 +* family.save! + person = Person.lock.find(1) + person.name = "X Æ A-12" + person.save! +end +``` + +Request 2 + +```ruby +transaction do + person = Person.lock.find(1) + person.name = "X-Ash-A-12" + person.save! +* family = Family.lock.find(3) +* family.count += 1 +* family.save! +end +``` + +--- + +# Pessimistic Locking: Summary + +## Strengths + +* Failed transactions are incredibly rare or nonexistent + +-- + +## Weaknesses + +* Have to worry about deadlocks and avoiding them + +* Performance is less predictable + +--- + +# Next Step: Finding DB Bottlenecks + +We now have a Rails app connected to PostgreSQL and it is slower than you'd +like. + +You think the bottleneck may be the database. + +> How do we find out? + +--- + +# Demo App Database Optimizations + +.left-column40[ +Let's use an example from the Demo app! + +By changing the way you interact with the Rails ORM (ActiveRecord) you can +significantly improve performance. + +The following examples are all contained in the _database_optimizations_ branch +on github. +] +.right-column60[ +![Submissions Index View](demo_submissions_index.png) +] + +--- + +# Demo App ActiveRecord Time + +.left-column30[ +With the Demo app's _master_ branch deployed on a `m3_medium` instance +with: + +* 20 Communities +* 400 Submissions +* 8000 Comments + +A request to `/` resulted in: + +Completed 200 OK +ActiveRecord: 220.6ms. + +> Why so slow? +] +.right-column70[ +![Submissions Index View](demo_submissions_index.png) +] + +--- + +# Demo App Investigation + +__First Step__: Find out what Rails is doing. + +In _development_ mode, Rails will output the SQL it generates and executes to +the application server log. + +To (temporarily) enable debugging in _production_ mode, change +`config/environments/production.rb` to contain: + +```ruby +config.log_level = :debug +``` + +--- + +# Submission Index Controller and View + +Controller + +```ruby +class SubmissionsController < ApplicationController + def index + @submissions = Submission.all + end +end +``` + +View + +```erb +<% @submissions.each do |submission| %> + + <%= link_to(submission.title, submission.url) %> + <%= submission.url %> + <%= submission.community.name %> + + <%= link_to("#{submission.comments.size} comments", + submission, class: 'btn btn-primary btn-xs') %> + + +<% end %> +``` + +--- + +# Generated SQL Statements + +``` +Processing by SubmissionsController#index as HTML +Submission Load (0.5ms) SELECT `submissions`.* FROM `submissions` +Community Load (0.3ms) SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 1 LIMIT 1 +SELECT COUNT(*) FROM `comments` WHERE `comments`.`submission_id` = 1 +SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 1 LIMIT 1 [["id", 1]] +SELECT COUNT(*) FROM `comments` WHERE `comments`.`submission_id` = 2 +SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 1 LIMIT 1 [["id", 1]] +SELECT COUNT(*) FROM `comments` WHERE `comments`.`submission_id` = 3 +SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 1 LIMIT 1 [["id", 1]] +... +SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 20 LIMIT 1 [["id", 20]] +SELECT COUNT(*) FROM `comments` WHERE `comments`.`submission_id` = 400 +``` + +-- + +## That is a lot of `SELECT` queries! + +--- + +# Number of Queries Bottleneck + +We are issuing a ton of `SELECT` queries. The overhead associated with each is +slowing us down. + +> How can we fix this problem? + +-- + +## Issue fewer queries. + +* Do not ask for the community each time + +* Do not ask for the number of comments each time + +--- + +# Reducing (N+1) Queries in Rails + +(__Before__) Without `includes` + +```ruby +class SubmissionsController < ApplicationController + def index + @submissions = Submission.all + end +end +``` + +-- + +(__After__) With `includes` + +```ruby +class SubmissionsController < ApplicationController + def index + @submissions = Submission.includes(:comments) + .includes(:community).all + end +end +``` + +-- + +Result + +``` +Result: ActiveRecord 39.6ms + +Submission Load (0.9ms) SELECT `submissions`.* FROM `submissions` +Comment Load (38.3ms) SELECT `comments`.* FROM `comments` WHERE `comments`.`submission_id` IN (1, 2,... 399, 400) +Community Load (0.4ms) SELECT `communities`.* FROM `communities` WHERE `communities`.`id` IN (1, 2, ...19, 20) +``` + + +--- + +# SQL Explain + +Sometimes things are still slow even when the number of queries is minimized. + +SQL provides an `EXPLAIN` statement that can be used to analyze individual +queries. + +When a query starts with `EXPLAIN`... + +* the query is not actually executed + +* the produced output will help us identify potential improvements + +* e.g. sequential vs index scan, startup vs total cost + +https://www.postgresql.org/docs/9.1/sql-explain.html + +--- + +# SQL Optimizations + +There are three primary ways to optimize SQL queries: + +-- + +* Add or modify indexes + +-- + +* Modify the table structure + +-- + +* Directly optimize the query + +--- + +# SQL Indexes + +> What is an index? + +-- + +An index is a fast, ordered, compact structure (often B-tree) for identifying row +locations. + +-- + +When an index is provided on a column that is to be filtered (searching for a +particular item), the database is able to quickly find that information. + +-- + +Indexes can exist on a single column, or across multiple columns. Multi-column +indexes are useful when filtering on two columns (e.g., CS classes that are not +full). + +--- + +# Adding Indexes in Rails + +To add an index on the `name` field of the `Product` table, create a migration +containing: + +```ruby +class AddNameIndexProducts < ActiveRecord::Migration + def change + add_index :products, :name + end +end +``` + +--- + +# Related: Foreign Keys + +By default, when dealing with relationships between ActiveRecord objects, Rails +will validate the constraints in the application layer. + +For example, an `Employee` object should have a `Company` that they work for. + +Assuming the relationship is defined properly, Rails will enforce that when +creating an `Employee`, the associated `Company` exists. + +Many databases, have built-in support for enforcing such constraints. With +rails, one can also take advantage of the database's foreign key support via +[add_foreign_key](http://guides.rubyonrails.org/active_record_migrations.html#foreign-keys). + +```ruby +class AddForeignKeyToOrders < ActiveRecord::Migration + def change + add_foreign_key :employees, :companies + end +end +``` + +--- + +# Optimize the Table Structure + +Indexes work best when they can be kept in memory. + +Sometimes changing the field type, or index length can provide significant +memory savings. + +If appropriate some options are: + +* Reduce the length of a VARCHAR index if appropriate + +* Use a smaller unsigned integer type + +* Use an integer or enum field for statuses rather than a text-based value + +--- + +# Directly Optimize the Query + +Before + +```sql +explain select count(*) from txns where parent_id - 1600 = 16340; + +select_type: SIMPLE +table: txns +type: index +key: index_txns_on_reverse_txn_id +rows: 439186 +Extra: Using where; Using index +``` + +-- + +After + +```sql +explain select count(*) from txns where parent_id = 16340 + 1600 + +select_type: SIMPLE +table: txns +type: const +key: index_txns_on_reverse_txn_id +rows: 1 +Extra: Using index +``` + +--- + +# Summary + + +* understand the importance of relational databases in architecting scalable +Internet systems + +* understand how to design with concurrency in mind + +* have a basic idea regarding how to speed up the data layer + + - determine where to start + + - understand which rails-specific techniques to use + + - identify the source of slowness in an SQL query + +--- \ No newline at end of file