From 26be867d875e78c713422b781233d45b0e9ab78e Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 28 Dec 2023 21:27:13 +0700 Subject: [PATCH 1/4] add optional do_verify to Brain.dap_programFlash(), default to true duplicate program nrf52840 to program rnf52840_from_sdcard --- .../program_nrf52840/program_nrf52840.ino | 14 +- .../.pico_rp2040_tinyusb.test.only | 0 .../program_nrf52840_from_sdcard/bleblink.bin | Bin 0 -> 1048576 bytes .../program_nrf52840_from_sdcard.ino | 121 ++++++++++++++++++ src/Adafruit_TestBed_Brains.cpp | 51 +++++--- src/Adafruit_TestBed_Brains.h | 5 +- 6 files changed, 164 insertions(+), 27 deletions(-) create mode 100644 examples/Brain/program_nrf52840_from_sdcard/.pico_rp2040_tinyusb.test.only create mode 100644 examples/Brain/program_nrf52840_from_sdcard/bleblink.bin create mode 100644 examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino diff --git a/examples/Brain/program_nrf52840/program_nrf52840.ino b/examples/Brain/program_nrf52840/program_nrf52840.ino index f33e8fc..b6c1736 100644 --- a/examples/Brain/program_nrf52840/program_nrf52840.ino +++ b/examples/Brain/program_nrf52840/program_nrf52840.ino @@ -17,11 +17,7 @@ #include "Adafruit_TestBed_Brains.h" -// RP2040 Boot VID/PID -#define BOOT_VID 0x2e8a -#define BOOT_PID 0x0003 - -// file path on SDCard to prograom +// file path on SDCard to program #define TEST_FILE_PATH "nrf/feather_nrf52840/bleblink.bin" // DAP interface for nRF5x @@ -66,8 +62,10 @@ void setup() { // erase chip before programming Brain.dap_eraseChip(); + // skip verify for nrf52840 since it does not have crc32 hardware, + // and take too long to read the whole flash uint32_t ms = millis(); - size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0); + size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, false); ms = millis() - ms; print_speed(copied_bytes, ms); @@ -110,9 +108,7 @@ void tuh_mount_cb (uint8_t dev_addr) uint16_t vid, pid; tuh_vid_pid_get(dev_addr, &vid, &pid); - if ( !(vid == BOOT_VID && pid == BOOT_PID) ) { - Brain.LCD_printf(1, "UnkDev %04x:%04x", vid, pid); - } + Brain.LCD_printf("USBID %04x:%04x", vid, pid); } /// Invoked when device is unmounted (bus reset/unplugged) diff --git a/examples/Brain/program_nrf52840_from_sdcard/.pico_rp2040_tinyusb.test.only b/examples/Brain/program_nrf52840_from_sdcard/.pico_rp2040_tinyusb.test.only new file mode 100644 index 0000000..e69de29 diff --git a/examples/Brain/program_nrf52840_from_sdcard/bleblink.bin b/examples/Brain/program_nrf52840_from_sdcard/bleblink.bin new file mode 100644 index 0000000000000000000000000000000000000000..451fb0f1ece2b479bc9f214e5347cb9768ab0fcc GIT binary patch literal 1048576 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

