From fc0d6604c8f27089c6da5b3fe8e80392eee73567 Mon Sep 17 00:00:00 2001 From: mid-kid Date: Tue, 18 Dec 2018 18:23:09 +0100 Subject: [PATCH] day18p2 --- day18p1/main.c | 55 +++++++++++++++++++++++++++++++++++++++++------- day18p1/out.gif | Bin 1884408 -> 133168 bytes day18p2 | 1 + 3 files changed, 48 insertions(+), 8 deletions(-) create mode 120000 day18p2 diff --git a/day18p1/main.c b/day18p1/main.c index 49c7809..a124626 100644 --- a/day18p1/main.c +++ b/day18p1/main.c @@ -10,9 +10,10 @@ struct size2d { }; struct buffer { - char *data; + void *data; size_t len; size_t alloc; + unsigned element; }; void *xrealloc(void *ptr, size_t size) @@ -25,22 +26,23 @@ void *xrealloc(void *ptr, size_t size) return res; } -struct buffer buffer_alloc() +struct buffer buffer_alloc(const unsigned element_size) { struct buffer buffer; buffer.len = 0; buffer.alloc = 0x10; - buffer.data = xrealloc(NULL, buffer.alloc); + buffer.element = element_size; + buffer.data = xrealloc(NULL, buffer.alloc * buffer.element); return buffer; } -void buffer_append(struct buffer *buffer, char c) +void buffer_append(struct buffer *buffer, void *data) { if (buffer->alloc <= buffer->len) { buffer->alloc *= 2; - buffer->data = xrealloc(buffer->data, buffer->alloc); + buffer->data = xrealloc(buffer->data, buffer->alloc * buffer->element); } - buffer->data[buffer->len++] = c; + memcpy((char *)buffer->data + buffer->len++ * buffer->element, data, buffer->element); } char *parse_acres(const char *fname, struct size2d *size) @@ -51,7 +53,7 @@ char *parse_acres(const char *fname, struct size2d *size) return NULL; } - struct buffer buffer = buffer_alloc(); + struct buffer buffer = buffer_alloc(sizeof(char)); size->w = 0; size->h = 0; @@ -79,7 +81,7 @@ char *parse_acres(const char *fname, struct size2d *size) goto error; } - buffer_append(&buffer, c); + buffer_append(&buffer, &c); width++; } funlockfile(f); @@ -184,6 +186,19 @@ int render_bitmap(const char *fname, const char *acres, const struct size2d size return 0; } +uint32_t adler32(const unsigned char *data, const size_t len) +{ + // Shamelessly copied from wikipedia... + uint32_t a = 1, b = 0; + + for (size_t index = 0; index < len; index++) { + a = (a + data[index]) % 65521; + b = (b + a) % 65521; + } + + return (b << 16) | a; +} + int main(int argc, char *argv[]) { struct size2d size; @@ -198,6 +213,10 @@ int main(int argc, char *argv[]) char *next = xrealloc(NULL, size.w * size.h); memcpy(next, acres, size.w * size.h); + struct buffer hashes = buffer_alloc(sizeof(uint32_t)); + unsigned loop_found = 0; + unsigned loop_iterlen = 0; + char *fname = NULL; clock_t start = clock(); for (unsigned i = 0; i <= minutes; i++) { @@ -205,6 +224,24 @@ int main(int argc, char *argv[]) advance_frame(acres, next, size); memcpy(acres, next, size.w * size.h); + if (!loop_found) { + uint32_t hash = adler32((unsigned char *)acres, size.w * size.h); + for (unsigned i = 0; i < hashes.len; i++) { + uint32_t check = ((uint32_t *)hashes.data)[i]; + if (check == hash) { + loop_found = i + 1; + break; + } + } + + if (loop_found) { + loop_iterlen = (i - loop_found); + minutes = (minutes - i) % loop_iterlen + i; + } else { + buffer_append(&hashes, &hash); + } + } + if (i % 10000 == 0) { double framespers = 10000 / ((double)(clock() - start) / CLOCKS_PER_SEC); unsigned eta = (double)(minutes - i) / framespers; @@ -235,8 +272,10 @@ int main(int argc, char *argv[]) } } + if (loop_found) printf("Loop starting frame: %u (length %u)\n", loop_found, loop_iterlen); printf("Resource value: %u\n", wood * lumber); + free(hashes.data); free(next); free(acres); return 0; diff --git a/day18p1/out.gif b/day18p1/out.gif index f05e3203f3846ab3df0585ce16942209dd9d442c..0fd68452018adb0915812c15cd87103356327a2c 100644 GIT binary patch delta 128476 zcmV)BK*PWIfpf5s2#`dVuRPLIayo%#*`w4-He{EpAg_pQ8N z&4*O?^H*qS6PPG*$atlwGYHf;Nh$ZJSeY4g2@~0&30ldS7+R__>f-5P%Ib&8*MAzD z^J<~GA&U!0+m_q9TVXrcJ3RAi>_x153=v$H{Cu=5tpklV-P3GVy={5zZNUxZovj^i ze(;@6ajthwZpVJEJ`WM^=>9Hg&rMIi?=&vor+?e}%_GPppuk%Qp&3-yu!zEi86rM= zn9iaYeE$?HY8-~~+eZ`=DUJjcGJoY9jU^YJ)TA#(Gk+4wJ)d62 ztT{9c&Q3jlZYMf*Rg{$-pT?p(_Bz6yeZGb*JNE<9UrpZzs5`gX*5rQU2nja1a$6yB z*S2XK5ys`ztN&W}!G>}{WZXNrR#>KgJpAJ5~a`C{m+cm$!yZZSZ**77d4Sq57 z^!w-kv!4)g`RR8GfBqd941a(|;MWX+1wMpegv?>&TxqsBNRojPZb*fK5((HKhEQn8 zVTl`fNW>oMiO7I_Cca1?iXf<%9*YaO2xE@l$=D4WE855ci8>CM9FGmq2p*6@LP%tj z>rt3t8$T*(0FF*xDUgvZ&M_sGR$>WeGg{urWsOu;DP)*xMlz-XNPm8JCYnsHNv9`m zF6pD0XMR~{pB>!kK$%I#$)}%&0stsFwdfh=mhMp}mU>Hd*{GW!UKo|6N>N&AppPyW zX?l|~+Nq}&!kLw(LvdQF01RS^l&V6pTI#FNWh&~Xq_*nnrMJeK>#Do9YU_5uf;Z}* zy#FftsdAwrtE;lh_J7)Ja?kFVrfbvAhzhNp%6iFL+x8glu%&|gh`8fA%89p?qN|9y z>smUByN$w|h`jTfTCTLq;v0y*`^wp_x!(p`FsuVJn=q=|0?dcN1HWQ#oDjch?7{^1 z>+rM}3;L_Z)HZD0x*zi*@`qCTma-5h&(^XK7{3=Y4lhqovwzGWXPh$)H!srj4Ko`S zbPYduRdfwQTbA?;N7vKzek&^+^$Ab!R`r8t|MqaDK8 zY?Cl{d2fs0_S_qj5u)92R9to3<>;*j-%0g*0H0n^Po(1bYyB-$ojSQ$a?Y7^Zx81t$ zehBWq@9YWi!S_D*@5cWjeDcIcvV0-UKmNQh(fcty+sa>mNA_rM&;8!WQ?Irv;p5?b z*|h(Ce*36xy|(-E2UtGM^WU#B{5<2&ztGi_-M;`T?SFrA6QBX(L%{SMaDgFMU*Q-C z!8Igsd=ac5nd(P03u>?guh^gm2RMokico8p7@-NH5yBIyuz{#pp$m`H!WYVrUyqof z4M$eO8_KYQI(#7yd&nIbSOsN3jE)c^vWFrDaWxG|q7sdB#3l~riMNR&LYzp&*Z)|N zAXv=eXMeW%k1l%gF<{(>7{~aRGTP&eXoQOz&U)Hjiw~Qtwr>RV6S~F*`q-HR;*}4e^1Dur;r!B~-NenU#o!m61`Pd0c zbpjBcDRbcB=ovG6Mh>4M)92;**-v*C51{oFDD()rEbygsG5ORcD-2Otfe@4>FdfV(}_9M z6e(?HPWMGqQP{M0*DNVWPa2D!5=tpryvA@W%06B#rK!_+s{RJLt*M^I8&(~I0vn~( zFFMr_O5GDvw>s9i40T;$y$n~$y4G>Em4A$B{X<#3bXKue6|PWyU_$fi*1EbPu2}^v zUH6)XyP79BqoGS)bk^5<;+3&|aI9P)d)0%Qm9jxis$MYbRSL3*vz0YRU_gtvaW0j# zA?3$sH$m9RvKD8ST?=Zt@KplMwzUO$?QvqOq}?LbA-?rrWcLXq;nLQ$#s8Jgaex0A zT;(E-xsQeIb2}GUVR=(0T}>A-bNJiqjxM{i`fg6T8!z+jCA^uno?gql-ShHQmnVuL zdqb<*_v)kybIn6HvzfyCruLj@)h>XAg5G?omlW1*uQLh^-ve`Zz8rgIfQ{?mi$Zw6 z3sy;j1J+?!G#I}G)^ASuYgqp}bAOli#W0EAX=0h6cqku^Scv0@K=H!#uo1Q}f+_6X z_^ua)8II~pk`*COjyMJ!N`lycdlMuhNXY{3#D<(4r6T(^%F#-4E4LtsD{m&tFUBfT zqm7W`EDzWjd2m z8G^<$HOM?*7$bVlX|8jH?kpiJ7dp~r?sK9mz39Y-In#tDvZ38O=^lgHAa6**pxq2< z+=_OM*|JsxzJ_BGa{AB;083{XcIpQsvDOkZ0IsLFW?AQV0lwZTxps}}D-xS!y++tF zZYu=^Hk-E+gfmg4IH!(P8-H4eO?I|tEr4wgmxbPLi#ptO?4Rmd*(GN7Q+|CndP`c` z;V#*&t$hq^(*fP;UaqO3Eo^Wb1l|BQhQO7e?Rz^LhV35W!Vwp5qk?eH$VEWGfwpOV zcbbdS=Gp-=K8A<8n&1-W_ADws?0#4011O)#l10wz1blqD7vwl}<$wQ7Ur;p;Tk=-< zqWH`N1uB;0*z|WAYR>cfjJo4RP&$;4ykbZVJv_*kIuDFob#yO1j9C}@(;JSA@l5^a zMzA`}Q(fViZ@oIXHaal2+;*{F{UrZ&IvSu3HMM^o?_pmyy?l;cPd8oeXD7GD7qs@o zCtdGvSA5W&HFxUN{eR{!06P)fj`;CfKJHp?JkcMYKTK2o^OO($j)6{kv;Q6KlgUn_ zk)C(M<0;r0j``&a$c=0~G8~}iz31Ur_IXxA_$@|A@e$s8g~wj`&|v#4|1%~Z_}frFcpGwm z5QlDaw14QA3;tI_77>6emw()MegilR2smWe*MK+#eaAf;+KcB#3)_w|8)Hf|^EN+P8uuF?J{Mf~Ce|GPrslQG+9KgRmB3?k9q95gGI=8EZBs9@q~{SgdwXE}h?}T~jA(`qIEy8CgmzMYR0xZ0Xk%-KzrbvjiNL|5bF{D^~ zxX6sYr-P7)A!xV+dzg!TIE|<%BG$+h*cgq{cZ#A1B;HtB$XJPYsEgzHdNyK?_@<5Q zNQS8xj(juR)1@)(Qew~gfJj?RdJ(AbadNRI8F%z|8|lhm6CtxAUPR^5!jSg z_LMvsm58VxRGEe@X^b4{h`T72D|wY^2bM_Kh#;|*)Hs!A`HX4li`iI*ZOM(*2$umV zmu#|@GFgwj;+26%e0g~RJBd<#NhN`aHRhn00brP(MVA;EmNv(jgn4vDc@c4uc!_L@N{3yoQr!C6yB z8JohnZrC}V+NqYV*b3fxnaTN3cIl7GX@8sOd6zT?o!9@!l+CG{NgXb@am&5s=VY;O|hnB9H zqsti%bVwUSd8RFgdY%cUSShAK%BHSml1hrEajB+riKR|zrSG|?aq1IENTqe)rWF;a zV+yD0$fXp4s7Jb{v)QJDx}=2)segT{mwy_ejf$t1|Ei~t3X+k!5R=-SMJk<{3aYYc zr-s_41)8X3u&6FYrdp|~rOK(!xqPY`qZdk+Dk`JFDyhFXp+)+gBRZW-dXTJ2tfy+M zrtqQ|@T(-stQ~o!&zdFCS_;z|oz=RmKboP=8f2#@h^bnq45^!hI-||X8-L}>brLGA z$l9Ke`mX7vtYguxafEqs@C~?EPI;g7u{~d#i`}vyeHnJb&A(C5xQ)8mh1;u1CYq)2%3@C2vz3akU0bF~%b;E>qFC#2T5Gfnh_<*2vUJ$Cgnr~@mtII9~RtG7AJv|?MT1sfZR8@Jb5xQ@H7ylh zD--MozG@4kY1FpLL3 ztiKsNr9k1s%d5URyup6j!xl^nNPGuMe4aW>#7=C*TD-K@s=_nO!!Pl~V{EsUTea&* z!?@zW^nk^20LE*3sj^CeM$D_gHo#20$2L@)2Zz4nO1=5J#VYj29CWiGE5bK)$Z(U$ zA>79^)X3eY!G9A>$YE?kll*d(jJcOg$1eY*$?V3-IUITHD?_2oEfUO{%Bma7hxR3pBDJhq_3sy}FCc0#wX^e9We-$im#p z^3%+SjK;zIxyu|t)$GXEyu->2&D(6nxctC_49>M|K!4m!$>luDs!Yw}9Ba>v&e5FB z;oLv!yvghw#gEKA_$W4K{%-w`FbBFfG?9W85FBrEN{wv`pGH^W4Zy-Oat+P_5h=bKSyg)S?~T-j_7r zEq}d}?bsTN!e;E-5-VzrZOL(6Y`6bm+`o<6@V&}{Eqmrs-x8U`P@K^Ejd@+!-tyXN z0KVM=c%Es5HP9p4Jx;ivK8HwoJU zt>LQ8;nc<*Cys^ZE#mp@PtuKt7XAyQtbfsJE#43wKh;;@cze|2jnyNr*W_Kao_!EQ zZl*SF5IL;^{52>pclm-o^o*+)hs8P_E^?gX0;&mJ=b*3w|@zH z=MFySj4tCRcIZ#w=7AvFEgs>}{|(2N?gW`GVhP;md%fW?Av;4L>Zn@fsh!22R(i7s z=!&k{Gp^>)>o}zo=}S)PoF3JlJ`btxGP@2D0_^LbeCjG8>_M>VUMjxm{p2zi>zOm_ zmL}-jZR#wJ>Y&~P&2Gootm3?#;(yA{?UPsSp+?5oKGD6t?YT~*=gw*=7~2-dVeW2h z#BSzl_~m;(!sKr6rmA@!1Gb-hSI+QQ3_y?fZ?RbSLn4vG6bL@8b6G0Z(J{ z&fLOSC<|_H@ZJw%7~XZPYSVu4i5~H8MDT0f@$-%FO?(&=|I_Vm@lmSeB!8^$E1&1C zOKKUvSYD@^l>7WGVD>g$g5EsyVk zF7;V|^g}FTN>9Pjh2I=sayRe4Uw`b`?vP^-^%KVS;ZEBmU+-S#^V1^p{P^^4i}Nw% z>NF_y89?+N75G6=3vSoxg4 z^o*bRF+cc-68Szg`BY!=qF?q4Rr&*;_!?07Bo&HmC0!mJN&AQUxqsZYQ=+|}`@j?Y za^?HK4?D$QSiVpEyl?!>zdOpW_s8G-swn)@RsFwr{mPa7xBvXZPXQp8@i+?_m(P0y z4}VCO=82}K#kTGX!|F`ewjJj=$Mg3O3<`%qo$-il5tq!SA_=|prWmL7ip_qa+^$Ru z4vV}{Dpib5t5@W<+p&&^-$wIPj?b&0-G#mRTXm!6`c0;AtvBntE_L0otJoi+{*E8xTuM3*o9^%d3Zb+6(yWpi3Bh{4=cl zhMYKDY}YKUvRv&oUGxlnhTT144G!gfqrA;Mj=m7S&X_(^ZeHj3)iArT5L(Wbrd&lOQk#S#sOG2Fk66fq{j36 z_nzRz5D6z9I}-64z>F(zb3B>vRDa27C|mvv3iBS#hdHD13_3Lx(Va<~GksdI>e)S5 z$A&xHGixFJF51C1c!v2J#0VfPV@u2%dlg z;!xm$5<=4-gBB|2;De7uIAMp9RCr;C^JSS!cE>?o;ZkWPxHT9jMJC>TAeS-D`A zS~8Gdm-Bqdq=;gU`2?4Nd4H*0njx;qCIV%?d1jpU+(>7g^-P%>oS=b;VW586>1L7L zpt)y@efoK)qS!FX4xfe|`sX^2dPC_tmV$=qDv3ggPN(5~`dO%%hO_CSdb0CDtE!5M zTV+w2%8IPB3Lu=M>fw5duCw+^s)oRtBCM*!|B_|ov7RIw>avkF`+q83m+snTt&H7T z?JUq@Ds65sI-AM2hlabQjdnLWtf}k3} zwu(^gj; zwZ>Cl&Gpf4_=#o24UDdG9PJ8XP$L_)Hy6?{W>$3L_eDK0M{rm97ACG*;xhKzj^UgE9{PWUJ zPko5RSC4)6*WT;y>8+LnA72B1k0S5}!C1LA(!&RP4nN{a3{-|H9&m1Jt4ydor&iesPRu zX(ATMh(=kMv5RSpn;Wt+0UpXRWN(Zj1m=iGi`6kI709C>7q-V^Sm2L@1Xv)0F~~wH z@=AxaVjmX?NyD`PjuMEZB^`f921-WYlAOFyBYBa?PKwfVleFUlM%hW}n4|)2e3&XV z34vA)?3Jd3gDiJNOFmNImbknJJuJY>Vfk_%zzk-zhIzzY8WUW|Oh+-7=`MTxl9kYm zCaj1_&1w!Pl&I`x_qgfJa8eJP;w)$L$Z5`W8V{Z7Y-jJ->CSlC4xWGVtmo_KY0rF; z4xjq$XXE(k&wv`QE&vs%K@CRGM;>&c7E34v7z$B|IW+%{5v?df-}6w5YP4Syt>i{O zDl&{x6r?0|lt?{V(v)7PqnlKzOT%>12xxPr>Ui7~)cH)BKE?}Fz-cyhni(?mG@UsG zYHNggQ=QtYZ0! zSHwD2kB}9tUnhI9#agoqn9Xcu4||QbfK?Z1%S$XlVv{Ub&@O*CGp$@Wl3FaRwzRIT z1!`ZS+R?g#wysSHZe^=mQ1I5YzI91%sY=?g)z-GK|NZS+gDZ*Q=B2nNIj&QSAzi)P z*0{h$?rxP^Tk3kmx@N^Lcze6ule~1fnb=E4JG)o*F2cQTg>PZyJKvfp)V}w{FHH3N zUjEY2zyAeeeFcB)SpxHcz9>cT#}wQL2Dj9~4~8%uBz#8-SJ=XzEMtH*EHMt_#J~-% z-E8^y5|&b=aCJ%Wb(2dRo2YmpEM|*~%L`-O$T+4eCR~dt>s{fZ*d;SoNR790V=gdf z$R{asK#n|;Bu8P%F-|d$Y3ySg1Np_@tum3XY~(B>dCPw|?y`=pycL^3StC*|12n9& z<21iy%@ApG5~zIUFU#2_bT)`T<4mO`Ni!QCcG~||F9~QW<G=_D=sNC!UJr6HN=A8nchjaJ#G7a3|FjT$3`_VigHjpjhFx)ZH7+Nl+pY8uTt zB$YPwt1*8aYei2QLbd+ctqYm!8SNSbrB2zg$#Y@`yfAAo+Z^fed;?!adjZpSm1kv{fp4|CUx-cN)aq>G`&PUbCR{y4XZF`eIZ8 z^scgc=tLiY)6GPRsE?J?C9ZnW*XZ-CCtd17@4DBm4)&vq-L7O`I@Oz=_NODA?OP{x zug`yebv&&-zG;z?*}a~3$RR@OeP{ID0Uvj)kAm>1h!N8Zw`~P%Q1BPo#s*Um`23AbCzrYJ$p?IY2>*M;k9m$IufgQ!WBGsHYrdO}5B=YB9wgN7p7rmX^Xwyk`yA=M z_EPY|W*b!fRcC)d-49~;_f!59rhh)|k6{1&*Hi!e<$pZ=4_^S-P6CKo1SnQ-cXr@m zfL!%>3FsXQh*pQ!JrB2e*ykta*KHPv02TOr7YGeGM1j#4ejZp1AUJ{>D1sWuCK!MC zaVls49B5{T!h$Myf(HPD9Vdeyh(jT$eJ-daGe~njc!Rx{gC)3wHTZ%l*nxEdg!G1l z0x*QDhbc`6a8Ec*4d_@9h;LSiO<0&%T8MF6m`n&bSztJFV(3f~*jZ*sIWCumUPxGM z*f?&84s!T@YM4B9m=JhahJ1KDddPo7aQIht*k@8G5rjB@emGEQSci%jhmI&bJV-r& zI51Q=JKx6wk~lq-h%J@~JD6wznkYS-|F|oj=sS+L15cPeq&O?4=sKYI395)atf(rk z*gCLC0iyUkv=}P3$U3;#3bI%|yf}qAcs#%;0lMfs#8`y706wTV2*NmtjHrJ##%Mgq zC_q zDXEQrc#{BTkKwVC&WJoRsS7lzl9B&7lq5D`^l_A~@QfRSk~&b6yTg)(;F4HSlAWWJ zuE3N*xrjapOF8KuQwa)Hxd1PdN%*c?Dm|Ibj(ZK)HlAh&+E=DGdIomXg4h zC3BUjNR}%pmqh`XUI~-JgO`GdJse3m3TZw=BAJ|YnS4W;qh~Og32P$BJeyg23gel; z2Aatun#ad5r3q>lIXtN;eyi!43&omj1Dl#hW>NWwr-?kbiGmeVo47Wc!Q-2J37o^Z ze#rSw%BdigDM`Fpj?90#JH?rV#|fPm377epogbMZgP8zsX_$LionW`7OIu#S)gqx zp)Ww8w-ck-IifLHqDXl@!AUlO_oAl|f6}QtJZhq|@T1rHnu%u)%21?5IXyyppue!B zfA>vD3ZAqOrMf9TPAZneaHScRqg2|XrqHEmNj_Sdmr$xYga-fajs7b|9x0yy|tY$^(w-oUY@mRR^pbkbZDFPqlTc{-J-ST(exwN*~X9HPI@q@pC9oYBcH!uiqiBKSQr_RIJ3B zn2z)dcTuIRqM{XQmR*Po02`*uu&=G-m+$ylR1vV?u&}Jtu=Pj_2s@+_JFqg^ub}j> zOcAlxFtL9v*RkXHu|yHF)iAO+SFmGvv2KyF3cIm1TAo*UurQmj_98)?d7-sxvoBi~ zF{`tNs;QBhpa`K^D4Vm5|MjIt3PShFJ4diVP}@3G8>B`swd0zlTKhp#t3g&| z3o?lthKozNF3OYVNV>2Cy1|6HAEUZw$hxijot9gWq{^|mtGf~Ux^;8AZD_hcRl5LU zxEp`Qw)L7YO2=$?TeZ^bywlot(Mz~dOTE>Lt=GFH**l%v%e~#|y&kZO3gJ_6N>vNcfC6;=Isnc%+Um^(;mdr zRshr0Ak#Iz2`$))&0Wn^*~EF-iWk{~{Sk%j&m8pF*&N!M zU0tMY&>?i%`5bbh-D4vZ&vW_Nx;AG=sKfd2+7qJEH&ok-sb{j5+rWQq#Qxf3frbIU zZ9~DGj>)au%w0py?XbfwY<#BMHOtxyq1?+|+|7O59&6o_hTX=!+do?o-7RQ1ZQk0= z+0aegn++pwrhU)jjUe((GW6Xyz1^nxtugwonYS&pe2pytUN`)`r~d6qjV(P0PN<8W z-wggd4&JB`{@)V*z5;5#w38j-ot?HCp0Nv&U9CMw6n?1+K1&!r#rDk)(j89EcGe=s zv=9a3BP8Q9&QLWjLN_j1IsR)Y#N(G0Q9AD0LCyshMdVLw4h2mfRxJeO zQC?9=ezsLExCe#hAFkz4p_kzb78sX}j06&YNS5Y_rVGWk?hD6qpw{+{uk+4ozMl&U zhs5HLhfFG$#->xXj0S$x%kzrOYDvizsPD;j83a_kah2 z|FIXy_19weBZ!#zM9BE2_^8tuVF(0id5I#a*@gMIIZ3(EIZDd$d5Tmji0Tk3stVhG z$vO)Yt4BNKYGupoiTf+jn}w@uD16)mtbB?*I9qJjEIqee-8daW41I>(onj6C=k1}r zeK?Lj629)39*Jsx=RV)TZVyJ!M;m{h?=NsKV3dF5_+j`*P@qB{37;8!g>c@&iE#WC zdk+pn@vr0@zGx^m#b~C5Y z3_E=}booC;`JAMqAG0wkO*9pG-l5pgI&73=T zo=jP7ILxFUYW9pewQA6z`C2Xwd)sN%v}-$N-8xU;*t~trwhcV^0NlCd?Cy=+!f)Zs zQxh+~=6Len%bQ!@{2Y23>CherMSt7=Qg0_8)+MH^4_zECsG};A06YSObGTIhdD$2Tn-gHv)P^V1^Jz zC>~oK7GYsj7{aAte;l4@LW)|gcvg$`nFym0GLA)~S2nKqVvg#3SXGEDj!5ESK?<1- zkxUs`Ba%rbwj`4u>{wTiRs9&5U{;oZrC-H8NRgLc4mnz0(2+TjnP)bCnI>Foidd$a zZ^8+Vo2{|Ake+we|ieic4;~=cWs9 zvg=;kF1qi=i*K*K#X0M$v z+FCNjcHH^84NKQ@-~BAzs@RQp-@fWy3g3PYE-T=q2u^t7BpN;n;)*}M9^;)j4teF) z|4ELC$~z~mDdzu1SPuFCoQvwYKcQPbdMKrvemdl-Q?hzKt-BsI>9M;r`{S=0b35+2 zC%$_$y{Gd#@U^QxJUYb_9=sXJE5E$o&2#g7H_?}2_XaY5V?VttRd0YOIbMSZh(Mbd z@Inb}AXgTsA_qzkFc6&41TQFy3i1ep9OQ`x1=zt5ilz%y5}^rEmbH+aaD{jXpqN;Q zHVSaB3jeF&+GMyr8rpD&Uc;gGbjZUX=F5lK1ELU*h%O>x&xlBDqPCQHJtjJFiphdv z^rT3|EdTa@%8JXwq87gxD=rq#i(o8cgv9teGMaIXk->#bCcwrxZjlymlz<%XC@VL5 z(2jWQBZ>5AlnD57ko^JVQ{YI*M1seVmEofzA1NG0h6Rz3tYmE@IYJ0na+9jTlpILQ3WPR>?{jxzc^GjAe&^X4$@4+EPKdWS=f~d7oac@0Y+N zk1*9o%wj_4nCVNVGIPUB^f~jHp^4`C$Z*O>>f{UA>}KM&=>>0!vv1(+!Z^c3+;gAl%4ZVz2~cnO6A1w==(GmP5NhtSc?NALvKZ>n zi1G@5|DqDDD6A-I(TpAlqZ;jKcsT0OkTM6PA}#49D`?V`0*9n3ZRsder~#MCG+qZ2 z;xso0O7_(>h&R2NHMzG_9` zWLLdjR{gitk99SAU+rI5H#XMgm6d;Iy_m~?-15PGOsylbB&BiUT8XRC^+cX54_-AO zw!Plcu5oZ-Ugye@y3Rs3e}%}?1WTd5LaebO(Q9J)O4#U7b{CeVh+4X=2u#**^}z`W{x0eQKL zwbZ`wO&vj~ltQOQUl|s#f2uDPI+DBm&QY|m>u;%i!;t_}ph=l&SlfbjW$%{uyX z|40ITk3p9f&Ro8Xb=17p{Vj`fc(c#4Ank!KPC73wR^hFLb^uIwK+~We7pITx=?+{P z#-rBars2|Qj9{zO0Acm3Tup0A-_6pr7WJ*O`0BI7S|y*>8m4Tm08$(K0J@eNua~Wl zMpN(CR17xRP%Z0XOU)F>PJpt1x2=F?r_)v8?sc~j@NE!j``R@|%DUC2#lECE4n>PD zpd3llOj}ak*_K1SrGO}W!z4E5!c~qhpl6Zf5i~iY#L@Ex{QTXN@O84^r@6El1YkdoTqe$a0QhD7ZT#T6 zjdK-WDQuA1>>GRCy+yzbhf| z=pOvW3%~bx^*ua_PXgnA!|wQ(r^E1kmwVy9E^T?(yzPX?2InR3`B+uH45}48-b+7? z)5B}>;8{HnE^h#_!(JM)?`P^^l>(mT^z);4;#*IU)`BKqHA=tV@nbZ6+b%yf&9~q4 z!4&i#fpr?M?$9{`*fZmsY$k%}1)OwBgdheGUE@`BYCgSnS^ zw!<$r2!kqUfh_ocgCIzRK4^q8h=fgeDLptvAE4) z;e~8?Qp*TA$>WB`1?1+Zt=xpP-j`V1biy@CB0*~Xck8g;NY-5Yv(~mn7jIFbJ135$XI5Y=& zItfXNrm8a8{vZ9ouP?kwFmZ6iD>3EfJ<&Nglmd7%e zNphAM6qn^wm-@Aqw3GyY`r+ zFqzVSl9_o_ne_;g8u^*zvjt39IkQ#_6p)eac9TFTnp!}bkYk#pjb%xNJt0@2r>6_vsoVoy1#c2n}`I9&qMZozz&FKoyscO(5 zokt0j)w!Iv>6*DYJG%)J6OfvY8J@v8p2LZMRnTb$-FcYbc}3RgJ=p&l3fd_w+=-s{ znMVGppI7jjk7J&cz&)F(g^}rXBuJN?IfxFLJA(Ls*MXpB1))@Vp`J0JkCvg{RG|&3 zpnms&57nXF^r6Hep(6^Sg=vf>3OXsupeX91r*xux8KRV@qB44;?Z~2vIirxVq0Lc$ zqxmzWjM=085u_vaqoGu!l)0nVk))Bdq~o@pT?C-m1{>y6pvJia>4{%gs+xILK3f`{ zT?(e^iJZ!5Wn&7T_9X#c3OaCVImw}=ZCYe?aHd~crDKE~b-JCWX{LMnpMq+bPsXNy zDw~0trl7f~Kh&p(x}ShL19Dn9l=_T+kJ_4u%A1Nhovitrgo>r5|KX>Rny8bSr*V3! zbBd|sL#Ae+N>i#hS-~X?_@oCabQmzJGS#F&cB>bVt1h*xoOu*01`hcMhOlZp!#ZN& zV62D{tYOrv%5h)D`m7fftpM<=>;+!0bgkK%WXQ@q-8!xLSglhctK*uAsamOj>Uu;0 z2ziqF2bTJd>}pdHNDs2X2=b~p`YKfRIuH0t2>ePo0_#-%>J9)Kuk^aF3fr$nbFcgv zunaq}5?ini`>zn2u%H^I-btNnB1p7>L)Iyw=}3azz&s+T?Hvu6aZWGS>mTS!IAmPh}KwCl06HrlgIOSC}i zqedpRNlUfkvtd{3v`YJ;Ov|+#nzfP%wqdKJV;eqOt4$P3vX_aN_C_HHYYj8&naH^n z%e579+bT7Ss$ZEDcq}kND6b zlKTskYc`ha4T$>_n#*(-7NdnKJkW%>aT~LX%eH>$x5Svb3L?7KI&F9NsfPQvu?rxx z8&2Gcwq`p-JMgN%3%v2d1H*fy#d|}->$}OTyk&E|%^Q`^D?Q9hOI}O8Kg(OvOLN&f zIMI8(#Ou8;HUr2zz2h5yH{hE~*o(eX>%9Kax-5&k3WWj#|5}LgOSAJ!zb0V6>Vm&@ z+o}7j0{u%Zoa;`GE5N4ao?m0YVB@*_OTY*9zl9sX348((EG-SpzzCec82l_6>@^Qe zzaA_v6WqA3Yr!Hw!pH)`^Tfddyu!5cwC;Pp?R#S<8-MI8H#5wCg*OW-I-I^hY{M@V z0jp=e-8;nOTf{CYb=>Q7N$f2?j4DqYzV8dg+6w_j?8Hrc#W!rR;8(-aB*a~;k2suv zNGz4&OU6QK#sWCTX2Zi~_{QL3!j=2N1Jrw}%C~x~zbBN(>$=B)+{Y&L$Cnz&hCIk3 zRLJvs$c&uGA+*SU3){$&{Ky>?$rL!rm|V#mbjcH&$)5kb$r#khgVVwYBf`%!%5D3} zqO$)H3oAGHnWU5wVVpKti}x<3I5znMT2q)aAF}ZuPdusSo$`m|wJQ&dTGtm5;b8jMUAz8h!C={Dgv~RS&8!ri+Dft7oZZ@{ zy%4a?*PpxFq}|){eA*@*+K_2xv@M{H?X4R-pYb@{R80ha{Rtlt*48)OWQ_pUy$Q>d z*U7qn+(gZ6&bki=eON# zO{%`F5dNLkY!%@1R&Moe4F(?9CM(|pzToZs)Wwn02|C_PJ>di{5Dp&LRF&ZUHsHqn z+dP!nP)TRVp|)&v;%__KOJ=ol)Z&ku;b0bj<8d_O(jDOx{@gZ{XDZ%jk8*|&Gv&S-<~}v0 zWIo(>b~IxyE@dvQgoaq~EzEDe=4Vb+X>RAE&E`Yn=GOw}*ox;$rRRWt=W@PUbZ#yd zdtT#aj_6DC=gbo5ef~3%9xRhS=s%aSF$Ecyy!8tdf0ok9w(bkZGLzQ!JS}SzTUz_O)XRmcYbboY3OrHFe5c&do7;?sTI<1X?y%0^jEowbJ z)U6PX4qzVeeVV>Y9*?vBzP;Z5Sx+I)PiC$^?H(^__4*k!^$#F3fwu_0I|xw(J%z;> z%5s=4qDDIZ2`Rd=7z-o1jU+Wp^cV^xERo?#f4UTK5~ZPa18Um5i8H6pojiN`{0THD zPJl1v#gvIOr8%KYn>u|uRA13}N0VBuLKCXitz2yqojR`S)v*_{c0G$0=vT1S#FBk$ zHm%&bUZt{a+wrYl3UTTBJ-haZH_Wg?(YGAZ{P=3*$((yu zf4005bLOO*JDZML5Om{iqv0++ZThonL4+0V8Cx2*XS=f@)s~$G_iNouf%neyoA(^y z-H10eeq2uS)Ona=b6#9|bUxD`>aqR|J7w+L2Z{E0Tk~-7KB1RS(>>#N_08G;bpL+Q zd5Y-`um88d6Mp$=5#LDj`Bxu+JP9};e-;I{bRcQ}VaH&D^Xz9^N#H3%SA`bZ@ZdHs zZ3s+<VySWtAUXsY{j~ZTZ}iUV?~Wm$#7k%Lik9pkSPGe{%Nb znH{j%NSz(b$!DK9_Gl*ucru~@k3ew0CkK8Wis+Pp2CBiJgcQ0#qLNO!n^lZ%;3y!F zYCvhHo(`}nqnZ8@>H(jgnrNwZj_QZ10-y?OpRRhzY8|e|iff#+R#__?x8@40c)K#$ z>l?oYi!5xz{|-48u9sf%=%UY#(JX+|;(wy4wAX4;t$o|3n60JXZqY4!;}Q|AxaVR~ zu6XNa5^hrOvU`<+^8%5sy!SrQE_VCgkS|jII?=Cl1N%d&wg&@IFmVgZ7_Yz&3(>G{ z6Yton!WXAdak3tNjM&DobPRIICfg*kDkPuGvd1ZxvU1BZ=lU`!G0%+isWp#sbAQf0 zPr7p_J^xI!pFv|XbkR!3dGsYoFAcT3O+)f@)K~^TTT1z zy6=v2?!5mFyvv>kPkiy6pJ06Q%6ED>k%ODveDpC^eunhce@HzV*Khw`_SA3>esA9U z5PtcpjbDlR>Vt*8IP1UvQv0vKPya^p!&86$2i&($2`6b zk9zFm)%fVgKq?K8f-Gdt2x-Vfb}a&mY~;)k>Bva_P6B6yfFv)e6H3~Uk(lgcO*F|v zPI?lPpcJAgM=8ltBGHnlyre3hc*<5b@|9JLr7ROk%PrdSmW9kE7=KyGOGWyUJG%^~ z=mLfgwMC$X^Fn4glnDW5zRQ{0faW8lc`j;d!x6o8QvrG`I;3a&F6< z%|Is&)Ojs-GQ*wTfakR2SqyqAz@GO6=QG6#Ok+lInB^>{KtD&&bsF@bn@eas7s}Ag zIkf+u0gWi=Ci*N$T7PtM7`>E6H+r~^GU}rs-J3`QMbeV)ah(53sY><9j)9$&p9Dgq z-x`=fRvhe$#Owm$45dMx%G8XT^eOa!np0Hll&GOJD%Qj-5L7}#ksit(Q+<%}NR<(|m2~{=gSJ9f+ zO{|p(Fa66pcsi*e*0nN#?Pg_*6WZ2RwXwx*8FkwP-fp%HHdWkSflCW1@^2r< z|3xk;lv`ZL&41OowScZ&@zz}GZo;~5z3aZTTit<1*K*kfuOqnY*SFrwysSX)63#kJ z_MXDMN`UXWvi7=n<~1wP$#PD!miKF1IP191R8TXY#dzoLVpq>W{xkoe zCuit68-LNw-z$%o6I}s6Lz)6@#eiXcZ+e>w=oa>JJvD;HSDQPz1@wT)Qa0hf-B2(eC+nQBn$GThqLiP5zid3|YG zuUZq!j;v{%-9~7WcL>RjL#wUb8EmUj+g#@Mw0|X0Z3mo2++-y8n|=Kwy#^cCX<_#m z-Q8$u|C-w0R`<1uy=!Ar2i{1M>b#j9G9u9Uy?;f3@|LBweFMY3q$o39iwAK$hvwturaACz|1Joe z7k^pjs+c)gS*|Ww2tCE>-MOcGeRPqx+-5JYMa=uk@TNOFc|hmG(r>JFU!**JQLp*b zc~*5=Tpbe&6t=(eqaYp7C55=8x76Mf_ZiH6<*Bs$+wl${xzB~}hIBgv0dF6{=bG=4 zG`z#$9(cVEp7D-!yu~1&c*!sR;(bTBoPP$CcNy%R^NsiW;mZ^H7>wTMvo!tV5zijQ z*PHUK_dL@uAA8Nup7h9yx$f3}t!A{B)ZQ&S?0`Ql;Xjx7sWyJ=kpC>@=NHipH`VQ+ ze<|sIV$)CuZ0)cws)a0{`e8S~@2h_D$0dLN#eUtlb?^6o-x7f5#aONvQI^M04k%-o1z-aJfk5VO09JvckpBO!% zNPb;teq7jm<%5d+w}m~Zire#whtrAA_lB2Ki-B{Ctb>Djvx|Gvi>vdCa}$hpGmNNH zjBRs_ZvG1 zf0T(ula9Qwj>piBf>Vwh6@QKzF^_}sj+#@C$r6uil8X@WkB-xiKNFBjH<0^tkob6y zca)D2v5)w0iNsTo!IF@%Fp;bAjTYIEhZK_SC*zompHbU zcT%0ASc6o_l-fxG(m9un@|~$TmF~xqv$&T3)SZHop6$7wZGTChZ2yUD+!>S9nRM7` zmpf^Ty_uI#=`#a*Y}Wa1{;7=u%AY?LpO`YA0Schw>7IP)U=NC({W*kPIibSHpx$|* z`w61@!h0M#l;C-t45Od3)1XM{khi%y%gGg30SGckiMAu7TS23LV5174J2|QqJL(5L z8UR0vlMmn6VNd<(kq~>^}iIJpm5T!UerHE0bZ*Zlx1Efmg15j##5{RWu zdMI1!23;yUU#ci!TBFc-mtymrTw|WLW1wy-19O@)dTKRwT03{z13JK`j2Wlu8BTWE zqDqmcg?crE3N?NzJAld!X27U@TB#IjWQaPVA3>=dYJZ~j`6_V#8lsV!sFWb6m-?uv z`l*Ndr=>a*oqD2%N`UNHl`9%Ml3Et93aSX2ZyU-vkb0}G>I}MypS-GaCHkwj3Ol%J z0Za;`sN-KsT8CMxn9*7Wa>%BzVy#>{t!8SH+X@EQO0AL!uHo9P&w4uLYOZiNX0j{8tfMwvQEiwiN)-)j83zjn3Cl7II|u6OuoYo)DJq^GN}lAntskok95+9#mz@+#4jy~456g71 zdY=*74=~FZ7;ALC`kyWv78aYcG7EMzJF%e34}Ul-7&<$49sj4Ga{8ejcd{{ylLnNn z!nu8wn0fLFo8yPI*ip60$+cZe9AAr)`zN-#LAEk8d}lkh;|fz^%C>0hw%)jYaSI!1 z+cIlww?{U&b`!RHI~jOet##W*8hbJv`?JxsElTSS0b4YP%Z(|Se;~^vp4zfTYi5cY ze1AeaagOVpPkR>`86Aw951tF1pvxAbdmN;@35IJjkZZEtw78rLbEfMvu*;5;dnT-_ z39d_=sLMXOODnW%b+)^wz&jPH+Z((q3BC(5xa*gin|#E(u3p-=fXf-Ox2D&Ny^^85 z{i?OyD=FU#ncOSBhNXMk8@}gzDCE1f>wn9>ed4~jX}|{1bU{%i!%yLP7LfP2<$Ns>`f9ZD-KMkB}-H0HnkP3!7^jP z*o47+Lcz&0!qQa2b8^DHhrAuUoga+CA*`@348tR^!gA8W!IHwvl*770!y9YEH-8)g zKip~jTE6gGScJ#7(yIaloGXG`M@-xqn<&NO3&n;+#n~&o{YIwNtHdw0#ev(!2dBS+ z8OAC##@<`T9B{>n^2Tno#))CYSsW{I+(vUuLv7p#cC4*_97uYMzE12sX>5;Ye71t@ z7jU?@%t2kFIfoKVn0AD4%{L0h(##*!9B;su4A4wDA#2Ie*MH4`@XbD& z&ElLPWZ2Gs@XkdV&oe7A^jyu2aL>-F&oaTy{mcnHhQ#kH&+D9h_3Q`#oXPrtn$W2HFJGqwt4z$ENTTK8%xH+qJgK3p3(EvV$&Y(>D2o&el+vGD(#w0&0rb+R z8`HB9(r!4?wR+R4k<%Wn%zv^N(cAIUxVY1y({*D1LJ=H5f@@@N7rj}xs76#2#KTWC)`GF}Y~V2#ZdJ!4hvG-ll<9C^_68)`#c)*MVHl{ zvenz%)pl(TXbsL{z1BS~G;UoBfDO-TO<74DAqB@{B#F+NIoDh*kbi#N4Tz1;iVaze zT^)u^3z!Yii_O-SpwS8_tD~5_nKsQHT+Wnbg_uhcd%fBO7bUAD)cBcLsy)uE?bx@) zinv`8vc221ttGZyiar|=!adK#JtoF2(#TDay1m@`*4mKu+Q1##(yh=4P}+@f-8P%s zlg-z>UE95N+u$AC+JBAFW9iv?``oZ?KkBW^H@wi@1^rlgozCK&XdpHucnr4sZD{X2bfBI4u<;C}|X5)JsbyC$!_n)8mxu+e{SX z#WUn7>)b?ie@K?*={f4kw$uy9?M%<;jhFR4$3Bn?3Wvm^ z(ZowCf6SNiSvyKk(CVT2nrgS)?$HWvV8?*4IpIxb&P#Gc4UfyyY__{uKhM4S-5s(Q zC^(4J2ln@42u3)i*z?C2DH-Wlh3HcWHCdFog18A9O4pfmDMQL58iXnasrm{lf5hr% z>NHCei*l>*nd|!-vin#&A>0B?VtnO_-0ZCENn8x=FkpR+ovppi-R=Di9xgsEUEzGb zN9|C~?xx-_9xp#nPu>oMo)7oVaPObUPeHwb1PhAur!OI&fDisTq`)wN!HES;PmOes8hSnt9mu8g{)fHarKJ!8d$Lz$+A46^=w*# zYuPGv>k;l#xpV8)wW|+rN4-S(_WgPfFi^n{3FkC?xMX6*H5of}%o1|se}j`LpS1iB zb4!(*>2~&v5%k{^aY>iWBdd!IQz&-wKC zwf}#MPIU}jS6hFQ*hdV0f1}|x6@LaU1d>(?2FIXO4nD{Qg0)Oolzu)Hh~Xd_n!=$& zn(4+}i1q!Kmx=-i=n?`Kx~L0_gSiM}j4Odiqec<_hNE{n^1@?}U)b1Kkmn8AP;y3g zG2$gO=BVS0PmT~}FDgHvOx~3XzudM#MO|i-U z#0sFYA^3`HHqMIhe<`ukdhn+nCq&C_w*xqOEg{)5fP%N?+6r#Cf{eRBx#zx{Xu9g| z!L9=C!i#Td^3E$qy=ZKkZ@`D`%P$=MB5<$33KM8;!E+pZK*9@8EZ?pU#{sbc5>w1E zNd#ZqMaBVa+;PbkSqyR-B9m-#%P2ORvcbo?Ofx-poEft|e;?=k!Oc$cjMC0PbKo zdFGmL{u<_-TYnCE=rVaOdg-R0J}KjwmtGGR zEPpBxeGZ64`S3Bm2!e@Ruy~*ZFW9pNIB;rrz@P^QMZs5C@Pj0jS_oA!!V-S4ffeMS z8&pU_7K+e?WPsrcHP}KkXvu~WlpzXfI0hbK(1)T(p%B+bjRh)kbxB;J6Ghj=CrWX1 zQJkU`DObfS|7x*uS=^!*4cEmlit%q@9Dk!3@m9t&s?lU=T%#K|bte}1Clfw+WB%f} zf;m>Aj&{5s9#x=6NAR(a_4^|cGt`Me5^{cq#NjCD7=uL?vXSjl11S_KN%&E+l8@YD zBr_?$P1?(niToreH7QDjkrI+HIA#1&sme|Y(v+@rUA10NvTD>)fVZSTF5$7u0Dty! z0>5NHFonr1Vs=cI$MoMYB~Z)-H1mJYj6gI6GR^)~69U(iNH+PmO#pNg0pA2?GNHLl zV3zZa=d@-zjk(S*VzMuX1O*%7`M!D1rJkF(CqCP!&$RG!68`+>`T~lUfgb1#24x>Y zy`s?Qn4$ln2c_j5updfvvB|sjMUcFXll=#x^1U_=&2dV2Go8Em2O16gHgkPR7XBzsZ#0yPebX` zswI`6RNbKluKLQXVoj>ec%bjBT2!naHEdg5s1Az+R#dL_r({KjS%-&Kr+=yys%)(* zFz$-Hyt?73i|FeK%i7gGeKoCNovT*W3Da)<(NJxS>`^8wsLEQFCz#cfW;Yv?&IS(} zpcN<{DNEYYLiDtmO|5E6%39C5_O&yO?P!%jTiC`CwYbe~ZFk#RWdza+UcDGB`>>ef z0+I@e{|#)+lv{`7Liey(YJYC?o;zK~ekQw|6v|sWm^1G3wKC%Um$1T6T!)p{3esKg z$e8=x7lzlpPiXIYbA?{T8kfFGuy1+sdkFoim%mByuXq7WTmcu1zy-Dmfe~y81@nu+ zscOJS7o;8b<%h=+Vi<^)!^V*5i3gBkTYrrBq$O77i@_0N zh-|o~?d0Z-ag0X|&zQx+aPf(AJdGjqxW?%Gu{V$`ffX;g#TIq4HlQ2W4dvG;`RzJGw5CE||b$F^OGZex?$ zf@QY>u{~66@A=$BOZQyX?U8oR+SwR@wIV=U;o4kFRcHtx#$P@NMC5$y zJ6FThSy6SfGu`F#)%yOpeyE-^DeWp-dw{{N0i6^4=5ikr-Mt`oteem6`h$BB&W?(| zhs^E?#(M_zPVTUCeC`sC!xS%B_L_J(ahTuxQZ|pc&VNTfETBJ}=pTNS(u1*-o)3!Z z2Y31wvE}uGi~WsePkX@GK1sOGJ>PaOrr!HrZ@^!Z@Pn!J^fj$Nf#7vm5%>PmtsdLC9<%rtx%cxC>k zffrYN!Nk$OLZqgK(HKa+m~km^)7=fOrTpddLH> zMT0L`hz)g!DVT`=w1^|vi1GA@Ay|SU6^R;HiQjaI!i5u04C-{jJ{}qZY zIDd+Wc#4YXS4`o9r~`y`6IY_sil_66Zxf55GmEBEi)(X>pp%QGvx{ici=Xq0vIvN} zGmM;5jJSA=u*g`zc!S~xhQ*VNo3o6**o?OLjK&CtPgsT6Q;nK)jl`IZyts|3SBf== z4e7W=?5K_~mWqAkj_Np%R#cBNc#l$)kAEz2Banz)LT;f-A=7B-bOdSyB+^M=!CVcLZZ;g~rZd50WHULFYyAZa-w>5AnT7-IF2 z=Lk9~NsBC*4;Fb2C|Nl&sf#p;4mJrlF!?z;35_I)52m$&FBW6-NL0l7ARk zI!eimM7doi`3pEnIZ}y@RM{I=X*Ec>IjEM9p!1NN7m+Gdmc%!ftz;9+a5xL~(M}T}RZI95b14 zxtK!~m{gRRsMD5qv69`GIY!14EPvMow4(-}$&?r%jt7Voq{#%PnFgr&jd>TEta%i! z`2(=&1+qzzv}rk_IXWSS1-jV)c8G~`s9Q>&7O1964gr;mzyW*VrADgcd|rO!5}j#H;->ZWlzrGKFR>ZqE^r#Ts> z#+RsXYN?oNr-%9w#7U}yC7?m-IK_u}d#GAZN-DNGd9y%>w8}*lh-h=hh`_2iyxMoH z@T*74I>>r*x3H`qYD>aOXvB(7x(Y|s>SxvpiN(qDBjXnw$mu zuC5k83HuQXyQ*h;oOjx<2WzjVDr7aFulVP%?P+81BeA6rve?J48>zAX%CREmu_t>t zA8WCjhOjNGVgj48jU%&_`e!6-voiLwIm?G|@U`kHJ7#+xCB_ad2qQkleweoCY*b9;A*&x zI_oTwqfzf@TG6XN(@VWB`nJyW zQrWA$YRhaq=)DQWx6>-V<7=ebt4-aDz8(s`$aKE#>wmrpM?l#BE5AN!z0f;^_iLf~ zi$C`3O2X?h#Cua}*STs!w5dC&Tv@>Dg1kM}hoC#Oc-6qLK)9YHwDQWp70h?HJ0~z} zI0VeWTX4a%l))&wx+5%k2mB)^9J8XU!X*5_&KJQ7+^`!Q!*$2PAMC;*48u7rbu(;z zeygat3xC9cP{K2iK6!h;xN190EWb{?uI0bw+>%UcuEKyVY|)y`OK{n&Bkn*<17-u49&t^ zHh<`hM)15i)!fd?+!XRmGt}J8^?c3Lg3o;U&#zO?YOK!S0m6}-c~xVjH*CwQJE_`O zs<#Zdlv>1px;qO^u#hY`hL?w%8oC+{ehD3g9zDU%Wy2XgddNu98r;weoYKx1(GES) zhg;EzdeJM5!bZ%h7Om1T?b15EyQq58K7TDR(!3erB!STXajP!51x9^45S-M;vD98E z1x|fYP`!UfGS%Y+AGS`~W*5M4dcpcW1GT8N1*k&Eah@Gio-K+2L$Sv(qB7coE zlN}=<3(`i*(^j$Ab->w{T~VzE6rl~ke0)$-3D9=-k1b*BAM$lbb_sZN3B7 z+CV4WE+M%gu~)o?*)km7Dly(KQGeb(ciuDC+aR&tg#YE-Mf9?d#&BH>)1HzaL^6j|1I8{YuM^Ta#bZR@x2iN4w>fN-+*V~5?7VnEzSeZ z;7ga@6*815%)DRs-5Xcp%ppIrT)Zky+snO#FP_OvG2u!_<5OtkIII{sUVnKzzJ)!G z;)=WA$z5_sU?}8c$mBCkA5U(nQND&#p12rdVm%I zhCBwoYwC90nw>7dGe5`*!dQwf1cf`p)@JHpvUOoza}RB#u{=_xwKD9^oc9NLYB1hqwR;p|zO!c;F{FNy)SLV3?`7SqKSv z3D5}W`B-Us`gh5>%G%0Anh1X?Y6pvmdW$&n~fi&2}my8#-Emy4XNGyL1^tZ5v_ zoKYO@rHp+${mk91X6?0oQ4Ri;eNHLvz0Ph@Zlzv9{(ggQe*~)3zQ0aSm9MG}z)}9{ z-ODvF2ET>R3f@R)XBI>n4s#sDH8BvwjsLzXw#c|eBFG6ISzN?8lB0i0S0z`BOd|4S zjg~1+YD>8?=O&sdWM&cQlO#_DHc`FQiPX?g20;}PYkFs?f}*F6CcWxL>J_LOpK^Vm zH33yqRT?2GrG^|KC9cij(w$encQW1H_AIa z!|~wjQr0b|z50fCB^!SqdyM?~&Df{^7mZ(9sQ|{`di8O3pJ#vYG4@}9{Tx_Yf~PGA z#(oa+;va#%1sK+V8C}Rvh961@n}GT?2qJxN*|(vB`NfA~iv2<88i~2R$e@NYb|d0M z&vB?#OaSeOA&s{Y2?dY^S%~B}MgrHQ6H5BSWRy|#2$7XdOi53bS~`JcLSHVy}M#TrCDh2b_Ki>K-g+%8FrBc^Yb}suD3OshpTv6soJvO6xKRy1ELi zHpyCRuc5YzYbLs$#H+8y`UPyTh5rnDQL)E93)-#93Y&k|sT@Fy?QRiHOYK_LZjf!b z%}L8GA&{D7yY99DFTMIA^NGFpB9-sH0uRyew*O)k@W2ZD zP;iY0BV6sm5)0Arkq=*$@WcyO4CTd1WvubQ92@E}z!8Ux@&F@aTCz?cr%dn4+qLZS z$uLhWGkJeB=k)T;>gG)8&biv`bJ5rct)vc#+j36=H;8l33-nKQ?~QccFz^ld&VD-;c;N>R zPKV)&yNfsli$6YX<6S{cd8U&8Gg5ixkY28r=AI4L$@yWQkB(;Oq(gdlmk~Z3E`O<; zetPs#LN9&wGE#4S_61_EefQXL?|t~IfiHgfqdoGd`RZRq{`&4ihkiis&(D7Ri_nk1 zW~DgKfBzKk@4o;F5E23`p#KPHzyvZ6feLKk@fhg92nr8^60BhFC}_b9;tqov?BMJ; z=)n+DjW8*2QY>a5!W0&PgbgquB7bP0!WagDg$!_^Fi*fT9%;izI}FN3a4uoYueoE2f6-2uPCsp$FK@Dy!L^wy&&uc)OuC6eoe4^Ff2<Z-N!PV0s+b!4F1RgeBZyiB{NW7kfQEtppRrizOYm0DWll6ib!cZtQ-rjGZnUID>cu}_ zdeV8;06kTD=qPUb42$+Op+_BRC60OvrM8r%R~>;=4}THXNoX}NPQ7Va^N`k@7Br(@ z$ZJDGTGPP>3#EVU+G0oGP1mhJ0+Y2RNd?!BElzesu4O=IGa*r`mgEVl?c3LaE8G6s zwzP9g?H-345RBbqxyf|y*rprI>%R853#e^)Pbj+cPP4VmjBR|s``htOZNIOKYscMN zfcYl)zJHT@@Hi)Yav6B`z}r;t&_+BVDz>=6l9chxZhRmeC-=vn!0lOk+XT9%(#6-o z&D5P>fh}n`J7RvfnJ3llLjStdIU;tnS%2MlQMcICe;&J~{-fCfz+KNB1nycq zDrI}W-Q5e6cUbg2WP`8W-}w`GQWSn-i=W-$=aYC(G=5=|kKN zcg~}%^02#ncrrh6%q^VpqPLytv4i?oQ+f3gBmL`M|0B=~zV#Zjz3XsqBZ&u!_Z1ef z+J6GR;p7v+__%1d^83sDTR8vu@r^zzrceFyTK{dx&%XCnhG4LD|NGS6zA3Oz{$QHF z66jBVE!R(p_Palo@Tc4O=f7tE;ya%1YXgPweBV0Xbv6DMJOIc#0w^^E2s{S3ItbV_ z3ivw=s5%aaG!W=J5|}y^C^Qz>I~aI38h^Mm9LPH!I5!|jGa|S^=^|wYkh=YT5gZIUQJ-7!!XhlRQgkxZYNR)&}2nI_yY!t?XIrf9q zH-%An3r?6sRcM7hrG+qsgc7J#nh}JWRq)>?V_J@9#ho7^Ep3sN@M|)}* ziJmiwxO5h9m^N|!Gm)m)kbmKEk?oL? zO0$uz*pYT*Q?wD1Ml+JXSC5MHkeHE@2?mZKGm~WVk+4OLu2Yj^bCZU%lM?fjUelAH zWsN*plppkxJK0*09*6CqA5|EjDxtSK!nX&enfmxZ5d6@@= ze`~2PtVxz9={~NBH)W|hX9+j5xh}YAG`6`mx+yNc$ze$;KERnR#D584u(>|QsZj_( zbI7Sa%E?j82zA04KG0cGZ3#TQiCeU}o7{Of+6i6W8JyVpJK(7jaTuCPQ;_(QkVRz( z=y{rGvz}}alRlFP@c-$UcKL}dxe4`oGxxcl@kuuGxd#3jQ|}p|`FR2OS(ndXpeX~O z@|m7SL!fH#pePfe1AjW9MN^?^aG@cSp<~0BtXGodk(XK%qF*zjwa1^D@Sz%$qF%G2 zl-Hu&0to6z0&FRrNJ*Z^pa$q9p4u3s$GM~Nk_JH9qhw^AE;Xb=@T2h5qz1I4zLJ(t zice8mKvT+6MJj$$fTUcyOIlhhReGdQnxwagr5Zz~UTUUbT7QjaIyY+?1z$Q9vIwVg zBd1V6ryHexX^Jy`+5=V!Dq?yQ0xF^#>NCnFnXNOLYjTKLGouQlsGiBFsmU^rD4~X` zqLT^%uG6S=a*1016R88kshwJ>n$j_ts-c=HqooP}o@%Kx6RMDks5j%PuX?H)kZ%lX ziK=?2r3$O4N`ErGx~Z%xs;(NWy83RsdIs{xqQIJ~)Ud1x+MpJ|ti_hB(ppYwL#VUT zcEaaM?$@o~WOfKAO5``Ld%7gLHxxCPu5DTovF8!)3aA8D67pIR^m?am^Q|05A?RAK zOj)kr%1rb3u2*`m?8+1R>ZUq5u>N|k-*>Qs`miMTuYVs{t1vUF3S^$G0E=5;th5@k z#^{_dsc31Gv3!@Z8q~3+a#Qz5n`{qtvoPbF?@xv~!lU&PIPlOBXk*7D2l-Q#(LdONvqZ5INg>WLrT` z`zq~8JAV^Pr59G3%NMXW(_wG>i~H)Z5k|NFW4B=Gws{K#Y`die=C^+vw?rzqgUc|5 zn=*5YxIF;4W7@Zk+l`8AVUa7j;J3G|!?*&+wdz@;d*ohqqP0zAw$EC%*Au#NGP+dM zxfJ@jy@6PRvbtMTx-?p%yOp|ZGP`2bx*YntfPa*`XtKLNd%D-UWM2}yelomBTdh`` zsi!+$9>yrkE48&NslPiu!8<0@JGQ->sMuRb+WRHk>sj7wtKe&o;;SVuy0(<7x$b+p zk2{_Xd%4d4n7K&@zmhAza+|-6yT69Zr}bMD|GT*Ti?{?_x%Vr;Wo5u|+Q5E`z%=>5 zd4C(hYC6HTWWE}Uz9$uJVyhKin}4^0timBczM+@F zDl5V<%$^=B6)qeuFpR?}b_~dKEXX#ojY^CyR9r`F_QF{#FpvyKlH9|T{9{{; zNtnFEn*S_j&CA6C;K`2+%2X@LTwKb~;>fJb$&<9o&(g}W{K}3L%f~XyxLnJLbbrgn zlFPol%Y@X+zVge&9L#?-%(bYvHH$N#C2Xe>9W;wz51I=(C&2^f{)7&idbIo3m z%>mrT+>9>X9CDnvCxOhQ&3u05{BUmQ4(i;t?96`dTq5vXRrLIt7R)6Xl)ESb|SxYMgzyaAZe|FY4Z zJH$f&Th#Y*)UKP<9R1TX7}U8b&wjkaOAUMf{1%yD$o6Z(Se<(fO)NRwS``fr3+`3Ieh{C-*PN!$bYS@+P&4FOW
pl_;^_V2 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