From ad622a5354cc0b30faf0d94af78622e4aeec8938 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 13 Aug 2025 08:05:02 -0700 Subject: [PATCH] 2024/ferguson1 bug fix, make goto complete (149) A bug was discovered in prog.c (now prog.alt2.c, see below) that has been fixed. It was not a critical bug but it came about when juggling things during development, and fixing it means there should now only be one place where an event might not trigger (or actually it's an event within an event that does not trigger - polymorphism related). The prog.c is the goto complete version - what was once prog.goto.max.c (git status is confused however - it shows that that file is now prog.alt2.c but actually prog.alt2.c is what prog.c was). For practical reasons (and to make the judges not weep and curse me quite as much) this was not the prog.c but since some others have made corrections to their winning code I have decided to do the same thing here. It was a hassle to juggle between the different versions and I ran out of the number of files allowed - that is what I mean by practical reasons. The prog.c has maintained its thematic 4666 bytes, after some formatting updates. Typo fixes were made in some of the supplementary C files. Makefile updated so that one can compile prog.alt2.c. .entry.json, index.html and obfuscation.html were all updated. The judges' remarks were slightly corrected. It is not 134 (now 149) jumps that occurs but rather gotos. The jumps can be over 1000, in fact one test run was over 1400, although shorter games can be fewer (though still a lot). Other errors in documentation that were artefacts from earlier stages in development were also corrected, although I'm sure there are more (the ones that were discovered were ones near to stats that had to be updated). --- 2024/ferguson1/.entry.json | 4 +- 2024/ferguson1/.gitignore | 7 +- 2024/ferguson1/Makefile | 73 +++--- 2024/ferguson1/README.md | 236 +++++++++-------- 2024/ferguson1/commented.c | 16 +- 2024/ferguson1/gotos.c.txt | 243 +++++++++--------- 2024/ferguson1/gotos.png | Bin 228734 -> 225784 bytes 2024/ferguson1/index.html | 237 +++++++++-------- 2024/ferguson1/jumps.txt | 97 ++++--- 2024/ferguson1/mbcheck.c | 2 +- 2024/ferguson1/obfuscation.html | 198 +++++++++----- 2024/ferguson1/obfuscation.md | 212 +++++++++------ 2024/ferguson1/printer.c | 11 - .../{prog.goto.max.c => prog.alt2.c} | 36 +-- 2024/ferguson1/prog.c | 77 +++--- 15 files changed, 813 insertions(+), 636 deletions(-) rename 2024/ferguson1/{prog.goto.max.c => prog.alt2.c} (66%) diff --git a/2024/ferguson1/.entry.json b/2024/ferguson1/.entry.json index 8957547e4..e97cc81f7 100644 --- a/2024/ferguson1/.entry.json +++ b/2024/ferguson1/.entry.json @@ -38,12 +38,12 @@ "entry_text" : "alternate source code" }, { - "file_path" : "prog.goto.max.c", + "file_path" : "prog.alt2.c", "inventory_order" : 40, "OK_to_edit" : true, "display_as" : "c", "display_via_github" : true, - "entry_text" : "entry source code with maxed out gotos" + "entry_text" : "original source code with minor bug fix" }, { "file_path" : "prog.orig.c", diff --git a/2024/ferguson1/.gitignore b/2024/ferguson1/.gitignore index 551096ebd..8248f81ee 100644 --- a/2024/ferguson1/.gitignore +++ b/2024/ferguson1/.gitignore @@ -17,10 +17,11 @@ data.scrnshot lencount mbcheck printer +prog.alt +prog.alt2 +prog.alt2.asc +prog.alt2.scrnshot prog.alt.asc prog.alt.scrnshot prog.asc -prog.goto.max -prog.goto.max.asc -prog.goto.max.scrnshot prog.scrnshot diff --git a/2024/ferguson1/Makefile b/2024/ferguson1/Makefile index 1528d00f3..8ad66d0f0 100644 --- a/2024/ferguson1/Makefile +++ b/2024/ferguson1/Makefile @@ -154,12 +154,12 @@ TARGET= ${PROG} ${PROG}.asc ${PROG}.scrnshot # .alt is as above more events # -ALT_OBJ= ${PROG}.alt.o ${PROG}.alt.asc.o ${PROG}.alt.scrnshot.o ${PROG}.goto.max.o \ - ${PROG}.goto.max.asc.o ${PROG}.goto.max.scrnshot.o -ALT_TARGET= ${PROG}.alt ${PROG}.alt.asc ${PROG}.alt.scrnshot ${PROG}.goto.max \ - ${PROG}.goto.max.asc ${PROG}.goto.max.scrnshot +ALT_OBJ= ${PROG}.alt.o ${PROG}.alt.asc.o ${PROG}.alt.scrnshot.o \ + ${PROG}.alt2.o ${PROG}.alt2.asc.o ${PROG}.alt2.scrnshot.o +ALT_TARGET= ${PROG}.alt ${PROG}.alt.asc ${PROG}.alt.scrnshot \ + ${PROG}.alt2 ${PROG}.alt2.asc ${PROG}.alt2.scrnshot -# list any data files supplied with the submission +# The following notes were provided by the author in his Makefile: # # Don't include data, data.asc or data.scrnshot. # The data rule (although it's better to use makedata the data rule might work - @@ -216,7 +216,7 @@ test: lencount mbcheck @./lencount -t -i data.scrnshot.src @./mbcheck -# ASCII only version of submission code, hence why the DATA macro is defined +# ASCII only version of entry code, hence why the DATA macro is defined # here, not in CDEFINE. # ${PROG}.asc: ${PROG}.c @@ -246,7 +246,7 @@ addpadding: addpadding.c bytecount: bytecount.c ${CC} ${CFLAGS} -Wno-unreachable-code-break bytecount.c -o $@ ${LDFLAGS} -# this tool helped me verify the locations of strings were correct (locations +# this tool helped verify the locations of strings were correct (locations # are based on the blocksize). The bytecount also helped. # bytetest: bytetest.c @@ -258,17 +258,18 @@ bytetest: bytetest.c byteread: byteread.c ${CC} ${CFLAGS} byteread.c -o $@ ${LDFLAGS} -# this tool was helpful to help identify if any emojis in the ASCII only version -# slipped through (however, mbcheck is a better one: this tool is still -# useful however). Probably only the judges will find this interesting just like -# most of the tools I have provided. +# this tool was earlier used to help in identifying any emojis in the ASCII only +# version that might have slipped through (however, mbcheck is a better one: this tool is still +# useful however). Mostly provided for the judges but I, the author, included +# most of the tools (most of which are meant only for the judges as well). # bytecheck: bytecheck.c ${CC} ${CFLAGS} -Wno-unreachable-code-break bytecheck.c -o $@ ${LDFLAGS} # by default this checks for multibyte characters (well 2, 3, 4) in the ASCII # data source file, reporting if any are found. If any are found it will report -# which string so it can be fixed. +# which string so it can be fixed. This is used as part of the build process, +# and if any are found it will fail to compile (or it should). # mbcheck: mbcheck.c ${CC} ${CFLAGS} -Wno-unreachable-code-break mbcheck.c -o $@ ${LDFLAGS} @@ -290,7 +291,8 @@ printer: printer.c lencount: lencount.c ${CC} ${CFLAGS} -Wno-unreachable-code-break lencount.c -o $@ ${LDFLAGS} - +# The author provided these notes in his Makefile: +# # IMPORTANT NOTES FOR THE JUDGES. # # The makedata.sh script will generate files that are needed by some of the @@ -320,9 +322,13 @@ padding: addpadding test ./addpadding @echo "Done." +# The author provided these remarks in his Makefile: +# # see remarks.md for more details. This script is mostly useful for the some of -# the other tools but it can be used for prog.c and prog.alt.c indirectly as it -# also does build the data files from the source files. +# the other tools but it can be used for prog.c and prog.alt.c (and prog.alt2.c +# which is the originally submitted code but with a minor bug fix - prog.alt.c +# was already taken) indirectly as it also does build the data files from the +# source files. # # An example use of when I personally use this rule: when I actually make an # edit to the data source files. As you will probably have noticed the printer.c @@ -345,6 +351,7 @@ ${PROG}.alt: ${PROG}.alt.c ${MAKE} padding ${CC} ${CFLAGS} -DDATA='"data"' ${PROG}.alt.c -o $@ ${LDFLAGS} + # ASCII only version of alt code (Devil's Cut above). This is why indeed the # DATA variable is not in the CDEFINE - the .asc versions use the data.asc file. # @@ -352,17 +359,6 @@ ${PROG}.alt.asc: ${PROG}.alt.c ${MAKE} padding ${CC} ${CFLAGS} -DDATA='"data.asc"' ${PROG}.alt.c -o $@ ${LDFLAGS} -# goto maxed out - regular data file -# -${PROG}.goto.max: ${PROG}.goto.max.c - ${MAKE} padding - ${CC} ${CFLAGS} -DDATA='"data"' ${PROG}.goto.max.c -o $@ ${LDFLAGS} - -# goto maxed out - ASCII only data file -# -${PROG}.goto.max.asc: ${PROG}.goto.max.c - ${MAKE} padding - ${CC} ${CFLAGS} -DDATA='"data.asc"' ${PROG}.goto.max.c -o $@ ${LDFLAGS} # screenshot friendly version of alt code # @@ -370,11 +366,30 @@ ${PROG}.alt.scrnshot: ${PROG}.alt.c ${MAKE} padding ${CC} ${CFLAGS} -DDATA='"data.scrnshot"' ${PROG}.alt.c -o $@ ${LDFLAGS} -# goto maxed out - screenshot friendly version +# For practical reasons, the author submitted code that was not as full of gotos +# as he had in mind. After the win he decided to add it to the repo. But since +# there was already an alt.c file this original code, which has a minor bug fix, +# is in .alt2.c. # -${PROG}.goto.max.scrnshot: ${PROG}.goto.max.c + +# Original submitted code with a minor bug fix +# +${PROG}.alt2: ${PROG}.alt2.c ${MAKE} padding - ${CC} ${CFLAGS} -DDATA='"data.scrnshot"' ${PROG}.goto.max.c -o $@ ${LDFLAGS} + ${CC} ${CFLAGS} -DDATA='"data"' ${PROG}.alt2.c -o $@ ${LDFLAGS} + +# Original submitted code with a minor bug fix - ASCII only version +# +${PROG}.alt2.asc: ${PROG}.alt2.c + ${MAKE} padding + ${CC} ${CFLAGS} -DDATA='"data.asc"' ${PROG}.alt2.c -o $@ ${LDFLAGS} + +# Original submitted code with a minor bug fix - screenshot friendly version +# +${PROG}.alt2.scrnshot: ${PROG}.alt2.c + ${MAKE} padding + ${CC} ${CFLAGS} -DDATA='"data.scrnshot"' ${PROG}.alt2.c -o $@ ${LDFLAGS} + # data files # diff --git a/2024/ferguson1/README.md b/2024/ferguson1/README.md index 674f90c16..47823cf7a 100644 --- a/2024/ferguson1/README.md +++ b/2024/ferguson1/README.md @@ -29,8 +29,11 @@ YouTube show for this entry: ## Alternate code: -The author provided two alternate versions, one which has more events and far -fewer `goto`s and the other which maxed out the `goto`s at 149 (up from 134)! +The author provided two alt versions: one submitted with more events, though not +many more, along with a few other functional differences, and after winning, the +prog.c was made the prog.alt2.c code and the prog.c was made the complete +version (149 `goto`s up from 134) that was not made prog.c during submission for +practical reasons. ### Alternate build: @@ -44,32 +47,36 @@ fewer `goto`s and the other which maxed out the `goto`s at 149 (up from 134)! ``` ./prog.alt + + ./prog.alt2 ``` ## Judges' remarks: -You will have to go to "Fun-Damentals" to understand the logic flow of -this game. While you jump as many as 134 times to travel from `main()` -to a successful `exit(666)` you may have a devil of a time trying to -figure out how this program actually does what it does. +You will have to go to "Fun-Damentals" to understand the logic flow of this +game. While you goto as many as 149 times and jump hundreds or even over a +thousand times to travel from `main()` to a successful `exit(666)` you may have +a devil of a time trying to figure out how this program actually does what it +does. Before you set off on your adventure to decode this program's logic, make sure you have enough food, ammo, clothes, oxen, and programming supplies. You’ll be driving for 2170 miles through a wild wilderness inspired -by [Oregon Trail](https://en.wikipedia.org/wiki/The_Oregon_Trail_(series)), so you’ll need to be prepared for anything! Regardless of -how well prepared you are, you will have a devil of a time jumping around -inside this C code. :-) +by [Oregon +Trail](https://en.wikipedia.org/wiki/The_Oregon_Trail_(series)), so +you’ll need to be prepared for anything! Regardless of how well prepared you +are, you will have a devil of a time jumping around inside this C code. :-) ## Author's remarks: > Fun fact: after winning this, the author played the game in gdb from start to finish and not counting macros but counting all function calls (not libc -functions just the few functions in prog.c), there were a total of **985** (!) -line jumps. Skipping prog.c function calls and it was still **776** jumps! The +functions just the few functions in prog.c), there were a total of **1416** (!) +line jumps. Skipping prog.c function calls and it was still **1131** jumps! The prog.c, if you remove `#include`s, blank lines, lines with just a brace and -lines that have only variables, **has just 59 (!) lines of code**. A very tiny +lines that have only variables, **has just 58 (!) lines of code**. A very tiny fraction of the time a line might be repeated in a row ONCE but that does not really matter. The [maxed out goto version](%%REPO_URL%%/2024/ferguson1/prog.goto.max.c) is far worse. @@ -80,7 +87,7 @@ print them (and everything else). I have kept references to encryption in this file even after publication. I do have a copy of it if anyone is interested.
% zi1>$fHZO+b%Qx!9wN6swos2IT)a#JX+=~Va`kq7R6ald z`*BYhbmyI{&(@(0iDP()6yIM3i`!r78ZWx=4+%Ert1D4n_0K*ZNxWPrXtb(Mynf~O zh!@fE`})LlonRyH$-UlpQryCy0PJx>3?rQ9iLLrS ~kUB6%dDGb+ zQ-XYNePAaO^b{e9yn_GE9oa2p6783{dhWKZFWkf*K=0|oER1F%K4@zOzX0VrtF!M; znDN}}`r*|tHu6tq@Vz(3({sBK)~jXJ+mr0@yByNmTHA8BT>C!8KYRZ4SezlD)o@wT zeEm9j`Pm^>zyi6~<*hL(W&~0d%e;nP9FzALLWEyKYcqX9JIN%Ea{mkb 3s7mI{v~mf{trwOd7D=LBAPGrP;_J?3lXLXUKSioDdV0%kogaN zEw!l;*i~}DtUdlK^-0NS6yuoV5%(8}8{G;`_v=i`J_s?Xay(Au@21_ncgd5rf8CSu zXqC4>V(k-r>${J5B2|>)qvA$9Mb|92t{di-r^1YP0+0Msg=!;~Gt$dCGPs=`N5-nm zgxwZZ=+7o;bDo76tdPwnjGfVt2J1EZ1y^zrr6qJN{=)e&&5vJ2CP)~CG3T)^W9*>- zy@{aWUZh>YUW&wsk#>_SGmX|{XPMP?`h4!I(6CpTEVAh`5c3y`2m9$j!`H8?S9WZJ z! V!Vh>Y2L5}+iw=RHiuEH@thZnc-wUbZ*iF!YZ=z+U*yhLsQn zni<7tB(p_MI (8JQz8%E?ED4q&1-vWz-6hTIoM(ps7_omHyWlG;;|jL^+t_6 zntMO^!&C;Ub#!QXMH{_$FRv(Yzx}T{NW{XGg&l%V*p-hWiO!Hvr6*2>kURVwBFk zg#2fQ-zeOD@fcLfb__c}j0TXy8^8U1EKmy(7*`hVZF^IeyJ;`n^LDx!r~&&n3ZQUu zBNITA0i={+y{~nZXKBK~h!l$U-@NVhb1?0A7N_qbIoQ==OI}wmHybwk8n~sOIONhS zchWP9w;{u$w6d{?5a(qnD&MyL`IJojVh_=t${zrQkJy(r0QhvM;iU`igT4YEc8;;u zbi;m1HM#YLu2i8lZKyJku$&pyvIFjL^D704CH30vghW2DS(JZE`fQ}VupBrdL17r8 z_&y355s-e=BKT5II>n!nTPendqf;6CDjl?0$ASDY)1cgKefsm+bO9f$Fp>|0+tfwl zH`e;oVbo0rg{nW5&l*)?oK?!5O&)#?!CjuWD#x-fYQ#SfT>`)pc^@y}+vkBCOlbrX z>c{bDauj0V7v5zqrWL^Yg#=O`hjAesbEUP6oY;Jxvb3g%WXi&)P@2T%`Pk )|p=wD4dryu~GfmJbJSu=`C-cI9l7XWFZohj*ACVk8!F z@KWHt@W#_TI=R?*P3=hAOF7fS^2L=|4=QNwJzY&n1KtSOqE|m)LR)4*cLH|h)~(R1 z>umL#tq}Z5XOYIYYZhE@%ixM#8<^$4x%iAe{<+@3jpa+-V(#iqZ6gYIt~$~S6NS8~ z*LQgYdFk~d!;+a+IFkvQiQR|_U#U9TKsJnpk;xF&;Bwky3+3u8`4r%>3^H+->{UfR z(}#3laK7lQn?ofv_z!>x-n1Lt9+)_*qsn+m6*Q;ThNt2N;-!zS^A-*;@4zDa-O{aF zrOIqp_ P;4*bxV(sd`ZM|*w;ZRvf#fRlYT+icSIVF%34C3t zJ5cNS_a%*&LO%$_&tU%i&(E{p;dC1*PvuX2*p`u#JZQX4o7DI64h+fYZ#z9(REyco zJc~J3e7m{BmGgS>#t=8x&@5i%2M1_Bp7BavWlTQAtUdtlN$>(tcR_$liBC&&NOiTR z#Ekl5ogxcOyj%|CW@aIfjIjV`gLKwJ-8+L4t^tNG$aIUWgk!N} Bai_%v3j{U z(??Xd9pFoiR#CGwvOML+NA~;eb92p{+cdnruX)EVX_tynFe@=&A%G=WBl3wx*fhz- zv7%X&ZKI>@5>DB5T!K8h^Rq~WIg!$LLNx(Z28#PH4O*chVn&QGT>?a;@85n1fIQ`k zx>r(*!~2+qe8Xv4$_YkggV2`8AxNg)Rj(k23}H>hLh4NHGo`$q(0m@;mqE$D*Ss(N zcRqvS%+(DxlZ{93a-~Af`V1H9Gcz7hyg+Jngn7a?NwF`Nv#6eh)#QvY5kObfw+;i` z5hP3wV!gtR6cvhh2tWC!&usil=0V0>=RNL@BzOg5+z{bFyQnYz*FQm{``)lsbF)s| zDQ6S+)-e#u8OcC^P46>qC9vL!L_GTh-53YZkYbZ8G&$lMz1->1^-|ufwPw5$Zv7rW zju)}NbZb88&mRuo*ax~$VWl-R45x3`Y30~Y)0vxkQh1fCNp0z&{FCz?-5n3!)4|r^ zrEd48Bnli_F)J@XDi7qvZa1N%BCHyj`pSho@8j)}PwCe^6YZ=A5}F+uSdz=e62xn# z@|dfL=k{2!+%d&=l-;6M?1W?~0E1L-EE1bybOfMc3q(j}i*|-?iB WEU^75 ;nWbz*EL%s|RtRHsA+G7L##R$Y>%Gh|r$UMQqL2;Mcoin|Kyk z%GLK7>9XVeFHa(LdGr1&$RZ?RzNSTwAkX*@UPF!p#ynxOvF$(Y7RpN 2Mhy3!n^h)?b`RiYe=6HV>Q8cOoLaeCT z_JWsSj;E*H#oK(s2bLeCJ-zP0_a@+JDV-4`7?0E1`(yxa3ErIYQNI8UAK}l|y5`0E zP$0kOefObqkJ|ti?U$cs?$Ir>0Z4^E!0cbt7}Z;8j;+56pl+gwSJuRdhIw)lB#N=V z2}c(gB&kUxTm#>KnFMacG7^Z8TWGoc$AuPldsc{U92TB6=d>M9Ls U2#8eZ1ktow2 zuS@p?Go+Evc`USG ($-?{yahya4vb;Z~-r{cY9pgB1-kovhptHr^+I7D- z6g{n%M@?-;r3H`Oi~Vv$_#0sSWe~Wp5F1RCH`T`G?{#S|fsLkd5vJ356AD^ {JsI_@s&*fQ2JtfRCL$ zc#(m9CLn+; K+5GZt1!NdgH&F=RrzFIGP zZXry$ipt(ph)er{Z``qj@|A9##gLOj-!2W1;GH>;(?R$G7$WpU!lROOOG1DLH$&qy zp7DTCE8{GREC*yhVf#~9m^nsV(lmleXlHwI3JK)Cb=y+7Hc*f3W%mN43Ztu%aY<%f z9XXnrU;mm@B$<8^gXU2lgG4iZtLUlOWVujIpJj~SAW%dcNBpYCc|FyaMBiAnCkr#X zA5F>2@w#lo{i-;gXFQ=)dQR{klf`d$k8 KV5y51eYYV JcvvV>M^qE W{pc&QrScDXk5 zL`NR@1`v?aqYYF?g|m$eywXdepnKN@x0MVoa39akE21_G5+y7?BTZQoandx%&yuHx zCfU?b>Cw#I-d4V72 fEV;yyFb9l^>17s*n0u7*9m>ABjwJ9-s$D&1zB;CFsu zDQpq&e!9>Ywv<DtW}ac-o9_JUaYKeCv_1yVloljd_XN7<#
xWkgi(Ssov8r9bV 2g6xUtcgxS#K>EYUJGuq( zmM=MJ5zzfkOU$&H>iJ-w0b@rXx+_-nyTZhks|NfM6esS)75@XAmY{N`Dbu62O^o<- z5AYRDeH~51{)dH`*{{v`?E4{_(3E35gBzd}1r8B3nLy6XQEOmW6z*|AhAS?F9V~wM z)S}}O{KwLEf(`9jE?RGQIn~cF3Pimwn3~_RFUP!&a}j(a@FFDwMzkE|K;2rGs|1ty z8~uR!!gW+74-yCUNI8pYMHR=rc^ex^EZmCAtUHW#ETF#45 lwZG&Ht$727U@j@=wzq4Dm#mR{hG9-jm7c_>F`(na^$u| z&aYUBZk?t%kGrza?g+@9Dbtz1j!kxe-+z>n8QHpA)MPMGd?`F#kfB;y!x{HA;?+EZ z5der4e+6 $oZqsp z{3rwD-Sw^{n2=&c`o-Uo5Nrark+=tPBNTlppX&teU)@z0K9uEA@qZt>yO%(uUg;N? zu38g{WTY4y|C!vhTa+B~C&O19z6)OSLM+0l0l$vUy>Ke%h?u2g1BN#hA%ic5l(P%+ z`3nfaNg2IVu_WY+;CF+)U4OpSak~e&wO+;>H|NvlXC15HgL_!>J(a-rA%YQqg($ n+a404d3ZMqVh{Hwp-i!GMElcdB3^Q<6$F2oXIQ`3_&m zz5;%Ku4IWrJQqArphS!geJ%wGNk(`azY+76++pbWy#c-F&Rt6JiVQ#Ny4Z4xRry8z z(YA <5?AX>Av_wA*n8Tu4^XI;SN>UeKmNSBUqAs;!F z(DFW06_5}KX#B3(uNF7YMCxLr5{)4`5YHi`4&s`L!1YJ|_f(Dd)VdjjxMOZKa00a; zu9Se5`uhHN1LF>uREOq!5<(+8Q-WA#t{*!e6pQ~&D4C5Ay@q@RUA?@N$4^q$hmEqi z*4src0|98m;8^qo3A~=>gwCic(r?D~DZqEkR~8*D%(F`^H~)UetL=rKch_3m21mu~ z)^mf9H#@6u=q73+fSd(RMGjYzlyOqQn W@3<{>E18tI?CCwrC|_z;xA1BVt9kkcMVft!R)hr4g)VKRw4i8a{7xp3 iw7oxL_5;o8c5p z!>$l|5Yigs+}4x|#BU>Ox9=8DjY?3?<(43;8c=^kdfRWpbIC>n1FR?cn$#L6Q68Zk zDOac^!kfKgHi#gZAj{<4+kUvGvb6k<*AjY?$dREz(tp!Kf>aszpf?NinbALB7<1~@ zitFhW5M$z{V2a3QBxd8DYNa-`c|+0rVk{FhXER~VaXi2l7?OV1VpWB^kVcEEjN&y8 z270m{K#bk0wQ?WoO%=I`=lvOm^COK~KanAw)rMD7 uAoBOp zuK#M(z>(W|hf-uEnEBK5FP#4Xk2s48X+^2r{hOuDtUD3 _6vjk)v fK*9g(~Qlz9I^E4e@qY%K{OM zIWdf1^S=D0Gc&M_0=`0?lVMAsBf@!(>bN7P0uC?8%f*mb|G=d?ay*5`iNxQ;x@>5& zK{Kk*1~dE_vC6g)smzQ0qI|g`9JqHT`%wa?7;w2E-%@o+f$HX54Hi`LAY^cgr*(P? zSC`xgb#4RY3GSQB Zpl|X>r8- zEXwqwhi4&0b&)UlkO73~HRt6yA2Oizx#wx$oc+Y)0QbH7cFF4$`4Q%ZAaW>Rgn$3& zmd|P85tVHWJ58uGiH!I;`10D9>>|Ar!EF1Z NmF7zFGnPDbT=Q$XCmMGDko>Duz{Tc& zn!X*qBsu@N2;3hg###ZOgSXaFsuTaV!wJDlGduTpa$q205ZY{X5ViSl<&=Rmt9HIR z)qwCGGTUwc+a0yp{a;4NZ(ML`qEO+|n8ML*yqzC ^8>GX)b1t z9m`)#siE;t0_XaOYp_37J7$6~9lx$Tz#r2sC7$}+p@8(W&Wt8#@fM>^!)*JECR=I& zxvM}%I&(I@g3<)o3AxK3+~*D}cUb>dHsVxd{F^9}mKu_l`gzCGh5knSY wBHHC*;S<&1Gjx%UhZr4M>94vm9b0i z7UM_s5ZgM6Z}?A5#-!Z|!OBeO0bS*ad#W1g2E~X`V_*YrA<0e$lQx_H?*P)sWa+rQ zlEYvsKS)~WLBW2jcVs+1D!Tu(fPn-d8M*s&wY9V|g~<9dbR{8s>s?l}vTvmAu%bmf zlRQo2ewR9U9vc;~I}{m# c5!kA@g}m0Q-|8<))ZEekhL7C(QP zQv{T?#X4R-dTeu>kV^`V1;_wfn#k&c&n+T->_xoia(irA;K(uG5Jkn<9ua?v^L2VO z_7B03pAZtC)`laX#A2hsZg$UT v@{Jde?NvF 3YH1;KkOC|^;GsW!WxulMyk&fOg!x>9n z87Jkr43<(oil!Wx8W5bgU;fGLQbeMw>P%T3A29dv+W{r=@A!k%b%kVB7apAlcyq-p z(VdN^+cwP)o_7(mvmqbaoCM+Nl@vrj&Y^6DAfwiMyfZg=vH5Eu9SJIDX3};4nW?NZ zp3Q>_6Ij}L$U?1|v)&J>7_vy$j+acHw#S=&IE!9ywn72nC6vWHHS$&ee!Fri#-Fo^ z^`)8mVuDBR8J7LO1=SmE!z5PUSl1NSusJ9ahZ^zeig~ZUidUI}nmt48q7H!%3^+at za%C7*Ry||u!ShtP`X(IViZcNag ;!7DOh!z^UTUUdUt`&A6W={&a>pnTK+NN-M{;v9e0LsKr7Wo*XH!Z zOSkbHvEWO~M6oMk_D$O8V%I+AsV6DCef_#2l@K*q|F}b(9DzbQw0XrgMNYxv?}L=I zqM(yfl3(coi{R!P0->%>4CwtUj8y kD5xVG0fz)qRPDX7IgSD@8xmN6U zH3kI_PE-K%&j98GN0XX_aKzVXt10x^h9<(Y%4m|ezE*a*8V?l?$0{48-1dj5@Z6L@ zEKx*6Ap(M+@x$exr=UxRO*;hq(c}{kd|z$C^Vr@qHh^D^eQ$k25NvOQ)f(p9f?w{` zvlBT} `+1`GImU(C z&Y-@p5=9qPiN%$XbEI!>PU(yhoqZ> rvaQ$Q8u zUh%?rwd8H-5Ka#Tb4bQhCyd)e@@#JkV&5Fnj8==Dl*fwg;2>u~C1LL2=6av>ML+?) z=Q)|e;*vZ2uUB(Fg3g^dYSkg8n+h}4lOB~J9;)ZRupG?J|506g8>7rNw>gGt7dW~7 zJI^WT2E{ns5J_IeF|!H?_tB2HcNAB2vm=pEE7RuEo4mI@*Y`+~NTl&|^G4yozFv7Y zs63f61j!G82h=&zUJ~4&k3 7p zTdF!sK1&i((mf}5T&wfx*U8IRAwV#~G2}6z(5efLHnrU>k!&ju@m;)SUNXoFJ(Z(z z3A={uu*8<7yy@raN})X2I%;0*jEEQP-p@f#;M=Or{Kvh|TxD)}$F>3NSlkY>ua1?& zWDrM#Mgb<36ra@fS&>nS;?vYBq19KCj6mis9T7YyE%gVoAIF?_ YIx4CKK?d#aSzxih0z58q&0rV)OGXc_@#Cd1m zkj*7nQ=3fQSh@3L#Y(cL2^X!u5U9w?_it7aB =r4sNVr?{-hi03D@+ERdgYm!kYvx;=Jr=aXP~JM^1ifC* zRfk>CLDiG<^wwgFpgFeh5wB8Lj=aihZ@!#;6w-BAB0o>gy77Z6jULZ%;N+w#Rf8Y5 zao 7hhDQY;KZ6Knv;au{OIu|N~N}Om> zhk&v~Jr@HuQxFOnV{+awQ0qwn5O%se8HjXhkv1Mi^o*>zbQi>}xHi+xT!B_D9%iEr z^K^*j5y}h7@I|jt6N|j8il?nkqAB}#H)6Q0)H7M7*W0`|VZ(_{pJl4Su`Ik`Y#Vh{ zUpB+vG?%fLc%7cymsAtA1pB{LFMf1-rc&3PKgOjtMm|8k#Mgwn({6pdVR}8t;0EB3 z?Ae&@6CAvMcGr+CY~W<`GIKUmkG?|q_z87F1*aT;0aU08!gJGgeLAvs)0GkktD4Ec z2$C&ldQr+doSr%nBEot=6%#ImOkMGo!45$Fc;0mn8o2mLGk*e)jcD-6U0!?0QkD{g zq~{umCmrbhfL=5db^9?_YP(IZgQ{+(da=hpoez^1kCyFg@d`0cuX)RNT g0G9W4$1N7F77r~0#z0#5CmIhvv5a W^ee2q6if0@=MvSoai{v*Og%eBo>!?g9TZ)iqc;^rRn*mFGF;Ma@>XEzAbTqTiR zm)cV^LW~2wI3vinbv8WT<|f0=-uq;0CL?$FwoPXE>IA~PQ8sw{xZ(EI6L^=#hi%7l z{C(&9t1kz%e-ki~_U6|80Wwb`(wZW)whqx*pgl=^sBy#jgaP6Kl2!vI9KN>vlf8ox z(_=;d>?0*b94MSjAW~l9@Dn*BH9b{nF)z}D<83`F@E%-67VE<5N $0 zg^5EZd%>>wdqcL!x5MS!a>o@Hc?nr2z&Wq}Ior?cg>To!I0nP|d2rwjXn(0>fa7lT z#yv+dVMg*G<^#Im`x*d?s^(x4x)V4~qtF?`trHPN$BjbD!dHJS-yrQWQ05nYA *l?%on!*xhTy z>%|&Zamu)4r6lNN+ioYWKm;{@EpA_z4lfZjE=^$PG`zPsZIjz?*f_BrlT@(({P&c= zK!|C* ?coT1&KI;IyD)vPjYG`_zp&;0FI0{lPLJ=Ws%C6Kg>XqSrnm)Pj z`uxCdDk>41B1O6Ol&paZv2vGeQJy38tc_Uh+aKX)T!4Ubbl>3AQDEa=0g4~tz;;lZ zBo@t&RD&&>Z6jnj)OJ6MGrY|DRF)4m?LK#9sC{hyAAbN1g0&8N(12EG3kdmI{j)K- z;wVw~2$X+dJ<{Dc$fqMGR{4cg;t0&RxW|910>cbG@h0;IhH%Dkl|ND>a*%9=hI{Ce zU>{s#?b&Vpq5Dp!kK@RSlro@IoOexHv =G+Y2YBPl
W)8BJqvm0 zyXB <#l&HvH^F&O!}=)AeKV%v11O?rcp>_vp+R zynPmmpVG9eV@Z3&?iTHmssh^T<1U-vL Lk)-7qLcfEe%JB3%ITdW=fs-5EB+2n*>4(SV_P~4E|DGyq_7aiYbWCdN zq t1d zKll%O6K_!8JUQ9;Mbb%eN4gTa_LY7v+9_O!S#R9P^}yQ%-BN$kU}Mlhm6JxO%}+aG z??L|2xE>2ziiFNWS3$Dq{w_}M$jnIH{JWc+4^U(E-dG?B6{(Ck!BJh}leZ0rpkb^4 z4$^9f3hVBS``89$s5C=Nwh0SYp@E9o=q |~1qKMcZn+v4aLA-2>aZ<%?%!dhyTK4m)3G2v%}EaOt~Ixo=cPkz?h{P`En zvA?lzR7LEEH0&wh$H4>?I&90a%abw5%D5@N#!gcFUhTkFA0=Ed+ x?r!p<32=AQ1Q86 Jd`5wag+cD;-~9g{4+VdB0-CY6cB}7MeU(;6sE_J+IXo zM0}IMX8kQkI*Fb_E3|~cQWR8QdBrLbL-b`J0Me64lh@K7K+Jw$Z(t~2iTs1e3C3VF z*?jpJ-E=~~EMI=Op2>q4WyZgC`#6x8IEziXw59+7x~&H|w-{SQO(q^PHF|QI%g?Or z_2?n}8am)#9*}o|^(NOO@>FsP0CKT#&N0(Z5}HD+bEnku+LCv7Yldu96#(B>Z6?-% zlj|k$$#W4tHq9<@Eh|-bA@FhLukv-Y_aiV@6y* pFt zjLHhdO<)V5^e?}llv5zK7wAohhr?)j2*}pwrJ3l>!n@`A;H_g(fkU z?KzzXnl7sc9Vg=1% t+@6btZD&AW8uGb%VkSntOS{ip(pBy3u55FshfN7$kPI^|J}w@ZIybT)sVlz z{GdN0N`pdVZm-+p@8JPvAz1)0`zDtFzQe^b;Q>ld;3%#L*tj#L`sj=yQB~!5cvtsR z8kjL0)1*wz#5FByK|J52=9rNJzD$|Cg#fl5WN*|EPFY!r*Yutfx~o2}8)_T`yf_Kt z5P565{ReOGgy`M@{RY-0M{M)f=^vNzk$5#**xj)67w5FbQA6op-;H| U3a;= zZ30bPD1vbKtZ&tOUiQquR-*G?7ay*v$#GwM9=xi2#*6;61D*V$$GF=FT7CwhR7Ey= z%z8aQ`;4>+P+z5SNAv<4^bYa5?zCOQ=p-|RuG2THx=ooAE0=jt2L hDUJ%o8Y=D(^&GlO{6-U)#1#$< z9Q;v#&9&S4414gMfUq3IAM-{2bR0ZfmcRN*7pf}{{56kAw5AiPty?a*r?H`|oI!aU zx&jcB#i?}_)_-QH@r85|=P@Iv#tAts7>S*?_eKN@o&|bLLJF6moz5baTMJpa1Ue%) z%a?SQ-GT2`!@lz}^!zJT>mSs#SSz!Ala+(lVXzGMG7o=7!0bRy^4xw1y_y!}JH$Cz zf3tP}37ni8l$_9aR93(deFw7MA1fyWbj0aP)An2f;Vw$ET~Qn46LKt5`aG8eqRLyl zhVT<@&Q$`&aN2( ;J6H`nLqSzL_ZA`Etg15h4b|*ER}yjd>Ht{*q(-uzyF15QLnn#uR(671 zk*rPXhV`yg% cX PX(Fn%=ya#15i{u*?iyxU+}p7Z2S3mb@}$sqxswh?XM=Z$kZlw%I=a 6ELIm;HPG%Xfb&V3Z!U^oZO=?kTZV=NKH_S3rJw77&5Q_$2~N zD*dfXh(I8lJV*ZqF`-Xti=n^8FqP7D$a=YD<3(frtxozHiFb+^QO;I b9a=+JAczlAP z(bQ_<|EY&{`9&eco$1-?!rJ@@Ux084B6Ax$m$<>{)iB9Z>Wg!)tajGO-B>m6CuRn& z;j%Yb 4E4*4bL{`c1uV` J4F4At}zXbhZtknt992(b6NN(JQWba&Eqt0%Nfy z0{w9B`@~!UPn)m=hS$YxoY9vXSdAq_IlXuUfJmM@{9aGx&EQtL(0^c{F8Kj!d!^)8 zF9{pFM2;I!J0%$OB3zXRK!0TSKH+vC8Op(sUYx<5ob~sAvV%{fAa81S#HbYDXCjy0 zbklQ+pa_!>a2-+JTDp>yy)#4B>!)pq;Z>wGKqqq3G`}*v{uu#SFJ=|X*ziF2`y&6| z*Z!u?juGN^mS=KZQADJ$_a-bGhzd;fhAQ6YIxw%;f;R4Q!Vux07glirTaC4G_>8*A zqa$4A*Oil*v-(DvbrS9!89H1uOY;59QKSbLEqa_M7FL4y%OrmbwT-WZZvohn{Cp$1 z)gG^A%Ogy|zh_hQ^a SIOnP}i@_QcCqAIEQQj1>2hE#dN z2sx1o0t=`7#dAf>Evw=$$*zTiyU|FsXO%#`08%KO-!taOJoYLELTmX8E{15LGqJtX zq-5LbTp$t0!@$n@=LQs&$84y=#$i%qQEN)Fz{?yqLjW|ndX4{H-3VD}@sixz6}Hhj zY&uaj@xz@u!V-5JA{oEn =SedgP^ zq6+ybps#$#HR66BVh$A5e%glU){f91aTl4+p|=ccXd0YMo X;r;Gwo?Cjwo@#A+Uav%;NcdNi5pn@#0>bEM)H!mzwi)t)9 z40IPlN;q4nLK=TqYNkE-4&AH1F0ae744D9OaKq&5C5h5}YpoT{HP|c*fOz#N-xgo= zUMNqffXx-wE3SE_=izul-^_{WO-I~Q!X;|N8HZo~D%%k>k7#WmJqgNF0Bsy-nkj*R zU&ye+MBbMa1E(5Q9VGlx8H!F-$CIN%de6Ct2yT~$pnu`2F72m4$S>0;06mVpW7h?l zFMzp2fV1mZ`gJyHMC56r$~oe+rKi~T@4FUDN89`tLiutGApl%9)aQPk`Cf(Ypu2-X zJ<8GpU2 G2>t8J5qS5V208Czwt0`zCcoMImbwXRafh}LLWIx; z>HCIp?qtxEEnxK}8BPYf(&O$|?IIGCv2S4Gq2ne4Y>e~{yVLByq5Qu450T%m-ZNOt zR%OVYQ^Rr79roNmDY*B8HmeCKNnG{(m^$GK2m!Qg1hWe7lV5am+ot#H3{A6RKk_bjS$b%Q>v1)(B4w6~wyz* }vk?eeqM>Iy94=>a<|ywMt;i*bbTtGD%}@66FSlJ1nx!U5LT{eUbFw zD;#5Z%FSqhUh+}HBQKvpWteD0``hZYf*j7Q@ot0U3B_e(w{iBaP5j<)j!iMXD~>WN zr>w=bKr35LR2qRYT%+AHmEWTc2p=UBFIP$|-zxePetjE?u?XhVH-8bwoqJX6p=@~3 z@DPH6AUyXDoWTMZw9GMz-KnkHa`l6bcefhYS%-sRUq1e_z?Mgl`CAC?wek848?1lW zJvZmI5T1vvz1AA>`g63=muH>!ey-U55rz5&v+ZL}TOUJUU&OFrGFGMqe8HNq(N@_8 z8CrdSzAA gq7yh%OguzoyBu z34yy6A_}1yn2Tru_7P%@n3P%}JeNr%_;vElNAme%=eMSrFYXE;*&n&9wW?XS4&U5P z36L{b62_$Kgi;F}uJf?qI?SiMpi|?K $!Zu;)%J0H` zZ=$Qfq^*s6(s1vRAMiBC?&*^m1z?u^W;pFC-Y1vohOr9#A!^(=+^yPsR L5{ie`~3ML63SQMsT%gPwstNDaSz!pE8TO&P)^h{fDonD zJPL{Sd#y&G0;fiNZeDRdYa)wl=4fn&??6C |INXs%|xuSO;Cb!&T6*LdlD9EwNwA=Ud5TU?av`AT&cR0t`KQZ zOAyfG7PJjiqtc&pYWtqw92Dj}e~psJm^Tqc6ag+!a{2ISJ&5$a+Kmi+*<1-lJjtKJ zpk^X?_tsNl*kSCYZ2`nLkInV`t7OV2QiDIsfD9f%C-$>R>N}&vH14-m3o_zUj+!Q{ zf`I#!N<}#+DD7+4n4FYfx#klh?*InUcaS(-KjaI{2T+@>K)CakiXH19<6ph=_#Kel zB|Yllw=#=A#Sc9B7xaWNS0lEfk03TVGq)d$kSr~__#5}%Sxr9+l5D?CEYz=^;fyaF zP(NkACd9@Op>9%wd^FxBKVSY-W6vwAP`A{& {h_Ja@qAZt)E2W@pZs`#7r3=@GpXa zoydL0w|O8ko@pj0$%XfWP>O#<8NN*yKNZcn8}YzDWCh3P{h<8t6T;jKT3mX+{f*+h z>7}Ev^1FAs$ aE;7YrKbY0VHoIA)=s0TU1SHD~so&r?d~7 zA8eJDd83?>vu`C*qRsviTC!->G%of}^u=GK>)hc$G)@p@ume~)$a$~NDmf{~e1qgC z%@8SzIEPRgA^B*H9Hd=>b@EFV(W3+%_$IA>)&%5I0;Xcw`&~H^a3>K?+B(9Ekl0mW zG*>>^-TkHo!}temp9fyO{s6s*zU2*5NlOAyK&$;voBveydEs|- FswG&GoG0VLZ##Fomi|6;P4 zDTo4^c{s`KPF~xsrIJ_mFaTFuvjV50kyLn&5%%fceYkKW6uAg@_DWoBd|Ho_DC^(X zm8z&3eZSrD`WVL)k4Qig=Q(xV_g@iY%_`b&eY+d?1FXPs&{20uxYX<~T|IBwQwWy< zus&0IC{BKHrD05x5rxbC%d9YQ$*KzP$2F;yjbAr=u;VjV=n<_-XiwYA6&HS6B5vFi zC08%OINHO@ycdh|L2b$(7x~fe54;L^97Yu+aPE4@+2?!-F3fDttK1`J7Sd>b;qE_k z68!-)dYTM2UZkT>z|)R$2^2o%mRu4(uoXh?eJM^YYLUThjdaF&Gu`;y4QZz<7$A;l zzQTMB&JW`3+6}Rz&1b`&h0; _`S)P2h^E4*5V(KWuC<)y Z}tX{{z_s* z?yc{KpP^?yc(rZ5bItgN%P9MngOoTI4v~}+>)O#j&;agoziD2)Nqo6V{vG`#xOh4z z-SXZHb{cQ =A|+uz zBf11;t$$ir(=+qE?d!T8rBj!~;e(I4qZRv~WvE#>74Nt*iO_%F@Kjr+AdMD;Z7(W* z;cgIpU)F);{+rYAkGsZwtnp`-^o^rj39xv7UQq1WV$hwQ!7t@@{n-AoT=(CR;A`%u zOZRR?T8e3KilwUSoS;3AOGZnwKovEk=~k&ko)t4vazP{qH9o^Xjpdu`kcHz#+C1ag zYs(L9fSeA@M9zZ)gZs_CVObd~u4Ws64>&-AUH$DxTs;Q~f5_yFhp|SMl#@1z@<7gU zFt~`RE94VAQ3lqcNtD5*^za=BCr8$B(&AnnRAq1me<%rD-tBpona#|urq&nHw&Zh` z_#GKC3_~5~Kken`1Jt1oCzsVZw v!8+^@dr#!pLag!f^I4F z b(?4=Ela`Z$Eh6%aT*@MG^XZ1*BlLG@aW<<@}7Bhj`0gMaw$vIHyYV z$4{WoO8^5%e&^T3Ur*jLhs-M>;xh3yTwgpi%;Fl~tY_cq2lFG1t2D(q;+DxSl5C|I zFsCE~OtAluLJEv&I!>w0PRb%r(y(oOFN?DgiV|tI%t+?&v_(0Hk!Dd!|9u%qBctCJ zJ5>=5o0-Yi0Bk;Zq$?FDqp!R6LqCSxF~aJET+$hie?ZEr>sQl*i)Wl>dgIh&6%M6U zo++(EIsi71Sm$|0os8u3U8M!ei2|x{cpz7FDE>VU(yy0vl{o*#Tzabe3(dQvP*kdl z93Noz!zmt7wp&a)uzAlT5-K{yt)RM;Tuy?&DY*8zgN)1)0Q;bBlQTp;#&V5FF&g z80-AJD2SM(fxBflSAJqF48~RBf_StX8v3!(3cmzZ=-E)*t90{TmJcKXCmD%mFO+pu zoR(5ye`5Amq6Nz@CvV(L4ENkSGBR-c|I4xQ3Ag@we4eLqU+F(hKp7HRom+LK6+#y` z#LK#(u~`;DMrhmlK9XqpFx-KV9R^9kqwW}-i0C;Au_h7x$2Om60g+w_91$|okH=P+ zfjy8~wG%os*~bSmea$w6{xW=3D^jq&`SLjjG3pr5wRn$P9gUd3i+$HQ4k=PXk`nVF z&!5uU!d2K`3bUERaCYKy`!7pAsozI6I#`e=4??$;o7<8fYV#o84|vtF3i3C1s*-<| zivrFs1z5X~OLNbnB?<2#HA^Bi1kF9F{w-3FnkfutYJ4lVg4TzRxk2I!cOdm>15%8Y z68>L579{mNogLPI6h=OAV6Eo2Y&t;C_u(g%xWSZ+b(r_6@7?X78qiHKI?0jpaHR-9 zycLZc;s>_i>=lKCGGEpIs^=fA5a~x!Bb_5*p6%8jv^Yful*)+OZ5q!Dl!^Yffnl?~ zsXYvs4C}YybV#I@l&>`LRWsK(qvraPn9iXgOd}T)JH`_ER9jSESNwGmqwRCY)#y|w zgZ8`dJ&z$e#^0|BXcehQn`1+oUa zSJ{h@uVlX*IO;I?eYe_X94N2D0Cv>m`ht^pqw|0*V2g*WqYTX`HzoWwHr4<9!Yd`% z4 ?g0A;-x6`9UcY)!3eX=@%c%%1 z_7r{K;r)#|z0*NBP1s;WCDCoWP_z9r8V9C9 i7Dz3 zEwH88>#4RvI6|N&u#ldKaV&t&HYW4;Fl0Y@r)Ydj!YNFCeJ5}|J{wCFG|BkphsQa2=F|0f0V($#C4C&0;PmE|% zkXhO^a?g8ssm}2448~SdaVKsc=~c)cdklmFjIaMHnbw)%swgev MA zNJqNY4Iu9m;BV`cg~`3cQj}N)_oG&-xZt}vI`d$dI6GgY)=1-{5LCX@7$M#}CHmr& z9!B>ubKdhfP6(yR9#utl9_C`4cHV-~+7@Xln1-)JE$3%n>TvjYx{JKs&1IB@_j;Ol z=a;VgbHN5)YQ&d=qg8flM8_g}8cIauq1f?LADr`b-BCL(oa6aK;`qsjuKn!w;_ur~ z*1y!jX}wGS+UcoodR {5sOSTdzifA+JCL2nB44i@ScxgDm+Kl)$ zh}MU#uY`{iRJndc=;7MhvrkuvF&TWy;*bR_;Nn!$ygI$4(tT9H>22E|_DaJL@0|!w z;&Ky}YQ2Ip|Kq5pZEcA2$a!;?YetET$&)5BdG{F%sGOm_S~tQX;4cM?tViI^fk6FO zTB3oq2KE>+cqtQtvt->O{_eGy%D*LddCz+}CDRhiKR)ZQ6U>6<=HkxoF0;P>aLl8% zVzE%gVHbCjzK$JHuxBxlVDb+7sC!o$V$y&;EYu`2ct~X{b~5)5mDl5dFkIT)?9p&S zZIYk-%mWscSiT%Y)Ervb)&8NALDU-&{`-^vVe;9Tqav!PSuSJe&|ta9hx`;D +2=Pyx`QDRRX%9*(qdLDQ#v)dY5$DX)0(O3_2$`%bEDI8Rqk&EIgC qQkRRqmos< zHA!TvhFAegRq33+PK-A*;SqtGdx_y8lFri`T2h?!9|ad{?Qn{%?71>CuxzW)NT|Wj zzI)qrtlU^DIPwzaz?Sf8Lt0di86X8->CU(aAam)UFwSB#!OL1^p!jAo-ca2u!s0QD z>D#*QB^VB0%0#79tp4Bql>ts6RL#T2Jkdaa*3zWRlsFZE!gY$+0n-VUs9m^CaHmt= zR5v#sO^g+34AT993A3myeMSyE8xjqaI0L$tJc%9`@oj1lP?O8e-P*h&;)>UtGQe2V zI%K}8{JLS^um9|#oA3MivFV8uDMa6~F`T)-)mnO-pI_~AziH#j&Bwdl$u# !F(y9GikrCxyQI3k)TWzxPuiJxPju7r||$F*V3JG8;P`4bODLtedXh zbM}iD8z0j^K5EiH+wNo7_kckFfqZQvA+rUnQ#Adk+Evvv1%8z!aln4I7S()>04eo6 zad1sdjIbZ@ouS>w@PhyNqd&&|37>?=T>|&zGdej0wxE~F$^;9R5EE$Bk3ao&i`&Xa zR7HSzWu(hf!y+zMUZi82$h6aMPrsMuCGHE{PTpWpM0Q|Xa~%y^+!a^z@8EpSy)uBZ z5D7>X4 d~Jp^p>J zzRpUC;WaRoT2-hue)Kk(=i2q&Kfzu*6UzK%bOKT*&YnM)9Uxq=8FLv9YmqL1mf2O{ zl!HnarxCz7hn^3xC0{Y~C=Ng{6xsqW`rmCoN$U;0B9tUp{<^}#7*&s2Gw-ptaZKG$ zV8xllT{Dv|Q)!Dyfyj*0(ek}Jrr86sTj>sX7ZA477)#-&G-Jd#g&eYlUe#xo*p!1_ zuZqKVDE%Bnf*rY`?Z6rue}?_S&~O|HdSmTr#%jw?*IXf(iHnwe+saMI#2 9Whl}c14dPG9i?I zW$nE{YLD{0pl?`yLWDN*R7gazmIF!19SIl__J6TJVYJF2!I-a20_kdvPAQ-%MWv^? zGL6PastU45lKH`KXxia)*>|m&rSVu<-RuSA&hrJ?vXG9!7dlYuYGI)EnTN308%&oi z{Ee6F(z5RrpXYlojw9rX=iYqbcc;JYDJ5twY`rXamXRE$^>F{0wsvzkdx(YP1CFr2 z$EHq0$;5spTifcG>Q0?)e|4%o-T^va4eN zFjZ?5_ U?}Y; z9_up!354yLzj0j!2oM4d;OF &^L|0pMp(NRq{e(T`Ztr=Dz{LC{Y1)Yt#LY*- z`cozo_?XAa!hNR{A2a;rrCu_f;J6X|)-OafmrK_mvx!B*y!Vx(3qKmoeM64F)1P56 z$58Y`hujx>1kl4WEQen5^xXURT$yE8@RhLPGqGZE=uwuU5$J_KH{3BLT=KlnH!#mM z5eLT}3r{F*y@&lluYG{HDYRinNxsT5$(uP%W446N!les;53z|ea1#yQJBQXl_h}-o zGH}h=RSnAYA4E5Cjo}gJBxR#~A`n-P$m;&QIony}dI58D7%L4Q?nhH+ XaG5~%IKN$soDBSLB9;$P)t=ZHe z!#;EIJiPW^RuG=v{P6w5S;(>pLzt+l1`5bXc^X(V%zmT=9iIhBp`kp#MV3taxCG7O zx@W&F-G-X)TRT8*vRa@-fpfR^p>dsen^vNiWFtem7d>L+Y}}f-|C-vxm_|hX6ztZ7 zfq1?;6ioe`PZP!Oa^LWCL`B8ogu^3_JQ^p dKXy}~|00BNeRR}@ z8p~#jyPgYiKEtXDgln?2J(Q8;h*%|lO&&si3vvsV|D3wf>1V5a-S7%t^bD)l`uw$h z>YT&rbKi~v?!t?^L0@E`lBsN& >IIVnP v>p|?~HpGHGEk+6-1aqsn#%6ofG GzYM_pDvNC}df1)y^-E6*q2ZI!FNdv>qprPyod|HNDp2aU~t|2CTl4CfC;FV!p{ zVXTNms1ycr#mFzi7x#q|c8 rStf8xI!A&4;i}H`-1)HX&;jH4&3&KYO5vRHSr@vJ= z@}rb+kb?w%n$3Wu?YqoMeRC>fsIRp?JMejVjzn1iry>SNv+&mV$vXl&Bjtq^ qOgc>YA&_*#5TnSPmXUG@$t!)qgl%S?C_oRk*ASc8^07QMGMuO&C ^n>9aZ)23*|h#~pyua>a& z>tB5Dkm7xgLGmwEGR|z&E`=9K_%eYg&xz)J%l {zYQpvj}k2Q LY-88 z85@e)y;|*_nbCgE3d#x-mBIpqD+8@RZrxFTqv2$9F4#W`EPVnzsa?{*`L)*dmULMj zP@p2_`*Sh&VgI>tkt9+8jD15gE?8~`X`nL@Lx^VA8Lb=he%70VqnJ!0yZx2tm U|0!VJ6+6ZK^_bZZb zkm(dsp%4q&!@Gf7CA|li>NZ@vULmTAn9EOssHWb(p3^pM1dtA}Ch=CdlY02k^~0ss z0d&lbYBP+Sy+a`P=jk9LQk4CIYC$PH&q)k<`0RV)uBAFXf$-5hfbd{mZVj0IHq0*X z%3DOZEPiY@0MeOhvnj~Jw;Elcp;RC6vws^FLIH7 ` zSmf}Fd_h$>Bo-9ovMT_XISd@F9{33}=LFE@c|M%!?_d4i25_Ha7=P%9{DB~ZsJmBq z=QF(Cy?$_wB&~pw*SQzqQtF0M{6<%Q?|^&=T=;vOqsNPNz3u2{ $(v>7?&_mtV#{H#!o+sC|QyTSL+tB#!C1P8qj6qBE5ZNsZY{O5rB%y z>Qf7Fb}vz)MLqwzET}SbgEVIe5s){9*V|$lKsHS6oA7zT?8$LE^VQ3wCo))GnY+OW z3YpP8lEC{1?{@4f+AH64RYwWyOs^KRg=K4WmK*Y&cx0Jb0^tA!9&tC4Bompdgf@Vf zM&Pz0y|pr6Lj0I- fV&oUTuIA(!v%#9jqF=9XwFoUX8n zoliw^Xf$o1#WQPBT^}4jarCc2bZ@v5{=sdc4pd_10;@Z26rz;e7fhz#6>#CAyoWz| z{b8YxH_)F`g&SkiK`r(=B7{1XPcb%7xNC%h?$d84*gX9F&y@S{txE1E6Ny}%I55kn z(vq}}60dA8o!~*d-?6~2wdIyGHsb5@tp+<={AD6F6d(IKpyybl+Hoqs1RpLc%2Bx! z3hNWbKCKX^bD^%?R%p2MX*Ryv8)RNq-liThWtgk^l(dp-MV5U z6r9eA%eQr8seRcH;5JI C8*Y<75$Q;KNXL)Ye=rsv(u zD{q#(v~dS)eZ3Tc;jRH3BXPMz$iE0j5{CvKRV_UeV^-jkbo<|G`sF6rirtjq24q4e zXDPyKeW4{la9Ix{(o#3qfB5W0rP(`u*FFAax|yX@Z2c>CxJ6iEkBBuzw(Ho==;k+| z>TLi8?_puJ{U%`hz+3NSB$4nbLQ()Jj8?LSL`j6F&;G|ljKOdLlirJOvxf-RAToO0 z*G)0_CC0_i$bx_>9*`O^2t`uH`D#pyRF>;4DSDga+pGv0Hg{>Y4vhhH{Yz+VYRrC4 zHNW9T?*vohZHNQ;Wrnh0-RGn7u*bw7DGB@$k;;u``!UkN&sWamSe|%h=Ix1$q}BiW z@1x&`8>VmI$p*N9$Bu{WL`F{UJ$fBcOO2=pWl3agCwJ^E!1Bm C26xB>o@BFDt2ni6C6Kf!QJ1<7aOP0g?-{aiE2t zXe`O>5hLougH3AWUk!5B@uQVUfh8Lm@)R NqB2-$K5bl3e_LgDH7>u1gt3UX%Ws?izdXlOB $42v8&9 l>i^^Txr=M>k$FkkQ6bwUE0jI5$5&*lWINYhiBKYOt?U`HT|y)?dtOC^ z>^<)N`TYy$@i^yvKJWMI^?c&1$14CtFPGNh(+9FYC$NB2Hl+l6n+#KP-AxSTzlQU? z0EdF7ojzlvd+7JFCx&+F(%KCJB!w@qJ0Yn&Ms@N)GgL1JwO4qsv_2bgA7!FJAr^AK z$z;O&B;^%L^A7N-^5#?d5qS*Ab)@~)>fK+)ZVA9SthPwlvlil#fsjO4pD-OaL#TE# z$ftU|eo`@w{xjs3K3&v<#GFowEE+ #x4qi$4BhpnJfzONeO50lnp(d0Ta>LZ%WwbFjlVVgtR$e+j|;qHKRD+Z#YojHv5) z(!R+Ofj5DqDyk;p!_n1MSjq{@evAg0hFzjU FLeHe M};(g%)D zmDrvhr;~zsRW50?tCq>T-X^T*D7{O8W{#-z++C+wq9_N34>+~FRg|{IUHH93wl@Z` zrjdJMQ&z)r`x9doV}b=4bomaJo1N5Pz~W1sT_j{cSZ{-xx5Z`*Lfr>@3*H1?`64mU zL#?QxKpN~AdGepCfTc@wDB2FUTT-p^hKA%A1PyfT;!F~wt85VCs2_ZkbQ0TQA46N@ zVGQE!@4#3QhUY<=wA_#NOLQDHSkJYa&>1ng7Gj#moCULt=(#P-`>V;r>WEOMn*wK* zmaJ_pk&{C 6&7 z4mAD&q}2mg*Y)X0m bd% zZ4S%`yIFWFO$8=VC-Xc}0-GG|qXL#&BG5WVY?&^}uL_mP2FS2){hSzakPr^1@9^ZK z(fduvykoGvPls-V>NahI#@~iA1ikgefF jofD0w)`dsryQhS45)%2vVix?%Qdhc zJbP{qLMUEt)Eh=^TNgDDnDdQTQ7Ry%3v1op${;1>SE}u)vxdC6zNUbgO?KlHKk6YI zNp*r&beS%v#-cc`GN!g)Fcn%98} j^gsLX*+9}(&E~(AvFxAfrFx;9bX6s8vWXv6fTj@RQdjvqouh(7rjEe++kNVe zk~dwHb7@8nJ7@ggWj*?g0J7koCnR)Alp7I-feO)IG%bWSb>3)di&G}$)7m&%SdivG zcb CBJzODp@ zdIXFUpJTEs@7Zk2jRQA{DfB!HhkZPE{19K0?;^`$(r<5bkE<*uTT2ZzUHe5sZ&HrZ z^WCGyRq$baYTOAUJs}+x&)UDvdy@n5Q8P}-M$)2(ARuCLFVHIDFILl5PLqccjaRy% z?px2T+0>+6@T&5e@r%S;XU4`-Xxe9aH+SWxVPRqsHW}~w?yi$R8%Mb%f!CyQj(?p? zWE+!6srR6PTjySC9U@C%&l@FhoHH E)Bp@;pJL>evX9yzjUzo=262i6@)dsy81y=|h`F zgBUIBscB^)G1Z45N*JI-u>LKZf7W}L*{a3(e?#iF{ZE#-=KQnaFLtBu(7C QKDcqzG;emTaYSCoOP#BX)QheX7 K8^*&;`NqbW5ib3zW%JXEOU{QB; zL#;SgOIL>)_M*7GqeXskX!OXG5rZ9Vy=O(QVx9=g+9RT`t&+;BStc~o5?bbc)l}(F zZv|od0Du7=s45%P>d%eccgXXwy*2xPfcxD2Ul*K8ck{RVOVB2O;0drCP3iij33U5( zD8kbEUTGM%TkmIhtE*l4IjcMCIOJMb*&(kX9DREgLM_ooE;={QftjZTC_G^+x@!<> zQnvw&GGSoY<{jLV{B)0M?pPrSla!K^*SqeAG6b|{4&ODIUH?4(i#zx~9CCZhPod>o zKDA%BPFy3o%U-awt(=kcPlH>dpp47Ul#USD1%(xs`< TJ zRkWG8QeE%8C$I%DDOvQ>UR>w0=}yO4FxKrea%<|5|2USP{i<8917yb&95*6(a^Noz zReJHl?tIHV=JwULlsm2Dpx3P~EIc4D=pU?p-!duv!l7HqAVhK6db|Eu3j5^j_P#DT zI&=KD$7o_b@iTxr*)~-0;<+ee{w_|Y$MxwwrHV{+W^D_~jd>t}$px`|9bm3Bm$p>j zvEl?Z5YD7B*cc~@2bf|QN|9TJ_+q;{Q~R nub^%!Dy=LE3)yyC+B@&^Ex}mT2<>BC2&a^^qJlEjdWgOB`*+x@Vi;| zimDAX074J=xy5#eAC$76*c&BXeULr-5u|zx+&ex-5OEUVuM*0LbrO*D{15&id1ni7 zNz9C{&C(I^!r%)C?ZYH)nta2P?_d&1MYQf_fiUezIVE)yR|&%BXo0hn_1wppm7dL$ zauZ9MfXUVq(CW|mn@wUwz}>r#pa%WvE8v0}=Myq98(u(t^SfA0XqpfZ1V_QbJ|MM= zbM2~)1snX7ZvxvXgWUbC3}onMTkC$NN+g;-;hIiwuPX7snG&MdT-qo-|J~}?VuR?2 z14EE3L5vIik3{7UOfFtE6V5+!20BxLj!x)^<7qJ2hJ_>nEz--bp0qM7uPN77aqC*s?af$dMK+%VbI zpu+cG5^_(rm6Wb11t)c9wMmJq+iO3&Jk8gi2Yw_HZvs_Kcx~2UOHA6gYKhcPvxXL< zH7ZFrI^5QEK)HYXl>fN#Do_Tp#(OtIr=0ebj7*l;f7H(){m8P?Y2!96){MGZ#Xo%# z0;&d%hRt7A%zxP?x %b%Oa7AcR8!#NhvDs7 z@4$FUvL}v7J#s{SKCIjG2fVjw(4soI5lhMAh#l2Q5rlH`D)@KJ1_c7cvfNMLZ!U-t ztXMKa-#n4<$5Pyxtc8Kb|4Cl&n|b=giz;idzYq?jgiO)|H z_Y q0x&e6pQ)J5H(p;!^>J0PSJR z@2<^1ndF0bfIoD{$GVHcK$_k!`{%vF8BVCf@;84C z8Ze{041|8bPEY;WCLa!iYv*|i$Em1Z`l-u}t@!N HWN{F~8ODjlZkf zM7u{L@LhjU>|E$fMc%7TP?GM8H?Q^t^>G~JD6vZfS4xKdB8*KclK8i1aP&`wpfq%F z`CZP|^s7B)0O?X1UYxZ`DoRv6TATvkADGs*Om21mpz?d(qU&)t|HBXBfo$grB<#XL z3|$IA%ZeMpjbHuXB(+_vV8mSPrZs$5 vZxhBe`*C{Pk-WN-?g|sdlmv`=qH(M&yLScQnC(v-aY@R yAC!K#*>0g8G$B#FX^#II-7!)8?4S8y5GJV6>Fuha1cVnI@MG^9 zBkm6u^n0A#CS08aQRT^A!d5+J$a&Wg&;$(FypPXJH)CCPp Yvq0FL4v*X4KaBOiSCRll)w>^-}8y%;9Pu#AHZsu>m$+LC}4pj23vI$~=N60^* ztJm)37ud>TxvG=f*n=%3s>-vm^@$r46#~{ll{YtG)R^MYrhr6lJ4h0doEn_;kZme_ za-35(ED=hDY%&76m3_|~G~cbP%2ZT-H%83rCi0|UZZm01at_4SVk3H3TE-UMBR1*# zU{LR`kZ;^%tu~ft_iAb0o$^>xqUkUbl)^}7<^f&WIz>D;46r8byFdP^b5_2%I;2{E z`?^=qJjKQ8H^*zL5N9oy&!CRv7s06`$p_`0IMtE)_NblDFHaiBpq?CYuK(!vAB+eW z4fghi-LilE5)G(9oG%i2fbRY_wrroy^(S%fp*xDWOjeu=c8C#2i~X#UY6$-tYVA%Y zQe7mSJ!0lKckMpsC(#l`CwMjbKVUEgN}5G(nXg{BHRROnLeb^W3RZj?>N@WpkV)P1 zO&7laEULQe09w(yr trI(3a&KYe<&SxPih|L#@B>}x?y zd$uLFXp;cGg_?1Lf!drX^?&sYCqT$M&o!1|Cfw^e%3wGbPU gaDVsj0`6(>PCzJh#wasiD z)Iocr(8bKQ(4^$JpcJnw#i{!vSOfFk$hl4D-SvXf*aL7GVc<#}q8L&PgOTzh+qMwW zCqOAG^bf%`!>jySMu?bKdhPS tSvc!@=EE8+`Qu{X&Uk z67^Gf3g{{yOlFI^He89BgwxWleKuBZsdJVZZ!j6~D>!)XDf(c7JF|1P?xdai%b>!5 z(E&| qMZSIT{7FJwMFSsd@wgt7++N|9Jhe>Td zLF5;a<%3bG=(L1KcPb>MA$|jz+ =RGK1Z39QdjQCl_;(-Dr6d}x z@B30|CBR^hI_{tFOXz-X?omSx3||N_8ajQ0clm6m{oxoPC95S&Zh){I;8{XPDZDbm zF06h_gLp}%#MWIfYps7}$89?(Tgl8 0} za3I?QR0_YU9L1RT{*d~ZLy5T$`RKcTf5CREiX)fUtWfahsG;?3@I2e 57?_v|OXM;R$4GVVvB8q{dcB$0b z*U{tkzw;BbuN@Z-z;_9_$fEWGG8E-b1Yi~ fh+q ze$!{NE2!R)=7}n$Vl}2oNuO9E*fWG?44}3Ung0V5K){zn854v@ha9=dVyqPnOHX z9Ll~0)5l9!4u9iM27UpaQDXrG^0UzsSF-O^65N-?m6H|~vv*F&{MVTJD-daI#!2Zk zDV6wl;?mi-nV=-GM)W7>QA6nQ)7j_Kniif;Bi%mt1|F|eeO;E+1AD#3jma!afcG3b zcewG$vgEg&j#NfiLZ)n}*Paz8aQKpml(N%El&OlE8gMxK`EWHzeb&lH1b{m%-$a#r znLNVQV#&MFVZR@fqg9AZM&^%i3yl6}BRID_q!M0Nv^XpP|3Y&?n10#GyW>5h>Rj2k zXn*7+`zymvejRWH i1k%iE6rKjir<-HVuj8eBh^faL`0Y#;eEqd zje nL}Zwn`%@M1J0)`i75Q$F{Q|6l4|zo|2$=W*HS& zmy{`=7;_z{<+dFYU*Wz`tk#>42984GSJV@TvO2J-5g|~{bzT8e%4}DT`g_s=prIu3 z`-Km?A0`-4LdY@a6YAn8CpFp0P(~J!0> >_ z1xI?yOpB#yDSZ-imP1pzob0VtMhPi}66tP$euU}%EL8$nO7hxz>+UMzRD}3pGlVlZ z`Wg!FgL#sQIM!CRLCvZpg#O1Qv^sy&^r;)(HrNNSr610H1iC0JCc6N0T?C?Y<>J?G zKnb-G1RlAwa0W&oEVbL=uz7@6eS`F0MpeBPqQ)Mutnzq=c(Z_end?4Aw- sin2D_~ wH-j*E zC}V=XgX$(HrV#4oF5mr%c>_ZJ3g}@_Nx?Tgy-vFdBmp#+Z;J<2z?3lT%@7He>J9NK zm+Xq(!7LOcGfmU{c_}%1BTc<1`=d)~0A{f`2t9zv&)9nw SI8J^T(Zon6yeS&hl{qnAXizO#+A(Qs`scB6R^n4&Ke}{dsFDv;Vda}PbN|6g2!Kbp zNrjh9LhO`yvbfDke>@o*vCpM7Q4=w?a=+r!>~nF3hJlk|_VA@gJD&BlSmcap!9n3^ zkM3Pb7UJ)L{hh68uWI?VEeb|%Kq+md{O-!m;Qd#vHw1PQ{cm=i=aPu80#+C`Hpj2~ zAL@siL^Yy)Lq-)TN9+K+biu>+ZMc*v05vbp^|K)rCpoKJF!Vp>0UCQru&MO<*?IZo zKcK&1pe!lgIMAz{^A*?BY(2(f07Gte`!42WYRf$I-^@v+$p$I#$L6(3g7DZ&%|8HZ zvbZ{6-%!rjdk3m=V>l|ze2;WG;tCJv3OD4NDZ~GTsLmObFonh2lu_&b %z;(H-vQLDWGq9u669{0|zigx4`W0i;^2V&eWRdb?z@21-{E?T3$p@T6Te;#(R}|n2?_0jI@F-!RQO$^T|9uY`@UjrRAHg^nkEm8dUwwX_7Yk zHd{2m`Xf2ps^K9iM`6n8{gKcSHR&cN0iNhaLe}iH&p^%Ovg2_mOMic#q$K=#`Ax&n zmBNAWlix{jo1pyc9OL(ggV!a!45Gk$l4-1Jx#Z_RV^`x@Z5Lrs+Gk;&97NAB%y kfl#~Xz@J*dFl|_pMs@kP`i(BxFK#jTqQJ2b)lJ2I$pH>hfz a#3GAioGN9cqbABqE5 z!$ 7djIqq2p&fZJ4jc>PhUFQy@NpriH!6s2pYPL%UHjz0<6 zfrR{Nu0E#;zzb3`-);oC?{nDQ2WIU`X{eWl+Qx>bX^FSV8_qTvNk%h1UPWtNtOWKw zCi|96)O2?D4NAV3GHB932vtTyR)88@Mbfq|1X>g;&SbXQo6Q-oD;fo;6DEfX(M;lB zPJeTtY8gu9CGtu21hem6%gPBlFb~}L%ZYKK?QXwL_KNz;n+VV$fo8(fa{fi^K*;BW zSIG;~juSd)Z z0`C=1_xGFVG#QW6*lfArF(kvZSoZt0os24>PE#||G`uE#<91+j&+)u!9tCzu-9I=y zba6dGpUTb`=s^N2T>th_-bWdJz%!!M6}E5JHD#v*3VXU!r+X(>augxuz^ZjOhY1Ze z20%IzOUK^C@VogEMaVl RB}cb*_llu@ QUmF6}(hq)B zC;-JYYt5OJ(&*=p+x39EhxnE3K0x#%NNEJHlqqE^j+=(vrKMcqJYae8ylpP(KEy(z zMmYhOn~dkfeJtJw7*{GGF_YGi5<}UT@N%>sr1yTs C?$8Tn;|52ibveBC&6TlYI5 zqmpP_*x; j9;;+C993^vc}N&Q3d66gE|ADc@77&0Pg8cZL-(bv3k~a_xXa&))Jc z(=^h8rQWCf_wbPyX{??ye4tkwJ)Y^!`REOd>W^t$8{XFqkq-+k+xSB8*=>-|KblK! zOQR_IC#T@p?nqR2we?8E_hx5De~g)W`PRRfXNMXAW=R^pH3w9;tG6_8N{f46pOOlu z)en^w^bx(O_ZEF{f35%W;Fh3-LTc%Xf^5YpCUgMPn(hiHa{Yu2q(C9iR4O{XcW;Ns z@?`cT0-Tzp(cV79Fmj9;v5a!echPstZ|ad>VT*pMjti|klQ~hG5y26%s7x5j?xR*g zzc+&0)6*J;Mh#cbm9pcP+r90RH(K}JKx5{@uBP&`D3b`IoNDaP4Vg<}4S-qC_+O2n z@*VYys0IfeLJ)|X9B0HmdG=ahfh2pEEs_HuiS0yTPo?r8akGjCFg<#PetiJ)kTYfx z%?W$pkbE(;Lo9UGy$$G+OIsU;%>+7qSK!vuIiDIR>*%~M4Y+@7F*uQ+(|lTLRNI7@ zCE?$tNj4&%`j%tlr4Q(R4O@fixuMCibP8Fwm@K{sfxlQ9n_BNJs=_v9W#0*(1lv?S z=Uv!1 SDXv%b_B+x(j 8 F=3d7OWW zO@I6czFHAHP)fOmy6kZLB6bskJxv@W?C#O2LL$E0$TJU6!+#7g#WJG53ik}Vr8|Bk zGmG1h6!3sNXg>q=%5Fk133OIr7c}KH3>H1NoH8w2oMGzZz#BB0+`HTQ>T!3rJ4-On zKz=ad){qD7Oy(slKJWmClx&8v$A&=83=y<~qCG=rYxl)d5h`ojbbNP7ou@OUu=ngZ zkOxrlJ&@KfexaJ%3~K-9kp!MR+kggzyk*27>As9YA97-Sdl84+Z6!rey&?t`VEJK{ z8_TtA$8ogTk!o|ni DLJ4CpTN(eos}3XIl1=GT5EgU{ z`zwapRnhCF#n@uD;A_ZddeA6+(b2gf$=>+#y<&p@_Q%!t-daCj3&$_|zYc5EV#RmJ zWh#8Oxq}&xv$P{qhP6xw@m0|?pkQK&hJsdvk9vaU_|!F{qwxYSQ$Nb9eMaaqt<_8n zn=*@BuWMgakXj^QBmp~FE%ye&negpkJ>Vw(bqkBi%c=!csH{lJPMC)DA$0EVW0|Vt zpbokntN^o=*(-P^9(tr?5Ojq$Qh%|X8Gq7W-lvh0tdY{p`50}SAx{m62}y{ZaLWRb z`HDHg& k*xzW>Y^GOXYc$+Ti1KM)k}_|7 VvM&3@2|q z`NVym(Rk6ntY-{MkcD2+xp^h)NUlc4>pJVJZ9vp%Kx}jvpbPi9s4{o-dZ?CwD-dbP z2;$V!yCMii+_5cKuEY>O;QpDVFFnSgVQ`qD;4*hKd8Ak) v6uN z<$pS472ZkYWE4m+^%8uQ$=wOOMy-6y6hAQMm#4`ZTqSnBY^q{!!QlJhZnh;{*2S1t zHQ6;U8f^plT9s=ZcB;%oH@G*6jLjt;FP4A4YI_GhyO}5AlIgjNyG@kPee3rds`C+Z zk|7DBi^iH%Pumtod#=YlqHEUEz5T4}PgvG!+Rw#xEj355q3Cb7&kL8sC2Gcy{d846 z9_X+pFY6!b>wMb&4Ll(@HlsE|Q0XXb&x 5IPEljAP&xwn88*(S9= z@LJG7osQamjuD62{^otT84$SjZZMqxxvzstjcHJ(QWNC;$+ &i$&H9rej__ll|=?-seVIB!+?a6SO%|e3zZC>|DORq5% zp#GdK)6VVx>>d ?1ZsEO}Sm-t>z)59*~}7x35K-&YaC4E?Pv z^<$wwD<{EJ6(&oz1{Zph$4g^P5D^*4xlsaaMuW_64+UlHeG-@Be9(~P?6BbcBgMgM zB(!y1f8)Y$jdx6EL@FLWU`Q<#PNErwoc_>4au^0*-+);^u%l_e>iY*kU)$W|#wk|h zAsJT5q5?2KtS|!St5XmbE_5c>rFoe0>xU<=@paa5FPyUQkKAU#0wDMLo+Tgo$EvhJ z1PI)wdA#zg?K%__R2uHp0qZ50d2m+sS28!pFeJ{I=>vkcm=AH~PWZ5?9Qez&AsXjH z?llrF#YqbY!g}#jZfUV$+l+P3d~}H<)8UHBtdPQY`kl4t1@7)K$X%drM7NYI- V2)IFN>WZO&1!Ab($CAKPXRCA(__e3&McLvQlEz&u;$72Pfjhw!gQQ7)gSMs}(l> zjnhki%{i}-e0Uwh1CL4DKrmHFQ|fUW@e_pD^^mU;#MT44VO(XU0u0N?$K@DsS&Pl* zNn Pt{fH#wB-RFp>VggrSeAeAfIA%)Y#^~0|^^*gu!rCO&QZ?oci z;V;IOzIg*W;%|a>__>1Lj~Sk2XQ9_mRGt^A!T!4f9g|Q{?|rmci|C55d3zwRm~O*Q zDXwb|I6xOVN4supzS&eiR|-ag?L!4O;}%_bPoBS)d!4 (0_nD~1=rojGfegFYNPkcYRa{m7mp@F&QcKi7L`)s z4V_TMo6)Sxb3TN ?iU*tSPjE!jOkaIuZRCI4e4L0eoDr5gi7G22B@jgQe@& zk=WR~W0%>6G(ea9G)44PFco1=n`Dke?=5ylegX#Xk}>fwQJJnV XS*t3!o=)iZ4fMO}l?+~+Un5OVMPRoVr(=Ll@r z nuk-CSi8Cp0; ze!?6Zf2lchUh0!mj!7wwwfq#WWf1T r3Q*DkTbMd`i?-wkn?4WNn zr?ke5*^kpt)jmI;(yuCc3O4JL*=o5ghBC(}LXRo-RqZZeIqmzF@fJPx+)&3!a!gI> zx4$<$e3IJUW>HM&>M6hfBV4j%0NZRg27$MgNyZY7nrIJmNgM2|KgSjS#NV@u0bg($ zT`)}xM>bDYy6uX}ICCn9-3HuA|3pwdRhR*N|BVMsP>h+O^P0DJac`!7!!Xnkw?X%! zhQL<&2Df#H84_D7OML?4@p7zB75MfNOyR}w iE3)2I1Ltc zQ3!+E{L;d8&&rdiltMn&gjlM(cT)fSGHJ1?XD~2m_3g#B(zZUvxCT&|ONDXWzF*DH z!FwmZV6W><6QEDBBsPUmac2V?tBnRHB*SXEmhYK3kR*`Xe)d3X#dLdNa~aSVR{FqY zZtL5D5kjSKJ>% 6q$1?y2$rH#S8edGtq3PxIvBT~#>J$`2b^8O7Py5r2 ztn(pSk5 #jVD%-( z>9>3D=h>j=H{}(JDnJI(Ou|9g>t146%y9up(Va-Y`EVGjX4^c