fD18b1qz&S; z(7s^(SFyY`9cJ{;L;WJ?Xu@(B)VAPRz9U@Od3<_!Rk$2jHo(n1WEUR+71|g}N%KwW zfwc>0om3U=L zDLXV~0?F8u@e#nlrgVciH(vwwc`;^%P2H*eFlL2S-8`s)mLr6P3|Lj>s?QHGXcVS| zIcNvTgUF0BOpu_Hq>>`WW$PZFDT+!igHO6|WWiWal>*CEZyEv@J9uTa(W84+%>G0> z)?AZk2D*=d8v_rEy&s#`?6KCDqnjrVnZd5Tws>wqs{Mefi)5AMba(S)l!l43bv6rs?bLe`?OOJ>Z z*6-W~Pd}^rcmfFM_-#p0L@Xeqfud9^tg536zX6iWV*T||kEf)vL-D^N-tGZ3ivVG2dFKu`Ry?|x^qR03fpp5r*B2a3P;r&z^oB` zWgF!VqdF>uGt)BdL7|GlZqy4- z_*$SUam{uG+>3fOV1ELBIoKDU)3@0F^ISH-J@i$_O|#VK_xVvyGcaGJK6oe+5QZ@9`OWxcvqH%&6um4IySk)&j$Ey zKhOQDqpR}kf2m6icnRQ5{-9kiB~V-N5f-%m1MK|)MA;7Yq;WWjuQz@;S2YUozh*{- zzRB8(N5nsh;Wz!j<{Bol?FO|`8;IZ4zrGq;JVfBq;wN;RpS9KQ)rt76dXG0&&prR` zVs}}tY8;fSq020jwbNO$b|%a0l(n8LgOgjFvQY9Pa<6;3=tqo+QHo!VXoO2zBrM8)TVjXkZGi~dd~XR~yjM4s8i3%OR*!ndFB zx&Ot(BEZ2vVwtYdA&b$GMOFH>t6uT6LK8+lBPVsAjTpGpd2=|CIYnQcPh8?zVkmfS ziL%7G)Va*$bT*E6)-`&T&Dl{`XLC9q@;o&Arn%?aJ>mkd_h2sV5&=CHgxBlw5VpR1 z&M5CfujBG(D)~c35$OC~SKWBG|4uL8V?s=gc|L;}k;jP5GABlS&CpIZFTEYH1#Sm^ ztE0^0fonN-HnTJZ5nyKdE!ZiUdIA1o;Ywp9h46kMN_xonK8xA09yJcKkxrZJG=wm7Y^@O&PvWkPT>2Sh}&g6{$*^!r8!Y?MK#`<`|W@aICRH$ zfIrDN4!K8Hn({DsnBN;@F=s$YRi9`9i@{awclkD%+Kiztv~O_bHzls9JnxE4=wnc_@wn1LD>=*AjGEJN|t+=>w;*@FAN+<~ArJ1Y@vPQ#4`7S4;~tNDsVf8SH3^%*D^=*f zCPx6$JG0{;zAX-t%tG4&OP#I#$@r>d2G)iK6dtV+{mePc*K1MDeeK}x`r}6jXt!GeYU(Pf-kW;Q+5dRoY0l{S@B_r*QSTbC zz>4{K<@@JZ{bz|nbhxFO+@=mhFa@2*9R_Zm%sYv4w9=jpSs-24<5UR_=rQiGi$g2V z{NdC)fBVj}uNv=M1x$9j&#UwMQqOn&=y^d>IbayhebE5f=+DONnWcOP%EkdoCh4ky z9Du<)gh#929clnQZiW8zuS9pE%^%>`3W+}Wr)JKF5*)SCE_}oDG(m47ehS{IMPGag ztBY7)qd0!lY4tRM^JAg1B~rGC8c36QdiA`O7zThSDrZ=DkFTmn)!yLsUc*VMx z&VK0Vi{C#)I4kR_v4+bz->jgEsJUU4|>>IpvDX9Xlt;m8_5l@$M^wx7xP zFTq8gh%WY?s(v?@71Qat*s~X>`L)uk(ltbX$%w0hzFyg1;g?rtR5=E?+vwa|om(~Q zZ1nA(x492)w)L!ItS7*FSFoN(^s5iCSKcMf%Hd!sR*km30j%#45i0Kvcp;}nOugBx z&I{U+AvytZ2*5M)`R?XZ#p?H&(!N1uoK7w7YOeKd^Hf$A|7P329`73mNYi` zpYQB->-WgJjqU(d_|=`gA>1<_V`8Y(5ZO^`#+mX?Y?^*n)IaoQY?{|vpp|fkH$al$ zkPgHaJ#2vd3~|n)i#Gi4bu*X|_F-_3t zHM4m5_My~uYpX$Z+T3LUe?9EuKrQ!Fj1;C{8N3YsK{O6afwf_b6f21Q8!|zMKM$HSKiYtuxlqq5&Ww36XxBHAg(e?u890ZsRI@Zv+zee z!6a}WTeLGASr710pC8<2|C88%jjm5WOn#!o=uMo3OWNTv+=(|&<4xdQ>TiCGH|czP zA8)<~`38TK@;f`!($~Y8U2ouScTCo}P{3c4AAnaGM|JBFfWdJpt0q^*_wOLpB~O-k z{J(KpxbWMqbK+!6mXfmCfY(p^fK7dT=&cTVqigt$E5a^+sV^rCyA_NsWV*03yf*>7 z#HfwVY|s%z-+}%>dLyJ&sZqRhxSWTFbKx;R9N1T^crWE4X#*qmw5w%z`oSx(gWZS=3Peb(}1lf3e&Y%kth3mR#Pa#^4?0()EO2%t&qMw8G$4r&O zenFUJHWrc@eEg`Lg!2}U-#93CUK19*@wjWaoKVoE<0#O+HWaV^6V>-1v9 zj66nlJEddF!E0a&#qL1lQ0%@?USf^cYDQQ+P#(hU=ZDwQMfo@UF%GCxgh=m{&p}xV zK$NBTl5zFb5bE(K)cZ(O#6ITI&Z4F%l-zjy7)qwKnstoEX7_N(Tq!)N(6a{gtg)1f zg6aeMrmrite*2DH9NqqS#{ofo5s`I_5;#X76L6;Eokn%~Kzg{q3u?RIZ`Bq4Zm(I* z0gkDotQ(XY1D!&;ZzEA>N(w)ddiSv*HiZXHma9zkl!JfhLM$(@KUB#On+mw!J%}TX z9{Xc8n^-DIehYR-Ai^iz{(Ey>Re$dIyyNA{3(<=lk{u@oNhp~5PYp39T-@=wYPL}B z)j44PD$lKF1fw&$v-(_z#W|tOjuXzRSV|qBiH)k+Cg0BZ67$Rc6X2k_24~bsfqR% zVFRpus&wwUK(GJCVd~$Ds3zrAf5G}lKo8#_aX4oa@xLSuke3_Te2L`+I!GeH^1!*M zUnL$ytHJ*UKkt|`>w{=ns$HziLq2{C>!uR4uAs&e(-7yX%maz`v-LIZX#)7qcVLTu zKd%4kho^|2>#58VrUAz-!hxnI9)S2uM4k1I!cLZHgd|P&A|uE!CZfb}{| zkKotViI{ke+8vVu9W!i2a3A3($u`PmtvnEC)Z` z&C+wc8*dL+zyk|({17Mkz03~{UZDwlgk3qcv32;_DE*mG=*CkMJgWr6n)Me1#b}(Ld?8ilXl_?6>9mIlooUfqc){1c(p(qY)E+jbRD$ zded;|t_NYsv}zdV@RxE*Q<#kZ8CbqJtphZ|p~^2nAH=bjVZI`VZa*m0*T2u>XwD?e z@zk5=j=3?fT#%_;0(4*>;s>|_gjnF)X8<*pJMkkwY`I@&J+k>uuc_y4^JP_|{iDMp z)~|=Of#~Qpm8zbDikXA=i%vo+rN3`k=r#BJ#d3Akc>iXg(f`c<*l>zRD!)MrwTl6t zSU<^T>nqGp+GAR0ss9ie?z{g|D=#QH{JmIxpwAH7vDBYid~dGmr`B@E#BpzRpnaUr ziwKRJ0CXNF#x*!w2$%Yn#$4DdPet7rtDmD!AZZM81<$#&D=pFNnQ1atXe;3I1oc=y z#m*(|LZDsne|$P)<#t32%aGib(j#1ppguAzr?vDN1yLH`AMCZLZ^5pD=ywrgN7B&@ zU=)QkgD<3+K(`3$%YB@`{+yXx1YbW6GbNSkOFga&*J4&TYG!!saI0%_xra=;W}P_o z42ep%fD55nh<@GliMIa{HZcdfE5_Pk!BURAuN|`JWm|iVT)EWLVNqA1HjYU7a9!Tf zAQ5%Kib4*+0uGq3kn@og zxfqhkPk!89zeLPN^esf>e87p>3v?a(Dy3bgli?kKY z$fJ_(?>GC*%4Lv-PluOf5lhDJO4^)3@HNDjX`2(ITPAfuo5w$* zz~+;4t9?Sj4Y20tTS|ha!hl>KJSevXxxndQMSxATi_ndj%&>AH3IFxU66jU#$I4I( z9oP*MNm$YWMHJ}#z@OJ?mI5j%3-8vWoDmWJscgvQa(u1++kL!vyZp3lrW`q5G8Ga9 zlZ=nT+91UE#7y!8sZ#je83h)2B_!k3$e{x9)^ZCT@UQj1o@?$|%h6h$mBY7;gh%dd zpA9mL`t_*m`iekXFd(-z1p;MQ$6xpJ+f0R)f_LO!`UqW*P0Y~S;e;ndGX7DbM7kd< z+^e^P6_~{|bsJhTR6}i9;1#7u;aT@sf-G{}u2-V8b`y<+uWy#hhwDc**I++z1<=EC z3lHK%3h;)WH~2NE+o%HGx4>WNvlUdz&oxyBo(ndB+u(qS3QV+?fLyo!pnL+ghSy0L z9G{Ol_1bY%<5Zt)NIdBMu*M}FLOtdtfaHXFyn%Wopcx^LAL^?B`il0f$ND3C`P~Bg zjJTjbpiVF9eRiMUynN4heKs5Q`lIHM&AKPE5&cH}bf;b;D)%5Pe2wxdA0iB*w`k0r zI#(qP_f`E5`pPgo>I=Mkfxa>#FBu;ig64d=yM+46i~60L+t{8V$?!fU)H()isKwq~ zaf@b_vHSC^=M84hsle!SstYv;`QHS_B<=0wHH*mQeHKX$p4i|XCwH)kfxWvV=LX1V zj|pfqkJ)8$8d?yYJ^^7un52*w;g;NpkQL3+ zNBil%V|!^uR4m7g8(t0GCX!yI<^V-u`8{|7#O%fjA3eOnjbgQoXk5!VwXTomAdNUy zdecE!pmkv;ALwMfb||%)Tbt^egev&NUQc^@>c7^&F9Hj^Gcexs(Jm9ly8Z#nhI25k+}0KpLzj>?)(A+92)MQ~MevlJ2=(8Hd~=&Q4a!n0PS6*#F@3 zF+SX@jD6L~n7f=%S2<|7IrUS}Prr%Sde(z(AxQ;ME_R(>=)seRqR`5-6YGPO*Bsl? z6x~}r>le^+&(l+OXwHq9IS7E>NyrZi4(|t5>}jmSyG6(NqP8A0&C|a9!RI!}gvC#*?cnm7{DX@vJ?l6R=IB9A%9(*u zn0gdaZ^ATE;2r1j9)zalqo|A+9S;xdlx?DGNjaXskn{#pDcX}9eDhM2tQotVMct7g z3ii*SV4v4`nItifB-{P8qT3;HY4_a@s)#h@2B$^+J5sy7Z!9mUdIJ`o)PiT}G=P@2 z);|(sq4SPFD@$Qk6%f7P-4AK4=9v(qb5(#JN;3X5c1l zZabvejKlh@1P#q`WQI(^EB@i+r9(KAe-En#yUG zyjG@2o92mU5aR&nCMXl+i5*OU_j0XtWO&Y4R5$vD^$L7yek?`5sPOdTfOWKW`J-st ze;_LFBiwkM+K1dSP3SRmSp%kC>_O9@-CZuCLMFfJ~wMBxM9p5nH$oqh2ce@cFG&l!Q45aH0ANzvZBP9+1P ze-f-h$m5iWB>PUG*wE=h@^6xULpA~JepY`h_VzipF6Y^Q7Veg(9%#LeHsirY0?b2BJu6Qtdpz3xm7CkUsskrWuT zhHFK4zTjGBRRhGgh@^8?sQ#sGz z3G;WG%}43^dPJ@91~p*MkZ!&-TrBU@%+2@95}`+B>cK(t(`@{7%`o06FAOe}3xWa2 zK}=EOWLv~EIWJe`l$KR?NM4!Wj-(LUP<~vEBcRpw61793A#VIjd_EU zK$-Q$@6#G$!liPwxanoA4ELp}_3$FrgWMtGM5Z%i)}XL=v6m!1rRe`|X1%j!)@RW~ zwPjc2G!I)Mi^BtLcrIxEq;Zp$@Ad|#p+}z>q@J6hyrPU$u2E(vUnpm*Q?^I+K0FeA zlm@Y$o4v4QrxdFOuR&d2iF!~ML3UHzddO(q zZ(W<*-RtJu(B@dh8;a~_b`Dg0Pij?SPrd;=<^mdxtsRG&Z}ISu-;HOdC9JZZvw7{=TV3M zY7o$}XCwkpk zN4@UYqvc~XQ$6_6z-KY@rJoEHS?LeV4wnX{oe1SX=&j(2Mebqn{!3Vk z7k&0T`USlvTYH*#ngNTwY`Zi9Ic+{nLQhK>hZYels}oQD1OkS|Mvbj9K+U z)Y(KWoCQB#x9iy-%_12oPGf(1JbG`_eyk`_=bB81y+P6wGIi{LdXnOHVr0%4KKAn_gyFf@|WX(zXA(Fl%;^UIgRe3!)j6-#Fnx@V^ zk_KK(|EKTM{{S)SV*06wW&C^t>8>xPq#ZB=v7b`=_OsBb6Jp#aWHBNF52TrV-O8A) znQt~U8=Fbb4tr$l_yfsLoJzTr)&|*$YD|zR$7&|nB3SYL>-=v!J^?44vWH#?NuCG$3> zK1i1AKASGbzf&uMMlm>B+1Pz|dnI%(o0zL7N;J`zH{C3`uEk8N52U<5r-ec4~~} zPRI$nT~_Q;0{RiLJqBgWt+CN;@sk*Fp0s}w-|&22b(nU~n9`HjcrL2&?{>7jgO~=M_jKaZkqcK$pD; zIisB?JwY;liRKD=8oWWJf$}NC$`XC2nnE%@;mPp50nLd2{N8}yU1EyL;8utNPsE)G zH|jdQ50Q!?zw~>Z8{E(&u;YRxHogFFc%xXhgmUx+lqO$8Z$R8o)(~3X4oMw!HGO{X z!QuQ2!};9+U%Q|EU{&1G2kg3tdy4Updt$1OeO>Nr_jEuOsgCTsJxp|cZb6DOgZ-r{ z_T|970s2RLF78CP!X`Pz>!m~1kectseVFf4a8^vjS%LgE0$GizJ(~QZ9B1dyNPMf6 zr)(wyv?lv80$S{HM2Sgpn|{av)aV(|9B%Z-6X2jv6aP{1eObMT-tv7}FLg`+-*_QD zcc>g5jg(_FR_47BpRIGx@5NHQ;tQH5Og!hsw#~|+9V)C*>pD?`KgQaFZIC692YnbC z^HUpZzT>#thV$@)lfKArlIFyW=&t`5=D7QZ>-#eLdkfWfcDh7Sfdcy61}15$#-MVa z$Em)yClLQhnj^z7r;{ae_j&5U?cBf??tme_Zd|G&kz~Su7=U zc?p|CV_k%A<=FSlIfo3&#<=8_KIp1zaw~jp z(pbU@0qeSyMHjr{z{zkHaUZKYxrxvFl0d|n8pGEGn=$uEA2|P8NFOzv zqiM-2C+9#5h`rMT2?Qa;37s~q05*kk^>uw*?bsK94u?4p`U1%JQ_Od2u@UwNs`ihX zCcogO-BR?V?!z_*C4Z*z1zh3ZYi_l;!hf&kJ%x1!QCPw&wk2<%)Tui&Gde0|X z&SRDSfWJvIima#!r-Vgn(##%)*hj{_S4bi_b3*CM0`F#1|Ei%4RV`r~;-R%yW=6>- z;ytX!{z!$w6@48`#ve>VhUb0PG8o~Dz5uVMcu?NFmufORoF%GNjo5R;!E=?uY25 zDWq`fZ@r}nzoT-tX(o2F6bzU9fsCcrX);n=fDHDRDyvLcY`=XP7S;;BN5Hxfk!ZMx zO|8+&VW)J(65{{osyPC3YkW&9oyQfw1v>ADR*KRGB5!H-d2eZsdCRN2;kmj%y8>fT zoqV9qUsJYRL`zV9L-_>SEARlBTlQJ=JVQ>Kr6}d-5JnHLNb>dv3U=MnLbaF(1(cjulEs@P0u&ru2H`-Y&n8@&^;bk4*ja?CT>fKpB1q!Vi@hO z<6z6WIZ5(-BW(6JaT~TBGkx+D$d07|@vULVR)mjWvSjM$8;z zb_J|kvG-)BuI0saU0K74xiiog9PKES`flwySkAsvj+K|kd9J;oI^W^B`UaZCZe98}p`8k_f)=9zaTN>wYU z)N%W#dEL6qXso&(6f*7yfX(?K;?D7$bBo(;m0>-hh~1i;MJ2y}?w2T?xvc;0jS+YP zRT5L)G4pQVBVxSqYfO!G<_#mf={4&s?a`dsc3j(T++Jypa{FMnorFvWnh(xxL6k}B z?ZRwxwWY>%gZW0vkN*DjYT~cAB5TmSqMV)jX#4Vj9%!BotB!~n5#WC4t7S%PcdaWj zwg6FV$Ex%D;YF$Q8%D|D9IL+DKQS-{nwZc^w+h+9Qk*D|rrKoam~h5y>qMzdzS#{c z4+Ed`QAAmkn*&TPUxZCLpzBB})fuqgnyVGUM%o0y*k8zueJg?)nz954>n9IWe( zKn|$WFO%Isdu%~TM%J>FemVRyJa1SzA30gWZj?1f&lz~~e8W;2+rfJ>VCTpApO84{ z(YfB6zD>^O&hXX+Uet7DR`8BleAFtEr4j8UrU+_rTZwL0bUs#b#>!>Mc|et7g_C{Q z=etc#L&11R*?HS*y&0LmhJ?$m_E{%hI{V&556#~4*vrvlMxZIfQnhKr%BL(393A7j z;c!}0W996_O-*AUDF{?nMjz2w=y{D}m&uT?LZ%v6Noan7rEe>wsTP~)nFrqnHcfs_ z5!X)(cIQFDs8!6GaM=7WZ-nq3q^C}CJtS(}!ukru4jdB!nh)@p|B}~(dG)XnutV1J z(>_P|KY8^M2j(EhZC?6mG4yC$jj4&cI2koAs%-57ejV? zJwr6f?`ny(Jf-~1n~cArr*r{<_Ua?ln?di)^<2<- zp3UQAnh$A_x}YBzALK_7goGSXj(uk3a@kOq`~UyxnOBkg0P5l^QB2{adY z+y^mN8Cp1&s7fb;{|<3jyArLH>4(K2WStes83Nv`fNv%wsG0h%U)S_VA;FNjxPIj z*|KG4m#NFXS@!j^4W=pnD6AKoL$G0lpNwu7UIzIO$9#|&UeD~Vl8Ei2P%r#GTnlyi z^@s(d7K~evw?JegToWS3k1|}B0B7aH=q1W%U>@hV{t+Foh=d)EZ?^^LJ0E<5D`x47 ziI5zBi*FfG9r4Vp;+vVj0s=#~=?uQzrWn4N>2tbcJV9?-N{$+)6jKe`UqPK3fKpsz z8GqC~CGT*c!#C{1J_gw4e^q!9=bdOQz`NoSYKl{42@8lr|LNmBWu zvO=%XLq}UW8U(x_+Jm>-dm1u-5#{lQ+3^I*dDr~FQGUvOC?^%C%Lgl`|2)iIr#w?K z&x`rq5~W;MQmf53Aqu5|T5evAQA6H3f~u}@5b>77OC_5ZAGP8?iWtfusWdzIC+}9A z!FNsfp~QtK(WXD~Atw7>hu_wF=Juo9l>dmP{UFCG#iPv5;?(D04q6BJ<97UArMwBR;|F$9Q;nC1a5qmiBETuJHjNb?3xG2e~84GsQB2^#AZoGO52yTs)I-7Ia@CU((p| zc5jlkRI)<`VPzH{k$Up~-COfM@Q(%of5`8x4$r^cGHiZ=l@g3wL)k zVoWIVwb*!-VuN0C{n!&RemF9F7i4#Vu^g;X`6=lU_)UqGv&_Ko5aDZTfxayX>Kb?D z@ydF9zYDH_^P3PqkxB_bnkwiP3?}?O((&^ zS;=cnk=t_i1WT%#@-}r~U!7Po_7&|KS(sKaOFTBI>NWTp6lnYzHtle zv={WvRqgf)=?1A#dY{g6XkRa^3ol|~N!89gXO$ou6i%^%Luo7~-J{kB6sX{u%}-a_ zkFQyz%5ODn#c5PQ zcqA3)<(ZX1r=IF%tj@HksU;Asz|(+i0@4~;f4u--qmLr&NmC2Il|x$NRt^X~xxg}@ zvS3qOYL1$Kvq41K+k$^YdQQnDS`H6SH{8GReB<_c#Z} zfbsyv1mAr_nW+GCs`6@}V<+RE48f-gyf10Pt8w<`s9T3f-&&>RW~OSX)YYvK*F3*w zjHs-6T${v*f?b2(?`c@9EcMFQ%Jw}1gi#anl#@ID+a;BNOQp6`i=PEjtFk~`=vin2 z?o~TbhJ2v2Z)fld)+CWAUU!fv-g7at*c(gT`|4;&t8$!)rKnyTC|AUdRw3ky5DxTT zP25qUaM$a<0=q%~bug=1m_b8u_9OZ5`*8-d&aeKZEqYb3GK{ranY;?|)RYmx{bBIY zF^c2c|9rBqCa(orPn)oKla><#no}rqm(8z;*hIx8D?;HQKT zUhZk{YqxigpY$70C%n39m19-Ws^70Vzv|qov#WaXi(9L{S@ku(SFQSrJ+4WPeK^6I zfF)v>%12O6d%ImL^7bE9P2owt4Two7pTNv#*hCh+Cppmw-4fYv zOae4<-lxAian*@4%IHu3psZDD6xabFj=NGXFNb6Td!&nz*4o%&*o}6#Uu^Z60b>jK zml$#KO~M;?{Vh`qwfo{2G4;<$S0~>xBgpbh&4J43A<8>2oVN+5qYJoJWPk8~m-7nx z^S}uUX4EM7`yTlNddcCWd4t(zpk6Au{`}{E*n(a<@dwVi1M(G?wiC1yVm-E-rdlH1 z9rbyi)>{x~fVozmuX-spuedhzu92-ckJN`mq-{u2pdXG~t zUI}W0vzw+q6_wHRwV3zR610MeYp6Z#K;<>S2Zqu;a>9N7;mU$F_SWx9GL(VV*ogBT zV~)F5`PVJjKp7< zkBS>`*6Em%kPpgk;OgecpDK-z&k@Hy_q^<*))J)Lpz+WkGl-d-W(>N zFK@)Gr`p~Y`{8q+{`}N|6PrVegsMQ^rc(`unZbr27o=IUaIiu0DqBIV@l$izm{N9M8 z+*AiN!qiUkfOa#C3V4xQp>wBt9sGi3;J3fWnPL+`8Py`jo(NCKS|*#)j$Rxib2Pt2 zS>S3B7rw9-+_tS&+VMHn#t&I7?f)gvO+Y+}xz?uf4m@!{SK%wXz9Mb8b+14l($#7HozL0P=WdOI~G;%z#&{33R|%-OEG(rB(P_8jpI}H*V;1WBjr8~7MI?3Vf%!4YE z*nKBV6Mu8!p%Y?I=oKvNe8NNYvIBGzWD{yPd;rRW1sj?xd!pMq_XCO95$W_&i}*0s zXgl!Iv0?{;uLfrXsZAqcXZnw5VGHp&?p(R#X2i30l%z+*lC+4sWLo(cs=szKe<-qTg1foGoZ?o(&QSMH{4Bmqk{Qha<6F|!f(usTv5GI|{D6GYo zwN@aM<%*nhu4=QfNl!&ny^bB5QairybK_&QlR7t~`uuCG$Xu2tmicttvG4M*Baeb; zwmxz{&cpZ^jav_z<4vb!96!E;A(V21$drc`1I$=A$`uzNtP)Dr) z5jN(^jd~tz4O0(Ze_nctVRgNl>POn^e$bCp!s33aWj0FSM9Td!B}Mzr2#WC6I229g zIvTlRpNc4Z>BM8sd%z(H?Ob!Q;thBD-?jWHdSY|>ZlS6n&+x>iQ+7VJlUWt2!)uXO zz3IDC_YVa7F?LDBzBRG`j98{DiTqmOnoYY>xCkZCseKBRdx14Tp2tdhBg*C-*c~l0 z*P^VGs0Y!)9Gg2VZg>YMZDM0;gr4XtSBRHq&4s_AeTYif*+=c77_4KzYg;U4nwWaJ zs_!aDR3O>#(G0AeH68Q zv<~x*m7QN*H!ecbMT0nMo1or4M5|d`OnZo^?@Jj9Q!Eox|I?l#1|6WUb0b$lk`#ch zn2@W*a7NoG?7(*pnj~r?EMg*SH7>-V=Hdn)-pOTUi%t6Y{4=)WzfXj7TGDqj+D%v? zq6ry{ILl{T)JNQgF**_) z21#>7Uk+B&bO#3u_NPuV@Jt5Cby7CDB-iN!hL)+FL8ntbC(U2r_YU_;Ym0c(9$of8QD z9}X0Fv5&d3e2}_AQx^bN-iVL9=%T(d01G^8lm&knw*q_#v<2|>ovk9WC7ba7Q1&kH zQB~Le_&#UOyplE3rnqpdtzZ zcG6^*)r(#1nRptoM_@Gt?7d|eMqt1MHpTeB)36y$58oQ&<;NP##n;6i!;^tTtI9bn z;h(|RmvjhJTcfQao)hDyPXmTuZGaF9cw7%$ILPVk#n|`2H#Og6$zf?gBlIug@n5iI z9IlIH$a>fj0ZH9vIs*GzoZ#v3pUzjPZG?gp!vC(ejfQmSnT^LrYl06|Rd*p`NgQ^X zz)13>QsN9SoE}UM6ajtz;*u90+UydJS3_H7!p_mZ|4CTH8V&m1xPDgPqH_gev8DTS z1Bn2kS5%$XS%HvW78|;7Q8zRpdx!5-G0@f|)_W9t>4?w2|0;L}5^`)ds8JBp3?;`7 zTwu9>ul>2N@u85*bbQp7op`(WZPRyLHqRvGCnISxzQo~+JbbePPdZzwpK#_^oBR@_ zn~3UMtLYVto&fKNIkQ?zY5wyFWq}KSSX(h*A|@%h75T} zy94C^Ty>sFU%~T-yBeWd*So=a_qB$TnjHhV@*3<7a zANQAgS_-gF9Ozicoyd@W-a|V|TTHjd41R)WIksmLls6h!dcMF)J_AwzW>tt3?gBpu z7VN4!pT?%e3wAkT>F{Hk?kU(kNpTHl%J^mamM8x|sBc=5Gdy1u?}HVt3%+-P^2E@1 zZ@dMoL4lQG{3v3L0G$ITCi~CB5~*J6^AFX!?HgfH-k}=A6ST_dt>SebU+U$sD zxCc_)06z(o+hytFEK>%z4)4Kz-fnZO8CtdgT@a3Fw4%zV{(zO-#<;DUK5*UCWOY?QEIIhnTY zcND$Qb}sD28ULxj6AJFxpsg`DnIigC`cFW=m*<%qt1Ynx1>jdkG55!eT3 zI0EV+ou?W25l)Oskgscq-Wv}~q3r?j5{*Se(LgtRSC5WJ^*C23l7i?BD$B}k)NDs^ zS_VlN*y#D0%7Qh%De(Ra;zY;5YJ4P{1aQ!8uvRxUS;A5H3JRW?8>?hnle5US(ORZYXVfU;I*)EQMyE?q*kB!e@?U79 zp3WLDu=d0qB{MgsN%1r5g8qi~)k?TMI5(hNnu&qXFJPlx=Mj|GhUa;VeI_p1fBi^h zJ(GT`ofbaYO0oKOfPTHLAE-A6O;}HTgaNX|Ymg^8Y!8?XrekYri9-tDC+V$!In4n> z`kf1A1KHmv`zuC(tFX&xD?;1s;3NNljeBo`_S3o8No)h3Y(!7}GR($ELQ=|)LiW$)q4uq{iXTz7X#aK(xJj_R&vD7TNM@i@T z-XOdVQnHrjp|}r7gM**;q#nGERdCau zP`!0UfhW{Ey4qu#)NRh6sXrDssavH@YLovB(2S*XlN#~jf8D1wL2v;OUN6)XJC87G!=prq}dI8prf8VP>Ta|n`AL)e0RJr6^=)cpO`X%|Q0t~GnJiHgI zlN8$kRx$9r++YnNrb@20YO@V@D?|=|mx)33yLBdIZUSOhk z?;Cx&S=M;^-`~KAAK$sY#({MV#%I$TeK}c(jV!;>HzCU$f1|HBOXz$67H-NW!swvu z{XngqtLBI~LrkRKtN+XI?do?N+tpjyY~W-*^x#q@&$Lu=n)w+*=i<-)x^Ul6|3xtl zG&TI1vnKUx@fT$i=*~35)Omv^7s&Ma@d}&`XW|a=5NFiJg+7}>n2{AX%_zc*D=?YL z1Vr_uvJDqo9zgjztgE#yKIgjYVW-RM@xRbrgovI?KR1{Ig zK04`I_hj0U8mKNp*&llTk9j8jVjP)jbhI6Z74?d$D}I3@l;;lf01L zwp)4jz6wMe6bo*#6? zj5wL#7*qvv^ikv zBkE<0l{;c4MHw_I?ZXm!|FSxgw-NO!(W=E1CcOT?z7bLH5V^hVN3h_Lz2I@g>++A& zySI@mMVTDtP1ILi3cCxSGZ2FF!>`j_bt&ZfYVx#yK>JPB*ss1p`?`&-S@5_Sy@7Uy z4&TD96BHe6)F+^q_0WCmq0cfwE^#J9T#$*bah7Fb@L5Cpw3|KS=`!NMjtQ8x8S%y7 z0BlZCC!PDlqCjxQAD6{g>fHpz_?5D+)XJte)8b!~*_`~&#fn)7Brccd#88SbL6NfZ z;(mFqPp?Qkcp?+4O-REDcj7Dg+WYzhWU^?oe>?F_q)Xk`C2o>awaBMh2utCSEDB4s z+SAvJ@zl4{1y_Q~`MOMPzB)ngD&r5v=K3gisw@ji;02rlXkW9&?fw7OS!UTJdsS(=?RC^1de^&W3uz{si>DucH=K$BTi79I7fJ^W3G={NmO66mFPSj zQ9OCbQ4wY9Q9lm%6YxYw-+`Si7k4X8!S91^H%gvL631bEn5j61tAKNosg#Xcwd;)0 zJmiISHMG5t)Y6;b5r?m8E#2KVoQD$gi3F=b7Hw=#=5e1wt1mtl@G*f?KE=fI(GLdA)?Qtt(0Hmp8j zw?et!7~$sB1A(y>lJ4AIqFtJ|U9Z!-H%FXBZ?$Rfq*nD7@tcKj^(DD&u9nUW&r7Za zC&nrLii8{Enrh)|BP#IbJ}$AjH)=WW6m>r`n{OQ4)E7~2bJQ*^aKC|wG2KJP-%mE* zqfE8vhAi1Z^)`_rheoiX1Fur9f*u6*XB3A@2b43;$wh=x?Br3WJJ9Zz+PJ&vz76+O zFS|R6zj+utgVuXonW6N%=%X7(@-SZ1GmvbUF~CM5ZQP?|RW=p#{>xSL{MWfa68i&I z5me`TQJQy)Kd4^ibpThbR5dCmXKt6hW#F1PB831SUIJoN&}UEzhdxvtn~k2xkgAx5 zM1K|Zsd}Y<(CQ0&e}ZR=eWJU@n*oms4tZR@?XG){cb(%_Bq7Z?Q%aKlNDXPSoSQ~H zNAxIY(%hohMqB=iG%vp-%_qhSVWmo|hP=*cQu4!1iOoF=Jons3(!Bev^52E@FQxMiN%_|Yu~%A~=`bqa(Kz%n@!NY_5qFj>u(%&`cc3Rl=%TaFb!aoj zsyAc4)Df!d*AQEZXtC=;I%{zW3A(2TRdE3O20|Cp9||_tmIW zYVEyMOoD>GHYE9$e*W{-m}e4BD3nvFz815=b(u0d1iwC|Jj4`x#}4#I&=Y@{`h?kU ziRDk=DL5&`dd2FF=iq9vI^h>}&-Gp(jdiASVqoQ3>iIsbwPJ)IOKSG0JijjDvftqeUHS5>%EES$dvm1fkY3` z@s#ja(j4j`K8W~N;DeOr?SamoOy$9WH;^*ff6Fj%m;%|#*Rv3-ydhf=vks(jlUhzMti1cuMVO$sGT(LJjWHsJ^m_;+06JfjG54>QOc$q;&+`GVUgL4veT8N z?b(R;(3*z0Whxzwo~aY%`QMMH=phfk=0fW+*MGPtHHPmes1`azujDwQLKDyfcKnX$ zjI+}H)={gE%{uh(y7=O)U-KM|LEWZ$hryWFU-OJUpYtPRWnF`r()02)i;V+dyCZ43vV09 zGS2hows?Vaq3iHMcx+OtWm?+IFVl)Gy)XtJOG_!P8mx4?iX=#%f0b{^>kHg3Yw}J1 z-{f26n0%usRsUYTQOTdVFNk-4lg3cFsAnh1~wRD=yjA+6@V0};Oqv9{RmX}hrua8C81D&uVD77tsc;olV{USo!OW}{y5PMQ4&_R z%&7cmB-JCdE&(=Prv=J2=zc__atxB!tw61=2Bad z{nsM0#5IV3dxb_{my5NrDIYL}#+!*g-q1!X;Tida(N1`*c|~TTPvy zB)thw{Sa@T);=FlGt3Wllj74G=rF^*3&jFd; z0*uwJB8&3HkWL=wos|KLQaWs?CV2)qlVkOzuYcMFG_%sKq6u>+D38LD3Ojy@EO+K( z-D!v)>Y$QmA*#hhM9_@J>V4U&E}e7)7G)c7+bzn+z`3^JT0DrDr&tO71F@h{g3Kgs zc4#!o#g$m0{HKo58c>VYF6Y7tiLaLRgCPNByoItTc1%C;F{rF|_yMNQ4{4o2>tki< zC)XQ2n_6u?Rx#ewHs4ZZgE;~XL2ArGu$>Y*Nk?&I#HiE{`LJI38)9FxIZP2Y(y#An zJYY0rP=2f34TO?d_uR4fLv`6EMC1g{s$phOVH*jx{?kuC)qUE(4J)dZz`#rPmuWdp z1?`xzmjiKsJL1p8V>V!paP}p@_Y@!(GL+zm39AkIRx_+-GDNy-AF=s1J|4P@?mr!2 z%Jm)3q12GNE1DJvsk^15EepD@XZWY*S`-0oAicT`z5ldW1>c(>t{Jk=#|I8#0&CW-!aeTmrI?n55XwB_WGdF#^iMcK69f(8{@p4&v? zl!YG7%9P*$huxNd-Iif&x5Z<(#qXigUl~n(>(8T?138X~DS3q6Mtv7}#`+ld*fIG- zk3UXl30Be~%>{RE!09#3(5<{+73()vt+%cTt*>9xs!kHSH?~5jRUd3s zCyUMaTP$`5S>F^5S#N^Uiaw>48mCO*tk4`zWlr;E^?q)%dUJHM`pqbf{t9t3cyL7h zF59er3w^=F79Ue?9pJ(7{sGzsCWAAhPe?NY&oV=CgUeF?T!no-UB5p1)zQqkG@ADg zr$&42Fc9xbQ+=r$H7dQ}0NM&mvV%MN=$ zG-QHgBs~H=iep>_Cy(}5qeqBy5=XB>YV**YKn)?zy=y>}>0K&4vz?8f?n%vZ0c%Ry zw-^wO3bO;0P|%5$gk4+NJnjtWQa#uTj`g^I-@`a1%fN0n7@)Pl!_ZXgfRzPlFWGUT z%)-eDjq)6{}RnvsV!5 z)U^aSlsJ1G5`-ITHoI&{RaX-o62$$`%rLX}f(05IvMo+&K}ZJ@*bjXOG*>dp;n`nc zrIY$4IRtt9-szxshqP1m1&BYA>7l;$X|e#aavF`}D!(-xg`}^?-;H83{%#h#@pp^3 zQ@tPi&oE}e9PoJ8S_aV4fsr zYcemp{sEfTZz6Uu&1@Lo`-OJC7l*(yk-LIwfGA6y*sbh`daF`1?efC&H&C8Cc z_p!9nUKdkF; zZaut+Q1dA!_eYRP>k}kR>JW2z+CZyoUEB&POT)gD+3risf@Y#;wAHm*dz!0EgLLsF zxaXc!kF!#l)1)<>kX!}3P!2xa%&b6@QptkG!eg6NF0vV#JF=`g6MRygFIw+i`FMS3 z&*ROZN7Sn#Zkfu-N4TvLf^H_x=HW%1ozii9D4r?eIlb@gr?HIgwV{rUMu+IG{jE) z1yDJ-|h z`_!T!kKL_78;P3-9qvE2`Jv%$d92lC1A2OfGCJHElLGm+uP0z9XuBpMhiR7lWH42x z6gDb3SW@7IH=-w$e0+pt?ejTerNuSa=n4Sv5rDt7F7tZLy)C=I+} zQLeHJJ5)|-M6@T`t)?prhN(vgd5Vq2@XWz)N+HG4mG^?yp8wTZkfuJ(v_j1eptz+V{MUo?il+% zrz{;W32`x=(RSEWSGQJ^r^afMuJmd(PFh2L(BSG&a8_-tFDfy$Akz3G{YW1z4-EvAyXLRcCqrH z`Yq=fv@aJvITqzK{CQKoo2~eV^}sX*%_-l3ji$K&Zt&i-Mx1Bi-xS7J3-s3(=`-Y| zUVR&Jg)CBU54_p1f1U|1+0)t^QF(i`4kvBXN3at?tS{(i1JLr}JI8t~(vh*;FKM~o zMQ#qcGm!g_nDc^XeAY)Bx`EdUty#keVrxcXUR;-t_+zXz+K}zZQ}(Jr>?xJCdsw}7 zNDm=i&50bK{+g7*VQ)vaVjivmrVnw4JtGqKL-A{#muZvVew>|C1rN;r$1;`VY%{+ItU7R(pyncC9~K7+Tx_S}Du;V?Ii zdcI>gANY!mr*ou7Piwue{BwYN))X7QoRfu%Z`_}Hc5;CG4^wR9N=`O>)-aLk`xxS~ zq36)Mcb%Sws45OW@!vbpN4K9|2OLl;`>|nGksq7woxPfu)?xL4u~qh?bh=x1IR{K% zZr5hj=?(epUT&>@^-lQYF#E*>LuxAwG!;srJHt;xuP#EiUopG|I0X)mH+Tlmz9~wL7G=iRGa39* zfp36@R|*@(D`B%Z3zF5sz)ebp-Iy%uV#m-7iVhJ|mpF%{p_yd;`JsBvyU(5tiHQCB zllN3p7x2Cvz@~6gkGz=tQIPgAXYtpBSO@#D5^BM{fss|K9`^WLX+m2WZD|Fc2vZLY zLP9?PTvs{FDaRng{fXwV7x#b0{i?C&f5rVBW6u+?yZv553iGJ*Pc^=}UlqmWVKX#0 zHyzmzFOQSq?XK%_mxHxirc~CL?S4L7=-%$CK7w8sx#uADOd6M;cn3gX@ZCJa zOX+8Tk{Upt&2aj1J!!xsHOIfNaLl6oe5l@6yDAJM3rhT$;;+;YE8JC`S`_qmwTkiYgd7G21 zv2sPw=gQ2M{kQR)PbHVdrYeG9lE=TfEh%d0F7$lOe>r&XUFe|{rRXr)r(sKCNJPU9 zNC$X#!}=&kGPFK?`YsRulGUSYN%n8X`r;zdu!FwLW(dz1;+xc0vV~`!PzUGU_4-tK zlR8QJbWXEDQr^nwL6Bp0^Bu+f2I~@3%f(= zB`-HU}?6vae})v|43j5qLpPP-U&B`n_OuLigU)>J~<+XTU@#$(Y2;n zird4=6*U|iOJzAI#v)mJc&pHthE|uTgok8e^p`O&{=$a|e|0RncAKha@>)VNB#ZPY z5D+HCWq6Ma!N(aGI>^eVwOQ>LSw%StsNhU=X;i%;se}tF8*39Uv>o+z&8l7EvM%s z8e^ewLyXDaj#Y(gW5IA`j1Wz0aXt`av0erQa#}xNs zel~3V4+}_pvnV0$gGeimrNt`z-pPpS83D%A%Vm8Xaw)gi(Y)ek8c1uwiOs$-KZZ5IbOq#ynnsAlSvsLOEprlQ5wZM~baxWBy$i+F6zu`X1!{oN}Q&2)E zX^YK933S@8i#ue8w$D?I#&`f;$wIG(^ETEZ|FwzICeAupu3D&z3%ym0HSun`{=R8T z(_Yt{#HPnQkL`6adAe**RBttG-Rmk(=(crj-Q=<+YKz`(+vDm!;%$t$3Xfnf1pYEH zks(I|^i^XVIGEb1RiITXyp5Ud6YvqxHcqX0&8v;LQ5)n;E9A$b9uA(PeB9~FQR+K$ zl-Zp`gJG;Ie)Yx9(!=N24h}fRB>yf0Mz#g`oXba?9ivMt1GWx}lATQ9ukn}#rq<*c zomG$B8@z%?zo_9}y0(&wT&&?E7itVvu~HW?ws49JZ?7xjI%~S}`cOyH3+iHV5Pz3Q zL+jWRuX$cyhp2qY>+qArDO}iqs0Y@t0ILS3EFJkMD)i+TnGa{kSZ@lj*I?30Pugt@ zZYI8^vke?+dCVL1ZH)$P+vK3{p(>;9m}y#?Yz7L_0pK5U(*zkvYsYxt60vCuJg>nI zJsaz?UiiC4m(zOu^MOfNrI~SNSO}bWirMg&WIbdvJ7I=Jz-IM(*vWq%D@CUKdf5BG zF>p9&XMp)Y+8KB{MK-IJASZ1Gb}R1@E^b*(I9(G*!4>_SR^wMkXx#{JJlHZG;IrL0 zMFCxS0cGnGdmg7=Ed%E_#c4FZKSVoU#4a78@pX7kpW)EUe>_vU zZ&eKgs;{V=96|KwIQB~;DY`-&GL-N(Bnl`D7D1K!5$h2pEf`|E3|0nO8P;~alBaTi z(Y}q1RfJoZqiZ|}>?da!QV+W_MC*ivErNt41@U|6dNv%^uC~TQbme$_9nnIMZ)`A4 z=Z-hQyNh_eJzN!})X;*{Zd8jcovz$7+!~uz!<9#&D_Q6-^Fdqk^|A(L&0SsPUkPmw zyjHb#(T+qO5M!Bg4kA%wZSLfE1y$3H^!(^Reh01AqnhvQwOaeoH|SsQSi3&MCV;+e z3OK%O7ss&Yp>{nbvG0<_)ztVg$lDt4F^p5#OD$R1D3*q_Hc@PyOownWcz>=kkTlAb z(23JtHGn;9cIjo<_~AU$Z$)IInjp1~WFhS@S>RLK^~Y0Iy%;g2csRVbK5R0YjvhS+ z`&8H0k4w|Pb_8+pmM%Cht773ovSfv1d)DI*XluvET|%u_fN1#{##E< zCz=zRVmBVQ$jO<)@!@^}QO%~zq#ZM2&mw;C8ALLmesbYItpc23F*efA4F<3itquRJw7duqkkL4cje{9MZ*+1J!rdle59Wr^kNl5 zaelC?fffX(_=pE#RNlaTZap|Y<(UVqz)1gx1ChN(r4M`13yIk0yBr{4ryN*SEx$b<^o+gq+4-AY;B1U>d zv^@={$DC}Evnl#gsckZ6HcAo<4!E>Eb)p zwVW7B(>Tpebp^`XSmhkzhz3C$rFKY=-}!TuYez|Y+KD()8XWP=x2k+ep zxu55Of9Bztp4y^2ihe!R_u1m=n@YB~Mbuwg3&%Jrw|TC{`N)Tn%6~pt6AP+6&Z!uq z)1n!tb(k$QD)`R@cE_p$jo58Wwr3s*;cxnp17Y57I}UmPHRzj6`7w5;L`&YHG-duU*uBDG z7Jhp)b(f(4y9aNnHoCETfiIx^{orpYJ#m+DBD`t6foxBX5*c;Gh<`CQuIr5Y%nDGz z13;}8&B}3<_9@n*X2c*MyQ+)WU+a|_&}E+LN$rKl&z&^xsd*$oBW#Bj!LElTl;nx` zbg?=ICkNR~$L6*#da^O!1z_mhzZz$RqCp16dc2GIwG`Jl2(3ZfCn~=j5U|=1m0t|# zK|#Py>*1td;@io71)2=lVyLzbqp}5Dak&3CkPe*mENc0*mf}N15P}slc7Qvu;)*~k zHd@Wf$x0@zLV#vPP-N8!PBU3GpkKa@m`)R9lI%b?A5D{q>$F2#!|xJGt2~*GT%}~V zF6KkepF_OMPvdu#0Lk$KHtTd;FHQmCr;6nBkFOSH{M4G zPycd8$Kkv;EnWrdkJA#vj+eZePD@T7?5Nw}<5AgdGaQaxd|`v`i2JjM1m9$mQj3W8 zhHU)t*hTw2+zCWZ(wabTI0GUYbtI1E@xrXm?IJo!eue?MXX9G`hJ+_8=hChv{~jk!lfxym5odFIgr&|3vp3vp)W-**~?qk5Sm%t#}5bewk5NarQ< zr97gvA2I=}T&suHLgv_~50?Xv)au@fxzDP0y3!8kOy1Ep`Ld^7+~GadMp=)i)@q&n zeBq9^J=NLOT+p%Kug?8Kv}wO;|g{I0! zTm^pzzAenI^}#COd0>UGAvk$aq3P=xM<>r=e}fI0i~GCX!{m-OUm-8#ScJH1A^*W< zbyD7t{{H3z6*J#eV^|Nf3zN7cg~23Za!Qc&UHVA{=)d~XXQ;ek>r94gC@DL z&@7lORY6@mTFjIZSU23hfrU+%<-0>|%fnHi3w%9!dJV=2Ygiq%OZWruUQw>6!rg+= zf-UVv|NdQ#S3oaiIO3eVCOoT9a=+5nRic+?7XG~LwhfZo;dT~V!Y_kI!jTDoX$@O>49{UJOqI?NPio&Yj`;E#xZU zv8KgpibZc(Z25+j#rdGE>4URTbHZh{#+nMAYSZF!?%b3ng60I z??`U!F<17HOu2f4Y2IxGrEX_+0-1xm<{>16DLP-Bcks*e_hQ`DJ(8@b;UbXs~Ga1Y&7-)Kd{%tb%z|# zw(+g}uJ3#5Vz+N_T%sqM39pUxgsgI^4Rvmm<(`E#uZ(DnQ$(A)Yx0*R5@PhpM&Li= zDu=ELt`73MqA{9bKOA@gNSV(0Lu|Coqq#4- z3mO4X4Xsip?3=vn}iC`hLi|~R^6JKUv6iP5ggRUT+3e1>H}2+_VJI5(7xeG9hL;icNwB4c06!Pi>xHHYVs zw%z&Daek7kY*hV|x3slrUrH8rww)?DuYD<0(19;m^XF-)?onF`9%-|Arv5*FXBWOh zt-9fV{f^|Gr=_}j>^sV7XEDi4jc&PvDK1%E;ErG|@qA-xM`=?|$Ma1oR_%Qrs2<^13VDo9<17UU`=R^e~~Vn8$8(PiX9A>5*lZp4LvJhJmE2HQdks_9?4sB#sD(7EP!pAbY-qsNfH&cu?t!`A8 zP6&RKNz>w3bDPbFh})`E3@tsrV)JU!$;$h5@)O}4UxB+3h#UjZYtC!; z?_(7ikl!Xd<&}JJoK+ek2y-h*hmxiZkLs_+#FXlo#?v;I69u9h{2_8#+i3hUl z$Q_d%ka)Bvh!&)-l?9{`SE|Ca(jQAZWh`ywSXy~3tv_7p_6JS90vnehdh``V6W%;I z?0Ey_U*nz$gdc~yee4^lD?RaP`A%x5yM}Nvdcj`+v}6xBW3U~%EO4Hn7xI^S#$S-i z=LMp^7x@hAk3A0T(75os`Pelbd7;o5-sNJ)vF<5wXth5COS*`s1?O9s)p)M&-C}HC zRR=p#+F!TBk8mO)fMJ}lk8cMi(Sju5_q4Av&339&>nIjxM~w^Xsyem8A$fK!qSYr! zNwvDfv$bG5_Ce6?&7^*dEu_Dv+SrrV?`2ZZbGAqVRvGFIYOTdd%B~$g#6V-f8Rh(q zD(`Gmb@(sfzaIY$-bU5vuR={s1I+3|xz~Bvt}d+%7RiAg4l%iUbckWsx}12>UsPMy z5=7B;LIWLj^&eroYKvI!X7+X)iPKt5ICU>=6yZ_s@jlekJPIO_7OP=aPjW=IsfX2aSFG@Vu06H%R3K#6a z&@aYZmFr5AZ!h?(YLlO7`<_}R{|=`TLYxqvURe0q@yk5AU_MsG#083ah*y7d2K=Nt zc{LX|A+8Vcfz$K^nCIzuVm>^7@e_efF8v7}XLF6KZUo+AiW5*h1e~wF0K`a&o|v4^ z$5VZxoS9imRsv0d=UwUvuJ;i`+p3$?seU%6FFvhizDIJ@spXR7i7bk(vU#f1sX^%E zRUUeeR?yxwoGbkKOmVGq?p##_hRpElt|F6@+O1YkydexqV^eMLSRlHxL2H%lKbM^Q z-I{8$3&gGrdyMHm=(Tsui@`!4vE`Hf`$ne33_vYoh;(T{1a0zx4q0+Da4>3f1Z@^z|HuqtoK2IpdSF(8 zzCVb8a$ym?egr4zX!WF64!-(vPyJGgR%|)oj2GuUu@OWsMT=LAjITPA zOK({c^n_X^-_xEaJQTN3^6?M37V1t^`ECT>wG^YC)|36i<2QPEXm&TMTiTX+GIulB z{XEjj&kGh1SQFt;zCj35dimCp_uJmR?bvO1 zJKwyS&FBYa6!ywf&2oC+rV{u0Y8_L#tF!U{aNFO_Z2E=?f`A#N zaUMKlpmwDHwP6t$iPXD)PvS%#QRy!%p6?OM#Caw>dn+lH&PU`>#9&XV+S`9FuD$fO zJt<=Unxi~8oFR+X{-zBapA*YUJ;X0wN|r(wuo7C^#$j>xr^oZ-pS4wKZyJ+g*}+63b|XcOGN>ENZX!fHn;qU{q|1hyRcETgZ0 ziKRKp7lSkgA}|1Rpl#3Sn~(eXxIaJm)iELcP_qBGqmyAXrtJF};(5`!ssydzTWsjB zBZGz(Nz3=A!A#uQQNr7UC3_0BQLWQPbt1;>snLnMByX8kN+WE}J~)?Y%<#+)i2p%; zf7lU-a|1g)se4W=Kriy*Zq(W!?ruP@iyWSq#Sorkh(SEbVq)1UPrXKy*N+nA3VU$g zF!UGn0*m}c>jQ!PRqGQ2`>pmn4f9qPp?p>?-`q?2#33_kHf3LtkL|qG$32nj+%J!utWH%&@0&Wm+5cR-=_aq?=W0uSZ;XOpc;ydrw!)~c{s%?woS(wrYT4W z{Y$Y^z?YbB6Ny3V!yPl-ZW;{W6 zCzD1Sf0&abzaX=j?b^B7UlWAseqc(Pod@1$z5M&`s2_S{>{RDS2QGB6gBQAZ5xXG+JRyuyqtS@BdXWP{I7-3w zPdG!GE73FQJkMvl{)pf6@Y^6psySEZrJB5Un8}8d_3J~fb;qeL^ zQsIlRRB@)CSqZre?9M9Bt)3eQA2b4M5|!e!(Kuy9?G5dl6_@Hzpp8gL(ts0Gs#A6%x}MkU ztxfWO%9~|>_tNgtZod1hTp+*N4b;hGw(aSJ2tPs&zHZk*x;%n&3C{K-*vLqJD#44| zFx#OxXZvIPJ94%yqJ8n>QTRG(-#R;*Yukd@?{|X}QYi-TvfEWDV6tVz$)>+Ma0oMp zYLOOS9^j{wT~2fS3fQG6J#?ylRpO8_S9@QKGYA$rdd^_I%#(@Ucn~r>b5E*Pnd+gK zAh~*uo-^l2h*M!?Lf=f?Jfy3?3$ktGT#xsz0~g#}Z3*)oa?*K?6aG?v?U4dz=<6Rr zpQHC8^FFfqdp|P6@8ntZ-EOTV;nB2z8NcA@1lv}$=bB6H$%aiE{420Wn~3(H2J^gk z)uRr;JLtPjhnDk;=2CqRYV~z^vf-_oAN%5DI#RDbNh{>Pjzk02RcZNMeIh5Ke{NFC zKAP{L5r1*S;JNxF4>~8>ag74i?+D#}4gG7@?kYz!ZFcSMvQb1)JWM^=oS?XQDeBn; zZjE^k&{y8}q*lrl_&$o-*c6U(wgK&K!l=ded7PpMPGzYaVT1)4+Omf2!ZBYMx&aID9FSE@R^Yc|7WK;>py$aZ66@_`^cSdI}RJG z`c*tIWWTR4SP(jSQDVIZnR!_|>Sqe3-e%DV<6Yj^J12Iux;bfHI`x|`!M2{V(;d>r`;F_PX@Xs^Tt zmS0!|Or`o&$01*;RBlc?*?R<2ZE6_#@kyhUd!`bUzcZ0vD)i;C24A+~PRb1jOyE9@ zJ0IudK>Y<61^KP(nf?BRHK4Pb<6Xw`xDNb+sEg)ul_Y%RUEdsl&gO(cI)9q4s94?I zAbG5c%yqA>f5@sRT>ZVx+O-++pWhjteJQU|I&)HxUO_GNw&xP#Fm7qP zwyBQRdLQS7C3mp-q0njp6!!Va`G}+U2&ETSuFBXxzu5e0=G$A&X5zpGxkSn%`dhaC zRpUp_ieG>mRXmIIPg(7r>7+U$EQTt!QKYHsk4LLyINn5u20#Q=%o>vV$Al}cyEv1{=1Wv z@V4KXsBAFBY-{#@L^MpL>Eop`X+JK;y|)+1#CO2^8g}A@oUHZE))?ew`o;QtDAh@% zB8~)Y7|t{08Xd3!;F@UrOFVkJLCQWuV?aI79jNiVZ8XR01H4_AXkL#vYuK$fuh&5` z8&RjZ-PFUcC!~PURuU(EO3^G*vx#~ey%wcj(?N=N2i`Ge#h+i#PcOv0VB5i+a%k2& zfk{1W@CP3ucjQCjN@Z4X1jLjASHgSVSwwtk>d-A8Eg$1cIlgzCJTNJ$lpy!F9;(6q ze;MQPuL@S|Y$l7K!P_wFeh05_;uAZDh?8;gT*=*&hEad^v?loIeRPR*d`*z% z$Tt5hITQDo{daM;NvK(hUlO~tl@@{0t_$r6aRzf2*rrx_C`MIxh`nixeOuqRf>N7AdowAiq zcsis@zd8ju6GWXfPOuGBWI?_3wwM0xIKxjeSdZ0WVVooiedooybUWBnh@z1@-fp39 z2}hLnB(!lv1&UG?z^Qq>u%Uw!eZ9_rumUVBfS+L{p|OLQCi)2T{$ICmxFhAyKY z^VsG$N_T?p1lwJSywdsbVasFL$`M!sNn4v$Gpk<}4IBcmTE2?#{j=|_U$y+9wEOV% zp%8e_M5&%yhj~GBtj?3MJtC*p+|)u>qTSb0pOPP#omS|?G#Qeo$q+~o`0E{4|NDEA zFs@~MOE-8@7TUHP5`=W!$WL;DBN=jl@nzyNevf(HX#a)e@>L_(Www~-H6zFAfmDfz z4QSQLuI|U={bS!v$*$)E&SjZt}I$7dt#3H{4S zvcZ0ygKi5bu)Qwc(0dRwym6UWnyq|1lp31@13A(k5FzkOSwJg1aBYl(9)3aNv`QQ% zeT<*Op2=TNttQ{%@m|x3=)2!@H!d^7r=+1mvf+!#I(lmbPF^48o# zT%8Bbjlsgnh-YB&LRzF@4ukhF)+=yapPADW4h|FWo@1Z)(3|vt#>U#u|5-#;H-r$1&> zc>K<-m<Huk_f-RN|}o=u3~Rx8kix z{Yf;!Yc!G?(X?Hh-@d-epIS3+g*_AH;AUsWXJFMdUMB5VrouFl_Ir=0d969JZGA9S zjCxH}84AdfqM}URTBxVU}D*aosA3cj8GLn&WKAVd1dkO{F7w+y;Bu}6ss;5vFdpE6A^k(5&jBUe@eW9x)6_*9`^ak z({r@{-K0gPrzGX1hp{REYQ7KNlcVr5yUNd`U-!^kli9sXJe5-MGuHCh)PJQ|Dq|K)+ZwWiL zv@~qNo;kYG8St;MHMIIEI@f`oJ*!u)K8LujkG2XnOM)naq0a<{vzqNR5}a0xyOT!5 zPfFSA@=C8dZp{<`o(!+dZ^yYwz`qD~n2WU2!~o_RhnTE>t4HZSkz8404LH9`=a@QZ zkzvQQU+Mo-lF@wwc^0wKH2-x0ipoT~75}2NHBI$=!xM-Qz^^_~hdem&c1AXei+Vi*y2@CX<*~&ur@!e762yb@vzMqN(kvcJe zM=mqOXT?%>+`9LjMR~G_a<5uqx<(2w4_6i8%=-i=V}Jes$Jm>IM^UAFFm`Z zKnMY<6B0UsV4|q#xO5hp?g%6}s5qn74hHQweoiMi8gQY*8c;D&#GuYhgE)gaqY29l zD47JeLB~6{!{P;(p>V)}5vKx#K3Pcre{WR~#(V$Y^W}LeU3Kcz+0T34{q@V4|)<6(4$R4gb;@PvK27I7PcI*dp9AfN*p56 z#2uj#nAqy9Qv%Kg7FQ7)eeh}>tyY06gd#p9Z@_M$ta1+e;T{YkWWDq z*3GhqJTX_W?uJn@;IhSNG59l^p=+H@UV^P6HNX(byw?+iq^f~82?)oat8ayUNojzq z^&-b*?Jk8Igo;4DnB*d9ueNgnwH^CL$s@1L-*~_A1PfXB>WqZ$QpC?$Eh&f%n*bXt zSKTdjoJ1j`^HT z;m}tpXxoctC9R;X-P2Lh4}BVF<@#Mq{!(@;_=xt>3fQXKN)>IX>-)&t{p$> z7&5N2T^PNYt#g9cY!LYsN5!7!tdP_-VkD-ivE3_2uI)|A}71K@B(GW!_*Pv|4v_DuGDWZ}SK z&-al>2OgQVWxNu26!$d)z5tEP_mPd@Mt>i9SNxLR)qNj%V!((0OW;jU2Cw?VT?%$Z z{;9L&3udwG;52i0ecYOsmoVRo(-E#7FE#nR>;>$y(btVLy&3cIa&XQzJ@rRK+6*my zMvP~_hIA+7-q$MS+~$RB*=5?ed5pc(p)D=qO)FX@M>6n>?<3Gl#{a*H?<0r?t34%F zh$||7ubOj?Lwg3&5n0FDol2*vnU9HWwxtI%5G_!qS>`C?>caZs`2B1gt7%hp(Js+Mn9Wwb_EJT)SOdSti#h+n;yeT4#DWWh`?b zMyd;uy`5vhJs6|&ny43uHtAgF zB`A>ODtzPjk##~mMqG*SBen20o1!vS5eGT+(iP)jBOP-RFt`Guyx#ymJYNY%v2MtK7G`$E(LYw$``L zvf%fT<)Rt9^aolGiv*=81DdJQC!=|HN@Z*cG>5-3^k)kJKR<&eJ69rISGn^5N6gqY z?HB$ z-QMwmWZ1AnAJxelDYvD<4(uifQ<78URZJY;iZ-OAc^2Ms#|f|_xrqPd%>oj zARxbFzvpN^;LG z=XFYU@MfHFXunC#cAL6qn5*j6W2GrmBAqr>nPLrZDzfP1B%I!^GhY?Znk=Y;Ep#WPl%J~$P|DQ-sMdu4*rFk54 z5dV)gyRo}mn7e?rmjy;*ch!%MS6RCi=YrQwe6SCq&Q>~ArUYo0ok5JV2FQxw1%mR7 z%pK>!TH6-&??$TY^~VsK4?67pFjM|0PxeF>U`F+RJwoUOKJgcB4oN?)Zo+K72R%u?tw^8Z4D2XhD}mOP z9hxn&D^u3C417N)M<3yPTr{5F>R84~fSwgBjFVw6F5~^Z`gLTWkwY zc9S2*Ed%i?ox5fwRaHo53K)p1j;kBc28i@ zO?GF3N+7*JipXc`Bux*(5ZKN>-O+z}{d{U(A|IB`97O1wk z;MK4Mz)t&2pJ#Z^53UqhA(msLexavM*zH2SpAQAyM(RKH)YFlNE|fq{@5Q_2QRB_2 z;Zg{)CxmmWF;3WN@8Jwc!5LsWMD{zs9^}KNpB>Jf#Ta<)MhShxWxFo?!tE|&pqy*a zvsc5Db{je~j}2K%a$pBU+~JR*|6+WVP(iDhbhfdB%h$9#G9~>bm{x8EBVK{pII&`lvrY!O1GU{-1({Vww|F;0%BVgg2l!I(|TKfnY^6QaEIF zn{`~+2`vpHk^=SPZM{wg&&n~ErS80}bt^hAxx|vFY=;>P|mA(}2F1z(T?wn2Xk>rC+G>L;x|smIi+rCMTFx)(7%bs|E4_q0t%C2;88`uAM0PSfJ_Ts!<+_0#R$S?pl+04;PI~0>Rxk%>&?0#zQ!VN>7+rcg9a*&p zYcYCxK8piZ8PE(}ug^1$vhj9GnWXobus5?qh7Z6TXpdgXMg1mdNhuC5e}m4}YIkEF zqBfVFj%fYA?n6v!C;w`A-EOp%R{HhRt7wx?=Sc!Xm0EZf=}Q^CO?c;V@C)R!`1E-h z+q>5%PdG3meJ6g$9(W!W{Bn9p+RrmasxK7VkIYTCmAW!Yij!2xj{x5YH)8lB_(w30 z=qA{fXQhFcKr_j)E>1_j+)e*i?LHmJdG>k9BII5+%h;bW#%?_S zc&zLE$~f>VMzQu$$jP0svxB||c~!LHT+YC5_PFVUQQFy*)7Z5Y`qRm-JZL48cm6*N zoq_zs@E<$FfFN%rdYs>8 zyazvq>|Sp4Bm!s8XFt&)35^qcv|yaB^AIoR!$k#c)4UX2kSp~li8!&-hUwmaot1;c zYp?wi(KX~B;)>xn3y_lUVg3$FN1_~-r@OY{?H8;^1qX?lEh=I(qfhjdn&^r}lzW}S zn~og^+YOX+9+WW6D55u^Bx)wP2}g zNj`Lsr$ew?>Fs}b6MeDc5`A}-nH>pN+I`kaKUD9co`c~<$il3D4OdOnWH56|7ka^)`|EBtou=<;t@$G}IsHKs?M zWa_t`|EmaAwx2D3w*BlcpH2Ax&$Gb%1@BQE^@5dJz;#N7ypf(#XG=X?dZYN`0~+Qw zbC%+>xoKVzBR5hUrT>49CTSP?Vbk81q>aG+?L&YqdJN_yZPUB*&XI^wLHtJgzX|Vo z^n9coyg$V!x5Z&44NhRL8%8r1>tHVP3GQM+{I0}v7{7<`tK!mdfnH=S%w^ljTtm_1 z3n9SGz|I_RoIeiUE=NL=a*O}x8MpWn;O}y_FKMy4-+DI5KfX9QjFrC(afPJXKfyCn zW`h5fk_4Z$d%>T)&>}(^;5#JbsRu~9VenIepbnW7n2GP|DYi%LpRleZM1(#Q=P~(< zzcopck998iQ&*SO1F4Iz$OpSMN4?90J!C_>Ndm&y7PJq$Fvh08ZHOuIF$dOwJ>N+wfbi1zqGfn$Fl1oN^2pye>hZ{iu6#3d~G|PvlEav7S^s1!l&0<-$1sev|c3 zte>{bk zXdTebuz?gi;#lMPi*0Wfe}91En0?jTMJAbXLJx04rc zQ-1G(LcNXCVbz))o{An^g*zoYMQ>X^?$g8HMgC7T7bRv!;VIxA!dD0nnuwGuFw#ZP zZ_AmNDvFX_8Svt9h7Y8mg9p0icKzQWxGah$6lK!v=rP&tF0$_WVfD~kJ>`HcT~a%G ziV$m^EWhNPR@D0yG%HPz56G_XB600<5gjs@@;ksSL-S~Dd z_@A^+7{G%eTjJSHM08XgEC)PKei5=wnDv2Rl?j-WDPkO8zU2S7qzG}>iZvO#^#fu4 zX|@k`d8*P5?^X_$*B>6UoBJJzRmFWNo*4f^h`2tdE zi94EHuGpY{CU%Hm3icdemyEvKK4dP!W}=9r5On~f>b9oX0}e!|k-^io#l`|7g%^d< zMe{rEWbieIm|XVz`a#7&5`H9Cab2aJy?hVYt!AyYECJ zPXn$8Fz@gGg;w@Qv$El-YFB?W{~_v~ZL{CjZ5h>so~`baoFPB|DtPDJDnl<~>l^_I z`Z^YS@m)V_y>)!?y!tzNZ;+FWrG75a)K$@Gsu|HeOx>0dQnw`qI`tkB)|G_4E}P3Ti|0|f z)1wKP2dcSfz6!gpNy>CcyA;IlN)3a<)=&Mmq2Dvy)bq*c`SbtQbFB!`mfoQisDa}~ zvd0*A6ekRXjze8l^AMJFeP-z~Ou#^H&^?aLVnVUo0wPC z!iHci{C!3hGs$p%o9ezb1J_>j2R=2oU(kJ2wh8cM#Y(~BDb}>=t>i0E;Q!vRaB=Zpd4>p{k(Y9vYTgHyJr;A zTbkv)6?kVao(C>n1?n2nh|wQj4w&^^snvz-<1?QeTw#9{iR}2rA-CSmM&Oj705o)VR zg{=G=;;j_v7ILpgdDiQQfk?fJD*NVbt#ggXEOl-Tpd~U_KLtFbJ&lpWY8dg&<#Z9@ z2LC~LL!bz8QR;CjlU?s9SoTWFcabxFcj%bG9bRp`%}2N;n_%_@fP2x~fA&@AZ|CBB z!X-L{8JEpI$BS7)Y;C#C>&u(irX^pk;R zA$$sF7-R3@9Fc)b+6bQnUTN;-xCh<|Ioj>R^FniC#cqc^JI2A;H`inJv2kWxkhuX* z*()me954JH;%TQDZVG7iKE0y`W8+ zh!s_GR5W&c2{{HL_>H9BBCM28@oVIx=sv6nCvc{<^F5q?3e7ZDmI&wXrrdO_||)$!`jB)RDut-^h9qqhZ{l3`Oc0m zj`Kb1b)EUS5A!m?b;cyye6|S|U%kHD)&L%^En9sh(vTTbwJ6uf~zb`sOi z&M%w=eT;U*7A*lUHjhS5@fVaRKE)r?k6gIZ+LE-+U0&2d5kG%chB&)E=D*X+B%&Cz zu?{3hQaA^{>5jPYB>Yx5tl>E4`gU`s6&lzs{_(asWp>{j%vWIMwcfQ$c%BzN&C{^k zZ+VhUrd`kTO2dD9vTW&y9+p6{?s>w*thCaSThe?bw=m^>F^kL6)1Yl#-%1rO&6LuF zwYi*`dV(dU-j0&@g`9nT*;7l&PsQg<>IoK0z2eIEM5^VeIN0%?kU#u*=_mh|p5sBP z1#7r=E;k$|k4k?Z8QsV9(m6Yf~i73A*8x*!>ZxZpEu$ zT{z*(eVO1Bc{zDhxK8~N=P64992m)5sj0Z|3rVQ!BJW@dV{7WbLwFkL({WXd!h4ov zCOF~>GS?RT%78a6q)){A3|ux`^Ki`~UIX$lAMWdo^8lPBv$=gw?KEEwG+=phRwrPO z-?w|D?i>0ez)18_+c9+R-f2~<0evJD?bH5%*h5KLQlF&ks!h~B8JrF;$VUd1-5MZC z(YX$A3Lf@-@A;tWdz3}-)U={3o%h*2r~Zfj9~E1dpY-elZe&AQOi+m@FcK%qN#bLI zw230$=cs#Xcm0BP`mTG+@t^W%s8lbdGCh^)sp0>n-SdCc?uwyq=v3-0n)x}r7>V+a zW-UXD8eln&lSn!$QlEd{^D*j>5#8ud(W4?^``$S`o8&9z_P;^$zq8gHeg`cx;17^%Z>N&L;@}uml;r}Lu`1gIvr#3bMbo*YQ}p08OFk-K=9E`$(YR`jS?z?w3pY-|?!`=!0Ue(+u z?YmRd>L=@4Utjv|(wKhU6Vor9fp0?J3)suSVQAIi>Jaim!-Fx#xpGn^MZ06nHJ-F` z=`IakqGiDNvtfEN`b{}$UArzkRQp!#ziQEn=V(8s0ben{N)oZCV%te2T(9G!vYk74 zrNz+QkiAs4jMC&Wtzm)PmwS2Hwl?O!&P!Sa1R-#mC=wuO(9U{00vFE{!a4PK4hgWF zamd%a#KppYd_!1scVzm|_*u@QHK#vy?e}mG6mCdnR&+ev#_M zZegK&!yMm&7PCWkGOi5LsfT4hbSQ9wn*d>X=1pN)KhMnse>1NQ=c)~WD}KNUf)P5b z0Nl~x17Hflr9a@;0~q1~?AVHXf;nk`HPBE-z9jPv`1Y?1yb=7CA|JspqYew`5#!DZ zoENRn9D%h}$c%L}5*~OGwY@`8uMe}ZSCsO~YV`qI=^*vKZ4m2s7}v-&XZ{m9YLvTf zsH^KdXn`PTfnHDjFC6EBy#8L$8V?6%zV`#9)@}imz8Y|RBylZId${jg&$3_GOX}|p z%mmisDDv&qd6lL1V|e#Z&)x;_$Ael=5FU_Hq`5d|23(J0`mVPKcLIaHAV%@evs1ydy<$;DJD&ndVJf1j zDw5)_{jQc{lqJM9*4o~JjO1p9m4tl<`Pk-{u!hY}f(Bb>!9UcpH)gLFH!zmNC#kK6 z0F&e%7OS71v4`|s0*p-|?|*FX0E1grh#P#3sGZ_Zi)W9D(&vugjAhOz z!=WYI`8edakA>e-4`D4I6|*)MZ2u5Et6x?|71k)JuJNqV0v`q$$j_Q1VUp^6PJ2;X z8n+&;t(b8G#)N5$5mWG{(1#+U616T`rjNiCRd3%bsTWTOmOMFpw>tbSLvBX7*NYnw zj}j#z21wd|Drw#TeV3vx0`-UVg0f|(x* zbJov1tE=ww#``z*m=l2Wca)rOp7fK_duNQA}w1$=*1B`=R z2;iKpgibw3oqq)7uJLU81^4~#UdQ818Pj?M5P-u{fH^h;Ke`?G(QUA)!Ym>+phU5gXiu0?Ua9zx7ZBR~8x$h60d)HF`IH6+ctijk~r1>z}3AqRov5wo%ak)mlX zKNJbLWL#!kskqWAGxc#xLa$3J72F>c1&yqcyc>lUyxwDG%&#sOi~0>(gCbfNhmEIv zb%uJ2N^pnZ2H`yfTL|WWUeoDTAHgNS84rFlkVbIkVcZiuN=3R3n*f&x?~(C6!KG3> z6AUtgf{>Ji;kqoaO}a?Q=&(o`7hVB7x)A7XF0jueb z%pKVDz&B;KbnHjjYa@-uhM8&legeK2Z$}Q-z_ADLR zJEY06buHbU6KF;__?rwnDVrTzLU$CgJ)>Q(2~q6FAX2@I=k?+$cv+SJ!>?ABwAxWO zrAkA0nPLPC|-Zdf#jYbHB89j8}0L z)?AfN2Z2MGX9}mOaZje~9;uc+`BLjsOL=CKn9w2ho6bu831`wv%5O>cf!>kVFy0d^ z;=LV3dxboMJb2yNhti6$mvPCs%(zlz6I@3@<`M?1>lZKOrq9o5e6G9s0r+maGkl-(bzAHZe_W~In zwMV1WlJi?!l;Z&=wxWbZ zUV;@T{f!uJ=+>b9gv*hv`Egv-E_vt8o=il2O&Ge7cuRGN zu;N;;E$9hC8aQ*BckR>5iiyT1X=NsS14aW4D+nj$J{>a+24+r1p3S;HLle#&4vBeS zW)omlwwLFnw}Vfi_YyisJ(-9MnF;N4GhiyH^-L)+&chlSR>=4w-RnVFY2LJ3);|67 zhL@lpPI+10c)bLw9}+o_y{!J}TM;cWwi7L>sb3+B%n4(l{Q}Gh?SRa`AQ{01Zf`)~Iftj<*NY6AT zoTOIN`C9iQ-R287m{l2Z>KgqvU*npF;KjO&y_6R=U8<)}-fdECh&yxfUBS+0bRT7j z4)fMT?f+a*VX;4fDe%xWp84>99Kt@cM!%moZuLuzC;g^IKjL97fDedY!)l}fTzVhw zrs6K9GlaW*+)04di7f@-{nP&fJwo*}E#;7on|n+w1@Wc@Y-)xgseQi1i4H~U05{6T zd^Oa9DgTcxa15Y+3>WHVKK##Tp#aqeotj)kRn@Fq3J*m-(Cbl!Z!y*4tC8D2#TXBH zT#($8>`af^01h)(ESl)IxHlk5D71wxl$~jH*hH%cS0LJ1o`vZ#Z%gEa8GeRtn<0Z1KtbpIM#?V*SPJCU!58) z+e$_>sveeOsY}QwJog{v*NTxr#44X_Jb&&ffMt@abV7enP&|@EC*jSALfbgHnRsIB zL6w_;1tc_kw(k%dxMxOo=Rx4Apien`z@GWK$Wua8{0^}I*Y}8NMfAMlmb8CGcZio@ zTDM*_bKkFah*!8TxI_Gghwwjya19c$r&NAWJjmt7gTl{~8}WT$hwvfoF1xL1^hO7; zR;L|49<{G_nR`xhQ`5tRiB0C-Ex(E#7lZh&zo{`bK~D!M8<3LJv_s67U+-q@^={6S z`-A<-{q+OHtFU~2P|WAHMy`DB9?{4YsqtkGTYPf+*~oR#FnYzff zUiU6WsD2k>2Gf`|VT{rk>)q!wMky88&=cWG>b)CR+27llm<+8sp$iZ9BE8V=2RPVJ`AYOH1{&VZf$+NNk0dfR<}%QE=;#I z4@UM3ByQw6v=(f>q~?%-Wnx5Dj$GuN+~<@ntakHX=4%F;-r6k!AajkH9N#%7V3^=3|e1^|E~CJ5-{Uw%}je~ z+2K~!j&T9)o&cD!Lr8oJE?9~?Tp1N54F0nkievZtVUr9j;VUXjg0BwBL#qaw`IvPl z(KA}}vN0_ZN%EgvsIG^@8k6&m@J~GJ5y!9*Sf)kG8aTGrSnH7Cai$y;2@V=hYZ&@# z1Japo7*E#2*+F3|1gF9g>NX`vFVpIi1`@6!oGb=-eeMrqZ{$t06DKKzbugw>U!^5% zz;u>!Tf^g#*K~IKaJiT%)2rQaxFnjb!p+cnLLH_{^Oe(Ov=A-hd_d}-8i1R<6;;*Sl)`VS*L#yWE zn7;9&5lb6}Q4BlN7}L!^%JJhdohpLEV>(tJQ-+<4Q4P?({@+Hm7Lo%R)%P%}uHjLA zPajn`Mm71}v}OS)cAJm1(9iT=UK&Qt{?E102gXccZP|ZT!n=!kaysSwTfe-~mOfn{ z%Q*E%{l)C3+1=^18?YhoC#bEAtoY#YVuF zw03*rh-S7ux?9G6OmC-MsqaZpg$c>2?MCmf`B5vbNjFwlnm)?LibdUa^pIhtMC{GR zdbJO)*HJ(E9_u#7jx{U#XwCX~68eyRf;pF-Tlhx*-;!aRu5CTI64P5Z{lW)+sOd-~@)uBPfws^CCtJ@)D*7z$Ub5#a1&5}_oi-S0 z9I${Jtv+xevPGO&u<3ziW15O5w%gJ}3oPLMgcd|1ztO)3#)cSq$7f04j31v<>4*1` zyg9JUlr+=T*WXwQ9s!%=Yvu3@asfUbiGNHrFlksLE#`bArEl+;Q1xJBz6e!jKWtKb zzX~j7;3ROxq$t1gEt$SsdCUwSL}(NC5y8{!6@!to{+7j{_FUgap4vmd47O5#ZQBbR zL9}(^Kc#V`wY7m8Q!yC1@`wD3_CQEMl1gy*zFcN@FK;1>g{Rzn63gB`2f8e=Cg3#9 z6mz)PrF8`l3o~n}q&&viYnu3Ok1aW~d&b?MLLLy?waKmNO#;TtRPF15!6tLf?TVd#1T+dgtW@=P>SJq$kp^S7UmOn|TQ-pKPq zN-5x5EF$(HQlJC%PeI(UMW}y@3pru?5-S<&Y#+W$-jDx*^O5Q(&Bh@7$u&Sjs0DU| zz!l2BjjThh2@I{q+E|8>r?p{>qme&Z&u^q$e4|VuZ0)Ex8H{mE$5{49j);4{WpVVa z@s3j80T-nKlw9=aJV+kXLgktgXUuw8y*}%|ef{;#=gyw_K=|igUH^f2aPE5SyXm_J zBj@@KifQ)2NG#@c?3X)4jvW{$>|U*aO<&5k^ey5aOmSOOKzbEmf3%_?Ef2n9eYgUBoFuz%4L7 zea4wJ1g*(`ry~fe(fI-!mIeb)4D}Sm?dth+ax+{{vJ|q1jAqQtbZZ^Z+>pLjs@enY|K;>YhVhG+KYE}uU(U=QKJKjf> z)|^2~H_`?pcVOh^J2<@23`QOp^0eykK8srSvy#0y^@!#HoR<@GlfxKOg~o0~+Q#Cy z+C3StGAZ36a`<|Y$Ln@mFn&2Yu9?Ga`aO+(LoqaxfPdz2qC*mU%<=R@6iJZn5Kqdk zbd)N?j|$N_eJQG2y-B@QWr+2wkQd07XrvOFmgaV&y#_xj8!gGPgO<=woRgp1a6Uc^ z7`zBRa1i+%{Z7TosG1A<`%wk4y21SsBLfEX?tqtws!f+x^Q3pE)rkBC`iNTD*)*DH`clOUxz)j_ful77BMg<=3EMWy_0BMfsk@p@O zjKmBo_WJJ^q-Y=cbbiQ#Kzxv_vdqmM`(>yWKXS`Kt{1CB{S`i#> zMT+Wo_eJi&)4s4>y}UjP)rUwB(d$0xH0!xak?V9AJqfNB({RNHhoLXdO|$z=;Oor% z#%x#Y3xcJ3V-0BVf^OyVJIJ9frTqr7EuQ&wO+z3K{!HR(_60mO&5%WsHtg+PFB(!w z#D;ht(qlwRsbkLjJ2!X+pw+4@Qk<1x)1>=+lL9PzVQqHpTR17Ly~_d@BAvpDeqA+G zulMhYp$*W(@{|s1%*(EfRggRlKtYb;QOf_-Y@7JULyX-In3(Ec-#Y#4TGV|4^G9csrI-oJA?24RrbRd&)~mf z56}!{uV7dgI|d2U5X%$v{{xXt!JL9cx^%G-p{&j^LlE)E%JK6 zbG+4S!##02$}uL&8rY)OA3SB6>#O@r_-mBb>mjc+Betr=t@>9MTf&vqPT0ix07)hf zp76b09D8^J_5$hrsTfVt$sr9MLl>O1vTg7`HRng%62f~cOBm?i`r@a7$AG^FNw3+x z3@0w25MM980rx8gm?ZHsB*Y3Bh$KZXK_myxmoM8X{eOc?I^;mSjxAy$;K`SOClejP zbizW7ZwPPBy9j9%{#G!Z;LOTxDJt7Qu%1D?nY?Bd=z4%u3*?cI2&Q19=?QtbQ!j6i z-iCj6{X2Z;DpTWejlp&8Do*wP07)kDqg`Srq%Yal+@I?{Gh%W~W5(o}-9eG+0FT7o z=IOvVra|J73T>i+$SW5B7w4i+jNlMjK3BA{7YK%O*c(zizZ~9gC%a70s7tkrHmiH} z11-SK3lSrW&W2a|%sSs{2yq|&{k*xHZ{;Go^J=ag)5{xwdY)z{wV~GhGEO1AW@f>6H82z(JhVly6fvi@%h&pD0Lh z^(g0?biRUCs3~a$?VJlet_tQW40X?ySod7^4lLmiY3cBp$oe6Jt44gKsjb!luFdh% z=?J?D%m6q?o2Y-J1K|b~li=e~N{(p{Rhqd29S+?Pv27@F>_=%==^CO2uNYBY0ja_RM19}{(ch2^oOZY<$%WUYde|>d zs{ln9gw#+zQJWp$lP1;Xx_y3=_MiQg{=H&;ea>U`qN)=3d(&QVSA8qa3q_xqbdQ3W zse(*3buP;Sels`SJq9N-dtoTDQKzd(BUYXZZqHogslke!i(QEOJbeYb#sj;;I$kh$ zAW|?Wd4fbWl$?qL{&G3Lg>WUplOSKguCs)p@6k!}wU{t;^`XbfRWm%05+B^?7x{WI z14cc50p7;+UwV2`43%>>GCaMyQOr};A|_s=_(S1XMEZTJFspb%cq+VX&MnA-HO<=M zw8MDEw<5B(S$j+bTCb~a61O4pd2F}|>1psl^EP(^_R$mgR5R@Ib@rfm#%=;7s-Ry_;|$M$%%Do1 zl$#d*HGD*xUShc;!Xtn=L?_$BF_RNJrQG<=xv+1sbq2-LMW&4%qR~z{gW_4c1zhp5 zxo3{_L$|+m7S*_rA)YC$CQw^8YN}`y9h|J!>D@ZH2vL*QRd9HG{Q&KFZ*CHN{akwD zXx~TnMEvitvxYvzuWR1?XjzOhb7WYkXXq?0L5APN-d3YS`=+841HkHy+hto#tY3Pw`)aSozrQN5u(O`-~IV-Ayc)dkWZNm7zkySOh|(SUUY#;M6D<6@3X zJx7LKQWZ){QOBy8c#oE!J-_B))|KbXx-rDeE1 z<$JF3aIE_Klo2t~A?N}DGbq+e_qZLoL;Yre;VkEL`W)ex?{=gNCx9mCzu2m=NKT9X8&~)A>f`aPu>b zh-@OcUs}0b955Rlzr-kYhA_?kA{BRFwzCM3<}10gLx^WweU@rDW#Cgukt3C^MSNu_xCR zrgUK?VQoAy;KVL@!bLEN^!x~y3b=~82!em8@6IY&LCJ_Q5JU0gGhw^2bUW**vX~G- zthbBxEVRgC!-OIYzK8>%YO^+=d(J?l-0j!7L-0kt@PgXM3CSK-)CK!)z6`{Kp1qEm)zo$p|te7^>adl>5>USAIj_4QCYpyX7%3z&@kNOMDL#6Q5Z zwN`!2fSWlsOk;F)|2{os11v4fXw3$BQ+3&5NsEz!Vy+Uqm}@aetw5juSUC1wtNL2N z`OWVFIp5Iy&H0ATpZ9mOo_VJKs9OgsurYN_@cD>7RlqW{_d-o#Kx!xpHi`-*t_Eil z^VAT`{2KG(z!)rK#tK{bPGD!LhhYxpD5dM(Usr^^;;NAHvcj)p_vE_ys=Y`l9^Om! zt1jPJMXTy*XAQsGyQ*m2ChVF7cj>CV>o(#p-u?cn|2iS9Gxp&}&n{cH0ekRD#LzTK zM!B>r55&2bt)f$Cj{IL3O+{am_hBa%Aa-D=&IQ~f6nOIljaYr3XM1)v-PQFuR~vV~ z?DG%b1^TuQ-`(GLa&?G!Yf>=AbjXMGl!UAcz={IBl{suP8^x>k>fN#WE`03- zt)V%9w&15>zc-4__Cm}L!9lWw;ek=uY4>5S6wJzfGGI=Pso|+rrf2`Qs^r=D)yto~ zWp&514Xf)Bb%#bezuy?)9lMEFOLgBTBWlkff*L%_=Acz^cmGL!1vIi?Ov*v(*LQ+o zUlY6=7YNH0o5XX93(#>rvx~-Lmj;l5bYA9wGvv( zwMT(HuxvWVt+`gLjH(K(*a~XfQ5~;XZ#U;2Mf&==ly*o@tAc;sLr80=ICDI(GmMqZ zE?e1_ex6;on_93?Nr7h&o@LSd(bp%#lOJLm9e*wG*>QTmj@fo|?V3IZW=ktHYnA9% zsJa7p_X~QzPe1>0f}(eyaNhe(4fXy8Js0o&w#G~zgfSoc=B8q0ER+f22LSPxVKm?T zQLEnRHu#S$H>DbLQ5+BwXBSSMA=<~P! zaeQ3971)MFi;cBdjEmN@4eOckl#EU)^$yU5OHhK8^I_dM_!H;hQTb_|R8kc)Y18@| z^%YVjPk=@kd665HKPvpYz~gN>7?&z}RK66>1LXSIU_$==f*B0ML5Q8*>PIy@r3Dx8{sV`rT@D*y3tT0XoBu@WfPwb{v`qB4#v4qE<@AtDhm1{Tj{YoV}+gjX@>iZ?Wqtn95tbznY@Y zS`~79IaF!9W22otom{&bb39fb!P~%tBMZ&B`g_8g5G7vU?-SH&oGd2oL3n(|Zq%|l zRx-{Yg2!C*!g3L~7S@Nc+Br`}Iadwls}90BWN(b+P$-b2CaI%<_t;f^ z`6LNx6>BF@P@%G3VEdI?Q>FgJ&5h-a;i_-(_x5x0~j=3VsD0)e6S2idj{{kDsys zu)8q}_scfKevurG0JY%w@jh=X#--U22e1C~@YOt}No>@gZo|`Uu$+~E6<{vkCGGmt z;M*X^GRo2W0$eZ?xXm*0sc&TKX0ev-Ii4w2z<-ro^JhSauYcH!gbPX9Iej(L*PHEj zP)D!YufzX8fTDN^(DsjZ`}PN@m-58iv3Rb+@8~egV!fZ%vfj=blLmiQsI6XX=G>i% zHo-qRAYt)@ka!xg{6e4>Dpa2JO&38RI(4beccOlrwxG+fQo7+Uj_x6K)=t1{9o@fW zCz)zg9M*Tz+jg=K7b4V}S^Yn;gf0Eb4_Lxj9Vhr>zg^!Grs1<((w32?D0YeTL&{>^ zcf=LPnPU{%e0P*9xyR+5C*OT(818?92oKy5tK6!tjfn$3oPbpl5Y z9?Grj+yo2YUv(0MAV@(o&<7sRgZlcfvwNY1781+kMzI*H^6xV2h?SqyoFlhcpRcbm zFNUv-TRWYw!FUX7W;VVy@Fim%g@S2)$vzoKvL@;XYf+#NKp!Ps8OZF!Fqt@ z=XcWAlyAHKWuu_eEe@2vEIygQYZyi{4XvP)HVwAjo6+JCKdN&B(h$`TbvzAB85W+7 zsE#W?{0;n)>T?#rXvyN@oE06XSjxn8#Yh4t&2+Hlc98wMV6855+zjsloqR^ym0OiG+Kfv9~gYS0< zZ|5n-5updLn7`gAHV|BfXGdtVqvQ_kL|DInUcYzg_f7ge)&%lA zJGc=w5f22tX>RMZi+NW_HQu_mt|&@s6wf-s;3-hfV*@L?K8KeUhSUe-BJ2TLOICfh z_ka>-VOpz!ot?9t$l;f-Yvs9?FgS@}*zjV+tjAlx-@F#HPmuANa0?_tEg}e?#!qEH zzw*G`^fluX%o7uMxN7{CZCGI_!NAgD^*YvGaBYu9{t~Tgh2Kx5Rn*~nM5b>|2P)Eo z;~6~khk)6x*p|>rB{ zIz1vX8RyAE0gCUjUcAShHA=(DV5oc50>KTbta2^otYw_C;1t`9dO)sAsh?ixj%{W|P{OVIav_`xM8zHCB^xC^;>koHeQ!Bwp-V#N<% zu8F13f<(j}tl`x|I0F+~eKgiL3JFrfIXgt^4d92}M3&#ligJkbj zgXc9C39V*xX@xL5!4+t1YA+8AMLr*lMzV3b6K$bXOW}}E^?s>(znC^BN*t>u@f|FD zVh+19>TyRk(X;u8QmqK}o*6;QqKjv;aROW6|CVwsWC_kYe{^<=eh)Z2#tBZ81N49U z8B(bAQf_f4mEEzsz#WNn421N$3A?dRmocO62=(X@+!RlWIVTxcy#c&1AnCWx}r%09M843imw5kYwa`}+##uJ z(rJzwiY-TMZWFL(;v$}?a8!dYrO2h5AkT|Nz8+K?I?lS_IWih4(m6@rRA2?oyb!r% z*Dt)1yP@uHb!jCjoi;bCE^b}3I2Jqw>_29MO)$v}T7*X?E(bq61p1UD34xt=WB(?( z)dpvY8r+Kf2t5Jldtc?Z?PAflTQxG}|zGX%E)sWnv4Ym`(*8(R3MegiC<=GfXseBGTbAsZVAnlZ; zB1YdSz$F_7BkKsK#BU3JTg2ybO)KaFV1vn+**bd@o-VjxM|9DN3JKAw8pRGfe04p&3|0>8aD9WL9xxEr#p|}U z2vsfwEL7!2aa=CMj{F*X>v)A#r?pzd*ZSM9W!lGufQC^>%@wq$Ks=&98$Ez6^mybLN|L+jjDTg3 zb_#2l+8nEoOrM7}_TAE7=7n}D)7~0%JYaA2)eT0@;!EOMT*R+OL;7zDgST1Ev}@q` z3Vx5Zac!r)`(Vf0?dgD2itwz!%#&pm0Xr;%NgCfGUU8H(w20r>TcFeb61b4BHf#hJ z@}CXO@V}VVutn@D+#=p_Y!Q3xTY#UCtb7MQOxpJm(DDw_qejkKdEmV^!RI~)AH+QK%(!2!3+4GLxAK$kSJugf$s()AurT?W{- zc0zrfH-lsjZSXn7tL@_HWY>7tHd_FFK-3=A_Gix|@XM@oB^(;@;N-Sn!_Og6 z-$bXx!jk6`$N^zj2Pjm<>cPvV*b^iru^!3Ag^sxaws?s^lzwWxo$!$9!@4Vv&t^u7aTssmifHmX<@R($L1u0qE z$>owM*RYQ?c7?aeY0&sO)F*a~@42tu9*o<=EbxHsd^geL>tg(0p-BpY# z?S82<0W+{rhQ>-v67YmeyNZK@RiJZ5jq&K<#*8wBY0v9EQVrNGTID=zI2AISk$IWn zv3b)vGr`x1R~%}8SPf1jk`j&?j&taFhd10Y8gU>3J4fSOpk6%& zTWIn%l#QLRPJX?W*8JarDN4Gu33Axnv`*I3Vq!fw$TC^)U%-#68R8C$LfF~{=8EBm z?3k}ag|L`I`kDIJ+>Ybat^(+>0k_q)QlM*8ThMmi%awh))=*FRxj6-Hm*0%&7V~4l z#gVzTAGrH%^1^k&ZMNJ8!(7`MT?w5i;u}P5N5w0zp7eYIEyYI>E#yV#YwAz-wIr+HP1$K`(-T?BS0bIhC5yamt($>Rnz7ok^7Y1tRi5 zdI{YWmYG0s3qB@v*wt>zGy{I6Lni|f2Q!P@Tp0jAK2bH}gt$K1*hRnBAXXyjUJgW7 z4h=*G`&e_uZYpoRxLqdQbd>7YfbU)$S`Tg>cfgx=WHH8RieBSDq$DaSYr#1kjLZVB zfOK66o&y(#UUXpdQ!N$n&d-!0f9iB|W0SZWmay|J39u}&+4!V4dZt-Jh;YC(YdzT| z{eQ&033LzYNkd4RSO!|0gvyZRk~D2cCh0XzQk0~P0QWYsu{~qUmcHLJvdPlk z@7{C1|2hBTGoH~b@A|yY`|OY5ieHkc!B&e{jgV;wz->pi2$xRt<}!<_7reAZb7{N! z%YysAuH=Xir3D-A$I+po`M-;d%U+G7eTP z`S6jMJ}WaQ&MJ~#>&Z=DA>9QH^|#q0fZBtAzj};eW>9Obkpx)JYYXpyClxGH3U7pe zHP7zAyF<`qRFA&(ozb^ekG^G>x+7F-uEdJ2m#ADwK+NQ;of#~38ArdmX7sCtqhA$B zQiS3HX9gF!{tKSni^dY5!Y2hpO z*^oQXws&5wqtCy#tzkpW%09olshs?}KKJHEQjTa|pcz>{Vq0qpJf>W2vIOX>pAFqv zHvu`p@=f#F!9TS65epLQJlZ#OQZbrrwS08O@Gi_I7ooQshekd-hWdU5`;n9*yjo%& zN=(`fe*PJ~^XyRa*M-j*%g1_OgClH2eEacO`c2m^lb6n!g zoVVs4*q;PzkT>;ONrzQAGPWvxjaZd0{2Q&wi}*jbA}f8*k~ z$KJT8+YFdz;kxF!u(#PO*17B6yrH=v++g#e*9L2&jNIknwRC=dNL&|_uN!=9@VmeX z=LdB?893iEtm_$%^GAb8jHD3>m(&cOxR3BpO#c2b-PZ;a;$zCU?O9Urp7jqs2CRo1 zJJFdVbVc}aI`Cs0IXOhvK3L>|$D!7$7!q&TE$H=M6r0cD^21UoCjWfM>yeZTsP!7; z;)%j$D(`QEu|7fxA3;_elOKWJGg^M;Z;ue|Ub-WnZ)(tB!vU)>H_Hc7l`@lWc9}mcT;?}Lyx`_P!SGhS8rNgyJ zSoQ2Zo%8<16jKU3><`y^)^fR(E_%Ovm>>Q6y^9lJbza(om{qt6Zy~NTQpbgNDhB^p znG61#GH+4KWTR!C`f{0&AlQ2tLzyNj(-@4@QHjZR>m_Q#?D&`3@U{1Yq1Ui$mtfEQ zMb84QIzBo?6;{Xfu+IbO(F@*Z_i9B)RLeixu(qbDoFD=baztyLrB;(G_~s)bM@s0~ zy%~M}J9UyH%B%13ViO{p6AiIvFf%}!QWjm;uAaqN;2?WePPu{2RBP4QJ@b5+msG3o zgey6t7xp6dm-j+LoyX=&h`@}dA^EigJIJh0(O!#vWeAoQL-KQR%vnmfo$j6qcxp?1 z0c79pxZJ@YUt?o9V+@Bpr5Ir6uM6#huR)Sa$!@1_Y8t>f1z(084~^ElvBPUoe^g`_ z8b0^hd|nl1c0iv=dt-JeCchZ7xYl3=+%j}9K%?RHz{j=!AusD6^u7wak5a#7D_2*& zwY1K!uqNx)h+Hw`LF^H|iP{F%*l~?CR&EpaPG+48h`V0;QC)IuMOas-NHgn>>|Nxd zDAY$9YHJYHi#3&pea(RgaE7QPp-vEw>}3|Ri=ua$%HIRlDkc3Q;331*tir?dfCqgO zji?_ZT7z~NYyyoD|CHl~(0tzp5B5+*cv_>SS?8_DGL88?yu}{XvJB~P-Qw^CVEubX zaq?GdpuYWi@Y%>tjOeAk6)r~~TYIVD$X*BRCXy{0gYztc^QOu0=FdEOac^lKtG?Lq zLTz0jX5FdQWnyo4T|mEu;2D=j@{6^wDg*?H>`4~=q0$;4+y|@zel;_moV&#*sO+;L z2@%UPgF|v;gl5f-S^G4Se4DsiE>2n0=yx(^2ze4KEBpUOd42WBiLtnn`IdXC0z-0s zTm!$&Z;OR$lr^t?ME=PuLvq&F?&_oa+vkEKTkeU;yN6=(9XPH9rhIj9NUj|Df_{2( zXy$TeSz8m{+f@EZP0N;MUlX`cQRO{EP_G1W9CS0F_^>H(+a*(sA`?O&5oPlRhYvW;M4QDDM+v`T<##N2V zEp?w@XQ0yFuWSTY{$2&e?e!i*jKTuWS2^waHa5%k0qcI9Y6lg@LEGu@oohq9a4+jV z#cx+`Sw*(aESKWbq@CNDc|g%rKLk00sc1$>6Q=x;2bNy$;(e>9b++-|`yEpx)_oe5 z)u)V|%8jM(;^%%i(S2uL!;wN`GPufXq>S#m2xwtyP6PHnia5UO3Y*}lAfx>d>Og!4*n74 z7En^0?tUMlcbwz8jhaUl&Ac6s>7mzpOzD#(Ha9Z}@0pH9pL^+edTufy_j-ziE7qi3 zU)rQx15XH0H8a?Zic31?x}@a+t|;>nMPs=i*wX~;kU?|tGkBopP(=7>moRHdr>S_R^pek%>&-dr z)phH$QV=(z6s4_Cr1b1yCg@SHk`pFN3C>FrS36CXU4S+_ew8G4Dc5tm6iq1;ccH~p z_KQAY)}+p2-#adM4zxDiZ=~2fZ>z9@u}OP@;6wG*+pFBzvRAn!a4KR@+vGiVeFbDU z>Kwclr159L1|Rjba@sp>+r3poJ9_qGmJTev4l~S8V%^4x?<*Sj8#vxq3^*HbPQy73 z=X9LYao&OR4xIPkya(q8aDD*ihpXPeu`3g$X!&jj{}`ab*uC5cUv_>ct{JX7m9*-2 zakMGvmS5s{Ou5Fg69>U1%`ftcq<;fk^4Fkq)r0@f(77uU?OAol(u{wC&fvhNm({Uh zrgSE*$C`KJNJ8qTU4M_nRZpDZ3X0KP5?I!I!VItAE~T>3KPF8>?rmfk2Mrc|dC-Ii zOufq}Q^+Ie1+6gSxe1vBsSm)`(FE*lI+=u(olASWC|_&jODkcAjaI@Z*FTDHcP@Pf zI3BTUfQdAmrn>`BeB-<{ucUn2Y<5G|$u+4h_|Ii#CuY&|US+D6hlhY(^fy)@-i-G+ zMMKxQhU7mahUCWw-$f5Rf!_flRt1W(D5BpETSv~2ybjp<$RPTn#(IZeoE!obPIPWk zx-ukx-aaJ%NBc>&oyj&4cGPfKm1xr~93xz+QkKU+$6V{8oqHer)y`}O^zLE#t@tgR zo0mncJmSzw)j99BH9H2nO!>{gw3H>4Fo3@M&6FocG1g?MDquq9Ci>+E3c63T1>EV#9Z%=h?z>ZkyD-G0L|D>-lz&pDz#sP&SMkE{h@iMNv zl;i2ZT%}q3u-Hq7!3wqc_7w)?Z9R-OA0)qMS6Da2}4mWa!97ZPG^U1clOu1DREIRk($_j7!a&-e z$}GuDHLTl?obPtVdecna@-p=e{W+T9YoO!(BH}!?kn%Q6a_QA}d^%jR{9vF35!JQ* zKlLU#Z>DfRXz^7FT4|}5Df|yArwxUY`&$XJB_r#HVnVL%pZl1F&6;#>t%^stJJLcX z^4TvmV$bB5U%6%#?at~*_dp`l_5gN_#en6d(~W%I4Rbi|c4V|3o2bzu&`Z&*)w zwf~4WC7Pp@1ZW(r7>EDrG7&axpggzHhO|o4v1P~<(xF*BZJC$l?f}-=Ke|#UpL>8- zYUxhLIA94wnDD?DPWaS>7*9bHaOl_$d7&#+-62!G+p$A(*deJ@?2xBk$3Z*f>p1rL z-~l=k=KU!7Y}*5n{Aer(9oM3CHj(Sr zu8T z0l6GHpd)C4FEKqqDH_5T(&+d|%6B=854X>kM!Rb9Go$+xdTK<=PCY}Tgxyte`Y{Gn z0`0Fmk&8oZfr_h5$5Zd-kx3?XBV>P@X>_3}j&honmu@rStj%-&^HmPr!*0(R4>@lY zaMpftHg?~r!KyZ{&e^9-ur(=}9i46KoSMzLBI#^bTY}y`IauK~i7P~$Qb4u$BnP1qbLiEYR@w)!H zt2b`i*uU}W`b~A4HXq+?5qB%su}b`3!s7T(-qFQX1v^R0^KD$;#H`pWzhjzWvFxed zv$F3{-N$=c_Tbm<>fP$E-7UMPSPm(6(;?Um(Vau^(>MgHaJst;SIco!nA{sz_Eosu z{zFPv)gk52I6lPj7aU<6pH%IH#&D++!Sz3I{yWZW6=D&s+NnH? z7#l|Xpv%w1qQkes&wP8w(`_2u!)S4b6u<4Y{xd7z2;Mp^Z5N^!^{&o&XBX@D=kopk zn1ACmeAk=0^LG#6eKoexnH|Uv-LnR`!)yN>vbAT-h>kT6@sv8~?r5F%512M)>^mCk zxqKkj(|2o*a~IXf^=Wn;8?8%&x_VI8>0OR}S7y4G-+B50#7RO;Jw2y(ke}37XMG)J z{l2fw`Y%62&7-sa@A3aXXPxF(6n840u$`FsH!$lv6(eSD9FEC2uEH^ldje+A-PrWM zm^GR)nmP0kGqt_rR%C{NElCEj@TN|yWgm~KNx%AL`C9Us%3?rh__I}MJ_@L|y{*{T`R_0L75 zjqRK73juz6Gk~W$+fbJlIV*uPCv+S@Y~yFUjeKWY#@TUM#5c{xS4R0-L=PZdjuq8O z;B|l-6UNsNnI(EwoBXBK6@PeEji-*jCtxd()nUA^+@+22r_(9>xABvhZaG??gO+KH zF>S8eGOgM&V?Na}Jn@n-eLC7kQQ&C=q0wcD4|MFtzaITJ!lZ4n;XY$*V($O4&B~-p z6!(={y*2RFHnXrf{6)L}eD>LhvHK0KVY8YEPi=ql_gG6tmT{g8kJ&zq=(-fq9X4dg zhAQRj8R9l@M(p7j#Z)i+#ezofIA6BMh;c4*^hzl{9@kvYDm&-4sXOzXl(o#rUur6t zp4ZZU#QyD)oFJWBdv0PWQcJ(J>PX2n+$qAHBa9PSh`~3G8P~dQckR2x=?BUtm;D-9 zI?R#|88&HeT7K!R#n^-NtA(Ekw+grCI4-?4e{%7Kv$V%~UnA;v7)4ofJTS%=y=P` zPWv?C;WUz2;jRTWxMa0J_gN6X7nga>3Xi+|lGW1&LbPk{Yh^tq?NsD#8rPFp`~&D| zCMsOOCnOw7OFcdfcf854+P2UU1XB5?CA?VRJkryTS7a!IG0d z9fZB!hUWX+8x9Png63P5T@kEwAaAYh0mm6UPaq>m$;pqmQf9D^Hy|sv?MZNhEnBx? zuP-_I>;_1ZHgICeNh3JDH0079hx2rJ7K%7qtb&w_a~`ar^R3f@GpsbjswAr1Shx-r z%v@BTGJeA3Df1VX-d1q~E4o!$6E+|hiGY~fH-?S4N-J6=-4GsEbc1w#_}QLx*p5}6 zbA|H)&mxjhnzihlJ)D8J%thBpP0BZ6UYk+0@N9O`!gCA4lZ)o#YW}&o^c|-uoPCbo z5ROhMvYsmlQ>GJbkp-Ia2?2f4bO{lWin2pf!a0!TOf8yLG+CMuo{o}5STR~~&V`+L z9-ieF%_tHi9ljc0MBd-JB6zP7+~Oc=eH^^McY9>{-Nc%9Ssog(_b#ZDanbA+VG)G9 zgz%w!EMRlBcobO+?W*x3D`2QK)-M}kx*oD{`xx&gvs@;50E$J?1l+lR`AZ~I8fOV zyE8f-=O%v(Oj;H885GX zXk}mhJ;v_sIr|_-*bkqu`nsF5Tlyb|EfDFYzFe;0%yb^KF^W8HVTiDR96iVAmypXL z=NZoVTt4;gfrs9Cr~vxio2m}DC_aN0IR!^sw|)iH?E1H|6;$tChVETg{Rs80ytFIF z*k6CoFS?D!U-mzK&pO0BTIV`C_SHHXL9Ns__IvI0A&LtItdhs__AB3E^c>oG(b&y% z0<{sXNwzVHS)g4U`VcYgp``b5{arahL-&pe&$QhnjkR~hLuhY@MVjo&QS18kSY1B^ zJowS(N+Fh_puJgvrF_>*oW8$)^Wkp2{ulj^Z$65V`o@=9`*Zxxb3M~WB~eYgCOq9{ z1>7V{{-PI8;k|5dr(g7g-k^T8WPY_5$-R;549Rs?u7!4VFGaHypmT)(fDRe<=uBTiyEmf%?VOan z&O=0@;CC)*ILdv+U^i=^w#}H7Jm-;Kx79(BN^PzZ*s|YbdeVXCd3VF!3+Gt{p-EwC z1@t2`-VdP_hzuw|ruxUoq~zT^DKsg07qj?IgxaxZSdIJgHET4geR4pUV?>Pcq&As! zE*Y>%n}&$ph}1OO7&-vknu@?N_#JardPffn08SFb60f?y@1ZzPT2T)5M<}K~Z>4cD zVqCNsmy%<@Yddw>P<*Pb?$P^`PDn z$pRV$ZShn|8|I36_>u9&S4rF@BS%)9T8vxu<@DT8Thd~I&ofDe#(qbFEW0?{% zhb?x^C8H+GPTzbsYUjY^U4&hNI$ju=Psi?BG<284T%r`tB+TN1ka%0QBFbbZag+eo ziH;E9*`|eWxjD>P(?eRZ$qN~K#{@s&S`IdR!dLDP7M@&W3KiwjUNjCKyDOu4#_5QS zJ})4sT1{9zN|SMn;p=Q~EV2W1trFo1VI5eQhT0I3z0f}J3pXNQhe;ZQ6=Mf4KJW%) zMHF+LelzG%NIGi6ZpwVfz<}8M>C9AS^`;bNsJoiZfWH)78Zx})r-hCADdF6FLzv5l z9fMaB9-q&JS$^XDdavyy^HEj-Z+WVxL(zzP;iG0iO%kqCA@ek_Mt|~Iiu!Dv`Yc6# zHcoxU`|NqSQ9G}>)L;g+=S3??&xrSUpC3>Bcyj8CC&O#shx{CJPA9T`Fhr$P_mU3mab9GqEcNk# z3!!KQ;DJZ}gS6$#m#0r`oIc%}daf*N#HzE0>6hl*V)eYJizL#^rp1dEbnSF?_*lXA z6ircz1bvCtor4HcYzzNdrF0I9l@v4K? zHZwR8k%K;yI6&zVuAuPaPQQ=01iGuH6aNFr1?u#|&VnnTJR&R~K5vo%QXK&nH1y2w z8*lxlM6+%8`O#Y2IVG~wW%r?W)BR{)5BB{f`nsG3$KTcV%}=yCB3;zBe{RG(uM6lBWzbqDt}>mZH!WzPMJDK zv;SBiQ)bbw!DNg%TNdTp!d_Ksh(3K1a}lMiKOMO|*4Syx>k`23DXg>(pC9Y#?KTb? z?^BoU;5G1CGYvMAxi<;N+&}x-zk{^GC=kns6Is zTSb0&O>R`fXP5C_t`NITA+u;D4Khb2U^mK6mLmJa|N1?Qq6VW_3Qa+WFUzXw>{w>H z4R+d)m!mcuw&NVKRG#u?6)q08S2%Cu&nCcQB(Ws2g9B%2T~kz?b%(bISSy@EQZGaF zo!1CYk{?A1{-4?akHwAjD-FMF$M8(V6Tpqm#%(z;-9E5&=`WG>i(qDaXH7sTJQzeC zgw97DKLgC9sW8Kdw$~047l$+cV~kh)mY*uP%ow4H-zMuJOCw}0a#wm9+=x!&Np<@@ z6}U=iY=ADxzgO@l@%DJJ5_m8JcurEr18+;PR#D%>-O1|R$;gE8-<0J!g(n@zj(}GD zH}!Gw&@6?WQv=SYaOTkeQsm!g!1)x;q^aw`!S-So!@=#HQkWks-5cmXw9Rm~p>ax~ zCD_r}ieF>%@UMEsZ83vdni8}F>lsw6hm!u)J+y#YN-eVEJk}~|!O~~9w|2tw{r5Py zE%q&lPr}!@rYbx#Ss1!tDawS~IP1TIPe)ukj6MD5zE)l`H$x0NMiMTtW?U1nI*D`8 zi5Xio(Ipz%6TT@iz-yZ5EziJ?Fdvl8#GrpFN)2X!9+{23ej*}%CVva*R=_l#kN!5L z=YbBG80;AREyDIfSC}2lun}(00M^fv^!QEkdD^`)Llco-_#OP`3jYX7h%bCEG(M~; zJQqqsY_PwCgs`sgQ+N{V3opQCaR=5M^$rK~tNwBv&+)v5R{HP_TGvL;qljyz# z@F=_@y4oLAD!2|@S8xZ9?ogWR&MM2zi*sv^-r*Ginb*g3qUfDj=k+ux&16{}^eYvs z4AO!y-d&~XDMI}5hc-kaQ!Pa{L-c6O>)B@UD@#q3^|l252eWWoXKHxJ5_NOpyoTL= z#acBP{+N#<=LaZEDHD{_6zNf9E~Y$aNsjamZzk$ItE}eS?j1_is-(v24zB@s*VNLz z+^VsA6LAkgs&lBV{X+#C>OA9+9i?j3>5A=*+jmOJ?UvPd`;{4@U&-}`5ZjYA_Q@;b zee%H2*~kgxz2IQ)g1Ko#6j3kjtVdx#<3?ZW5%*SK==UIEk$la_iNMToLS8sxdbQbu zSPmoXReI+TY*CEq*;2D7Nim@PfL{~1-0|UR&wizz6JTpq0Gr_JSOWAU+04$u6>LgJ zwZjS`gBgH%s5C1qg7t_|T7gkU)We={=tSQ(a0u`u@mamw&`)~nDdZx2&r6UDE1d$> z=OoA%XhGv6->y|tkT~!5_?2%~H7QS+{ot;tCx${ZYyb{ng#T~fEUZ%d4eu}b6I!() z>gjL6Jua5i`(^==`MNoy;Oa9yL#_GB2@l&hu6RY zQwT1Na?Ay*xQX~~DeSTB(r@tm%X7%5zl1rWh)=|$Ed^&dM|w^zaFqVXh%SkiaT%QOyT4M%0wM`nfRhErA8 zp*{#fijUSK(eruHaeJ0poc#>;S z7aqIfdhA@o?&RF+;lDKo&%!^!vk9<}9Gx_Yu(BQ2@03vn^N%@Zh?lmMC1D3}1MVjw z-x|++74ZvULB!1+2q`DWzW;{$Ju;$6)gG>=*svd7v|P_DU1F9|BAO@@(F&}PVG-0@ z5o-l5%W6E7HwUd=n!$sE2CKFcalLT;(?KJ~HX%QRdxj8GAt-x@^DJ`v8&CLY_A=vs ztk-1AXQ?&w=`+=um+1B@n=N-v%MS2!kV9;afK^_La#A}B)w1tJ6y^{tF|6)@@_jB% zt>+fC9!{<2vq8>NhwHtE(zTSY$pp07PwKYUKFx7_{~4kr&Yl z%T6_#=pJC+1thcWR}kCMdl)t721R&C%mic>NqTj4%#yS{Q#pEO9~3uuJlY;U1u}mD z-jQ6wYLS+?N-^?3R-rv{o+8fE*dyjSn-_M&@^J!lH+&SKt4X-}i+W|k)mil_16O~D zQ0YAieM48TD>PG;F1kLWj1SYf9rsc&Q*^x)BZxd|CV%4#ik4Y@+MX04iS4XDDr04I zTgon2xX#=N*xi^An>V&>C0-wEV$*DidN4`Q_DoD|QZ}1m!L80>ibN&vMlETbrE1Mj zDwDzzY+%lyrdG_PQEkU2wH=(=4i4?0r2~SgQ{B1VGD_Ai^82pK9tVdWI8j-iXKui}EdHEpKe8|k<`enQW-(|A~ z`!NqsO--1%2`*}f=lvHugf;}u6_!(q{K|+TH;$;^S95a=l zH*;00Eo^4cJ|hn@Em=-aP>Yu1OG&whQ{*PJl{{(_#J~0KH;u?1JR|?ByH@$3yY?%) zVVArMM+=U6Gw}?Q(T9n_n`Tta_*2At{CdRip|N;nlj!n$N&}LjGrg%y#q6Z8=M)Rm zgmr+_xcpM0*%O!FhV@=PYxW>=v)|G*^1y z*lLxALQDdV!>_xz5&0v;2!TE849a>zUl$>gb+dgl>DZC$Vb5hGdZOotw0CPeK)-=TD_t3#icu+I`sjtY=YOWk>{>5qBs(Jd z!D`fxj2Kv1h?t>Z*OcYyD8a96F7#BS{1?IiQTSPja(N{vSg%jtS<0-{xN`6GzIUgODias9ul8$cc zADpx$Wp2W(ue`L%JOg|Z(VPZw zNXYA2piwy^Rv;8eiXWpw6hDhDR96?_7xyS$#*k1nHTT zESK~Fl^$N=5Fz%k#e|%r(A7FA@-7@+!G)!(>(+~PYdUURz7E{int435E}B^kS%Vn( zJiZVkESjf?EP}yVeHYhhkoAs+Y1(CtjdVyCa2Q`Hl8T5D) z<}wLG#1~Lb$Xg)=?VvoYUxO>?DRbcijrb=7d+-=2^q%Zco>|q8`2Q4Xdp);*6kZwN zb#9E!pxQQIjbszN;!H54)>TLFS_uxmgR?`2K(aEgJ-Nc42#&}O&_(mrd&zcxC+IzX z5>af%G(<`@A@)QuM!I-xq(g%>9>GdaRPE|Xz8Eu7oFOV9;89>B zGiFX>J-lqSM+lzA99AUbWhC~fxvT8yJ_oT4|UlHjg zlXF#LaUjm6+v3N6FYRN@TV4UUX8oPu%Sn2%RE=3eJ+H?I5@zCOPecA+)sL5u z=w1rY8w(M|BT0WHxg1bzqNAN;50w9SV$dM!MIL_FZV$$*4&#NReiiLJEc)+6=am`_?(o4Y2o3Ldo_k1v4d-&K;7Sc^yS6*@`NVhdDkVU!aTFalTt zw9yLQjP=5Yll&cWeIxVfi2Sy~p~axZF!Q?_XdLbWr8Y|fWo8zDU*1B}DuYhFZ%LqC zY_>@<%o%@nj7NfRhsw3;q%_Njya4nj=(z?fNvikg!o%_gl|P_gs`O>g&rw6Q<>ss@ zzSl4Nb6D?P6Wqw4^E%?^y&It!i!a~VN)*l0!|)L)s0#1}oE7$b;PGWS6xX)u)xBPp ze;21V(Yj#KH~eF*L5wu$UregD6_!6U*qo#Wokp)rVq4%F$Sr}slt(s34y(?h@{P$6 zdJvKZ#D2peR3&Cg0scshi#yDst5o{+=DMGP!=QCu9_0;bn7_E(GUUfzKv&98DXb(G z4>tvV7(i*!c1R_B5@g}1V(KxGW!HqXpmJXV zMgiu)YUP4{-*M=VJy+Y>M1B~`jv6b1W!L!ZU)AV zGM$ePQSX+;ssafMk1yMkU#`-&YSeido1f_MeUMS@Xmxvj0&QfHf@3qPJrAk!G`{hE zzoT*4j_r;2@91bev!g)~-Q|JgNZyDHvdxeWoJuiJ#8iy!>x1+gP;CaTnhDAXI|bkn zaqwzKsgoI?S%`+AyBetm@Ys=_BZ0aH9UD+bfjHJIiR%&gx2F!vW_8v{>UC;MDWaO3 zs*{xc=F;j`A{ziU#tiN?!-fXniGil#M6xrs`z2lnA+x;<%)H8Kv@tiI+Udu zlq;Ko6GbEKiyGhRyYr%=#(2q*LAoEBm&cR>o8#_myJMqO#BcNLFk$H5qlPN!!iseG zZq;)ECO0~1J=t}om3me_(%YUzK;^iH#S4MYe9rj4xE9gY6T%x67kI3 z09zR9OKw<)GM`eSfLQAD%h+MlM&JB$J=qumimO~t{$m&c>>AbBHE`6|(H$J6EZWds z?a_?ARVtw5@4ZIY;dvwq|DWmBW5Bn>Wy|tMDwgtq4imma1?#0$#8IjI8f^+oFmT|+ zl_hD@t5vA`-_>~cl^PFSsqz0#Da-O>sO_tiF!evV2YZiiOY#Nt5RY_L325SRv+UCN zSvN`Pu;`*36$CYBL9LJ+W4tKKp8(Ert;*3S2CbktAIDv!?~>=C9*X{SXjQXkSRNip z?ur!wvXe3fs|s!^KyI+O6)-R|TtBc;D)(qb2g!g!s z8Z((}P}I?e#{_*1YAt&6s{`_%K%Hx#p9XzmNmAN;bOoaS#O2mln#x&Np_w2*JEHBa zViWQ$5}%W#qKF6KqZeNx88fYU?{QhSqUQ!2=Z9oSJL6xXS7l_v8ITpsZIWK4*iiN6 zF`8BF6UO;8qW(uA=hQ+%H-gMmNjZU)HMeuo=i?SwXZTV3%D%_zrdf_DoOt@OkaiPs3>SJ~tWble3SlPt2Xl zrGf${E>)J(Vm8vx>&bEw5)QPRBy+?)Le4HG;L$xGZ%fP!AQu53Y~7$9>#qnLz8`Wr zSv~~n{M{JI*oNh&0Amb1$7a}x(V7{B74ddzq~O;b4S%TlMhtE2>^ z^1|F)sRXo|4fsA&Et}1$RH0)xCk2M(myv^&`no%CU3g5Vk)`T1xb!CI^hk3K>awmY zwE1Y0vI`MVi^5c1DZZnTnV8RlyH!PMT@xsHj!LDU^rif?jVM-Uvg#aEko_FFWd|s zzFr+y(vaQ>sJ5Cc0bnB&#Uc2SBq_^Fr(*1Mh-JMK(4uNNQlaHQq%NWvP10&tC16xh zEz=X{p9Bv;S`IF}Je&vvzSvZZ-Bi5_d-TyS$mlw=6N<(-2i_f{|`4NEG-)? znNM?ul9 zQb!R5)yE^-c*b|U*H`08m-001hSjzV>FObjF1I}7}z7p7<56fg9 zmJ`&{DobTE4+C$lycC*3n5%r4BAvlP?F#n7J82wN2umZa%!vF=)M~*@hKFowot?3& zr34@9JKAe5k)>{8PP#<(7zXtS$C499v{UulOvL&jY@Ho9xSW>^Eb9_OY+w(lM%o#* z(XIq)6YN-Hj|}QyE%-pf=~@!z^S_T#)?FFp2qeuTvOA_%NBLVL21MFn)>-N(bEBi2 zuX1RXP>qM{e`Pa6&;A_K=jzqb+A(xkZMi4*xH?+nF%x4gcp^a@7c34z-9r1A&%%^N zRoww73R>wkYEEmy^k}o;bsua|pj%E_86b)T=q%Hp7*DS39^9Gi7zz4M0HRpR?{k?JG@`r;koD# z=q%c?(6;i4;De^C(HscNzXZyIMMHkdh{@w>JW;~sv;WrYNg3s0S=7-$e5^fsU4zQQ zLUJa+nw*CwFJYM?Z3<+nyaJ8hHP{98xkUYE&(k4NebuYeAc21mTx4=jnH8hm_RitV zz#{CnEV`(jT0O>l+oR(e*qodoxNOlLoz=jiI`Cs7h)$(SBoNzQ9sg#g#ZVMDa)mCAsHZ6MEe{>KfG%mmG=PI zuBoxdQXSJEF9iI}nSec$anyq6{$;!7U1`@?OP)hZUI}djRdN_Bkq0g$IZF}b0m&U> ziV97zY85&7RwZB zgeIjzl@)z?R{BE>y4iTa#ZWXtdT-A>4LAdW=@etK1@jXLYKd$t;tEgR!`23cB@a4}sS&vh{$pguYNMR6Nogva{0 zAwEu>1&YlR-ShR9T?WpHg9hOl^u|NUcM_2i;MlRUdj@H)u8vtz-VfCGHVkz|zFbZS zJtU}uk#^{Jkb5CQ?M$g+Kt3P;!*Uu!vfLSvgWyz0Z= zg(GbCR+WPD0Fp?bwno|zw!-$v16oxF_^E;hYVwGF<{u&njLSLT4dYDUgTPx6Hj`Gd z*pPg80p9%)&cjH*L{yD*&XYaT0)vFkHA89-O`*;8Lo10bya8wuBPHDBlJ41 zrr~N_NVD}3Wjd~ekOtpobwD~e0l&x#1=&;p>yV#}lgey5#(kU;Ms97CjV5m49B`i zc?GLM1oSdks@t*0To^Jif`ywKGJ_S^sp*<@0~0XT?qN1Nfb&f3gYf>CYj&gr0>Uf;%r zmxXT)C#fgc zku2?NE~Ro~@eT#YRVp;mTnRzK0^>reWDK)H+{|AR^nVb%V{%@`&wTc?0r|673G!on zd39{-v%O5C1{@&zLxr$n@`8FJiS?4c-@K&9YBr>A>uY<7e!u)u95j`|b?;|i*exNN zpQ$n+UAzW1_Yc%$JMXWSE-uOlxiw*VnS}V-=C$~Z`~*TZ^e5I~$gUc2HTz;>r5>J$ z6^%Pu;ZadqQN}fe?`H)p#tk8dH*0c@v*t=ht4Mx>5^}q`kj6U8-UO$U@NF&&vOwr*JlO>wov7dfFJ{vM({9}jb4GA0;BPwcFisC;{RzO6|q zL3C4Xf@>0ekOC+xT*;ig{XOTE{726zMnni<0zIpO%pTvQ@UUp(aM%YHFu}R3_jCAX z!E3LFJ9tjX5lgdI!S-8V<1#6FK^L1n)fcw9E=5-MopDDZ=N0LZ!#x~3rwAsljM@>X zpc&&lTz9HYFX29-k>uG9BO*O04Yh7V8o>8Ss<{8@?fxmXkQgV5(D+gdpwtZvBU=VnM84r)EDl^mvXhyt!= zgB^_Ooay0;D{ZZC{X=bacf@|>joI1M+H~Z17q)kyt(om76l8h`B+k>XFIuicJmEsu zdx(mES-vk0k9*eYh7GlsU>{k@{WNQS<;5P36A<5Mx1#gw(915^na-6oqPNan3#t86 zTy#b(>ee5$T}opjbc;kou8!?#qpz!#6OQyQgG>E3X6Q-QRS|D>C*Qj+R^r^#wg}NE z`DirJ>Y+9mTCuY{%!_|ebshwD9H`1a4ZYcxhI8joN82t3Mc0Qsq4-|lZEaLrT~l+% z+Ydc%L!7@q4e2dC@_WcWPxD51em`VsY*fFXwyV*-QJXt{%?%dpw#VI@{QbyBUO3Ep z4jSCGClJwwV01vvNN^NmjsZ$H@K!6J$$ABv%I6U@_4c@H1?QVnsGO@&hGDpxybK+y z$`0Cu>}EiSx0+&!65P9Mx#%N9&ApGBTC35&(mweJax{0TbN9ZQ!Ge$ae@jmWY6*@njnOq%zNRtKBKCXYJVjwRfOs1#2NIjb+3alMd<+?!C%JKt^~tVe zoOHncCye;(vm^Z#%t!72M1CG{g{ubd@y{W5saQ;LLc)mc^fyG*t{oJ8TF4`sYhk}O z^4!`8zWM|m@A8Gsa$6Smb zIO^cfaj}f~MDKmFZbcb(T*P`WbcwZ><;)Rrt(RmJKZwh_2DiI@U$MS~_2df;9+#_2 z$pN$*M!?gchAAVU8d3;87d0&gKFZs41Eedd-Qa+>49Mm^LE!G z9?UQA=}>=OePvD~t~Tckv>jBw1>eNKbg|;}j}GFV-6eE4aC<#14nt?D z=j|!Tg?VnAYrO;SH{rSabrJ{cEBg*_5U^9i79Lh1lR$|HMr*DqW)w4>YqQe2cWZd( zK~I+p@r=5*WEDV1YBzo!Ss67M|BnA!V`lD!2-+l~4{p1w4f$GDQ@_N;Qx1C8X6?)r zKovEPBu50Ti*i|-upj;CLMyuzk>vkBxGdiSZEt+#MEIk{<^NF5E3XCkrWboE($=`1 zMt?Edsb~pC{^%QZzLM<8|B*pZ^QO! zO|ib{sj}*_5W1ddgq{lnWPdQ zt^6%DKF>0j;6$vu@c1xt3l17w_NA`_i=T>o*Au-?bXF$AJ9G@K>NUs&%p_4|i*sF`IIQV!V-A zfLSm?CX7(?)7TMibDaPcPAlz+80Y%r$5>;cqwIc%zVi*m-kcIPPGBOmqN2EdRW>l_ zS-~aV{<0fZq|F>6%JM%upe$lbrgnU9K)wfcU$g4UN{L$5$83W0f}7U503X>!ObbZu zcrew(*J!@~Fl(~ZQx8_=oZ3adI=%;seOT^mK((ZW1@L;v!_i&JS?8&1 z16Cqh*b*ZLj%3YEb!tJy)B6P$KAefHLg|*usRAM)XmLOq4R2L*jER=@p!qsUKOcYC zF7`)E;^l}|?1?a3dymJK>!(gs7R_zK7!1YKobA048*;Ws-%|{xrJ177k0&3*EWW+p zLzYIYO|&f+Z3CamtNw}B`Doil$Tjf{Z7W3E@+LU7$Y@6I7a;phW**v>yLzgC)lV3J zCoEure14vgZOtyU!Pn0sM@*J}#FD=piNp6Y9XlqAUYnpD6I^{_Y{w+4fj?9TbE~jx z8lqZTd3o8&mCLm*SG~U84o!4c2=cEudkkY~f{YY-<=@ttB=>r*NdsTs6c((=FWKdO zv$~+3vf#Z5DxUU<_{oI4l_;}&O#!@B)g8fq_l1boW%t{(kQ=4Nhe z>&UW)B8w7+-|NCN%ab=$lu@iBue-@L*CiRS5{fVzcc)A33S$*zt!`Q&g)!Eh$^~Mv zXnyu@AkQJ({ew$_ck=s-lu0In{?ami_bx#Y&!G3f|6h8aC?|T~;QUF>^N#FuY<8x! zXi6Z~A8qrPvT^R!#WFJd*;Etq2L^HHvcB8TAMkvdO|bi@`>><$EO6w{NFwzUME|3; zp_N3R&We08;t&7IiEgj^9#&8i`24cTPj+w{er=Mtnd#vXITy0G1F+oflgBH*#tyAn z)hUn2Q{q@JGu`);1e))$!Zx#MMzU9F+=;>UnjpP1BG79YysMZsWzH3AT~KgH8*)`S(Hz_iR@C( zt$mEBIncD(YJ1OA>yQD}?L{vc=hB9?-KBhGjnpTPx4J%t_N@YyPDsTMz01t&9~IN8%%s9@&;%q!iP)EJX1zTjjX@) zVvl_FkRNg$(@EucFYIuwK57{gSyLW7-u`0XTt9Z{BzI#=Bl?P3%&r-}&By{1Zp`1C zrNNzPJXo9;!D9;C=r&s)~iKN&B;D$Ds%pv z>?7j8sC~p3u8Vh~hgo0hA&dTf#1x=j>#z^)iD8GEcUj&EtK=_wo%fYq2S;eXWMU9l z?&R{8TFy;bG@q_W6Sx zuEuElNucc~{S$5P1ub8fTUB-nI~URN&tYGL3_Waeb*ohSg-D^R!J+MZ4%$%>^aMr& zRHyfNzx=+U1+5eYCweC^=5~)A7-D=T-ig*C?uCeFe^sp6U*0WjPWn;@tU7ymEuviK zFWTohxWF*m228DsY8NahC|7E30Gv{5jDXa(utotJj3J{jK#RD_>f{){~$5m=~S*cR#Lqr3ELI_R#4KN^s4Q*_jM7GXsrRC-en$XSrg_rnkS9ooTTafJ@)JvM+cS{cG$PJQrjvIP#VHie#yhZ`#yhjIce4IgFW1eP3!ROQ`JF;>5uPIc2%cK;)M}$= z3&M!Yj`dD!-JHs^5|=5jGlFb2d4G&(^D=GkMy|!q^ADTJaxQW;IESm+BsZ1z# z;N5GXf98vq;N8hRRz26@d;`CprhEIix)&5AkH&&TW<+iE4zfs$JOl@x|^N%g&r(&BF}eg&Fn< z$c3w&J(EUlb`hZ7YU8`NV{W%+n4Fwbm~F*Vi~7_mO>=>&!pyQD-_2*tcQ!eSI)&M} zcw?&ihB*2?pHUpPBkJrq%#uC#PgozBwzCmeayE0r=(#$ZxgX%kF|$< zQAC)%0;N`{rCyIxX)aGAekh^{pk3oJm(;U;LwcIa*>=2pjl^d1v#-TmUe#kY&|DfY zmrFBs{f}=l9_&Zf^s)JhMR(m0v;Cqc-!N~zwkO65&UVlBS=r9*4(qwKS!U31-}cSU+h=EV-Y%NeezmJ@{k7WGqmgpV<6D@=H)tLgo{CtpqrEqB zAz)i?b=q$KSbhK{6_!|>f)jq;DUV~11m(wgmEQ9}lG7QdoorbCm72}8im0@QX-y4A zrX!xTBX;w0x6j{By9iVFPBvH)7~4623JX4PWnm7v-g+_jOmx>b*G~tIP*#pW1FLr} z&FS#jQ;fjBNt&C9g}&`BK@VG$dc%9uL_NOkkMN+m1<>50>$oyzoxH4)w|r?AYG=R#3Uh!?18^y3v)3H%jovT4-}FL-R!1lQPITl$F&Hijab+(V|O& z-Z~X?IdxQS38^b@f}E@ec)PilQQ__8jyqR|1`+@aToQI7rBv1qiV_RRL?+CtbOecMF;Z!+mD zrJFkLzq2o=t^)7cnSJ2u(le0vw04)K)2x$B%5+>;xDdN47uBU`#?504Tq0+okzatU z*?#13Hk}0LLUKGvxu2^{nJTyu?UQ4B!`tcX-{RgxXZv2aU;VweSv_~`4MSc^)XG~i zUY$+T$%a}g7q%y_63y&A-h^E>#oFRog8HFNO-q|JVNywn0Lh8h{@u^$f8A$1aj)Pu zz4o*SCk{nEc6(21z_seEu-XlO>_$9IJ&W!hymti$8_r_3ODS<5uDw{pW^^D6HQMhE z!)J3rj8-jngpq%%f2kfj^NhbnHmLGBuRSdPr)oR+6QZ8nz7~sU!;iX4nPLUN;?O z&xJ&?z)KjaSN^L?OM(xmQt6h`wV?#Zqc=Fnz>d8H`cTw_xC~2c^b4# zaJ}teg?%AyJET{ZHZz-An^cA-SM4#BshcCJ(t-TOQoUg8d1*p@r?&Z(kR2KMu`5FA0&;t|N{Vp_J zseiU)S56DW`g*vS7Nax9gFqIBI}=%d#8tu7LfeeBL+y&e$7LHvl_bcB000?47C3^1 zS7ZRN{fyheLBfL!7P`aoP<$cgFf9K*&R`)z<2F5B5~u-g>y=L?lH<1R8Xp+~T@Q`DE{j9z<%w zEKgasets?_bM#KHoUe|*DDF|`NiRm_2C|+%FNFDnHdrEcA;&XoYnn-rsD}2RssEIy!8=X1+$QjXc6S04t8o6ulDHn-;&Im_%*~A09MmM2P+`1 z2L~AoeCZ)^;Sldb^;aqf;11A-Ug<-#*y_YzjC+0&hV`J7p^Mj>1ExSH`u+cH0^8l<^tO55!r8(8R=}u~A z^@HMr4QS^P*bNMe8SS4uh%Club46X)a!+C4<9!W~Y73%x*PD^>KD`yWw!v?P?`s8Z zFK%>i6zh4|1103|k5FsgHBpvoNzs}qlDgo%pvwNk@(U*q!`C)i$}9=F^5hGZM(bW! zBEHKeN)r${FB7~A;>0521$@e-Nn|Sp=>o-hBfMu(cFyHQq0U?0f-K>L9iCj?;z>mY z0+*#hal$GD8Qr2AV=XAL0>5s;ul4G$N{({YI55`@%48VI5#9~U>#*J%m$SSqS2J3C zJ93W>$xp*t@LFh`n-sy!3f?~2Qj_8fyh>TFhvZEojjy(NkSm&{T4$fr#jQ?QbRwt|s5SvxCTvbnFsucvZ-dyDMQSDxOT?J4SaExu0c^3@*HOVB zRJkG0x!GoZ-{($(w0+;det-Uc$>+>H_w47~vpmmpo`qG}z!~#Z1^G!Y94J85xs?NX zZ0S1i^G9H@u^wE1q`f-QPW8tnCSs1qCpLrQa|rHmuleibp?Llfh_+@tT6zgJKnE!L zDR*m>UQnN}DRLmtS_~fCNT@DchxS1ya-s!qwc&Y(UUN0d^Q@b3E;h=;IeB7F$O_5$ z-L6cG&O-JsZj{NAX-3vi)JXP*lfgy6I=XpwV_ju8WZS8oakH(meN;VWe+_tkHyTnz zZ4hh6d>MCD;FK1v?L(APDju*5$#%q9lFy7Q)fuVRj2mg~1kV}fqf2FMgWsyq7U-)8 z;`MKdvScb%QYOa0TFxkck(YsBULPAy( z(7_67bewke+I$8`I#w8_U_75xZunx*HiNAdXR5*WNA$K1_Im#jh{IQS3w$HYD9UR_ zaYn9^TR}2kb(lA~6321N==2GfzUG?yR5$pfuQVQOWG2`}@$Yf1hJ{HU+yynby?qb* z6x%wrBG!_hLV8#VzNiQHxdu>6eo*$2nPUFN6B~11ZjfzdJY=D9^K%9~&FhXK#EyN0 zok?`mtmE*O-~X1ot_E+8{9UoLCq9mMo7`-ao&*YU6gC zEfXCBC8J#IN$gCFW7RqaNM@$tQ?%wojC0g>_uN1^bo0!?7(anA=8QDPDH!7-WsddY z&Y#C_bL$sSD_^iqexB)kN!V>La+wsLG#0uizYx%?M97s63#N`84qdyzugxl@)bFrQ zk5o!sWEhs^_KRO|Sz`fJ+<`ARF(3wGMbfX}wte+2NvyeTS1ual4@Ys8T6~{xmD#tj zZ1K0Lc>5A>_41msh2M_IO7)M#9l0@UVW2Q*kUtoei}X(i>6?CxRImg6SPdkWIIgCW z$(fJL4kn9Z(VKYVa;)w+<9=U8R$~8rkN=nXZik%BNQ~DaKu>YA1Rtc35(cBjElRuAmoZ3pE-Fh4W}&8Eg0F(f-H%O&wk2r(>rX+mbZFx2W?JL0 z5%!c{PKBPAkHeJ4jWkia=`WzRXE8Ge-e^?nFD4?*&yeQh_6Li(tj(@rXg8mgfKeRj zH$WpvHcm8cU^CWqGIq})pd+V32HRb*8T&1>bo)7+feTshLK&QoKpqeT&4&6Cylfj z=Vb;kWEbuhFGpbKaR;}rt%_(sy5J(W8WMF*==Kqr(+&DCc3|Pa5EJF=4$bOgqunUw zRXI)^Vr265+jHH+@O(L)$*xC4`N<_;wu==#p?0~-XROeHe^|>?E6YTZ7T0nf*tf;} zoe+Ce2-4U*8+jkQ>5vH@HM5TUg~zIX4I5*_tJZ@%#3TQ*Y*3Kh_-!TcHOhQe9m|$J@h*l`IgI;7oxsO z+12k`D(~(0RmhiKfD8xiONR6;16KGV{GjK`{s zgPxn{x=#v@P}&8%kZApftN52=R@+~O4Cc#_!F>7D>iB1={r8~#baJd8wbq?}!O&EV zmg_Ovs9E`9Pj?k6-&!5m?c(I;6Le6pks1dnAKdF0TApvhosU_2OZo@8at_hl7##q# zjed&qt1`o?Vp1kY-(Wjr2{;4psPPqkjalO@qmvMl4c;1s7bJQz#=F6%k5kkHxOqsB z>UzG#D*LlP^c;I8zVg^JY}a}xx9daa@n>|#L^op6+n&kwP=C&X6VQWI_B_r!$G?3A zT^E;0Fby;7j061(0}i70iptJTCu-7Jv7$S)K0;^UCMH%`W%cd5<;|iE5ZhLkDAy&B zJb=y}<+#QvZ1_OSLp$&y_v066o)4V#0fm=@TC=E(Rt3!sWnA$kHJDiou~xiJYV&e= zH~8Zir}x^u>+Ro9kew2Rl1$UES2EnQe4a4bfRdl(>UZ}ts z*b`tG9(jWescio`rh64=Bktyy_U{Q_W@5f<6qouu@Az^pNYR^%$f9B_!9b%3Ql*r^R!dk3KQ1&oE**P!cG>guN7|e(iwCNP) zf z(OJWoBVQlNW~QVfCB)#!H^l{J{Y9lod+JEPk+9Q((Rx5?-H7Bfp;_?WtX*Cffi zT`g+V{8p)0-KJeeC7IR6_poCQ)YBT-;nR#u^lQH0#|;8SHO{YwMNWM%cAVB9KThpW z94Gi`t?RJXX_n5$j@uoo2MqlyDlL;AeXOc>Xm-BBvz>pq&_VFq|leuC9te$tnCAP5a-k^2A>(fmpP z9{IStG+16W1swksWl7ji78;;mMLN@$i{Cfrt$Ib7=|XWN~Xm>bL^NWee$un^ItfIzjt5Uw&V4NV{fx<{jg+L z=qjk3Bk<)(mh}nRt(5cn>w@0YNyqkW=1vkP~z474qZ@j4&7K^{zyO zZFJKY%Dgc9mKrvMMeKQ4=?V@}?@CtkUT&wnsY>4AxDQpZTj_Dw*&1kVrBat#^tG== z4^wVw*+L~IU3|TrU<=9-9glhat)mfHbxW&DmGDvGOZ~Ome zRls^QXDAJHW|h-^w6;%#?oVd|X-@=|#bCs`ayg0De`MdN=18atyaRPzIiOb+N9c=O z4=p+RX7TK*Emgzvk^_kj4s-{d-++-4KHG$Kt0nphXbL{qv)6B=Tg!0h#b%<^yjFC) zs@BDg)%YLsrH<7Fe6nol4lRGj2beV%T6t@rl^6SNVy!oK8Q!3)*xj^E;ZLadTJq{W zdr`wBEkTjrI_WvOe6M!cXHu00GdtFj0DvDAq%0oc z9{EWFZuvgbiS=%mItJsm$_pEs2GVm~(;Jnw-Pb< zj&9;t*+CNe21w{kNZg_Z#VMB_UE156R(8bQ0iN%lmw}6lAK9-<6xL&Lp0v z24|D!S$C8B4mauI^#QY?=b5g}7G~N9@aoL#;c)EWYx%f{e%y)(L}>5_8I{_Y6E(3PYixCckOnJ0~n z5`t|Vy!s;U-uK$s-(Z7eoc;?Yre37={>mht zu~E1Q8Ni6oT_EW8x_l0hJ!k6I@Xo;=j2cpi(C+T+OhCzi%tU4a4Nf$h0JGojmk%?7 z;lard%r+cag45S+8wsD~9e2~mz$0UB;<#O*3ta|a^WCA}$a{T+!*_?EEnUIffj9PJ z^WESF><-MtI!1DXtPPX8LW317zU?~;PGLamhE)76#26Wx zUX6~CAz8r{sRW{z_TY}=Ke2AHVl+-E9@wZ@aS}c?d_&OUg}9+JG_40z&9rF>RGkW# zm^58tM+~Lkr0_*ywlM1c7<>B@;PO`m_?wU$eX;5p8Ag^t*y|$E2$>>++RS59F$XqY z#EFF48=MK^SYV`!41`aP<9z^w;^T1+#XDDqvQzJ5HNF!@@oaF#}JA>alkdmr;W zqXr~-E57orJOJCjR5tk{!FUAgt;dbi?BS5wFs|~>83D@C87k#@1I>3(?+v-=7uBdS zQjOT#0e6!IM|V?V{^S|8BVKB3tJ>!xYeF_(sznWqxtrzq^ugV7OfGj3PzSfh(|2JL z&dW{UXq^}K_-G98XOYkxz`NvEPHn)O0>-olkUouay)4_lRxqM8Pz*o^`Z?z4AKtfrrYy7V@=-%N0$!B9qq2 z*FyD?&d^BQZ3UOk$NlR6fX6Ia|C24G(}Qf&&^wc!IYPVxhNgL?lwSp1ro@RUE)6bq zF7F8av5S7YdYsE8j2cODjuMH7mYJfujN={Ra+lAv^lK&cua(qaE2-m=n)I0G6<%~| z+-}SWHPiZkcjHpoPl`%&YG6YKR#IE;E)7B}jH*=+f3*FiOEsrZ3T^6hE)@|o3hz=# z9TuHzTzab|UvzTfBB!_%_?eUlzE*cjR?&yc6^)zNg-4lqH#6DYAGz|JA1QlV(Gj)7{_(cG|8@e$MEyA@*y; zs{S?sekpVkaSWVR(9V7R?@pnPENZEt+5)=vMdG+uF_(kiDusR(aV@Vv`Wv{9rx8#! zD3oSa3i*r%oFPqD?qOZic!e)0&XH6U?@BCAEYeL(bk=u>+=MI+H`8&!Tu|$6AIHtw zdT9{TqO}>L%4E;;R>zS7(TN-M5o#xuDmwlS{>vNf8ajd0yp3awI|-Q7&~#s6N9e;o zf+5QaZRs7MlYsUJ>mls0V^-+|AtX$)1-Vh2w!2L+|L2emcB)+A8EIo#V$Oo8TSN< zT(j89z}=1zE|o$6XM73hj-H@f`+ze21tT3O@3Dt-&-`9%FC;>Ri&LzVZUz3mw%iNaA%7 zx40)_Fy%Uq;Qi6Ah3SXw7thBxP>Is&rR~r-dmdKhdCs`WX488VE*NM?P68f^@20xQ zY}g5HhVNO>2QGG<0wXod;LO?1H%ro8>^8{XW@v+hTpH&{7aNba5&97e)3@4h02Z=1 zQ!&$f{j?HZgC&yJXIT4hGv2^0VC2iniuyuu^PDTVW}UOu&i!35*(;0EE6cOejyZP~ zxvM1N`B10_RKljxct?4aSD`F#nyDLCqF{~1s*&T0i;Hu_{*nbzbl1be2*vLawd`JAb;o0v6lO2;h}>^d<$RP=0^x zgNW@sO}TcpQ#~=@bs|_t)n68qK0E?Rw;<)r>g@zAL|OY-59Z#5rB28gamqYg1RfQg z8>3i>b>u9pbQYd+@+iZJo`T-e-%~@=PfNwBoMs-SrS_&aQ>iJ?9Fd4UXfAe%U-f{t z0VoOkG|F<88(IX!U~UwUOdGqhh7EGmcc^qs`m|3APFPPFS1}9RW@|Y8C?7b4IPjA( zW340I$0`nAsY~EL*V9~h!Q%KLbR}HZymz|cOp9H8`p9(Q^z_RbP|?A~D1Hy#+b=@r z!v;m7oP(x|3+22W{J+cRBI&kG`KB~<6KuOZB$h($rDk-eqbXB_(V){_w5A@!~p-W!eL510_=uC zqi3H1bu2+09f3G#wO!++@_!;@gbHEVxRA=Wp={dWRiH;n&{3seu^2Dx;_R?8uQ?mL zz}XCs#IZ-PN3F=?8SrND-M7OZF8mqCbfp}lk@Evbfkc=er70XZu-6BAvIvbC6gQb8 z%!vWYWG(%v6E)yWqg=N1A9D?qM0OW%E$L#UaG)g0cZN!g=8Kj|wVjE~`(M*gom4kt zD~j|k&PnA~7wMEIXI!rpAr+(Y+pnn@Y;ixqf`KO}MJ3HZr~R4+p}HoO`KjVzTEj%E z@0hHbWN^_vl))JrG`K{?cTCnzVj_OIg@w$;>M(O#xKXiL`g4yJ879QIOwvf+e%Z#N zwc4+#QEGxke{Nnh_PTq%{W9_>ZHmS+Y_%R+o2(i}tr>XJ-SP%lR^Q(X3-`GesT{>~ zAa}^SV)FQC@A|`S{o(8XE&OgJoWaHw)xop7ia--&f}ga!PtVvorp^ppfe51>z$!Wr9ezF^E4Q(;e5Gn zNsMbj(Jnj63>@nOjZGPWM~WUr_@m$x-DT$jZJmbx@AW{@PZ9ppA|3Q{-5PFfDk~|Q zk?yiz(+O|bd4Gz9KP?0k!EKf5u(q6FC55T^ZL(o-o1BsfE}NG8qUk8deofEqLTbK@&IePmd1l7{k_Y?)x*zk<+s!d(84AkJ)TcVbL#p+JQaky8vlX7~G^h{)NJC@!{tS3>i!_D035sR4 zn|lenfqh1TW8ui^k~Ej#+fmTkIqT(`Le5oF%v}$b!@{PMLZByvaOInFb)27rmM8{| zU|-2)zAs>x>1ya$xFht6+zwuWWpoxhRe&)FG9`E~4txK<?^*EbVL260vHI5x=w-u_K;~-i4MMw?pPKJ!zg7z81g2ZLWe~z_te@0N7!7Q#S zuwpdpf|q=vCGFhaDx)R!9O=y9f_tlWG+(NUwHVIbQRD$$n-c#8c(}4~=1P&Pp)25d zU)@cmU++;lsMd7gTC-qfbOq#Mt1;4mYo*CD^Kl}bqK1~t{=Ji^cxJ$-rXtf!-Go6- z1GxVZ!P$@mN?fuf5vOi)kg%CZC_i$CLv+UDEHXz}rs&iKMerV;jtIe|B2n3WM5jT4 zTHP($!WiWQgMKHh1X>M@eT;J`4sexxXe!(1 zWxU_`g`tCNAzv3Q{sj0f@ShV+enUqJeE$$fz-NFD1a-eLXn^h@SR)dX5DGo*t-T^J z8qiMbI|Qb&Bm#zl4zIWvom$WVg3;1$4QauicD2|AKKf9*0Olo>XhYe7JLkC^=DhqL%Ukm-DPYda?V^`i! zWLJ(cYEyrY(58VNK~4c>=k?`8W$ym@Cz8;OeJ!%H-_uHWv8#_#R zHT0zH=XQP{%IoHLG{^#rflaWKfNFfwnIm{>0rtv`*aX|NY=ozA->@3+<E(m6Odd=%%61`e8bKfZ(~nKC)bl~tf@rl93LDGSc*YoIP6GzVQuX+$^G(| zbGaH%Bx_A;_HPJ$j5(k5kS z5nYgkaT1IfTg)31ov}r+E|%Tv*OjD=NOkHITnOvA-$xdyJ!Q5E+6z<{qwpwJJ)mJA zvlTwrgZqL?ZU)VdE{hWt}bTaFa^)7$Ie_d3Cug_{PU>S~cx zob2PW2Z0YpsOGYne{pkObu2>kfz_^sQ(pvb(B^_YO2py*5D>7tAR6BlIHAPfIPG!O z*{_|Wu{w_vmNUh;`Rdnv%oI~;uioranTjh{xz3c%nFyWiu9V5AoKEM}(1yNGi$vf< zUO?%B>AQBpbOqSKN09sgCW+fzFKV(>I;*RED)Hn@SLJS(xBO@+w5$v87H9&0D&@x9>$6lf05T?SZUcA|ll@~Vm*u$TSaHByp9L)up^s_Fy*#y-AwAv6fIz};%Z%DgjRkg1k67oc0;9!XdcS(`o z76q%W!WtB_e1$vjFTpplGV+A`Jhi6a*QH*^SN-_wmvY%=mdTCTGE?7?q9^@s&*Gcv zpyR|cXSrv?w)!fPsNt2e2{*g-U4{GC%t~rc6?ig-MyyptYiw`@olF|jC6)sx3{op@ z3*TtJH6P`8DnKDa{8yownsdx@d=8q16#5Q2FbAElcGcKp&+CRu&Zm`LB%l{<=*7D@ z2P{FzRE3WA{?7fUe=E~_lu8_m5)a-|VjD`lsFe7%QsRS3iQfXp{WVJ5)@}=`QQnr` zKe%5;dC@WCMOARX&xyNT-hv1;r(xF(s)C6(V=x*8OxkjUQmXvrkU5Wzl311Mi^gp{ zB31+DLHP@MGb=v+iqX##m^;S^ zCuJ&sc4<9y5on;*mT*uV%A2iV;h?@1UJV`X2?7g;9SW@fUvx9^cg}juJ^?95fcnp& zU4*aKK<*rA$fAu8+}sMJk$`Xp?tB^bB;l66z6zSzU?p!ZprJ_U-mndG6t}nds(N7A zz+&OB##<0ECCF0?>de}M(x&4nZvUfw1rhLDS8ia zHFWW94MN&5JN~5L#MCQ4^oAS2;Y|7Cieg-a*ZAaJd3+w>NxI@h<(<1Mu$_5{2;m*7 z5`&nW-yOLWrOKc(SqEHw;kHqn3EWlk_Oy`oJBsK&;hF`UwUkTmKycG)k!J?w38 zH9&^j0Bkv8HM9)(ozV)gRjmyY1ZI%AsfjXIl9r|o{OIQbn@4s8QgN#!jI~{}LhFPO z$E3j?q@4Or2cIxMe@83)A2Gb=kZp7LqSJLn(#ID;rwlu*z+;PNv@cZU1*mR@`n0iLjf-mbftwa z>XKZyO-ynb(8mG#lRAa5++3c0QxffKe9539UBRG|IQ+(!#45jf{Kl2&lwS>gV@uS^ zuYli}5+1*Rsor7i(Kg2Bj$`c8Z1~|q@EcKnS{7q7(2oxi(K{m`B@dtwJae5Kc!^?M zyfe010F<Ke)mzG8n_6Y z*}>RFxS?pzRk#-l89NVmtO)IcJ28Z@cDSK%i{XY1McHr#PPDb0v6e-QefBtGk3E6< z;BsAzl~=$gZnF77u;tE8*2HnjE`0`b_MPR-0f>H#&9#%qK|M_;qG0>*nKY` zuNT9-9=9mV7@LCUKpQ@9Vl3}ZjQtu;IKtQ=IIIZe&j8lyyLrZjV;ZP67*G7s?(f*1sA1qi>%fod7R4ckbN3yju&l#08oKaSJfYTH%0tmJYpF z<>@BHQR=#ws5|ih+6eb*9#q)9fw}k`V-Jha#h$~nuU_XE_fwPy*NXV_i2p6(KS6vE z;%^`xmi0Ir%VCdzI8w&x&^v)GTJrPxRL8A<81{epdv~?-q4TkKIdgt@WB;br-X$Dj zk51rNjg5Sa<28ax4Ud-I@P{F1Xfm4!hhb)i;jX;Qv1dl{Y-kr_pZ|%2wioE&#Ivaz z->{iu-*s}zv*Vu_Tf8SCo}S4_|2@)uc9m0}PvA=qdxv9xkU8afo$F@X*+N!=+D5Vz z)C)Z}^ue%3=x_fY|9W6>u4stU@k8T*$msPPr{VRfsRGC8^@57_AZ&*WDg^CWrrk%qLq*!zd6#;((Gzts=OaG7tz)2Vw}$<@zeO8u+oDjktXuPtpVI$-{ZCb*E=(J)$>u*-l?c96 zU_7ifat9N8;b?5sxC77+uQhO20+mGu(8T&vQT#v}LzAY|T$KmT)N>J4NwQB>NO%Wl zHiPalkmls00)yVVk~AM+JSARND7ccFTQ2ErAGd1&DR=pI6olH9?{Oy+DZSj^hQWx{ zwI-Lm>ezF`b2l@-2t8NHg(<~J!(*jgJqd_q$UCV2iFO-RES|*|5-(JoQdg{$)+4ek z79-6K$4XbbSu3L*7IR;z4?on-`lq6OrZ8)hsc3D3%3&;wksj{TN(H@;XK{=w8iDsm z`|dVtOl;d%>BI4Mp>KFmDxOpNVoY1Rk`065|9#((qGUX8?|bdV-4$%xICBEtUhU%# z#^agYXDG6OvtdK`wo7r$=!h@mq{q5aeQ_A;7%8Jqh2LR)I)tWnsT-^<3rhsHbukmy z=s@=CEzNRMeXS zDNJ74-AlhGyN8yh7E$W&dxt8|?|L~?7BopBzowAjcp#58fEJEk=6(9o9tggb_|eGR8771*!^JTu_gmeoNi>s!NGl&m~(S;jy3MSQp0n1lLpb#jUO~J=yiO+3ht^a9*&!WJdBw> zXl!fbr5xY_hNhU3n9|fLd-`xU-BaMU3q9Z^FzMlUPIpuyT`ScbWv!`b54FqCq%GB% zIP`FinV0q=rK(s}MA&SsiX1G$8pYMJN!+=HnXZe&){ZouTeDg=iw~~-+uB`ghc9?&L8?R70vQYN+krNP zdzu#-27#u}jH%Gx6e~>uKdsRUjwGx4%3A2NS}lw$=C{AX4$5)XWY>AE{%l&wS1WgV z(u#IEKUkUW+*!k!lbugGh7_qfMDW4A5urPKF_==gRTkZxWa)*~2nQ!dLVG~(>IiT~ zgd^Q9yj_O&BTmZe`+CFZwcG53w{C5nleT&I8rjUgUaN&vs}=p94EG4;7JWmyS30(~ zW^K1ojhuZw^Ed2%iS&k&l*-Ols3%35oTgZBVz$bW!kh21%2v)=-e=3 zr!v@dlJQ-G$?oAjr;H4=^<$n@&f~y-0h6Ie`!LVGz_^Y3t}{2myTO}yJ84o+_m8@L zir;X1ejv+XMk;MD54o>HprcQP{jx~tRHV^mcXB3vDZigER=ccwRB#wv=bXcXS&kvd z@k0-9@i;O9ov!3VDIzR9M%b8ZF0IoJ8BLwXw4B?_wms<(9Kwgg%Fj8cI8w2$4|K-` z@0WE6<*vmJ;Y5W4_Y~HHGH)eH+lC0OSgD5kyC3~M0QUymLAVCE=m^9}DOl}9`*$}z zRHAa=uD4t>VtWH=GtZOhdnHQ~Ij(gp=6ZRjz=Ml93G+xymg1Dqj9Wr85NcHqBI`&3 zXPVz>7dFTm>-3T|lBl+#1k8W6H68lX6ZXbR4NB=7 zI?RG*%T_tls@{HHdw=UUwak1_PPcwjdr%gw>iw#Y(L%yLlHz*?^jgo+1;5HWBsd0I zK1it->yvH38XXKejH)gLyJrmAK1b$Jk`-e;*{V7avqd-%yCuGZ=T#l4Ld-skW6+jJ zr~oTg?NA5JE7F>c4h_EWJAD?%kOp@PYt6?u8Hs&Tgv+>#i4xXUSvH+S@wnez>zSQx zlXiMuuI6w5dEmtr8@;M*@DXG?{9N{uz!O1X@rveI*F8_XuudlxcXO5;2Oo%$PDE(V zpX_C3altq13>XI&W=LOzH`A{3kM0H0BmzpnZijj^)#;#wyJ~{vEjjuFrvFEfVJHA<0f&0Wr=zqdv(2ndw1ND3m zu{tUos0n+tKRkNLXdg3wz0tT>bTkx(KSUA;DMt*~JAx)bYGFF3J4SeUoaT|nO`8T-VBOB&FGG(~x`D(%%v z0$Y7a4UW`E=mXr$^9_cU+mMbk3y@%oo&d*c+y!-*cf)+gYM$xDY6#{@oPe6Fpi-q% z%&`TjxEY+^sY;H9&X!02L~xe4^03b&H=V5IHoa!Iw3-~u%(fhRiTa2;KlhWUa|C$V z&|k)asY>12CjJ0#GRyo3(r^1!L}&mF6ztbl+`6u9NW=~~xhv>%ZGdfQGt1z&#ud^R zkMGb3!WK@N)&=W(8zQ0WeR3z@TT6Kqk1LUUY0C^|!^^sg8>gKT(}q3k)j6KVI?N1%1NVWyzKoqrW6j1Ih+)b3^j+&K7CedF)+20TQohXX zgT^{Q1UdeMpxVUO33Z4Q>nkW1XTokQGHHU6%82!A4$@c2LVZc7?@uzu_4We+v{M@$ z*&MWSQjdAVGM_N*O6^;X+_Xb>-Fa$bf((dZ{pLncwjqy9>F(<3=cQI)2ah*8D^yla zI@JxF!GqbnY=H-Rz_W_v%`a)r7@H~n9g2SzC(5QHS%8}M|Do5ep$>y562a*a2G^LWAm!A+TQuu6;=6S!Oe7LGOl3ZH&eZ>(LW_{D(KQa64Xkcg$ceZ1AG@F z&FH1GZYK0w;@%i*f1jre=Ut4nu9tc*n!c%to_@dT)pVo_sx5n}*mf>k(~+ZzYlW>G zo|zWo%UT@j?U7I%|pTA4%(SN3C~46iP`b~ zuWRe8s0I&mKwlwr5)!<2B22YApJbL?Xd|LLS}9(h8eCApV26%nHdbG0#7Wq}sV96M zjdxaPq~6H2_B|DOhY-JfAl}#?Uyt~IAfA~kPy;~$8)Ob##_Pj|;FU&;iSH4F54_Q@ zAb3xBcVb@|=Gg6_*8D0w7;~x~>mUc~PtIgFWMCba<*^ty5&aJIkk2_RM*0}oRSw`s zscCJ)2F%G81ulxSwg5IdC=aqGIG%PO_p^ixC&7-V#YekKLRcg1?Y-X4;VW?9_G^)E z6JvIgKOhVHCn)+|+aeagIo*{M`VlmL)AKDk! zw|f?{B^sme(RS&ALnf7tpDUXihWclZkMqZLa52!4FFw}29;Hd=)Hi;=9BK8FgRfN| z25iocRR>;Mp@EhWlI7K42WJTv{0~B!JOb;d#5-i4Zo{fL58ph;X_wJaSMU&OUJcm^ zzrSq!e+M3PsP;xeeLXF5iZyTgp94FC56P+o@ND$HVAuHdunfCRE}gJ*dgu8e!JP4e zf692yf9LpX0cd|xYWv;~DUXJEsPBPZ&-8BtMhE%l^nTTzIDRyAvTT!O@f*w@?i?GP z8dL-OJOk;?)!w5x?*&&H#)F&uk9PHyHLA068F&P(s8@hSDe{l$cp&qFdTsHXD!s*@V^tIAui$k$GHH(wR z9~n_>F>8B-Ny+&sj(IM~A}h08gEdBTQCq;74Z)QEBaOE|4Ku$0tK*5m2OT^{Y#~N0 z4x_vB`nWe|wW~`?@~1c+dU3}JXcv>s?NNJI1iL^^&1%UW)%sBSkV%mG7HzWGK(atg zbQcI!$=Sa}45X28C6?>l+8@4NIRjutS=s>{b^u3=krJS3#bDD)39WQ8jWUb#SFhpB z4BXCHRu6Dt3naH4OLKHmuWkBi3dW=E=|cNHW*La3+G^fcirzbWMc0yb)=DeFU3c*OJr3 zjeS*4DNFmjuqv)mUxMX3;j@k+n=8_+9rIok^XT99Ozv02DRO?uS)y^bS zS6d^vO#_5yq*w*~4z`YQXo8yP`){>M2pj#LuF)|HyQXGujMUhrK2YSi_Q)qPtJfT` zq5StE@g1qLD#s(fv4Dln{5fUjSmXaveIgxp}*s4f?};@R71H z+Y#D}IUV!)q{YIOlS14_Sqf&eA;R6oELUNbaI$re{bHaX2)KDm#3USu#=8Me-Rp1M zfSHHVa{^O?AFbfCe;ObfMg{Lezn`@XZM->tBGNZXqRQs%$el?hQJej=_+tzOS7s(RhaHHqUI-HW0&Rv;jjdA z{40K>yNMqG4|VME5OxH77x>Y9)UyDNGp}|-8<2-E9pD0P!IKN$>MESie!FX8Gnf5R zt4CRx;2$W{I`dR`ZNp-v8pZAZ);~aewn`q)Wb=TpdL!zy;@K)0&n z3l<4w_o{B(1wF#M`&2iklDWqsZ+O|n2<&$uy z;69%8y8JfWJJ{FW#k+O#NqI6{&Scu-h_=)`(<2{FeyPDDH<{JgQy-65T|(XAA_3!S zfh~7tu}RO?Xr%>_hT?6qZ<2niejg{sY>nNj+Pp!|z-~CEKh^x2ZD@ram`tX18(OkK z9&KflV(Mb+fKi)OyEe#UtonU6%-li!If{^@0XY_QG8LtxG#NJizIvqTh2;{e`>q;_ z`AmLel4_TJi+B;c2Qt+aI9BfN9j3Gfkun^eM*T|GxD76&yzrT z%+$)!;{Ga1dr-FAOerE|Yk$ga&*iFUX_R)LEE7`vu|LIko`Lubt7=zvHT77(&xjPS zDk&O)9W(P~uYOC+me?)SB3>DX45Xqqt?w`AJr8=&-=?w4|F#o(Q^NiTS`b-KE?#weXBooV-x_3wNoWpzM(?Ja!Y z+m*Mafw;Yss+nxLH`a7}Q6w~434H<_qazgGe5{s8NFSzOmGY|&tCjhj2<*9OQkqY# z%=WQ;0?rx^D|&kOd-6#^*R0CO52_Ccqq!}!uD4;{rxvm8sf8Lz6`lx4mQq@g@|3_V z-}yBMxGi98FrP9d79}FhwZ6oXS=T-MaHpY!ZNctk!dqo3=JD~a_vDYkr#Gz^XG&`s z_PI=~ce-1k`;ec*-QnR`6`tcL{3{k5gQp7TXB;Sjcj2y#ebfBTH zf`w1$f9a!LHd?0CG_-_Hx_AdDz#Y0l&p1+D54utu!b#nvWz$WLP$1Ryig%AkbTV`I z1N$L$#7!EM-4$Tspx|5bZ7GBm?S$mOSciadBbnU}SRHMecRj(jWUk6AZM_ADckZEY(%PzXA!4`eD1x?Y+JSi<@JX=(#4}c4f1U&s;g}{ z)*^OpdWUoxLUsU-O*TeCclHgyD;)N1idRzgw~#d3EIL9^S%ds8T0?h^3^kk*G*VIb zS$s#PSQOAm_P6Qm3Zb>}j*VVug~f>#-Tw~s(7u<25&WU&Fv`#Nu0zia*_=Nu`|&_x zHWy6Hp5|AbRf>(fp&I)9&Ka9O^uNV8EYL}h% zwk78dV;|gNcbz+nU5;hn3mH@Fy?uDgh@Q2$p8}PMb5h-)^2Za69~3g+uVaGQwN!>V zcow_kQ6EwH2O;NV%sMuGue z>)nbOzrcq)lMex2r}+N@+(#opJN_Rr5{sU*LJP}-&?QLFOBl975UZRQ3%br?e=Y&{ zu0Rl#4ZMf=J`16@c#~fMY_JSch21zWT6zaT2Aa;ozhL||(wJ^K56SKaAOuipK}#x& zgdXY@LFE<-BcVHhajGrf`mgq%V|B8BQgYLMKFq2-4elACY1hHF(A}I?%9RN|&^8g3 zb2#P_%{;AiryQkWDmlS5ua?fV&|FZL(z;lK`wF4|Hcu~ocvOLhvEIJJIzyV0Hu>x% z?CCeEF#;Qan-cu72KT7<;EcZ)E)gynj_yDj;iRTl8{)iL%p=aB+Zztu-PeNKfjxGc zbl7vCS~Zo=wq1MEGjAr1_#eUsg(gHd40>r+FK^BPUTv_3p>f#OY`fN%tlCE-l7jv0 z)5sR=%0IrpAGv)6ce_oh^*Ck>b4)W?0L_i>P2aCGo807ja~q?+UeyYo%#cA=^ zZVIP)p3w`cjdIuWFupx~|HW|brr%>1g)VpKd1sbcfs{A0ifGi2c5g*K9$#PAOTWW< zA&r7(D(=(iIaCRK8oBC@YB~&Riz5}Ip+_A<@zmj&S`-c?;TaA+j8t;-V5OxmEA1gY zNMB$khC|=?@R;}E&_DX0-z%YZK(PSJj+AUZDz72cWntZsyFd(@9ae*nJrGeO$1{z^+;@S^bUaA&TkX868&H06h1uXG`NP9M{gN)(qDQ2u_!oK-wQm-q`i8VeXT;1 zh3++psfPNgv?D*3_G^B-u6+qzQ~o&;TNHz5Y$UZ= zU!;Za7ZF_%G>}LM$4T?q=dO^j|Yez+KU%hQYA#!Z`@fc{~Dc z8xyxrx0gx3>80O;y|^ofKA*TCy~#ag79KE17WPZX`S#GSLrM1{=5r#T7Al+QhD`dp zM?F&achY~rdb1Qubyv`K&;;Xx^85$S;^_55E=$ z1af_${$PLHcd(vL^^Ak=K$amo^6zSK&|0BB(A*vb*~LI3lSZNp(iRcb#WVdVXd!u< z8rYlK4x0+CH)hDwMhIq)V-t31qL{RWS9qUtoH(SNL~V+;M*t<3+RzACcHYrqXt<&N z{xLkbguB__Z~EKQ+0)=N_P24i5*7)~?eFz$<+Vvf@#lcx{#DSP$O8Cf)^>?f{;aA<$et8$t373hI0G66;tl_NL%=YG#CL8l%*=qNE=ZoDgsJkC6}PR} zV~=YUGE^BUJ(}yUH@@K!v5rT}dz}^^?plp{X_5T2$KA5mt>2Qd+aj z4%{xCapg&#WoMjbJUPMa9Naq3e8N0SD$vc6exp-w+3i^1`b^faNm(OVc8LQfao9};>-KrK z$*gTv;~BQe{z{|q^L?&FK&0Hn(`<7iwLkXqAnqMd^VNaEYdSrQ+O-~ob=bmd8pR)Q zjFyw@xJj>ovQ8~)4{)$Y395=6;Ub08lPD~zJ5I`RcTh=Oz+z&-6w^u_bS7n<#-G*9h1r zui@C}nRAIVP}iy-re0Az*S_M#`&X~{^nR%&&-FYiRB z)@*hQEB^cbycM6I22K`&Qj7gE2iY}da~Bk+pQt{KFY9g^>F1^;%aEeGB<(EXyg4((-hqdBmzX{1MQ;h)e+U$hX_Pa}QvHosDEn3`F|gB84M z^OFY9Et4JmO6y^Jv#P@68vJC8;|)h{h3K%p<1D}~s_Z`o;Bw1<&P;2Zs!~vr@x|=r ztIGLb5N_ngJh-)lx&KQE!b)vZvX7uPU63V2+MSB3~VWr`);FyB8 zajv+<4_25JXbX6yNKhAKFmGx3oW%x&6PzckR6AB+RL*=)LF} z%%U7c@-nC8))F?~EJ2Mt*8rDM-cKUp@SK+13L4KT&=h4_iISh(QQ!p5abKjqf~;}R ziZJtn@;%T%g}Glr&}%G0FGh@xY~aQs4_U`paQeh>n7Q9)500B};KkW0y zx+Xdvb-5f<9eWEZlv)3I#96_tMEB4GDkGXF#{4;!xz4GXIo$~u(Lee_OrMtsyvDb>>Se~CSL zGnO^QR^6WceuK`z1xl(W!2%sGz1|h2!eETW0)<})T-ykb?H-`cMBm@+Pp4~1Mtq`U zxPw2yGB7qXps_8&?I7&^KVuGsqcK$C&?7oWjE|S5HS^NEBUEZ4LY?x>da#dx&$pQ| zz>CY(j48aO(9bcmuE(Ifhaz`lZ_?myvKo*N!D7xxY*75g zjtB|Na)e974Z4ph|{14zm=o8b0cv<@H+J8&r83b_3F;g|;aWC`+|6q-lC7Eee9Z?lVcF z^WLO7mPH3#14YGc1d3zZh=SFTWgH2Jl0haYI^#0FlN6aLbku0YDs{PKvA0|D|2{WV zec$>0KmFYFZs*){p7WgNJm*=R>U#BJ?7E!%DxK7Pcq90-WmkdzLT>TWle8bm68^Do z3S!};;!7nlGe%4saj&%m6VibA;2ZJOs1C9PPWr37DWF31b9QD%qzarSNej@|IO+J~ zkn+>j-^Nt1?JKeNXg>Mqo4yiZDKL`w)qm{E0-wDJJ(z^I&X0lfg#?F_)*>3{g2>bI zJnQiT1c!GJKT$g{4>FFU!zM?P)g)<|ufbC@DW&*YlJv~51ueV{7}c~kFOY>jbduCG zj1s6VN&5Bh)5^EiCklzf#g}f5Yobrf*UcKgo*utc;e!{(=xOuVhq%&Sc=opmu9XSR z0&EDYU%sHf?|NVY9N8eX^)1)$O)8jJ$4P%1G6mI9m2^F%%ilxFIXRkvyO+azAG(>s z)WuGbg}n?(InA)=OkPa7;`xXq8eXMW&VM~dcfL`6XFbtsw-?~p47v#3 zO*Fo$62G|Z1%;M@qAJ%#xBqm_i#Og58VB2g9{i_PYb7sMK;k}OxfI|<|Ltvy-0M^W zHg#1H5&bl@i%?0(#}m{1Ri?ehvYD=(QZ&hwg!bKhoF!FS@v zIf-woq)hD7bjtU6>D-9vOte{dM7e*6YS@W$+z-<4S^Vk)y!78em9$)W`mdnwAba84 ztGNC*(_y99p_2YRN_x5!F|B<%r?FCuCO4)~Q6Avsi+ucN)SZYDVU zGT5G&4%qV`3*%`=M)=I9oFTgyUy}fd9{ZRbo-Z={(qluW zK)RK~7=0+DMVTzvr=^po3>zAHorVUp%h2G) z(dp9oI~%qBUT7~~aQ3;THs0C@TQo#%mw~%40B5UOIi>-}jX2ymG7tL9(L%Dy$pP&q zD)#%!+#$qGq%w%HY^GAua1jh<{b>iz0dM9_pDl{nTJJHh*u>bcd5(1*9OK1nq!PXmJ;H2-d9@j;* z110R#I-N8GZt43lU72xp7FS<|iP9Qj*Mz&EvPE<8!;)G9O6K3;+84*uK3x#EJ0P8)lE5{jl3>76*Fbth)s{Ex5x|5 ztj_eoN)KKv46IgE(tnQ(_pvy$Z>m|#tgSi2nQdoye9xd~n`@d4$w{d#&2Pf@hI1hH zL*8aP<=eG_f@V=H44J+0#=Hr6U)k9(W4REfh<+^|?ozI*-M%1H^T<&zJ94oH0|u5c zpJMH2R`4X(UJe=ICVS8R3lT)#Tf~cq@Da!rGVp~drO78RD;3cXxN9A@*P_wRq~e!het!iMVZ z)8B{vM<3CgS+^(yoC*AB1P7g<@~_X%@_Q?S2jyK&h8g>prh3#JwR z{Rb{EcjO%>sN2ryY@GC4IbQP4Ks-rzG6*V_e$t)8={xT1zLPU+qRRq7(7dFuJE!eV z);!696=a@IINk@jdGrc_YDL75;$jD5-g_rgm?_LKjd`xm@4v}pL53`NDxNkcA-24s z?Ag$Z+3aj_75z4?GL#yGGm*}0rr`Qjo%dxP&VZe_j?IiNG#M)ta6g@O`XKRpm=0MP*%a)m$bS#nv|<=bjmeFuy2^MGHA6n6 zVu}IS0}iS`%$npQtoiPoS;{CR#h{It>waXr{rqv~Bep!+)5wI^O^-n$k4SOhV{2Cj z%Yb>Pm!)w#4UO`|5bzuRm8_}QU3rA0n!4aOeF-@)V>TW<){N&ByqhTh$$0kRZE{87 zHeeLBz5a)53R@9_1(}tt{jmSfuISm%S|)V!g$DS)dC}+Lv9-t$ti#nqxH^aLWraAC zLRmmlcpMy#4ERh=#6dmownW&`PWn%Q_e`{^_M%%Yt>Rr-4dYo zuOE9;Yxszn&Pdto8A-+SQk)@t%UQ2CP5g{8OZ&~uPGIjHV{d7(mak6<)WD3GfyO32 zxFyb&Oo^y2jNJ(jM_H9@gv=y9`1sfrask86QkB9dL47vD6yGctJLd%w5)$~pl(5~< zi7g`BA!0HFi0X7ZGAYZkvIHN9BVRl{z zI9!kDe%oY6^J&*TlUd74&C%{{a<%cX{qFUQEws)f9ziR!-eMcc1^eKhYPf@IYRU534G5-H{@e#%d4uVN*33D@-o~dTCL$>VI4qzPO-gP!6hoF(@U&gX$ z;7 z^*Q+Z;nAFiHoFlcr@_d+Iywg7?VD?zVzjhbBP_0yU&H<3Iq)7R@u1y9D9 z3{eBTR+CLyaPVr3BgKw=;C#U=tZCfuA$tL1Ivw=}@R>lR3?uF_X~+5Q`#kEghWOv#NA&A^-_*dgoQKc~}Y zNvvv0C1EC5n%VyA6bpf3l>X}QyXSPetNR+eZR_D%7<`LYosX}{&6#u!$F-jdzoqDJ zCHh-O{nbz#{tIpR`xxSFW1W@l6#2V>@c7x~*copynv zSNjw)u?xW9B_Ss1=s5!;9~tkoJAOD4bJ;>B1Pi9bwmB0Qk_DdprJ>BpaTa*6`%5z0z z#W@e9?ctjIXt*+9@vs*4$vqzO@SBX%F9hcZdp+!&XDElrjGmKJg38AS^WxS3TQW7w zTHg-8YX2tkA>v-fXHy0$WNwZf4K51q@ickLUEF1@c6~Qn)#TEG6TMV<-a>ozuqJ9* zN3wYfb}iIqw&XdiK6EC7&tj)*As=G93EnEP)3e<^)Ky0KFq^QdF{V3QDpUfl|B7iy zA4zZmA6=856=oE__W0nk*xKOp9=B)9WQzC55~WbSXI}Yx`&{AE<6nRWCCJJ(T8~CF z&3_%EjEH0A7FUZ$1)FBZQX2+#>4+v>8macM6)mn=$|zquWmY$1?sUzKu6_ja;4{~n zOCvOrTi_vrh>d77?QZP(9Cq$>M&q4voOq1hunW6Aig~Dptu71uvYPyFpzEa4rI1p5 z8M)O}s$4xayu&qTp5U0~`Vv?`wWyR|t@2AdCz85r0D*n6T|u?5(?fO49$g#k_2jKR zjR*;OShB|#!CzN!z-QP8D+l=n&y?l|W!`7T%uG3n=%=VV5-SPrgme;mbm&jNRUl8eA+1m70g+t*vSe_!n<1?R z4YEnk_^6HXslAQ+U>UX3Q-`v3C~K3R^quz1T+7USAbjTT(=$1YMCZ!e!x>ucM4H8e z2#;x&6!0h?WJ-v-uDWqkihiY$#G~IK+er@Et`}f>$KcksCZ$C5R zml0^Zd?)4PeL88OPB##rjWN*aMmU)*m{Gs~rd`<+WNwFTZT%UhED$&ZxYl+r6Ub9k zJp!K@j@w)%XEW?pLGwIDP0Ldv=)G-J{ifWGIBpou&J_p?v`c(hb7S1aD=*I4wMX*DLy{ z%A||h;8ieL_`Z)__^aWE<;em(RuaAdAsQ=;)6&hd#g--QP(1=oD|wJ=#IxdTSYsgy z?402~^?*s649gADe_uYdU7mvP-*Uoceh@98aWz2uT`BxiPR7WT4;>m%r?K5N!o=wA z0gkN^X35;l4X~@{BsMj*zlP5|?^~E3YB|5DqD3m;*~+D7mUB|1zfW6;RheN1tn8(w zn?lUMe3re8-(_^>MM0C5;9rv49IV%}^&G67orcxHRnsQ&2LtEw#>2^PoZ7N8Y zv+^N_%IoZhjwr;=)|N^q2|m%7HAsF-hX!s*+ZEB89s$omwzbp~>I41vYimQvb5hJ~ z(W@ip&ew(5ISK0g88B@nJVO2}TngOW+3&y#_&dz?|BldnxJC8}yA@iJJp2&&jhiC< z9>C#f_Uffl8u!`$Q>)tU>b|Rfa*D}b(}G#eZfzDY+Ux3Sr-ay!%jFD)oy~4F*G~rS zqzVA-MYO_sqhQxJ5v!zXTv#ntVDSCPd^kWh^-_>6%E$sc_) zO3ANqHvFn*&=@TkikJ!vg=@26R~aXn;!;Vc7lbN=KffWL=IYZvlEs|1s6uMgX0rYn z(Q#Fw*O(vnYoug88M}#?PlK4AJkExEFCyZHq;-TGl2P@={*}s^4rgeGjoNW$>}j-! z>iybx1NI!}e23TdXlw&t`&d7ZU00Ro*f|}a<6!;SYh#0-#1A>E#1G}H&BrmbnPN4p z#}3DZd`5cLx9@^)VM&Nj_U$hUS>T()&Ye;+@#IWomACD-eeRz{$=bq|=?-{Rd{TMY9tY%t%0PN0(O(k;sI9rqTz_uXu$p-68Sl=kh+p>krR>HfN7LDV(^MDO}qZ zu2psIvFAqaiiT^~9RKrx0lN3Z)1{I@e?=eJHYctZ{;=p3f^He;xmDjhCdK)I*EAsaAD7QD0d2OP{u1 z$Ex(}Ws{BOS-vnSS{cX}CNIXWd|{OWAG1)SwEtJ8G{mB>=KcF~ENr(Rahe?iF6HXk zkf~CDg@tcFYU8OMM37-Nqu(6*&Gl(a$(XnLNT#GhgnP9~9aUrZKs|jr@~}bda7;PKZdUDLwjiSEq%7D5ZU;@w=t;(2)@0HL7|N2~k@#POJC`F`HM?5`2Hhuf z*rPD85>r7-huApSj}VRAvhNas-9lau0PM9x^t#DOLbG5=LLOW(np=>W+uyv>o@XG5Ae|r&jrd<$|I8 zI`pz7X7IPj`8!(VNjN6sn6iWSvxTRci8GrNUJlJtoiL>-KG+Lw$!(EK1->l?TPWU- zHEmXoYgwQ%%9J=G)S^?G>p#MZc%oZ-?MJ2fUn|+vJla(5t7L6i3J!2!Ara8fD4U}kMC;_QSr>}U8Yt3ga7bM&Ce2-?%iPPd!2YCNZ@c_IqZ*?s_ zQ&+O9Ho1$kDLf1-3|4rzU#;d(*5sdyuv4)Yn!3{!3%-L{dpN*9OE#*{j_n9A{nr$J z?qbcC3eA|u)ng*EMkK*%Uk9Hc#I1^IO&VC7Fu)QHb)X)z*=dE19ry{#tF^QZwuy{6 zO?Vfxliy8o_G5#8P`HYApLj2g=2Je)y(hJ{fz7^tQS@ZzZp0n{{LDZ}5=lZ@d|uC6 zXcJ?(HNyLER5;t^=8T9wxJy)n`j&up#s{Yiv3`O-4@Aosz zLw3zcg7RWP+iyeW#M{U2;>x0DJX^uPjlap77XyP>j7|_W9En)&<)sIB%No9oH7^$y zLk0@pCp_5~c?Wpo@w|CX$G&-ix$6(;?^I#7u-HK(XB)####-SZcr|%m$eZt&?D&mq zT^}qI0qX=mL2&geaNQ()puklHy-W=93WDcepYvY&|B}yqZwKJ|ywB}9hi`mR18hn9 zQ@~A>nPbYN?3)<`zqyoND75CwcA z1YhhJN%yzru4t#Y!^H=8IJYUVN}g*CJeo*%QOAop!*VdEU!=0$z{=e_eldK^>mF zJUU+U?OZ{$*Ylh`Io#;!6%lo%i#1;cXj6?b=tP*3U6DSQ({uEkjyZaPx$__(F&DZM z%uYva@DbGG#weNB!1vi|aS$}!p1bmPIVL%J#amr_?d73f=V_$^4JdOvYUKSJp-fn{K@Nc~5?yiwc{JB+o z#1d%RV3j@kwTM^%X!GAj3d|LEv2Cy3xx~EsF4lbh&R5r*UvmuJ0(XsC?logPENe)M zNBTtaZHx~dg!L@Do9wcO5PjU_B&&zjv|HV+!oBYmPW`EiSh2;|EAF+cx(e^5_#wK` zB-qBeJ&i6}3D^7Bj{kb(F0LuSR(U5M82Mpf|Huz#AGNEGud-*_+^%nPcY2J-2kr^d zJ_7my(2xX9u+{`lxS~6qJ6*vbGqoIX0V*8W-2w++?ANG`C#Zd2B15(>(2$Qf7p0${ zWc_|fmpsBMr3%ncf#&>;c!R@i2G*KhQ@~<#K?ppNY-7x6URE!LE-s?l= zdrvzP_=)$J>;s>B_S^Hr32X$es|}}E%)L@&<{{c%$;&_DBi)}3I}4hV|H6|UkuP2F zS~0QF8A5j-L3Rot%WkPWz!cKj6C0d5CIxxF*~zw3-_0Y;;cY|YtE=nj1mBZ(g7<&s zAx_6Lvct*yd*JItJA~L^d0bV(3+jj(+7~l&*(8}XQN|)e+XMPpaxQ$Xk5<1-U=@v3 z&duEn<*F@RK?S=ySp7c!$?|kg!J*CHzUMD#|FQ^x3WMx8Duz8 zVXsI1upWF8nGM;^Od+TA<1JW9`+{sc*%usz6~!{Fn-%DXx@S5(aLB5EE9{Il&~~T6 z))kbd`k8%PA-g#Ng-(=aN@^ncFZ2Fd*@@Mc`2J@on`KF5B(VZd?!lVo%SHs884>f~VwgB=P)YuVI3(Fw+&_}o;lGM;WZTy!}UC~WZZPA6kntbd_lofm@ zMuRE&Cc?KF3QYxb;8`;`#J4S#W`N%|B0@ufVX3r455Ib!Pp-H5aDPO)5al5qXIA>zr|;~LY=QAWCcgm_g(D!}}^5H44Eaq=r`gKqHK zzU}ZXI&JwnTpn;wK64Ye>`1;K_wjyxE8?B(O5PG1+>3ShQpEq$qvmvY)jShS_n$7z zZO#JzPmjD2NIdy0R(aS|$O`G`(Un8#ejT_i14e?bUju|$Gf}_`Ls{S#Gr%2dyY=ON z>YljQjJN^3T$lW8UsCxWlxt3p>vDFE)OQImmJ_oF+DZ-UgK65ZT2IlA{(FOA53AI00M<-4 z$+bZ(=}42qF^Dp=R9Z;!J(3K5ZfkojdotDJ{QSLso`1k%Xq8Xit@o83?^a73%VMoj zZ7vO{B`wP#C*oIH{>0bXcTRAMb|c52*`jZ+o4nYr-2(l?nHAN#&FU@Cf!qsy$o;D# z^}z?~*r`^Tn}Qm)KLPpaUCdzLM1g4iy1FNrofjUc{^3&fS#9xpSPWlNe7GAHIxeKtM;CD??{<#s)lXAOq_ zB$nC2wli&>Y_^}#>DsjI{7jpJIm0r#5YzrHxGYU5DZ9lnJ^Q_WjS=^@==vGhyu{D1 zd*y?EUdOh-)34LBU0_elT4XSdV4*x$IoES9$G(J$OtY%FZZBd zf9%8aZl>&k^VhzzO1JR*)vw&w7p+ZE?p*oGD#ll~@Q3(A8I9V$@SN5(nucCNaY3ANl+9*5o8jN^$=nl-Uu|XF5HKt=Pct#6s zaFz*esOS9{cx3c(y^nfCHUAJ}{0IAW>KX^r`eg+2kD0nqg}}DrtfLiWGf|f5SO%NM zvBACA9lIlp--35p|BZQUYkvgqhYkJ%z#&Z+vU*XJ05ca&He($&a~*cjq;v(kPhYe? zSP`W!bKpeAVBvHPEE-}3d+-}C*e>fZ_J08k-z+e6Y?R-cRqv?z;Z67ck#lEbfa9@Q zt-2aWY1!h9^4qgE%I_2a3orBn{-LW7G2yB)?0yaHstcz9`IeXkmT`&ETZUF24r{Sr zr%YLyQN1ZWnhpsAEEA)u_M`wmt?RUJ#=;+7czNNMs&=My;rZuY=BNGbbjn3p*An0v zqSZ1Flpu#sw{O4k2(2&~U07K%+wG|l-4dp7j+|lKWN+OM$=hsS*UE=@gcN@wcLAs*@}-= z>I$BD9|teydXIUJ=jJ#9BWKTXBbn)ZQ@h=G(9pFc>8&Q#%)%2D86O9hW9H@5*ySQ4 z^_dsp9}~8THTl=sud5!ft0I?f6A)#|`{2Hs+6}Pr+ajbsllH7}dr9}) zhI#e#>M{z{(rsgur<*hvrZBQwS=(y!Bk*i7?zCrjw|Llo-f&ZGX4l*O2E*Rkld{fQ z651=ca;?G*LXJa?=+wV-+~oKG@&-g0K}4D=v8^^OvQB*5o_xIKVrlKg(utCX#b{rR z2QuQb{78mUkjr(SB=Qj(J9r=zA`<~DJ8*~VF zJDJw7tlD>2tQNW#F(q$8p8{RDf{`En7tf@?*W@hzPdTW0=83QJks*!&N0tT8fxF_w zlN({1x52YRjHCB^#z+HVb`rcEQ=rQ_4S{1Wb+isJzF|0uC~v4p=Kz>6uN=#u-_nq?WM_emrB-3OHT+)zP zzw|ukIz@WVS+RlhU9srNEm>l0tGsv8CJNF&>rtb3yyJn%(%yMpJBz`ObpLA^Eexjgdxoqd_p4y$#x zsv7Yv7|6w1;~Cg-!$F38Gwg5p!dFP?vOc;oqF15f`pPVgbcv~Sq(l;3D4RuS;Kj~6aENC-7tU5nE zFWjg0S2;8MSsjQ}5vvT6b>epU5>to$Yv4cPRVnyC2;5E*8}ikV8%+)~Vx!pN zVOk#+JHPp&)Cl#IY+-Rk^!82aI>hLyu@$pv^wKbqFg@&|va_HMVD%V3%^UW#@DpDxQ#D}3sudfAOUKwb)*xFrOGs^F zrL!a7Lf5OI5qp@h;IVy~qNQ?J^~6t0kqF#6063rQLQfo)^f z!_xw1JsQ71m$6*dqxB;WR86L3?n#1O7i=l4-6;bl*saDZ8sz*1M(nk&gV)KS5iRhT z*+*|1tBk;As%<;sa~KEaq)m=s{rCHW?tJWqU?ssJQXiyN+7)v4i&e_VklX zDc@7(yaOxm)aYf3T{koaaprKR2cC+)tcp(87k%K6T3w=L5>bTwvCTp6y4~w~MT=84 zJKb?+o!*h@=yf)&+p|uEh<<0*WjdbsWI8%s9KmxvS?;#(Q(03`wqeu;e^9K#d$f?E zagZn1;Y%c!_{C^<(5T#{h!FdN{KfNUteNISmeAVB4HRh*K{|=roiZ8?&PM+TYg6Ly!fG*bemfveUmzO` z%Q{|a=1mqULOKPC!$>joApyiU=s6vOuwPOkmgPh|?;W97{F9;#`h@78z$}uHe-hgf z)C?45K`zDKAYoR%FrOv!!C1Y+~ zd3lhuw2 ztLGzs%0JdeaW5x1KI>}(X9B_$=KRPT?lZ3|Bzs}3O=Vb12(B*lYCbI8v-E`*@BAgU z_OKaHeSk;2op7P$Y@~Nxd+qnIlWtV7<@t3_e8upYj;n+oc<)jjmqUs%q307w7gdm! zJ$Q;_MDf9Yqh>yw)I)fxi6&|^ue_`84k?ovrw3%aPB!dT#LU&~RSPw8)^xjA@7y3h z>g4t$qn0J{L$LKvwia5_BdR?l%Zm?cV`9)Pnq8fu+m#Bd9;3O}Y4Mny=> z{5Ym9*1$$1^T+F=#jrVz!?vnouZuM;fW9mlHhd3o>1D~`!ZLlBgMR{H?PT;@3UA2A zF5OfXCAqh1H{HJ)_X~Uaq195#@f4Y!&dtr~ut-+>xei^(?c6S>;BKl>H9Oa_T~4zy zt$GK>i}#3B$9&+X4i>!{NH53j|FLU8PYG7{j8z8B9=Fr&>2!|61)ezG=0zWP>O7g} znT34V;BAAY7+I$`AKbPtYwrZW+%ZYLCuujuR(T5hx4Odw6T+z@GGa+uEoh%Ar1Lj9 zXHC*#-Y*%({Ny1+4W=y4##?J3byat4mvfBUV#|J+q38*4- z%|fda{$bXG?V$Sc!9GxgIq(Vmsxi-7;uhU|-5lm6wlUw9rJ9cDrmw9@Eqg z9IfQRLbS_h`FBK*Ah##6-o49kLXw|i_|rEo4FA0^%dc)#@0#G(02&XXZLfyE5%FAC zexTQLiswJ-_4xVp6RFTBKyt3spc*LW%$~%W`4L+1Z8#%p_8Njk;un4N1$yrGCZ4~I z=V!wl&xR$l!o>B)#zSMmspdZ6UL}(9IOM++Dh8lS*2P$VzI+9w?F^Q-W|**!Rju z?vU~r`N(H)aEO1IEU0D?M(sd6BeL2j_;tjO235cvj-*MvOQd_hA2KSdwIR}rncVBj zGMmX}slwgZ*+_H*7S+niBrQ#3fdOBlS7YUi53a_Sg@{R1w;zMIGsV^P!CR;tTmqY9 zLeBd+X=lRoqbUQKTH-d@r@<-sR(o#%cSNO6$+p8k-B36KOQrC&o#Qe6>g;rxX*<{YX9m+CW=-F39dD<9zB6srEUGd zqu$C(Jja&7^Fpdv|4Uv6Jjqq-Pc(W8yjw8;3mc)AMs5Kb{i4r68Rl`}kL7%yBRb9N zhQ?4nX>K%opR=Do$(mCJ3L!C~7}SNZ;r%9E_wyM>p$ z*UMQ|J)TeV7S)!77NL*jdNugOPA^8`X}6bnMH&TUFNTz;%V+jhIn0fn`0Z>2ukTQ| zTCmsN>;4<$n7tmd7I;7MA+WbI0G$=bR&iS)^W%_BrL_=tqKUe8q8B#lH6N}3nf#w?}DIHSmq2 zkz5`AZB*}XIFPLDe{>6|=FFioQSa{p*1$ftb#fTvZb%t0YxVwT?O9!j@2*So(+-Dp z2EBmNH4(aJ@Q?R-Y$zIJ=k@g&IvN|Rqs#zn@DJ}DIXwK>h+%+5u9Nu!BwMY2VUm>i zg+G=1Y$(Z}XjMtr5VSPp(rTUzNts&OdDbpxfYgH-h(NIvWk}6pU9`8gK8@2r~k`o|^NFxz}YCa-lcI zIn9qgf`=xOSb0|ih6~S6d}aJitm{e%Z5z>99WyS|+7BB04)}Z8s}Z07f#(LED6J!8 zKJPPs;DRl!#}T4k=KGDt^Ne-#zGPu}IMqwOliV(hnpP#u|iN!jP%$NRv+3s2QqLMm_yvFBxS8*GJu6v&-ytyLvrS8_~~-n)5zD#Hdh7+H-6X-uFxv zIM{`8h+Xc3SHM-_t-SFglef{c*?wi0G4~1rMwFxbtb$3 zaK4c*JVAC1iCL7d?B6=QCp_Qg9zp2^$X}x4xToA+rtm84H)4Ya;TvK0T9kQ%h+2)i z9S`I&GfzdZ3j4WMGiDm?wcVaV%nuuSmo6`Zg)!QWkqyIsomWPR=zW56BzU38c(Xj- z7W@so?m6gY%DjA(o1u+(Jxn=w%5878^W9mF^2QQxGwALFhGK)T(=?NOvaR_g*u;`e z%v@*+DMLIflozUZsSv#dTAP}3aR0_#DXl8$snOi0A!YM!x4XM?pz)dnIJ+V_dyEQw z&Br{xHIjmra8eJ|mKw_r}N&6f9Py5@mz$td_!}xu@Z~IU)c-AjY zO;T##fZEMH>TseCM!II$06wpo_&o4y&DK1`2cy>F3Eq4UdmP%k=>bb!G__UbPeXjs zT!GdL#O;!&B|P_+Zr`^=)PO2KDXO-@@>%%6wbc2z6T7_Gh^Xyvw{zg%l1`O)m&?Y> zdB<`&J2@}c(#Xz|V2zjbw0@hq)hc>KqEDpjqzKt51I^Hg#VZ!emoHEcXJ66DrP)Y3DC zOjQTh&nF$fuB~QsD08?5);UQEx4(s=GW1*$ZW7a4_licqf`Ofw z6?jo8OTooL67c_}(d=N8xZ1f_JOH~e#Q%?_V?UoL|02rkdtO8NT$ImK@G2p>f}dr{ zo^V_>nMYC_~(jAXCJtWa7esuM^~z=S@-I%2sf^Gn1mq}XZwq6Tu#WbE?b?SlR3 zPrJNMk0FpJT7nkw#-_}mvx$|8kt0X(Os(+=Pa(VCB|hRktP=j;vE{)oj+a zvU@l)m7%#w9+|sf2T%iCO>bQ-X0#pWGcn8w1EK8|SQ%OT@rTN84kTt`3TL>!*;ttzyb{F3Rd-(mOvi^wP}v{XcsD&Gz) z7EJg`<;bRBuUICwVs0UdmJczre7dOiBuS#irBMFdUT2Yby6L?@$gGRlg;Ryz$ZY|V&{0YDX%5utF0{1-*iU>gab^|R0mlY? z*a1%^itsS)fvw01X0vVwwAd{T0d_C9M}zX9>9Ll4m5>}EuksYk@qzF!qB9HFHbemc z-pt2+l0n>oY>l&l9rT5C1!4<^mK{#>=e8RCc?z~B?mjRo2ia$ykW-=FCy56lAK-rq zVw9|mXLMxxpODiS73MBhmAD;6Lhu)lupf1GyDw1mq>(h1W+p>phW=A$^?*3rUs4$2VZ4S4D=@ z%_q{)8Y6P+WH35&9rifsXjze>jd}v!0cudD22ds|MkISjeDG7?`VA4C-|bBDcfytp z`^7@F-|Q*`KmE3x?Ymp;cJ;ZEK1v7IV1&%d9zLw@J3+8o7|jeUI`5m`=c1L%>|)Gr z<*c`nb~!5I`e0$>c29^_h&MFN4j_|cfV55KXrtQ@{oDgCllF6=>pX29R(fUB3C-7c z*n`9?dK*ET6{x7f;4xXN7#o~9d=9xJ;KSr3fD+$b}@dy0Qg=Z_Wu0o3zGA@n6C%p&XWm}*)s@ju|>%>|hg(qKp zFDIhelcC(V174Xunn*&wV>|nsl{{i;=Ymhl^BY^s5VI>$-)*p~D^bRo3B`b$+(lY1 z9ZbDK@7Q9W7}mg(5|;c8YiuehO?3@)!7XPdX7bL<*S4I=%DQ;Zwh>W~dFPjXkk5wd zPzPex6!0cS^2qdi3Vu?s%a$4;w`33rlOn3J(mQ`)82w`CpBntR{Ku-QcdrXC8~Jxq zUDD#E(#x|sr^>3jbR@z`DKUBQu@Qy|BkwWAC{gkzQ@uJ^#`pc_A9B1%1+eV6d)1B+ zcu(tXXIhpab}QP%NE70G{m<{(>}iOh<)aw9ckUaxZ~=bo#95hGsS$blVlgJ~LF`pa zaw&=*BYhF7L_IT0Ox;GsGHZ(Ep%4$LOlm!%LfZL@Q9Za+jh?>{T@72aDE&_^&?x^A z9a;I$7ub@6=V=gaArwnw_fo~m{PVW1St;(ip4)3($t|=TdOTScocCEn-?9G zb@*jMKb6bwPN8zfDW#8wl9e`)&Ym?tX6ur(CK&8lp)Off+$9@}b8*g^6d5eZVSlWH zbn=uNKK9%A8B{3_yf!nZe6ig>^!I5Kb`!>@E1MS@jw=NJ)xi z7&bX6A{1lF0fv*dXuJ*DIHb`fXCvHR_=}}vp zBeG#b9-^vb35Fn9N9dtnVWsOwd3e+R0J%4`-l(5pUN+D>+WHL9An27hIlP&Tcc&}w zUie?{>JCz^tWX8`vQpiss^M5J*=QtkO){bJIyv-*2{4G3m$(NXVnk8OM#R@kgtma; z3W7ojpzz^v0V4Iy7PRQW-9w1Vj%Y|Zko7RqO^CQCD{U-7JM+=6@%~f=5|B`#%oBLa zh&-1@&; z`r0+31>~eiA{POTpkaswTod1=Iufu1wUwq0zW}au`Y={wvJ=CNUW(U>c z^usokems7wb6WJ)piktb$msK;`L;|)quA+ewO?}FjQ?5Dqj>W6sQET%2*n%i#J7I# z{6(ly^k?@vx#^n7F9Pf@AW?)D3L>gwm&!zu8+hIy+|5U@k9{@wHl5HII4RyFraN}p zPdbZ2IpRs@Ns%Hx@>1IyiO7%5n47HhKSPK^u?*4+&A0oT;0vt(*zK)B3_jSv#xRql zw`1&rZ}$)M#bHTRi%gJ5hggI!M|=yEG5%P_>`9basFd0Bvoa1V#b#!u7lIUf8uDl9 zsUg#Cy-kJU^Uj)@NOoRsro-jzgo8u`fV*qXcV85Pk)a=q=;1_PC30 zVPPQ|AN0pj5zO(ku@GB zm{$U7HBR1n%$dm8u`WbebD2We7;Q%U0MMp6SoOy=Q zAK|!C*MlfqNm`_u2lvs4ezloKbdxY2<2gruvFXD=HAazL5FZp`FS^a1riT|JoF(Aqdc*K%BTlk~ z#`0pni$9f%wvb=qOkoBn!l8I)({cF8bh@!84>Hn2V@~H!J+DU37yL)h8R?}sYif#u zOZO2+%tsjM*|<$;j9#K(@-IiRHiH*x9%iIX@trqnH^v+= zi&bdF?Qth)>W)#!D6#h#hsi&co;`s+{$m(0nfBcOFHG*iJ4c2SFu4=wuVXch4`wSc zxf2v{LEPod37DI5#5V`jEPd;rX!GT9qPiDt>lB!&8*;^rK!;ccTb3Gmwvq3Di@(kZ zzN!gQ#D*JSx2OuA!Y_6~X3(R)VdFTaj&2JOjHvfd+D-d_?iD^pmEZPFz0w9LcwP)S!lmq(8PPl^D8Cu8 zLY$|?3LD7wprBzge0&P9f|6Y3l(!dq@U~F7b5eaKY&kQX`Src-bg|c)WqQocjPT8> z0TsI`1ep$^+cQ#IECVH*0^=ohUC8S6e`r0hay{1CUoxif&5Y?596FqTg#VQ|mf*1B z_y)%u91@NqJSRLpkMpDkeSMyoA%?xnf;#XzY?-#ZBB-rbcnUE)7qC}&Rw^@I|5qqi zf8b}*vbu9^=2&tgc`^`{$ey~Q+X zqg=J)ZMkj-C;j)>I|FJpa@aGR`xJ|Hsu?R$p=0W zeh^L)Ot_2lf#&+VxMsm8)A{(bY==>y19VOCU}j)maI{vBrxbIW>h0Qqjk>nvytWhNDi0yLm>r7DzED{-O zkNAnW8s*roD(4iEb?cV_6RsUS0G>pnVB1xr=e)3bHf5PwY2NO;O4t;74<$LtG@9CQ z)|&?#>keqL*rNCP3}`E3$;LU+8~I7>cr$`U1_z7Z`V`ZG>5s6W&lUj0;W*D)j5pVdPC*y-}<4gDBoIQ!0M`a9Z6w3GTl?M<{H z2P2TvkP#qg$ww|(lItuK&7hol;Gk69ChSG#V7{Li%4o=_%M~ZXhAk^Kb%ZtB&%%aTdD{e$Ad9!mi>LvIQya*4*aR52x8j^(^ zF&p)dVf|&1*T9HXYd7W-y;q5xd?|RICD0quVFn%z$sxqhR-$ZG;>~SG67L-Yh5$d* zgd5UuI-qnEN*bN1S;uq-y{l zXv%iN@^G|LY4dnnY23$gm`DA*lYVQIxl4FXc;5^jl=zV;BSyf~EMA|V8BVR6Au`bS zJp}K$N9`$H%X5)Ayvv_!b`sq?6~|7)3}4$Qd9o6|8L)OYU!C3E2n9f&BVo zfYE#2$LtdYW7h@`Q?@fSTkP__HK67;xF*zPDH+Nep`TX^`4Jsf#G2c}-WK?bqlG5< zhxT$=8#+!l;aN*6mx+n|nO-`Uk}*L0~H*h$$UCtWcF{5itn zU_w-$>Y}v}vZHt^$!>}c1%6r;S?OGSd{yM2`_*=6kj2UjjJ;%3gSC%QB9YR{N9}W= z9gzW!c@^hG*L{N3ME1F`29~O!d1(d({%u?XJC(P=IlhF5YQ>Ev(7E$6@w4UFk1M<$ z^T5HhC2GMWPJ~QoS3q6*#8-BPdn)z26Qfxt&F> z#fWFeNkO?6dU~?c1b7ne~v1wsK1V4f!@qrKR`&9Prgx8RD zk~k^QBOXU-Cb~=buPd?N8iCLEXoc8jUyofR--We1j(Lvx{#RJkFTIi}uZpM-yjfd( zJU)2mDAmy;ek_&%I*-f!Xk%(*x2J}@K^#Ocbcp&#T#6kMJG%aLyva-17p6uRV20<4 z`-eB2T@FoBq3|B!=a6^DzlR_n9o-k4_aEz0aul|{qlmK&%^`nE-L7im{cVfrN_&cY z=&AJG&|7~Od9qLSjN6kLpfRhKA@zj6LK`Rni{31Xa~%tuNoA+IS#zr`^So;96vWf{ zTN)SfYs?>=>f7nz{eYx{Ah{d*%}Dqs_@NV?ZSnOyY-@emD8BI%- zQooD6-nR`{!dMPKGKmaT@+(-&t^@pOylD(*9ZTRd?R1>-EgohLaV4;w_%UY(@R&=r+3;$a2QNz=Ws|htL=6_e?Z#_b1Mg?(@XSRb@I2L6UDYFQR*^59TP}0Z#xA zOGT!lNI$X~j?1cA?9vMO3%=E${H=^XKKRzKDc2-D;9$#D;1JFs54r-Q;;e!A93I$r zbXZ*@_Z0^;KVk|=Rw%N9EuFP7MjU7(bU%xy6dpsyBo@Cav)-ADjH$<66Cd=ARzS~J9iCoy2>fTIP?lXNJz!@G{wnJ-|0>&x zOX?AU$(b&)@V#Do-Zu;W8JQ$EtPD(AYzjqWW@SWHxqeY2BV(#>7J86L?`MeoR=y** zp3b4BOyJ9;#$1Xk8>$-Z>TT4NsW6t(p?2GE<9Rj+9j%CHRF z4^yzk$)m-T3-IyVftTp_s3v}d;4lWCPz8>FCGr6(StA=?bG=QIid82s|tuNo7OY+g(EUZ715phBnGJR`&)C4;=qw@;* zcrC>OLiLT;A0O0@jMt!hW4!J}$$j4#A07V+jT_aUTEAkQ5t^Ae>klS3bUFs@BDIT(ol)pwOWSFui-yWnMs2LNGwnF-6I|wTok{Do zw4qB-ED?mf-`@?W?R5V0y#MEY-p~90yf^ss-h1x3=bZaJ=bq(vehWWEY%ho(^-pnS zh^sa5UjK2glJkI&d6| zV=;~saCG5l#&HFXwn0ZjWk!sN(9B6GNXbujKn@x@G|2^>C~*?*JQbeexg{?tKN_=m z1MCumYr`j4qY-Z-;w8W<8(Wi%Z_I7QNHypj;j$ZAS$y zO00PgJ$@H6PpK3bJV=`V5yQ;$c&0V~8ug5RVKnw(*jAq~4Lf?%L4_bwL)Bh*q%^Wn z>OCBMp{QQ%iyky-A{YDxIN2MqDyI^RwS5LFn%LKdU(-6A(ca5vA>5lSys==FIxl4v z_1hP^Rr$>D=^}lIPvNq)Ox19uLdhRU$+*J%$KL0H?PU6DUG8MIRGDi=C|#(L7Grgrxi+*9<18)k=8 zu_{N+=GygJ?t9GLdtd0iuVY)>^<|Uk8D)d|dMJ7N(qe2;c4$51>5KWpx=2YQ>E9f; zs-7fhDfYO3icRSzH1KaI^1)jk&|6mQ6zYjHeqRUi=qV2Q^ys;3-d<1liaO{$=^oAT z=w9DKyl2~;{h7{F!GiO;-H>UCSUQ$nv9FtG8{6LuX;FIi)K$T*Z6xf2m09bLD_c%w z*gX|yV1EG|*Go+@5m`Twr5Kb4VR?H)e=38h(ZdDr3B#JfeT8kGW^=|mhssb_j(&U% z`3W1#v8N-u8uwh4U5UAm=&Ok0TzTfc2-kcnV(7&fZ*)3}BKxtC_f<}1 zu%fSJ1_!(#U^PwgX)b`)j(Ir6X>ZuFp3hXmTKHW}$JQ?xD9>1Mdero{D_G`&rY#lO zWts}LL1W8w7gY?(R5a-;GB+pS%21JNyV5MrjE6ij`G_9THKfsq_dTN=gZIt$*Hx64 z-5j^5LWaGNqV-Xk{jR5xUV)Lm8rF%j(_uS}1^?1H#FL0L&MI|CW1v5Cb4+%o+iZx- zZ>^yFSzS}mYxlNRxxcSYvL{qy7w-dd9p$uZZ~#+-ptZbJ6)eP55%+3K}C6eEAX}9NAIxZD$mHK z^nj_KRXk=<+Ij47kk+7Z<+k!2AvySDWm{!eZu|M?NpC?Xb(B4E3JV?%k+#3WmtA3n zJbn%&HK=UdZQnG<6l8h~TVQP-?V7^OhN%2cMT9FMOV!jwYw&YQhB`y&x4(mhY8SrrBvV~E zI0Tinaw@9)t@{giT_w$v{}X&u`c{Oh+Im{+#?Y?6aiE`kJ(ApZ$X8eO+2(XtZ9U&9 z#9^N}_?xb}suwmxn<~3HqFbL`TVGdcfStkGdV`qen@CfXs)P;|t8&*9@AXwrCUPKq zX`|gjDiOR>;E64kzV^5?o2nk#d}MQ6 z$EMb8oo$z8WDUYqg%WY2sK1}yCGOm!9)+rnC|Qjq@+LylrU&S4ZUr|OJ~PDkY4;W3 zeRPrcfkY-39NAU$Pw!KN_o=PlW$EiRR25Z`pMZW|@h!#on|S^G+@gP{nh=Y9VwEZnP{wA)3LV$ z9#&A@rPYVi9jVy8>yov`F}mV{-QZi2ybt_79s1=`v}wr3PcZWN=LgBAMEV5tugqywln7=U;Y)DHwgPrLW(RpKV|0S7peX9xV7}eo93`8E2U7muJYDURY1P#bX`2 zn$;N@O|Rez{FUIQj@1R_*t6+Zw$Qa5@+NPG_`O1_T2X6*mDbEYzU9dMtTGngS|5LT zMKpLr*%bqAKg$iB5d7unm%nYQ^3ylE3${A;`bkEJ1uu0hYZj%KhDJ3Rez7n=!M3pC z-UDjvMbYZ{iLQCg{0Jiu`dwrCFDU+zj+y!C>$UFeo*wOvj>79bSQ&H#CbgOORQfr* zLnQw3j$inN>sJRl%Ka?;NV5{!t?BE{1s|$8Xp{;qhoN7)@Rux;yi(Lb?^XvtCvSEo zH*=YqCOZE+xWhwSUG1ge(FH6$31`LO=w=>kf4b}Ixw{}dtmp3BFuiBT7eeNww$NKD zj5S5z?oDdD^ww@@6@2?e8jw1t+;AoE7JIk(i?=Ig+ZI%WGd8sSY!44PXUw1;9AaNw z2EPmF!^jr!p%AQ44c+kl^gUVj*%k1p(^Oqi7&tL7s^yay0lE_9w#91`Dw1sO`btQp zd~-U+W^GPiPklb*BD#P7#Y|>iS9#kNIDofe2NZvkNYvEUy8!v<8lp^z1 z*uD{hGMQ}fU|BSaE8y@|YRyUDbxeGhTkmY#JlV&vw4uRUBh<;{TLa zS_3n1)g*x{H^~b4t-`h>7x!AY{dAXHoWoMN`0M2?n@rF2DX0$Z({Yd#(&W!_!QL#N z49NL`@3O-3;Irui<|p)Y`XGh{pW6R z9H;clc(V*Nwn3Y(&9e<;S9X*q8Rebu5w4#ZGMGMh@trLGNQm8iphZPs&b}oTVM}ch0{3ZMKyNY4?0K$Mn`Fr!!s07QGvE@AK;I1Cs`Q9J|)48La4(+hV2-vl%ur!!Ag#6>Zd> zD|(PD|0RHLk^uj%sM9h<0oljCo+9QfBd{(jyPj^PCrW{|gMG2>zTl_kF}w=uJBkXB58HABBpTZ}U(tNqTPl zhw9l@4cZ4AB`=7!&3`QAu`0}9c8I$hk-VsWNY1MUyfw(z8V1<8LGW(dA+)M2QNCa2 zC)>8OTU;YOeXRYie>Yrq|IBZizEeh@3b(g|gH7#(t46!2Mr+Z6m(f*KP&GBvZ1wck z>5y)klcQEmBluybHel>wD)7hN2UqMLCqkRoo(Mf&d?K_}b|SPR@kD6npcA2IMngZ) z4Ox6v7*wbri?2l<=|~@8s>4r&)cz+zQDskrq8*Uh*FioXt@QpbmptK={uj#&k{g$! zO4Ks6i{!fI`G=#JG)_ z@kl+*M-m5dK(5nuDM+8T=Y#0e{8{vVlkn8(z_SB(2d_NphJ*=AIEA zgAx)---gF}$TmGJ8}E$VQ)8Y=92|`dxoCH{atS0E9C?DiQEmu04H)5Ga?4Ke&=-8q z?aa6O9rOhm$&zIw*%e$ue5c-eA>P&ef*GD9*SvfoeMn>8rFEtxN1P+c!Tk8&H7jp+ z!C`$QTm{av3gO9)0_>3@72}OmNORg8ta6i`D=m7S&EbuHJ7yFSPC1o&z5jTKjZTqw zo|-`Xupg8n!N$`2U;m27K;}ib@}xnylxP)m9!2GeL(csju;CG&=h3=`}tMkVZc6~pEuK|ov*L%6RDeggsLl2p$X9BMj#IE0?ae@#~W3+(8 zj)V9+)UMdq3UlH&ARHOT%&Y=o;8)8SGt-VpH*E28Lm&&^BSYi_XGUx8Zg(9(!)WL~ z?cu$&`Vd~DdFwK)?c06APT?0empn6BoM8!al}4MmdvXG#ns-mu`ngg%YWy0L^26Pe zRXE1tDDxkMHLl3HP@Ci;?)u@durmxhpr14!#vG1#Rnc}^NY+O+Wt6x=O1CrQd9Fj| zFV;uSCy87u$kHJ`#%8@NJrQ%rm=0xuDlf?)Kr5B@Fbmt)}EUjV7UWR!Exa%1^y-|8tC6L3GVjJI?*za<^dc+Q|Df@Ovt&T(qF?tC^4fzsJ#+NO9&vro{kmCL-e5dE>&hIZPIum9m zG*U=KI4LC8sq^R@a+_nCn`JFFnPVW$Tvg)yl~&ZDO>9JS(^t)T@aZk)@w^*44ZG}D zJyCBznRFu$Gg6rvo`gKwFDu17D8wG_7vhGiVO1&IKI?y#$H?A1R1H_!Z|zV{RZhFo z{(J}1b+_;CV#7i{HvD@Zt)ebBWB%3iQ$m;LTR9;lUpIv;Le@TM%7{2ntreygaVRSiFOnl5*#$2HzSV^QMMn4f4v-X z1*JW5C-4D059fs1o`cYI!m;5R(!=q>L9#T^4|VrT@W$XJi0e1Eu}l0f@^3mi3w zy&E%=aP|@CL4m~mT(+B;UjjZ1{b6J;XgbnM#m>qf!qhjiQfq3m?;>Q31l_gv>Mnyz z2VM0d7ktZ=BK=uACsX)im>tlS6ZaTA%~37}Cus|WV2x%oY>(DJQy}*34=+bYAG_k7 zJEU#HQbXw>%iv(Ff-FTm2g|3#|N3KiFl=Kv#FR&2uisIchrRK6HWqxVldMI&YCGRN zgT5^CLNZxay31aaO7_?K*+-Ja)H8gG8ulB99*0l&+0R*w$6rdx_rBlCq6#5*$_BmP zqL%*|cb>HjvC|%>+&)OOk!H3Z054&EX@-5KP1S-?A$WhMqkmdqe6k8wpo;xlhu~y}jShj@n?Z15z5%(g8rTA>am{q>atJP! zlgp;NQLfpkrUtG_C{;r5LM1G68C}1FPJqFFwRr*Thi!9gam>FS-*hO)wGq|<9)n%6 znU49c%@&n+fddi?&WI$TD1(F59PLV`c;SNw?N{87X0Zjy6~`O-3bc@%Bj72&7jhf< z3Lbl3?}aLiYRDCR1TSd*^o=2wz@^h}Z=3^Cab*H_Cy93U?CH{erUnF#0NRCHC&$iI zf&;sby@cuPXfGYRX4kJ&xZ=e4Ws`g3 zX&bOFZC!#LDA@D@|K@Rw>;p0L+c~*Tp+eYW2%{aoiglc=@ekP|Bwj$Jt(CD7Hb+9s2*tQ*^cZG*wN0mnkBEMuZ?FHTZewENu$J)ia z33~3P2KbMa6$Y&G9RWFZrnd(8*fj5)0MpD3@R|*Q;zb(*C5u?_Gk0NN&YY7ibLZ~& zuC!<_470fdJYN|QgpC2lHU&7Y_xiTso4uw(aY0sC7~n?Xt4f_3h#STG%ob-$4woQ? z3)xcx3E8}FmZb^ z&51nK;(!T0)+T6V$geP9n-zb>9qSI(xDU3nLX~%MV1{N!D`Pn=vY9ynIcGYwI51UX z&dEVKac%B2D&<#A+k(&?hM!&Rr*%|b#*Th=U2C-PHuhaKXEj->3w&#$<_Ih#a2=Xp zdIxNj`4PgO_8w`~X*gW#IyBeLdvgLBZmanp$uD|2N;R^wu8S6&+ja~Lv}egAfQz5w`zLs;;TR?-Gv>zLx>Ti;|`Q?Q=2%iPM{@K9jsuqeFc+>Raxk`j&yaqQ!ID0z&LS=zfA1h&P|JNZw>-c{xM8IcPPe zLy1@1vI$=9iaXA9h_KELcIV`@m2p6vnGR9<$znQ`N2)g(v!)pVZnVM+-^gPq<(xK_ zPQ1UZB7Q8LcAn8jie;@?GNd5~aWgQ^|I~dg@|)r{)9RGF6LBo4#m~6Hz$g%3mgbFz z1W0voLt$mmF|%y)cI1%grRzu@j^cRq%cf~`F zG#T>t$^w4-6JJI#J+!ywd9n1P?mf|IWD z#H(zfnJ?v8)(}$=GxZMaa4YY%OPEpx7g7r4`wfzke*md@jqNyn2ZH>cR$9UvWAaSjX|u~#%P9*^=gc4xWX=+)floJ zxOeC^%hl6qke*M*JoN=nv}<8X%*kk2dyaPeCF$cC1O1O%`gn_61+F4UM<#hOuk~x} zd9JUT6Q;sCR3qt>eg{nz^d2}1bXil6``%9-1kZiDQEH<@)(Wc#19U+pJDRNaEwFqx zqwG*Rtf{l$$u7?HZPS6~vO`qHeV}Scz_Cp2zG{d1?2ghp3xDodeH64@h(pVQ8{bWE z%}dof`j>rJPa$QKNyjr5Gt^T_Z&*~mJM6F!okEiI=im$aN)z*w)j`aeV9`l~U00!+ z?8R*=jfTvJy?aB!Gw|KJ)}`|QN<7==68yi!nabPds;f#;YT)5@HrAu+Y8}>ULro_9 zpJDoY=%mNyPZ!_yNk}`2HXTf-{6bCK07#l`V;SyCkGp4CtU;bBx68Kf#17wxOz63} z1wGESCD=RrqI-(RY&eEdMu2vltTxFi+e$W+=>E^9JP{hARp@c8J&xCw; zvJ$1FGUmdY)ft7&tAovy*}7y%6=jNN85J2BliGf@M_B{g1-e)5+!)HmG+qs>o~)D4 z;?kjs4?ha)_b9jj92RalQ$}VqEK?^B08eW>`8lMSv#OO>$*b>$Y_7Z-Z_oPMql|7l zXF^&!(;eyz;k3LH{8aWJ#|$J6_c(E*`wYWv9jbqf8_@42K56agIWioAH;EG3awqkljnY|E$9R9g{IwX zcns$A{q6gqcbsXzHKzY`<3&iQF8|3JawNX z*&cNq-&H1hw#@cs(;)N`Ha^4`%rDa>lk6ycUt92f^}|}{LTH8?Qp3UYF8EyDI}deo z*EMEPRiDNi$hJn>F8JyE4%oZ=%ubAQeui_0mzKM^9t|#=c`imHx{3@Q~gD&`| z9}Zr*)%2T!o%xNelVczEZiVF?!C-J2AonH{3|NP-s3-lA=iQxpXiq#@@Kl~YDB~mX zH}}NXJHBdm!b&{FRK3bIDGX}(u3i?)`zW3aoD*|!PbFt4axjAhd?cY-`8p4sGrglv zYl;94{MLv)(zb4O@bALpOt)R#q^v!i%AZ>Ti%F&n@LQ~2+);J4v9%;txhwuOH!dG? zOEZ{q8(G^{)oe=QGB(-`PX4^!)ubGGio;5A7)r1-HW7Ijxs(^uoe9`qJFXmnd(pQ3 ze!B9(gC?Jy;O7i+{=(ogwX#+PFD&wN(BE-3DOHFm_p{8C-lMG;uM7z`gHu^sS3;P; zwy!Cn2R-(iY`gk*Bu~zQv#yeVJA7}ZDW4i#3*_8MLum=hQ4(vubka?2EQ0;+YZY&E zhKc#K%MO18rq6w4X#?q31};kmrB;!UoHPsR!i3IBe6fhTA0F< z)v8)<{Lb9wvz&p}k&(MzAN6*v%}Pk34?WKr23^mk-lwcJG^%P78V%S({mZGF(|n22 zgsx?Bl(KfAWmm2mY0kQy=F>iPE2nO4R@GYUulQ9pbt`KuuR@Q2Wo)x6F(*zI2$i9M zuhz?}Q?Tbd3KI5_(gd6CZ%)TIZv+hm4F^37-w?1FSJPYKNo`B_kcIBLmGEQ5Z_f>$ zQ^E3{vPM-~V~GVKXO)_hgwIYJr1Dj@$vbmj_3pHjUbO0btpDb>XlXJxleGVhl*hs1 z9a9epd|5&7rbb=gc&kZm8GGoxD5u(F`mT57etXW`tg7KMxbx?fV^47g%S~w|?72Cw zNo~=4Zq(>IojOP(MQSC+uY&JZ4i;MbBfpzVbLlOrn@Fv-o|{c=nC~s?hBn!rPrtZ1 z$8Vd?;QHq0kBiS=bg63yh2S~AOI^FuvLAd0E%v>B_+`;oMPC>3Qm1se?RR|USiI!Lg%_`luD(HqT-$^; z8Ko4lBrAM}(SnnG+?b0l(tNBH1|5&9$wUY4Qq-jkv)t#fI-#=z(6n6cXOzPC2{ znwOV7q{c*>g zF3QmR)bR1ef(P95u%q&4cV#G7w<&L~zc^!{uQVgoci3N!yL;X0)2lN^_{tDxzdOoh z3F`PL$DRIl8H0Qk8F%>J^n-WOYLUkcARSZksr9Nq9r`43YJ{a;Cq7 z_tjs;Ji(s;sgnt3hwB$w&4tgH7w~8uWbYee2-w?NX5M)Mg)B1YY?>jCDhc$lH5qVs0=%q@`Jg2Rx)~$V9s^$ zOb@JpQeXHNfh-TkI05zt%qb2>kxS;60a;+GgUm2EVl-lr&dYeafL@noV87|^?R5wH z4dA%-wuCG2g;T54o?=GoL#e&yU%%HZwpRh)(X*CI_>Q2vBYsD6e{==aALaR2vz*5G zO{36fSwOSD)@EkIKA^Ti`>i%A#TT1bcg3CfxJ7$LXboF6d9W)bY_X`%)Pu93I-xG8 zu_&7&^6`-C$BIY*(aMM}>9ppFH;1WEUjtpj)K5!mLU`|ljyLp> zz@Ej>}B;Y=ghXB$5vpszJ|! zHOyoR$0}|-moda!gEgKH`u_r1AQR^;^gMXxmsM8WIP}?X`Q8?6R|444K3gH4Oky zm@j`5w)5b>6cz#u@WLUl1_tG9n{3;gp%@cyA6Q$8(FgPFYu40*UV1Xo!$dq%NXCg_ zpQ1Wq5lMh13HBnwkv&&hKZhD<#nZczVZl$s`s*th-Sw4BTJK5*z6I*4l9g(F3FAG) z$4*KvD&1-6s*gPf>keq0ESM1@tASMZ(4k1kH0(`&-&BXySe*m2gjBsFt!xQ+;;;<~ zsZ)}Wj~XtAv@<<@JL3AAhSfzUFHLBq*~gafaIu6d@U3Nv zXK!HDl_8e(Ypl9z>f@9HPM%WmC)N5a$5{UiW&A1Uy*aSKViRC@*GJ#dZ0Hmg71dQ4 zf`f#*N}NOA%7AyY!UH9wT}ulZ>#Bq{T{(POZV=$3mCAS_TvwF82`;p1pF z6E)Vp&wj!_1K&nLhL>)6 zmUs)_VzAWKTLZkcGPf|GFPI7&rRR>{g|>BXBUdXM{~TuR{D}`kTC?0A?}Am-j8GFd z;c~MXZB7O&r^C)c4i@qeEavWzECqA*!;jS;K{?f$gpS8Azt@s_Qx1)k!*nxp_!2n` z(kWUV5|%Xn>pW1;Sa*wBluv)uUc-SF#e1NqMyvDiaduUgH^bNN-W}yC#hbf$P+_~E4^I4`BW3~b32JoWy zdx7rr&n$#r9Cq6w15kq*wj=VC{^80gNe*r-zMVsf zzw7%Nt?gz2+or33x*T;Ezx8LH4=yJN*5HPjI(tr=IqsE9;oClj6{i9IzO{+Z4YVmP zWm$Ew$;E0Em*UMwTg`$VYiuR?T(Dxtyj90oE%64r+aWh%c%e0PA9rV5HPaUtbhl5s zHouP6Od3CEAqv4C}Kx@C)KBx2YxRzra&@eQ8#W*f_sN3YByUYMxc0-?P zNE>cVtbHz}e4xDAid6_x)9RgOJqIxNRh}b1Vy3+d;U|C@l+_CVu~sH1aek~tt=7OI zhZ@qF^332$d(kiFshuh28nl zq_@>_RH#OHVIVW{GsP3%L_MH6Ra0=`s~GOYS1Q!-^Vi5yCcYI;7z}>G;Oc2BJQp#m zx$spKcS>vn#hoAHoV%@9s~Qt*Mz{gBg__!UO-E?UWN$xQ@W?cz0x9Jq0<{}T9d`ck z9ODMXLF;<(98a@SekzjQgidfT43ygC<`fUbp?v$)ws<1n#M**L+o|c=?V!k&=>_WtvW$G6(DI)6 zcGz#r!`$o|rO@5}T8HczIb6;M40BPque1jcymka8|JICF!+Kb5tEGwWxJ*t2t+qvKi9k45le1?l}zy)`8P+CWu zQ7YJV&$LIro+mqGwI74CalZe6o)V>XDNxFnI!(9TC{tkvW~%qTVWAZ8CGm!)6r>st zTx=b^vAAFelHKOu<8ItRDdSPf?3?Z$yY{6A^P35#Ow2&C%)viwOtgRBjNQ!ORIy}U zv~g;)Tgf&mSoDnHYhbCMM38?H+Q?|+Ke{jK_Lt`lpdGJ2|5Sm{a*QxuMqgp#S+Vxd zn}aJVnZByPgn27uUOEUhYPY#|J7(hM;Nr@qpUR%ef2@A29I?zt*Ua7Fq4l7FkR%mrxkdMDN|*{{B@rZ12%|B)56jDjF@Y2^6`S3`AfB zZR1x;*-7hX7trFEKb1Jb!^UOMJWSan1OMU*ybhT3Wc5C(EV%-fvdV^k#`Ft-jQ1+_ z_>>>`S4it6pYAhN4a*qrQ((0nbv~{p-XmPfw(|bO+M}(v3Cd@uf)fso4AvB{TfAOn zt@7zWvZnSO@cHja(Nr@dA=K#outhCnhN*U|U0%bbC);M&ciH6I(c7c$dB5^m)pJwr zi#&2*s=82Tk=MNHHQ0}$fBZ-CiDY>-@kj<-P}RQfc^LM#GvGTHyyPxuF=GZu=igl8 zcPYg)c&z-5vUWj=0zS`_HT*8RySfYhnc%0J1%1~vwQ~Eyx0A73MAu8my9o5YlFqZ* zO_(zr#drl>NE%TmPwF#CUWgKL*~EL0gD;GIU-;x^&uePSVXdFtnprA`x4fiM2FpT+ zFLn;O;UT{;6n!<7c0O!FQ6B`(=uT*%;XAzLEHgyuBk|96s$d^V9G5Vn z&%>N>ls!sM&wboUy_3Rz`}u4?)kem7MJ=Cs>jiL5!AsxN2tRjXyv9xrauJmFI;7p_ zyx^Zmvl!zDcz2RLvpOI|N5RtFki8S_ciLsOvYJJyqYMdU)Qa}n+2D3?Qz%74qwE5ky;+9v_8^eoF$0*2fu~w6k%4q1a!1m%$@tJX5MY(2ees?4Tz)J1Ht^)4z+IYQ2mdwL-l4F&?T<8*PEQV6 zH^nDZS~}eJ2e2#9`}D;Q9`8=51gUCDlwY<} z1r9!TG}=FXi(1Zx_6u)$zPN=}^^h_nKICInm_b8dPpj0}=btP9M}|Kiy@F-la^Z{R zZ+UpgA2GxB`jPMz8Rc=T?CVco&KZW-_fF19jfJPSdp!d(IbT2Qp^bEi{H97;DbX4S zIpBN&M*bq#;pC!wqdkTdhm$cMuz#^U9X3byPPV4jRVkW=x&{or<8*rdpUr<&-gb)S zOlM^JQoTcV%96?<2cgkX;=C8B5B&tKBeG5-{oD<(N8>1>Tw+Vv$iu#BWsFPZEhvq} z9wIaRsYRjM0xPUa+hK4_3CBGb$Qwuc@>j&Xu_8U+TT)t$Q98`aF*Ed5qf6yjRi5)i z_VUOci01mLGWz$2`_IJvj%erI4VizE!Mk})$K|o$YuGb(-i|)XKoVer z!|K@NsI0UuJyIz+tKj;4(}bc#ky(Gncg(y(hv>ju|`XZrHrhn07nltu7v(r(nON?9irC$}{`GrsAW; zLJ90}K}&Aq60)?#88$hww;ysibZAv6q21!~mJrkXF?V%B`SS%!8p|aLR3@eXN zNzuziFBgAaOg40xm+~h0Pa3mX>l7IqyuV`I&(Hnyw@dwMPzj;vj{~yo4+L zI9SloW@Mhz29>cYQO&u=skQCzC|drd;~aXNuPN6tNad3N zkO81xtxsv1$nnM+EQT5W7GkWDbcgSY)i4b-!OE(j%gnW~9N0k&XeUnxuj1?T|LLiN zeZ%;3PWS}kMv*>&o<>xRrf!U?8dDdvkcjIOZht3iv&&i@7Pv8soknLw&sWf-$YA4E zro{>tUpnM`AS=PEvbDi7I^$$GGvmz7_-yz?J!fIUsd=eolZo4?1M-3^0d*4XJEPQ} ztWg$t7h)qta0rg6Uhso(e^2QkBGO^|@%H@w+!CmTr|FlG21wWO1OO?R2JgOv% zLEQFg%iU+{!Dpg%sliuee~WlRs`-$uco+Vc>*}LLo>XE!YQ}7}6$TQgM0Z9#Bx^~q zU9uDZNoFkscPMd6KKaNw^H=+)&7Xv1Zmt%Zy}M;ue?Y3~@HaRNJpiTK7-If?A%1UE zXUw}nTb-DK%36SDk>mJ%A(=l#6V)kP6k3wRbQ7jDz~;g^l4aNHmHWbW0|+{CeV@B?S0BhSok zQJ(ivp)?9Ud9)32P1{+bDRI=Mq$nHs^wVaAWCI=tw^ez9!ydp+OWO(B69C`r5RJs5 ze6v*pi@0&%F7-uv=faACs-}o{p%1~Y5}bA?_237wk{JeF0;lT_UTD(|W`o1+`@1qr z|L7Q8N}e7QN6T6sQL0-usi@5YbJpu4LyW=&VKz{N_OM+EsNw-$j7X}Pd zKg`Vu2-a8ZxrqD4>34Huj{gk(LTX3lrG!MGCC<9N-V%T=8e$?w=C{r8qcsr{KX-OC zE5uTf{kRx>X~dJH(y#9N=yKE?rTrtUfHWQ}WFI+jZdh!8AOEU3qDqY`?Q<_Dbc^4L>Dk15t8>++)M4jgplxtu*7|6K zkNhmWHVV~Ss!|oCnb7A{bm_uIGZ1>}+7QPOXHugE-!L^B?kb>5KN`g`aZPegj_ zcKZaH^Fvzd9mw5id!(gq6{V%fy0#gmhpllF$rVTBrN+bd3nWwAKPfLYSgud6m_CKP zm@i8uX{iE8ODTG!r6yqg@Ke%KdPqwNzKE<;^i6VO+OxAPy;5V*{#)(b=-;$9{Dyw zKdwTLQoq<~_WW25jk|qZMQV=>+OJZ>?OQuHd-@k-H{L9Hmgpxbs|-=@%8WYh?o#%I zklYpdIeR)3k-LIFaZyUm()>E4ueg(H_#LG_BqD*uyd-ONv+UK&W`U&*jd+xho#|(w zzBp_ed&sgP-ZKk+nF|_e=8+Z302hPC^RZ?Y?7tsY7JQI@YNGg}uJoWGc1y@;-U<0s z%=C3*4@Klc!|hGbH=#W==;!q8XU5qL4saAYZ{E>F9MS^_ZazR`vN+=mK8HQB*S$q6 z>#9ME%(4CbWSw^W^z)0(88U49ChX!^)Au25YS%^xX#T_th5M2jvt zEO^WQ8!68X(K@TI*HJ?8(ElKAl9$qsq>=!+UMer`zQ$op*F$^oTKgxEv;5&6?9F?$ zuuJ-bH=_6X@jJ);AV%b!f0%~$2QhlnxVap#y!}scFzRU7kar==in9ralVq5M{E{^RGw^#LXGtO${W>-4W2lJ`IBZoX{{E^ad2^fvGbMfvK}0c|9gc zln>8=oH|fT80&+FrcW@6$Up7mKUZKE+}|mDj%&rIox)wuK(0HrpK(zv9~A`mcSn|OP@QlFz|uS9QfIc!oVjZ_O*6tHhT|V@vk0u`rTeR z|CnAm|FT2K#cqcdgE_!6l#biivPgEsd$L6%&k4w8mK~z9p#(A91a|p#cVg>pv410t zbL@mO3^WG< zC(0-dQJNpm$?%+H=w6Q3bHh#$t+Q68732lyD|bD6_Ab`b@V{-;vmcu9wR8S=aN zInoMNCkpwW;yV2;?ZJ_NJ$Ulbk3`p+;-#j!{gluT(%*};wGHW2d z2wDRA+(2C4+<>;EFu(@KpsdeAO8D0nTWgn0hE~KMU#Kb!WbwaGE@=_uk@Lbfx3;j2 z4f}lyAG5ASh|zn0pS;d)4ro|U+#iK6`WNBP{EP7OY;HgiljJK5$WgL>>k0#keuaUf zf;BL!yfAPC`Ua_~hnq}#a1Lf7+ ztjkh%2=6<6I&^Uo|7F|W`b93v^28TZ!&F}?v6d&bjo(98QB-@QH?)o3L-n_z&A5kZ zcUUuBDX2EbOls?Ti^BBHH`>L9wh!LIm25*>pFL;^@(pb*Z^gq-Yj}bJI!MsJ*MKK2 z9;bz5A43}nT1P7uK_dxT7Ic>4$dTUyNSC}f^@7wT~b8pVw_BFXia%2rc+X(PPPjENV>a|s3JuUNNrDCpX`kU6n~eG}$(wM;OnxDm zxi_47`GR@aW2Z3}x*8ZW{%hBSX=MEPuf@NSzARs!M>1wAtZuPu;Gk9ZLFfVOM&8}n zqY5>E4yq15hwz)v=ajB2DPQYcS*FV=E?%Si!EaW1d8y9kT5{L??n)Lh-% zoLO^p91i+`x@f~nOvb%F~f9$Wq?M3Y#_W0n_XzVQ8L}^)l1jfO2iklu3ojYbeZmYq1iNN zg>LTLJlm+OvCKGp)NSQ==vdC2IkR+goJ&@e=w_GxqJ+)vLB;BFu383AW|XWcEpwF+ z7D#UukkZXAS-TeR1%QX^#5AYPnags24#ad*OI9sg>ta*xny#CqJfbtE#i z!qw~6-kk3YXX%=fVqFCJ^6UBkD0s%YB`Zpc*zC2=wK&XJQ~Gn~+7jKYlJeCneoj?z zJ!tysRW}D4nhpjQR~Y*K?YsDRQ(p$Dj2qXZaDDyP+kVuW_#Z^d`q4w9asAw%&ku_E z{55~|<+=v&*H?{n7CXh}KXS?HRmF?T)|9zM8cm}s*pF@$;mi2R8}!6aMMgt0mh0}I z|AqkbCF|Fgln;%OgZ`rRBO}U|gc3k9bLmZe2O5Xzgm9v$$BddW~*P$;#EZxwLdeNjU|t zb(QE=uNuB&wR26eu20nL8F{*;E1cynU7i);;_aLsh;-Nc3f-z%cJvqa5+@#CGonva zpC~)hE?u>B^_rEaW;}?0uGRNb4k&<_%)fYg82Y40gr%!jtXO?Nbsj59SKV8F2POOO z^2W#KTqAZklh>6Nm*5%K+O=incZ?jlf^LlHt=|Rhg&Z|K0fu0Aw1LByBX_*u?78z7{`PnOr=MN?$LC)(fB99Q2lkZ@7qIHJ36m*b%!4u zz_FrXY~ZiC-2)eJEKQ}*rYRIU98DlI&S$16+5EIwX$#Zlq}`KtSK8t<2kw-m#jro5 z9Z35y?W43mryWZ>n|3ZOly)^Okk*pck=B`p^@U<9Xg6qYnvCsFYfP(8JDB#DG>#oj z^QG|$Kj?E@eVuk0|6fa+p3bqX^s;m<{}9eLrTbvQ!Zd88%rT7TmJL&I>u_`rE9Thn z!K$2aGB$UdELrfgTZ9l(3Sr<{!7q!X4$_=RN@a ziTe=rXYLs2W0dp)$FV25zj5*0Wez%STpRvi`UhL%@!TD}nw1P2&yVLP@=J$J;>~;x z{_K1dH=8%JO1#Znp5A31{}i_X!X%6Md-$L6i}`BK$uHq|aK(HHzm#9b{|4{1oL@3* z1;3JC#XrN9@%Qo1a^?J5yxq_F`(cD(J^u^-0sfbK@vvX<8~9haN`4~*!5`uu<{#l7 z<=^6LJiTKs{{;Ue{}jKK-^RbgJs=3IOXwED!W)8&JtAxts)WY`j}Rvu5zxB}b;A3C zO85(6JuW;cJSChKlDJDk6uT;17TSa>!uLWu{;mog_%q3L!VGMdIAnV6G1+b0d$Jhr zKV%#`3^&|1&M6-(W9(1t8vBZU#{Pi`{pYNi1)ya8CHszj%f4psvk%xu>^yss)v=e^Z*|+bPhp(pGJ{wGYhu46qtZ-kc!M2c2iXhkb#{PlGj2Cl z8+qd(BOIg{?=sFc78z$6?>63JTx48m)EX0wqm9FisYYg;VEmbJv2lTMjYXq_TcR)4>kR3Jb~Z)7m-W}b!;ts?xRM zNzvM0EH0^7Te7N{Em^U;=w96f9qtdmvuNqE;dhE5i;GsTTeX&1?^rY!v*_|gE1bpa zF}y6Ytu9)(67#_FMYc7o%a*LJ&<(--v3&I^=Zc|=a@G{DD_ymE_Pr%*i(Dn;i(D9H z?{}^#S=2kQT|ZeYj;V`#9$2)Zbjcd$no>Ms$51_cefipwm5a*P6ye6&wJS=NBLAi3 zBZ{c(J%wDcdiA|dSBbM&XVhh9=_XFpnSS!_oj(Z2@U(1kIVQn)>PA{?kW3`>N6AEx z_^0?cQW4{i&OlO&SC!qLHN;f0wCATAsT*=5hZ_kE&&n7*bf|8^#GCTJahHj2bmv4} zmTvH1op|vRF(Xw|R^$Z8J=G-wa6NO@3maP{rmgEuvFGw%rb$bp^&^T$tX*GLLP<`w z&t5!d{*2tkvvMahOt1;!#gR#scq$eF0nXx^E(sp-lBQjY%h#_G>uoW$xuvCOagkrK z_MHJA>Q;?^!*piw)|~S{Z<~4Vz4M&)(GQQ6a#`}IZFh^f%<`N0nvOs9YlEsTpUi+MpFTZOQ7tQ=Qs5LSY-!GeXYKv>BSVy|{X-e+{e7Sn*fCH8=m6*{NFFD!VY;R3Ru$0<9?N8BIXXIV zHm^69>vc<=XuZXEh-(KOg$$#KIy#PGW4W?gJHNSQ^#B@rm~Wy%X00LS>ANm zms+)yP0yLmRykKO)2OWM(PM7AeeAd#i`ABEzbU}Eq^P)LDa*qG9=-B@jl3geeL5mtQu#HcEs ze*uUeKXlVIeP1a^gY4M+JEFR|@ndY|5}vgd^XvmR){R(Sp2B+YHGK0!@y+Mr9{p~_ z|F55cad?As@;}H2>4o9P{E#bH^UlP&bQ;#79vq`_oP^_Lg!jc!;)nDyCjQUlhxA1| zjUyfeco@~7x*qC}qj4wC-p27`P&4Qo&{fa?P&#NGo{Prwx8U3e>ivCQ!?V(7z(d)E zehlYN;rM(HH6zW}aqa~*f|@{?pbtRD=!oYo;P@KiodaFO`Bl&;q!SCe6(sRPBz}m* z50UsG5i7R5|Kxi11t|g>mjuEw7c>cUA{qP?(1SQX zgX0IFA23|-bpJHSdxF%USkN@ke9(V~=Q8jAc%BQv`u|_POY!CI>wK3sNSE}{L`SI= z@_x7UPfF%vVzqH#wi2sv{XekIxQI0l=-%`i1`vU*<+W(wT&Sgn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#A zgn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#Agn)#=|HaYnSZ3ne>1=>bykBe9hC@m7T5VT(v zZNW>;M$==eX;5sdZ9QjK^nBx`$5`90h_w@LJLIrP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt 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 literal 0 HcmV?d00001 diff --git a/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino b/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino new file mode 100644 index 0000000..b6c1736 --- /dev/null +++ b/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino @@ -0,0 +1,121 @@ +// This sketch program SAMD with bin file from SDCard using Adafruit_DAP +// Hardware wiring: +// - Brain's header Reset <-> Target Reset +// - Brain's header SWDIO <-> Target SWDIO +// - Brain's header SWCLK <-> Target SWCLK +// - Brain's USB host to Target USB + +// required for Host MSC block device +#include "SdFat.h" + +// required for USB host +#include "pio_usb.h" +#include "Adafruit_TinyUSB.h" + +// required for DAP programming +#include "Adafruit_DAP.h" + +#include "Adafruit_TestBed_Brains.h" + +// file path on SDCard to program +#define TEST_FILE_PATH "nrf/feather_nrf52840/bleblink.bin" + +// DAP interface for nRF5x +Adafruit_DAP_nRF5x dap; + +//--------------------------------------------------------------------+ +// Setup and Loop on Core0 +//--------------------------------------------------------------------+ + +void print_speed(size_t count, uint32_t ms) { + Brain.LCD_printf(0, "%.01fKB in %.01fs", count/1000.0F, ms / 1000.0F); + + Serial.printf("Completed %u bytes in %.02f seconds.\r\n", count, ms / 1000.0F); + Serial.printf("Speed : %.02f KB/s\r\n", (count / 1000.0F) / (ms / 1000.0F)); +} + +void setup() { + Serial.begin(115200); + while (!Serial) delay(10); + Serial.println("Tester Brains: nRF52840 programming !"); + + // sync: wait for Brain.usbh_begin() called in core1 before accessing SD or other peripherals + while (!Brain.usbh_inited()) delay(10); + + Brain.SD_begin(SD_SCK_MHZ(16)); + + // Print out file on SD if Serial is connected + if (Serial) { + Serial.println(); + Serial.println("SD Contents:"); + Serial.printf("Card size = %0.1f GB\n", 0.000000512 * Brain.SD.card()->sectorCount()); + Brain.SD.ls(LS_R | LS_SIZE); + } + + Brain.targetReset(); + + Brain.dap_begin(&dap); + Brain.dap_connect(); + + Brain.dap_unprotectBoot(); + + // erase chip before programming + Brain.dap_eraseChip(); + + // skip verify for nrf52840 since it does not have crc32 hardware, + // and take too long to read the whole flash + uint32_t ms = millis(); + size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, false); + ms = millis() - ms; + print_speed(copied_bytes, ms); + + Brain.dap_protectBoot(); + Brain.dap_disconnect(); + + Brain.targetReset(); + +} + +void loop() { +} + +//--------------------------------------------------------------------+ +// Setup and Loop on Core1 +//--------------------------------------------------------------------+ + +// call usbh_begin() here to make pio usb background task run on core1 +// NOTE: Brain.begin() should be called here as well to prevent race condition +void setup1() { + Brain.begin(); + Brain.usbh_begin(); + Brain.LCD_printf(1, "No USB Device"); +} + +// core1's loop: process usb host task on core1 +void loop1() { + Brain.USBHost.task(); +} + +//--------------------------------------------------------------------+ +// TinyUSB Host callbacks +// Note: running in the same core where Brain.USBHost.task() is called +//--------------------------------------------------------------------+ +extern "C" { + +// Invoked when device is mounted (configured) +void tuh_mount_cb (uint8_t dev_addr) +{ + uint16_t vid, pid; + tuh_vid_pid_get(dev_addr, &vid, &pid); + + Brain.LCD_printf("USBID %04x:%04x", vid, pid); +} + +/// Invoked when device is unmounted (bus reset/unplugged) +void tuh_umount_cb(uint8_t dev_addr) +{ + (void) dev_addr; + Brain.LCD_printf(1, "No USB Device"); +} + +} diff --git a/src/Adafruit_TestBed_Brains.cpp b/src/Adafruit_TestBed_Brains.cpp index 2839843..60b597a 100644 --- a/src/Adafruit_TestBed_Brains.cpp +++ b/src/Adafruit_TestBed_Brains.cpp @@ -266,9 +266,9 @@ bool Adafruit_TestBed_Brains::dap_unprotectBoot(void) { return false; } - LCD_printf("Unlock chip..."); + Serial.println("Unlock chip..."); bool ret = dap->unprotectBoot(); - LCD_printf(ret ? "OK" : "Failed"); + Serial.println(ret ? "OK" : "Failed"); return ret; } @@ -277,9 +277,9 @@ bool Adafruit_TestBed_Brains::dap_protectBoot(void) { return false; } - LCD_printf("Lock chip..."); + Serial.println("Lock chip..."); bool ret = dap->protectBoot(); - LCD_printf(ret ? "OK" : "Failed"); + Serial.println(ret ? "OK" : "Failed"); return ret; } @@ -300,14 +300,15 @@ bool Adafruit_TestBed_Brains::dap_eraseChip(void) { dap->erase(); ms = millis() - ms; - LCD_printf("done in %.02fs", ms / 1000.0F); + LCD_printf("Erased in %.02fs", ms / 1000.0F); } return true; } size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, - uint32_t addr) { + uint32_t addr, + bool do_verify) { if (!dap) { return 0; } @@ -350,7 +351,8 @@ size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, return 0; } - LCD_printf("Programming.."); + LCD_printf("Programming..."); + uint32_t ms = millis(); BrainCRC32 crc32; dap->program_start(addr, fsize); @@ -358,22 +360,35 @@ size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, uint32_t addr_tmp = addr; while (fsrc.available()) { memset(buf, 0xff, bufsize); // empty it out - uint32_t rd_count = fsrc.read(buf, bufsize); setLED(HIGH); - dap->programBlock(addr_tmp, buf, bufsize); - crc32.add(buf, rd_count); - setLED(LOW); + dap->programBlock(addr_tmp, buf, bufsize); addr_tmp += bufsize; + + if (do_verify) { + crc32.add(buf, rd_count); + } + + setLED(LOW); } - uint32_t target_crc = dap->computeFlashCRC32(addr, fsize); + Serial.printf("Programming end, t = %lu ms\r\n", millis(), millis() - ms); + + if (do_verify) { + ms = millis(); + Serial.printf("Verify start\r\n", ms); + uint32_t target_crc = dap->computeFlashCRC32(addr, fsize); + Serial.printf("Verify end, t = %lu ms\r\n", millis(), millis() - ms); - if (target_crc != crc32.get()) { - LCD_printf("CRC Failed"); - Serial.printf("CRC mismtached: %08lX != %08lX\n", crc32.get(), target_crc); + if (target_crc != crc32.get()) { + LCD_printf("CRC Failed"); + Serial.printf("CRC mismtached: %08lX != %08lX\n", crc32.get(), + target_crc); + } else { + LCD_printf("Done!"); + } } else { LCD_printf("Done!"); } @@ -588,6 +603,12 @@ void Adafruit_TestBed_Brains::usbh_setVBus(bool en) { digitalWrite(_vbus_en_pin, en ? HIGH : LOW); } +void Adafruit_TestBed_Brains::usbh_VBusCycle(uint32_t off_time) { + usbh_setVBus(false); + delay(off_time); + usbh_setVBus(true); +} + bool Adafruit_TestBed_Brains::usbh_begin(void) { // Check for CPU frequency, must be multiple of 120Mhz for bit-banging USB uint32_t cpu_hz = clock_get_hz(clk_sys); diff --git a/src/Adafruit_TestBed_Brains.h b/src/Adafruit_TestBed_Brains.h index 926b139..0d9c18a 100644 --- a/src/Adafruit_TestBed_Brains.h +++ b/src/Adafruit_TestBed_Brains.h @@ -49,8 +49,6 @@ class Adafruit_TestBed_Brains : public Adafruit_TestBed { bool usbh_mountFS(uint8_t dev_addr); bool usbh_umountFS(uint8_t dev_addr); - // Target - //--------------------------------------------------------------------+ // RP2040 Target //--------------------------------------------------------------------+ @@ -75,7 +73,8 @@ class Adafruit_TestBed_Brains : public Adafruit_TestBed { // program dap target with file from SDCard // return number of programmed bytes - size_t dap_programFlash(const char *fpath, uint32_t addr); + size_t dap_programFlash(const char *fpath, uint32_t addr, + bool do_verify = true); //--------------------------------------------------------------------+ // Public Variables From 4b29b6a223b960723b3cdf0a2b8377dfc8aaf58f Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 28 Dec 2023 22:04:57 +0700 Subject: [PATCH 2/4] add Brain::dap_readFlash(), add read_nrf52840_to_sdcard example --- .../program_esp32_uart/program_esp32_uart.ino | 63 +++++++++- .../.pico_rp2040_tinyusb.test.only | 0 .../read_nrf52840_to_sdcard.ino | 112 ++++++++++++++++++ src/Adafruit_TestBed_Brains.cpp | 49 +++++++- src/Adafruit_TestBed_Brains.h | 3 + 5 files changed, 218 insertions(+), 9 deletions(-) create mode 100644 examples/Brain/read_nrf52840_to_sdcard/.pico_rp2040_tinyusb.test.only create mode 100644 examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino diff --git a/examples/Brain/program_esp32_uart/program_esp32_uart.ino b/examples/Brain/program_esp32_uart/program_esp32_uart.ino index 62b89b2..7fbed13 100644 --- a/examples/Brain/program_esp32_uart/program_esp32_uart.ino +++ b/examples/Brain/program_esp32_uart/program_esp32_uart.ino @@ -47,9 +47,8 @@ void setup() { while (!Serial) delay(10); Serial.println("Tester Brains: Programming ESP with UART!"); - Brain.begin(); - Brain.usbh_setVBus(true); // enable VBUS for power - + // sync: wait for Brain.begin() called in core1 before accessing SD or other peripherals + while (!Brain.inited()) delay(10); while ( !Brain.esp32_begin(&ESP32BootROM, ESP32_BAUDRATE) ) { // retry syncing delay(100); @@ -77,3 +76,61 @@ void setup() { void loop() { } + +//--------------------------------------------------------------------+ +// Setup and Loop on Core1 +//--------------------------------------------------------------------+ + +// call usbh_begin() here to make pio usb background task run on core1 +// NOTE: Brain.begin() should be called here as well to prevent race condition +void setup1() { + Brain.begin(); + Brain.usbh_begin(); + + Brain.LCD_printf(0, "No USB attached"); + Brain.LCD_printf(1, "Plug your device"); +} + +// core1's loop: process usb host task on core1 +void loop1() { + if ( Brain.esp32_s3_inReset() ){ + // Note: S3 has an USB-OTG errata + // https://www.espressif.com/sites/default/files/documentation/esp32-s3_errata_en.pdf + // which is walkarounded by idf/arduino-esp32 to always mux JTAG to USB for + // uploading and/or power on. Afterwards USB-OTG will be set up if selected + // so. However rp2040 USBH is running too fast and can actually retrieve + // device/configuration descriptor of JTAG before the OTG is fully setup. + // We delay a bit here + delay(500); + + Brain.esp32_s3_clearReset(); + } + + Brain.USBHost.task(); + yield(); +} + +//--------------------------------------------------------------------+ +// TinyUSB Host callbacks +// Note: running in the same core where Brain.USBHost.task() is called +//--------------------------------------------------------------------+ +extern "C" { + +// Invoked when device is mounted (configured) +void tuh_mount_cb (uint8_t daddr) +{ + uint16_t vid, pid; + tuh_vid_pid_get(daddr, &vid, &pid); + + Serial.printf("Device attached, address = %d\r\n", daddr); + Brain.LCD_printf("USBID %04x:%04x", vid, pid); +} + +/// Invoked when device is unmounted (bus reset/unplugged) +void tuh_umount_cb(uint8_t dev_addr) +{ + (void) dev_addr; + Brain.LCD_printf(1, "No USB Device"); +} + +} diff --git a/examples/Brain/read_nrf52840_to_sdcard/.pico_rp2040_tinyusb.test.only b/examples/Brain/read_nrf52840_to_sdcard/.pico_rp2040_tinyusb.test.only new file mode 100644 index 0000000..e69de29 diff --git a/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino b/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino new file mode 100644 index 0000000..7b7195e --- /dev/null +++ b/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino @@ -0,0 +1,112 @@ +// This sketch program SAMD with bin file from SDCard using Adafruit_DAP +// Hardware wiring: +// - Brain's header Reset <-> Target Reset +// - Brain's header SWDIO <-> Target SWDIO +// - Brain's header SWCLK <-> Target SWCLK +// - Brain's USB host to Target USB + +// required for Host MSC block device +#include "SdFat.h" + +// required for USB host +#include "pio_usb.h" +#include "Adafruit_TinyUSB.h" + +// required for DAP programming +#include "Adafruit_DAP.h" + +#include "Adafruit_TestBed_Brains.h" + +// file path on SDCard to hold nrf52840 binary +#define READ_FILE_PATH "nrf/readback.bin" +#define READ_SIZE (1024u*1024u) // 1 MB + +// DAP interface for nRF5x +Adafruit_DAP_nRF5x dap; + +//--------------------------------------------------------------------+ +// Setup and Loop on Core0 +//--------------------------------------------------------------------+ + +void print_speed(size_t count, uint32_t ms) { + Brain.LCD_printf(0, "%.01fKB in %.01fs", count/1000.0F, ms / 1000.0F); + + Serial.printf("Completed %u bytes in %.02f seconds.\r\n", count, ms / 1000.0F); + Serial.printf("Speed : %.02f KB/s\r\n", (count / 1000.0F) / (ms / 1000.0F)); +} + +void setup() { + Serial.begin(115200); + while (!Serial) delay(10); + Serial.println("Tester Brains: nRF52840 programming !"); + + // sync: wait for Brain.usbh_begin() called in core1 before accessing SD or other peripherals + while (!Brain.usbh_inited()) delay(10); + + Brain.SD_begin(SD_SCK_MHZ(16)); + + // Print out file on SD if Serial is connected + if (Serial) { + Serial.println(); + Serial.println("SD Contents:"); + Serial.printf("Card size = %0.1f GB\n", 0.000000512 * Brain.SD.card()->sectorCount()); + Brain.SD.ls(LS_R | LS_SIZE); + } + + Brain.targetReset(); + Brain.dap_begin(&dap); + Brain.dap_connect(); + + uint32_t ms = millis(); + size_t nbytes = Brain.dap_readFlash(READ_FILE_PATH, 0, READ_SIZE); + ms = millis() - ms; + print_speed(nbytes, ms); + + Brain.dap_disconnect(); + Brain.targetReset(); + +} + +void loop() { +} + +//--------------------------------------------------------------------+ +// Setup and Loop on Core1 +//--------------------------------------------------------------------+ + +// call usbh_begin() here to make pio usb background task run on core1 +// NOTE: Brain.begin() should be called here as well to prevent race condition +void setup1() { + Brain.begin(); + Brain.usbh_begin(); + Brain.LCD_printf(1, "No USB Device"); +} + +// core1's loop: process usb host task on core1 +void loop1() { + Brain.USBHost.task(); +} + +//--------------------------------------------------------------------+ +// TinyUSB Host callbacks +// Note: running in the same core where Brain.USBHost.task() is called +//--------------------------------------------------------------------+ +extern "C" { + +// Invoked when device is mounted (configured) +void tuh_mount_cb (uint8_t dev_addr) +{ + uint16_t vid, pid; + tuh_vid_pid_get(dev_addr, &vid, &pid); + + Brain.LCD_printf("USBID %04x:%04x", vid, pid); +} + +/// Invoked when device is unmounted (bus reset/unplugged) +void tuh_umount_cb(uint8_t dev_addr) +{ + (void) dev_addr; + Brain.LCD_printf(1, "No USB Device"); +} + +} diff --git a/src/Adafruit_TestBed_Brains.cpp b/src/Adafruit_TestBed_Brains.cpp index 60b597a..783491b 100644 --- a/src/Adafruit_TestBed_Brains.cpp +++ b/src/Adafruit_TestBed_Brains.cpp @@ -399,6 +399,49 @@ size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, return fsize; } +size_t Adafruit_TestBed_Brains::dap_readFlash(const char *fpath, uint32_t addr, + size_t size) { + if (!dap) { + return 0; + } + + size_t bufsize = 4096; + uint8_t *buf = (uint8_t *)malloc(bufsize); + if (!buf) { + return 0; + } + + File32 fsrc = SD.open(fpath, O_CREAT | O_WRONLY); + if (!fsrc) { + Serial.printf("SD: cannot open file: %s\r\n", fpath); + return 0; + } + + LCD_printf("Reading..."); + + size_t remain = size; + while (remain) { + uint32_t count = min(remain, bufsize); + + setLED(HIGH); + if (!dap->dap_read_block(addr, buf, (int)count)) { + Serial.printf("Failed to read block at %08lX\n", addr); + break; + } + setLED(LOW); + + fsrc.write(buf, count); + + addr += count; + remain -= count; + } + + fsrc.close(); + LCD_printf("Done!"); + + return size - remain; +} + //--------------------------------------------------------------------+ // SD Card //--------------------------------------------------------------------+ @@ -603,12 +646,6 @@ void Adafruit_TestBed_Brains::usbh_setVBus(bool en) { digitalWrite(_vbus_en_pin, en ? HIGH : LOW); } -void Adafruit_TestBed_Brains::usbh_VBusCycle(uint32_t off_time) { - usbh_setVBus(false); - delay(off_time); - usbh_setVBus(true); -} - bool Adafruit_TestBed_Brains::usbh_begin(void) { // Check for CPU frequency, must be multiple of 120Mhz for bit-banging USB uint32_t cpu_hz = clock_get_hz(clk_sys); diff --git a/src/Adafruit_TestBed_Brains.h b/src/Adafruit_TestBed_Brains.h index 0d9c18a..cad6805 100644 --- a/src/Adafruit_TestBed_Brains.h +++ b/src/Adafruit_TestBed_Brains.h @@ -76,6 +76,9 @@ class Adafruit_TestBed_Brains : public Adafruit_TestBed { size_t dap_programFlash(const char *fpath, uint32_t addr, bool do_verify = true); + // read dap target flash to file on SDCard + size_t dap_readFlash(const char *fpath, uint32_t addr, size_t size); + //--------------------------------------------------------------------+ // Public Variables //--------------------------------------------------------------------+ From dc494b2be16ad23df0001d424ee26967ad9d81ad Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 29 Dec 2023 02:02:43 +0700 Subject: [PATCH 3/4] add do_verify and do_crc32 --- .../program_nrf52840/program_nrf52840.ino | 6 ++--- .../program_nrf52840_from_sdcard.ino | 6 ++--- src/Adafruit_TestBed_Brains.cpp | 23 ++++++++++++------- src/Adafruit_TestBed_Brains.h | 3 ++- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/examples/Brain/program_nrf52840/program_nrf52840.ino b/examples/Brain/program_nrf52840/program_nrf52840.ino index b6c1736..1d56f9c 100644 --- a/examples/Brain/program_nrf52840/program_nrf52840.ino +++ b/examples/Brain/program_nrf52840/program_nrf52840.ino @@ -62,10 +62,10 @@ void setup() { // erase chip before programming Brain.dap_eraseChip(); - // skip verify for nrf52840 since it does not have crc32 hardware, - // and take too long to read the whole flash + // for nrf52840 don't use crc32 as it is not supported. + // Note: verify is with reading back increase programming time by 2x uint32_t ms = millis(); - size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, false); + size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, true, false); ms = millis() - ms; print_speed(copied_bytes, ms); diff --git a/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino b/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino index b6c1736..1d56f9c 100644 --- a/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino +++ b/examples/Brain/program_nrf52840_from_sdcard/program_nrf52840_from_sdcard.ino @@ -62,10 +62,10 @@ void setup() { // erase chip before programming Brain.dap_eraseChip(); - // skip verify for nrf52840 since it does not have crc32 hardware, - // and take too long to read the whole flash + // for nrf52840 don't use crc32 as it is not supported. + // Note: verify is with reading back increase programming time by 2x uint32_t ms = millis(); - size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, false); + size_t copied_bytes = Brain.dap_programFlash(TEST_FILE_PATH, 0, true, false); ms = millis() - ms; print_speed(copied_bytes, ms); diff --git a/src/Adafruit_TestBed_Brains.cpp b/src/Adafruit_TestBed_Brains.cpp index 783491b..c5be431 100644 --- a/src/Adafruit_TestBed_Brains.cpp +++ b/src/Adafruit_TestBed_Brains.cpp @@ -307,8 +307,8 @@ bool Adafruit_TestBed_Brains::dap_eraseChip(void) { } size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, - uint32_t addr, - bool do_verify) { + uint32_t addr, bool do_verify, + bool do_crc32) { if (!dap) { return 0; } @@ -364,23 +364,30 @@ size_t Adafruit_TestBed_Brains::dap_programFlash(const char *fpath, setLED(HIGH); - dap->programBlock(addr_tmp, buf, bufsize); - addr_tmp += bufsize; + // don't verify each write if we use crc32 + if (!dap->programFlash(addr_tmp, buf, bufsize, !do_crc32 && do_verify)) { + Serial.printf("Failed to program block at %08lX\n", addr_tmp); + free(buf); + fsrc.close(); + return addr_tmp - addr; + } - if (do_verify) { + if (do_crc32) { crc32.add(buf, rd_count); } + addr_tmp += bufsize; + setLED(LOW); } Serial.printf("Programming end, t = %lu ms\r\n", millis(), millis() - ms); - if (do_verify) { + if (do_crc32) { ms = millis(); - Serial.printf("Verify start\r\n", ms); + Serial.printf("CRC32 start\r\n", ms); uint32_t target_crc = dap->computeFlashCRC32(addr, fsize); - Serial.printf("Verify end, t = %lu ms\r\n", millis(), millis() - ms); + Serial.printf("CRC32 end, t = %lu ms\r\n", millis(), millis() - ms); if (target_crc != crc32.get()) { LCD_printf("CRC Failed"); diff --git a/src/Adafruit_TestBed_Brains.h b/src/Adafruit_TestBed_Brains.h index cad6805..fe8146f 100644 --- a/src/Adafruit_TestBed_Brains.h +++ b/src/Adafruit_TestBed_Brains.h @@ -73,8 +73,9 @@ class Adafruit_TestBed_Brains : public Adafruit_TestBed { // program dap target with file from SDCard // return number of programmed bytes + // Note: if do_crc32 is false, we will verify each write by reading back size_t dap_programFlash(const char *fpath, uint32_t addr, - bool do_verify = true); + bool do_verify = true, bool do_crc32 = true); // read dap target flash to file on SDCard size_t dap_readFlash(const char *fpath, uint32_t addr, size_t size); From 293c7f8be2f817b410e3b80c80b6e702106cfbac Mon Sep 17 00:00:00 2001 From: ladyada Date: Thu, 28 Dec 2023 14:17:48 -0500 Subject: [PATCH 4/4] more correct msg --- .../Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino b/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino index 7b7195e..a19e5b2 100644 --- a/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino +++ b/examples/Brain/read_nrf52840_to_sdcard/read_nrf52840_to_sdcard.ino @@ -38,7 +38,7 @@ void print_speed(size_t count, uint32_t ms) { void setup() { Serial.begin(115200); while (!Serial) delay(10); - Serial.println("Tester Brains: nRF52840 programming !"); + Serial.println("Tester Brains: Reading nRF52840 to SD Card!"); // sync: wait for Brain.usbh_begin() called in core1 before accessing SD or other peripherals while (!Brain.usbh_inited()) delay(10);