From 2d296e415346df368a33dc2ab1ff2557422c0b42 Mon Sep 17 00:00:00 2001 From: Blankeos Date: Fri, 27 Dec 2024 03:41:00 +0800 Subject: [PATCH 1/4] feat: Added minify again to make the size smaller --- tsup.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tsup.config.ts b/tsup.config.ts index 021402d..7092a68 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -10,7 +10,7 @@ export default defineConfig([ splitting: true, sourcemap: true, clean: true, - // minify: true, + minify: true, }, // Browser Build { @@ -23,6 +23,6 @@ export default defineConfig([ splitting: true, sourcemap: true, clean: false, - // minify: true, + minify: true, }, ]); From deec6038812bf46bdae695c814c4e94830312973 Mon Sep 17 00:00:00 2001 From: Blankeos Date: Tue, 15 Jul 2025 22:37:47 +0800 Subject: [PATCH 2/4] docs: docs now have demo + better design (w/ vike). --- README.md | 4 +- bun.lockb | Bin 258458 -> 249784 bytes dev/assets/icons/index.ts | 4 + dev/assets/icons/lets-icons_copy-light.svg | 1 + .../line-md_moon-rising-twotone-alt-loop.svg | 1 + .../icons/line-md_sun-rising-twotone-loop.svg | 1 + dev/assets/icons/material-symbols_check.svg | 1 + dev/components/theme-switcher.tsx | 18 + dev/components/ui/button.tsx | 53 +++ dev/components/ui/card.tsx | 43 +++ dev/components/ui/select.tsx | 226 +++++++++++++ dev/contexts/theme.context.tsx | 93 ++++++ dev/pages/+Layout.tsx | 55 ++- dev/pages/demo/+Page.tsx | 221 ++++++++---- dev/pages/demo/demos.ts | 91 +++++ dev/pages/index/+Page.tsx | 66 +++- dev/route-tree.gen.ts | 151 +++++++++ dev/styles/app.css | 314 +++++++++++++++++- dev/utils/cn.ts | 6 + dev/utils/get-title.ts | 2 +- dev/vite.config.ts | 9 +- package.json | 50 +-- postcss.config.js | 6 - tailwind.config.js | 8 - test-browser.html | 4 +- test-results/.last-run.json | 4 + tsconfig.json | 1 + 27 files changed, 1309 insertions(+), 124 deletions(-) create mode 100644 dev/assets/icons/index.ts create mode 100644 dev/assets/icons/lets-icons_copy-light.svg create mode 100644 dev/assets/icons/line-md_moon-rising-twotone-alt-loop.svg create mode 100644 dev/assets/icons/line-md_sun-rising-twotone-loop.svg create mode 100644 dev/assets/icons/material-symbols_check.svg create mode 100644 dev/components/theme-switcher.tsx create mode 100644 dev/components/ui/button.tsx create mode 100644 dev/components/ui/card.tsx create mode 100644 dev/components/ui/select.tsx create mode 100644 dev/contexts/theme.context.tsx create mode 100644 dev/pages/demo/demos.ts create mode 100644 dev/route-tree.gen.ts create mode 100644 dev/utils/cn.ts delete mode 100644 postcss.config.js delete mode 100644 tailwind.config.js create mode 100644 test-results/.last-run.json diff --git a/README.md b/README.md index 229fd5c..c7700ed 100644 --- a/README.md +++ b/README.md @@ -94,10 +94,10 @@ const result = compiledTemplate({ name: "World" }); > I think each of these need examples. -```sh +``` {{ }} - evaluation {{= }} - interpolation -{{! }} - interpolation with encoding +{{! }} - interpolation with encoding # Does not work it seems. {{# }} - compile-time evaluation/includes and partials {{## #}} - compile-time defines {{? }} - conditionals diff --git a/bun.lockb b/bun.lockb index 4649eae6eeec86c0bb9ebc7cd1d0ea06dd1425cb..dd937a678fb415148d68316204bd577863a37b33 100755 GIT binary patch delta 77609 zcmeFZ2UHZzwgx&34A2A-5CKJkq7no_g&{d2NrEV-B$1@#oCOsJ6;VJ`Y_w4^VL~w@ zA{ao$0E&t^iwSeYgz@d&-Q%6#-+S&k=iay8T5p|R&V04Ms@k<{*RIe7xZ;7*{xwRA zO%0QekJ+Mr?_=wO;U913JkXi=F0yk``C*e$jkg^N);62^8l02l;4{6%Pe-Vf&ZPwo zCn4J;EIFCOStG&WsBt*CnK9`Rm=&28kr|Pgo|c@HmOdpdjq?sFC_?@dKsms~u*9U8 za1JLTZE{9Td^o3$$Kj{|zX?zka0y@!z+9G(XXOCQ7edA;He)E8(Fd?6@B}Nrlj3mH zLB0iud@~>_t^q{F>jAOBMXa0+h~**yv79#`c4#=8KakB=1r(wJ2}q!V)TH?M4Ddie zHx8!{Rshrj)MaHEKuwUJLie=+j|1uhZUoc?oX7Ivfc-#r0PG9c4^RhCip35Erv6C< zj*!l%0siR4j`1xO-qW82{(yNI}TPVp&XH#lo=M!fni9`PLANDWkx085M6}s zVR_MzG=q#ovmD%jcoz_C&s_{i08UOyik}>o77?B#Ovp%&iBG!;{>1_?&N1mR5oyqX z$<*ku^hQvG6;Mu3jfhAHPc#V+OAiB?Zuob8DZ~yom>Clnfre>AZ_oobdoe>*2iP5C z9`NYN*Fqq0teOFF2n@mRs6ZP~9&ju0*z?tZ;FMeo@H={_6l5${1c(MkhR390ga2$0 zR>62c)m)({8kYirhR{(7mmeV*GQorygrTM! z&H#{A0QF$*1ntSayV}snI5IbBxXlsMNCP{n34($2j{C3)AQt*)Ufo3G)}@aEY0EEaArK3 z9vzVw6Pe99iZXn1Tj2|P@C+(qXhg*)O~wkVMllu_1LDds(Unm!mc@I3xBytXky~Z8 zg|nd;j+n^P2{DN=$zf?}*}$XcM|v>DmjR+flUaW7XhwZsKs2MbCsY0v$QW4%K&BC7 z1&~LNVFG9*AhyRwr0{Pc`9CSz=*1ZFo1$FN$|_p$-gq+xIF4f?!V(Y-O-~(WiGE7X zNX(v+Bn*cg;Ln@Xz41&)=t8$~PX2eBRU?#x$@^>5DhC-iv43jw5<)@I?v)D_adm)Q z>>qAo*C2$@rN;qP0eekiTpybR9ZKYIwgQifM?!pjHuf|lG6{jB6U3B*LXne`vN*|M z>CsXVkU{#(8wksx7W6dNK7{d80t7A&R0tsQPJpO2IW;03cC=K{=|yx}iB3wSo3Vv* z7&sYIn7|SF-vD^DHX$k(mAW*nS4j6h%?MIfl(Y6k)4Sh*Z?v%01I$>dPF#9 z7?eYUBhu)j0c@!$84;=3oQ2^`y@)jMsSqsDgM#QH7jPu@IBZH%D!N1sc#|jGo(U3|&9HKHn^uSEm8`1FCG?VPGgm_L^YE*JqDjcqW$MT|xT?uxfUZbf@ zM{r!i;?p>p5wN88gpA3c5G}IKVwPz)kTpRz21Elz9@+=4Lzmu%0LO+aK*oAytV?0c zqtn3<>FG>EnZV;RFA6@|<)BlfFKmkNudWsy7=QP`?>!fJ3f6xjAScUiuF5o5?y zKrEjSks1{-1R7XzF>nqK%9MDz+uBjikZ;Z1Bf9bI$Hd* zN0Aj!5B0T!K22ypSJcyCCCnjD6;Ka&QIAC)5cOPSXd@`lg>nl?WZEi=iL19>?X(Z11s>Ii0>;!MuH)T>-PS9~9gML|?!nK~sZgE65giW`;^3_%8Q#3%5Hk&QPl-;Nng~VI!DYBi41s#+DQZ1yKv;6v zu{^F}6?76A4JJ_!(y0Aq!a(1pZMK-{W(0crw%-@p{O4~P{`0rmpi z4T#e_7G46;&{^=op4V()hCp-`V7-;`Ksw~(kS(iXJn$6|J;DXVdcxvu%-GBT#GcHD z3>@<)KpcwhJD3LFZD(A54G<0452y?11?A8n2ezKhE=HDR@!d}5^mrRk4a$w&&2-QZ z%0ovTbDsi%7OAj`Lcn4ycw`S_kORo*s-b{5-CS#!;2I7n4|4w+^1jLd;p=^j8hrVR zjERrv3E5aYJs}w?ayaj5nQC=_7^^e)Gv#5+OAU`m=R_o?WW=OKq{_2ur^J}VB*Ho8 z<6g!b$$G|5qRA7PW)hK=4l63N$M@s>zPVq5is;Y}b&NwlA0YRr4iE|sG411eIXRod zsRJ3i0dYp3Dr^ojcBaLLrA33?k61M#b)wT!bVfp0qDf464dm-U{f&S)pm~6}vwAc# z&1Zm&ei+E`!rY)EOhM6l*#l&ptj0%~kX`_Y4oWrwH>Sg}%p@TUUAT-@6aa{ks>UeH zwFcA$`DQf}Fy8<%f)4@W94$D`% z;PKoi%LQ)1QBUTqmufLfYik<+!>7wE?9%m_L3QiKJbKu(q;JjbdCmUc`t`Hxl#l)# zGi>Ymiv2ge{jPNFv%k{KI#ETE=ov(0Tq<0@A^zp-U!kGq}&XXZT*cb_=# zl0`{gLL&L3r*8LU`#jdm@|!+&DM!Tp7}mO++@+;Kn&}wG)<+yRwb1cxCL7f?WCz8m z%XA)#bs-n4%_l=OWMyqqCkGGLsG3SfYnYiWyd64M$?w6jN9!(^P3!itvHel}s~Pt{ zx|FT9x;EZT-Rs4dvu56xS6Ce2XYxaoT~?E!y`p7BZmT}k%T&@&$|RQr#L&g=UgCn zX(wBC%4g>3_UKwNVBX2A?l&fm?Ab8jhKjt2F89&>j{&vQe}wngCckgA(~n+9L++Ov zn9nesb3i|!Z@W7AS;wBV*VE`ukNIfXSs`O}^!pyYQbhXe>5{p6Sq4+{B0EgSW?0Cr zx_2W_=E2axO0tu6N~)hd8+W4lTEwQ<)%gb;E5CQ!R4vQ|N?i}0m;QS#X^7^Mm;q_}DzFoOo|F9>y z`Mn^Rd+^e0*}J4hKV1!x&O3UVDsscSaXoI$>Ni}b%Z)7SXGWgy=S7C9Tami@{-kby z15#Gq)hbcDv*GeJee3ae0v`n4&Xv~)8<9+O-cu(6=P1f}vO?Ksab=;o1v0!aK zqcIhNoFS$JlJonU*^g=rrlzYIr$$~MvB$^6>d}@yw@+Q(Y*G%M`7HPvn9%i%NPk#~B zI$z~^-(G6{m1p%Ef2L&c#Nq)p!>x%VyA#j6R~#TU2KWn2Y*Z~4>g~^YYL+o?{L|4qua^?Bjr!)^rj8Tq7cE!x)jZcCv(RvSvUq)T z*Nj}L5jCSKZI(v{Ikb`Qs9jfj&Cq+-@HMhN^YEIg@>f;|Bz&G3j5vNZ#a_~+BGu4& z`=gSB$Kwq<3F86ZsOZ;wUymD>Zg{F|n0%?p#U?BFmRCboPVSX8bALwKDXYsvBBHN9 zD|mS4Qcl~?i&In1MVmwqBr(YwBE;J#bPbJ-tPCAx_4=y&&E!`fCHI_osMYI5jsNq6rj`DWy-zPO)aV|4Kd^gs z%WQ+8e1ol9_nB=V4GgUe>ivwKq<^79t zr+gsgN~cyqipjnAi!+oFl}myYlUofbrp8xDjV6l+*-6RLl<5eGF|?}NAVUT;WC(jK z(@+wmm}<3VQnV)S z7zMJ>T)@kOGh859Y;MbIgH!;WGJ7VRY&zq?p`E zaFmInxnq!upi>5L&IqAX^M0i|AjQ;hR2Ah`K#H;8E2R9e26tQ!vc*E6Sloldv4TN_ zvE&e>ask zCx>Il6t>|L6Ih8ywuSMD_5USV^LZ~paw0uLZ3%NYJlH@TE~#w8myH7n^+Al8k&ShP zEGtXWI-Y{$M3+5cI2dg;(O`;8ktKe7B7&8q>B6f(Ld7y@8t*FRk;T@w3QBN1vPLD) zX|nsqL1g0?LKZkP;J{Q1K9L2I72Qmm5npkaSa}YqoQ_UXdkA-)L$-hdMl+!A9133yvbp9{BpMeyxCAp+GJt90yIPiIst-Ecx z^R&o9zJS}NMao$TxI_Dp?p6XK3C`zOM}jQj^SRsmkS$gM#ZDj{SVh`o$qssGz2HPR zjxMQ8@)avU67>PRAAv=+dBgApchVCXf?;FF9E6Z`BC};70#m@EDL7z#Mq~%c8z8m47G4 z1NpbcDIou5=3OBF){rs0JpZj^8jxfD($Gml0l2@_R@DE4nd5={o640y{>{w0e=0e! z{~sDk1M+YFr~~qE{*WB-ht@rS{G0LApGw{Z@^?GAW&_CXL4x##Wz8KVOQ=Un++1U_WxRk#41yo# zlda=zc}bA+#}siAQrLUCeF$xystJcPkuEd?QucHzz?8#Dq*Es$6;7v&2Xi=+=+rz& z(aLzQAZ1S$``SrCcb(|W*^qL;6wwMPX7NNX5a!J4C58RQiRoxgy88*Z73O52pMdCq zY+Rxw*=(LREIeLhtA#C*2q|0+V97M%bL)nXh5iD92i|6tyYP9wDACO?ffU_5S85np z7$D%r4kKFv1jHfmIfjQMy{5=mknR%&yhsahA=zqV%dN2>TP6yK$3UPJ@}#m8pU?q^ z;_?UU#Y8^g4HEbc9EYn?jwRU=DBvEkB;_Uvc%LE9lPn%*%Zq^Z#EP~=2NW@$I|Zp= znj2tEHwey&htx<~cgb)*_q#RO5+oo3VR>hqfK8A#q!UVjh;C=_v)5w-*JOUP6S}6r7U%JZ65oF6`0e6%=DK|yHJ#SCC z189#V3jyLrk}XpNyn5&=jE|iy?<1tfke-loazIZN``Z#TAmsvf(@{VhtkV_JdilQWO0||^@1sCL$-$55)&YW{)64en$N9vBHg0|TqS3+5Fpf< zYynv2Ov*(IxR0Dk_hM} zAgW=X!}T0W!YIhV0tf$K6tG?dBvA|0GX^cJ1bb=}pLhcj_Ea?a2uC-j5jyNi`>lj5 z5KIW*_+AAGBM@RP5~dIYFe9;3$kv^dix+T9-AVU&0dWqpv8oIPC?Nx@2%Z)Q(i;vk zULY|Iqrn?M!gUQcSWx?fEeYnw^SL8NlPw7XViv>)RtFbD5ob?ElA#x^+?|9h5IFs$ zX$Krk80A8Ou zmUK@BcLT{7gD!mu61FWvJJ`@mWC`X)fP{_nXdhIAg#Ba=bDu!Mh6wsJW#P?8aJDky z6KNn}3(R0|_a+Nd1;iI1e>KGO83&VwERM7#)B&f~()ezaZmrwvQNSwq& zj1mk)%u0WUL z>P;Wft*4MJMFJuZ@^Fp%wN$hKf!h?l>fk8$4CioQ^5;TjPB*Mg=GqYoKw>)tkUH!{ z<5owK?!^K^3!)H~Tv$JG^$iCJ8;9ip)|S#JQf{GucOFRCnv84-g=o6i8?w4;NC5+-f#kbiyLu z{wmLw7#z=x+OH~6Krlgri)STBOxq}RfaD7L>4h5gTO}}t!f^=Pm!3e%kpf~TkXVN~ z+`a^f(FgYO`Xz$X=-CkiDdb@spdV{k34$F$^)g74X;5cAp%p+=HxfP!P<6jdV=5$aM5rIY`WmgQ?5=fO(`M-yLCQr4xQ}O$ zElWqp=7@F!TtFs+gok!|^m*$+a-wZ|oI`8Xnkn)qT+nbQ%_IxU;czySY$+EIw;|7+ zwh)(-fx=%MU&!ZX3(1yM0s!fMQL?qTzowg5aWB;{=2 zYO9EJw-FGzMT`l|LAtS!kSHQsfPV!%I+i}S@&+xycPp@jm<=g2;OWhQyJrC@w@pCE z6*GmQa~6CBe~=uYh#Uvz*J5*=U&LkLn3WH&3i~glJHfYAjf2!EC@TSF@fpzqKgcue zPoEeeYb0bz0j&wMoIa#*7X5n9fg{EQkZ^$LXj51Kk|Ri5s6d`C$99#^0f!SB_4D9U z3kw8Z7!rDm8Ixh}Fysf6ldfSe#+5>2T9(jG{9(N??rxOZ5+KQ8C*jFGiJXJ~WIzHE8DJi#Gz@5I7bRQ)k4lZSk zrng0|*D|tYw}4o`j2QvgIbpr&SVp?<5pekwS-3|)8#jDbA^q+wtLvs2fD#LO7nso#TyT44KxQ)1L|#w13vS;^r<|H`WXY4R^g zs$5)(1S#}a-U*O!*cmPQtHh<*AWiy}cjqsX&1xnxn0lok`HM;_+OPSqt3ViKC;HW^ z5J;RRFbo_yI_6;gI*HCxh?S> zQoouceAY1$!;?4X{R$+rDZ={5HQzwG9~LMkZ(yc5 zhNCt+%@rFqGH*wJAvHEJ=YBDgPylWUwDXH2bA4$tMx2CTR&?CVyg~jdiR1<#1Aj01 z6Ue{l#FCRMe{UQvoq-Gby|(ri<{j==J9vpA1*942>1V6h0IA_@9ZOMnzx__qKQYor<^)bc;IV*6-dnN!&mQ2kgz0p zzno8O1IY~}a0T2->VK$y|Bz%@i1NPLjMx;=d297s%qkjLd6 zBHfz=gzF(usN&fv4%v= z{@Eifu?%E8D9#*)FMxyt!1P}3m?##}Gj1kioo> z$v25!86i3pqCg6UJZY#yE-oL0KYx@3ZVYf>FZ{4p^*FOM%b-?vFXL4K8A^Lq{shxG zh#z?S9S@QNs-s74DM(BJ!{*I94blYCGs2dzIr(cziRSaxf@DW3M%xm%Fa@EDWM)1j~_|+=)*?= zKA?+!5Ro6sh<`+N$b)r{e*O&<{<{_bkLp4DDxhi-t?vH=WcvTthSB9A@R5K|D17h< zrN0@(fQw>fapVCP4OoXE$=qD*PXp z$MOGn48Sq0!S2HIkC1@;!|*{*HNZy-KF8pL^;A4OxfW z3O?A(8~ETOj@WD`&Hfot+j}-25#v)G3%hlsomE9*!=`&gkrONb*D9LVyBn8ZJz!ycHhvMC^z zGh=0QKztA}IRw72Ll&%Ti6lI~5W_|d2oE+x9A$tX$MWKc3VndbEMFG=*m8eD>|hX^ zkBA22Uliga!~`mw42awmHbWed3TJslR1nF^;)qlfd?7}&`G{CPmX#6FpkzR3SI9|& z1m>mV7mH}nR8|&8r0|cJ5VP5QL@Ymp<#Sjb5&2wJ{xib(V+NL)#a75;D~Kafb6Fm- zC&(*V`G18N|Nkom|6+X%-nFdZi1hr!1iETHAWp;0Yym{%x3aQ0B2~rm;)v8XmPf>~ z-@(d%Kq3B35a$S601+E(Vr6ke{v^wbqb%^}fY%4?1jOL#V#^_-0bc=;`o{AAg>?V_ znt^4$!xvWk$yWFi(pgvtpFbexO8}2ql59RA@=`4Fgls~ZEr5sxWB`#OSXmAQc>WP$ zJ$beqB6_SFDy1B0}KR2)xm7OI3g9w^5Te1gt0s#_BEE35m8?PD+3DYz9s=N05X=c1_=}P#*3R~C=L`+t({5F;sN9=LO%BVFYZS z?t%m=_zs8-|6mm$(n-*YyaXW1l7RT8sRW3MdII9uYXRbeh~@hLVtE}_)@4x-5FbQY zoP&leA&#iPh~*J6X~N3lh~-RKUL3JQLxArFXwT;V5pgyCW5$2OV^3W`A?kF4FEqfN zZ2%Ev4?yg>Co7L(aV#J{;z;iXNT6aLwtzUILSL3gMA;7zT^|gH4TZA#;s|5QiDUVH zfDTaXpDOsba%f0A8bJ2Bt1iUJIF&Ugo5krY<^bY@h_z<2d@dl)p}8!d&+_wGEM##3 ziwgm9ZY~4FdMg1@U%4b)W1t^avjx|(Siu%p&*BCaHv*!9t*l(d;x<4nGNE0a9+eiB zJq?JDI3jhHheEuiIGJ5O>_36XspSY$I{^h<-9V-1B z_j6F|->nDZ|9{z_3K;S)UDILw{Yw@8#qu~5A@ISN2!#(mq4YO{LJXoPmJmmb+JE() z?oZcqs2X{Utv_7TF{iTsqkFnPUeBQcrSL%yEJXnxL^OzEPsa3p9TxcC-P8RWw`A=4 z^KV_RfxZ9hdP2O{!yu_aZSedf#I5fi-P555Poffd5K-^{a7`!tzr3fzcIkUNZ1^#J z(4c>KO~)aFFZTS;JsrKJh~LkF-{^ZgoFoI$i!5UDKlgOu;0E-J`28Gu2xat86pR14 zr~9X_-*655rwaZbmBX!VEshh5^csu=E*t;3r^5?8^v-|o>6jz8CQNno$3JsF2gT@e zxH^d6&moU8^4hGv|J>6t_jNey{&P=<*K+tA{?9$#f9~n*aZbSV&)|RV>CjVg;4xgJ z|8q|VPWaC~-T&|I=|=vq@9D^{PwAtb?#;fwxh8uq*ZgkvjFs^T9*I%%y`NZ)yZCU= z-9B~kOKaHOPx*$?cig?rqz>!SN5daVKLEL8*k?Zp zNwV&<9~s@HNcQRSkl>LqU4Ep-7e%raBpFiki=TunnF8Mg*$m%uq~2FQ33)Obz7@ze z_*NthzxhdYBWJ<45_uiIyOZYM{Unsh0{B)T@4>e!Y5l`bq6b+5-)iJj`0h!L{OKp5 zPA-RU4e~8~Yc6$@@RR7ZbRB&6UfKoUT9mg0Kp$!gf;J_=1<;`a5Ok^C2znGD3DB1c zL+D4vNos*O`ct^T_2uj8@+wq zZX2cPMX|jSpGiEqba{|s-O&4oYH}yhngCY9mM_dY}+T@S= z#f-jP`Ez`x!5OQi$8^#*=- z?k(8Y_8@W2jZfd6=ux)`360UtwMsexT`Aw>b{sg+&``a7y3|&TwgNG;lZ#6(Z(~Q79~loi`)3|#D`Wf^DHQ99q4tL9Q4|zP;W^i-V7S9sTbiP`=cW(Ew zF;zZoSr;^wgsZjdW7VE6o~h8cM^JaW{HpT#>vXNZT2aI0B{V3tNC^*5Ymrt!sWF2t zwvGzw{mp-nVr%d`=b@u6#9ylp9$J`Rx!6(u-m;d787uVHjGJ@XF+k14Y`@1!yL+4c{lL$xbgSg^R{&Ecn?nZt8K@9cm{$zk8mZSd(A1v~tME$70>K6}Qf6x2m*Y*ZJqYa<%#d zr`_g{8fgADr-GdJp+)d=#myOSt1`*U!_@j|UW_v=TART?$j#f^S1^<7D(oEa;mza9 z0Xozw1u$<}<@1G+3)d1?W;D;TYoIJ=Y>w=6xLRRyNJgouht;W(r=BI{9^JFgo2)3y zi?}WPJo2>9mcg8Yvg1|#^0ytoiNC`k!C@8#_``%>k5qqhiDb3G$73!s=SqtWhNd5g zE(z5?J?ZAzi~InUqY10u|D3AIxxQGl?6LQ2leM2$XT-=*o)|c9DElph-GRbz1asNdZmGowu>N)7=wz%4k_L|01hZmpnYK)G!ADC00 ze8{K4)iQHNwaBiMdQJk20BYqhNW7}B3*=ew~w(IgkC%G+h(YN)VxIW4mX#Y5V z#V+HTo!@P4eTqLNk)Ng6bG+$i@_3-vU5&sQmrIZK;xxt7-VM6{ZUFTi%%g4#A!tU5 zD?ZR!+aUe4)@pQh>W3T&yX&PzeWY~uEevfge^c|wRdwKsDJ7F$YWImP5lX+0cAFKv z#_g?-}@dvdtZ>MJH8}YE2nqJ>s`J9{T&bQ9bP~5=!|ozyB>8v zU%XXwy5}{HVQBW?3;vzuNd*sk^k^zte5t#bdCubIov(lHe(`L2*$>w@v$sX3?Hp8Y zYNs{JX`b{gPstPWmDJyB98jL;C#N~Nd;0mPjMAY?9_Y<`es_sw&eSf8l@n4_)hNa8 zV4juY0NsNp(gL_v`UTUfS6A9OI?g&f@7_U+>Vh5*+pPvYJyv^Ey5nKn+aV{`z<;&= zbK$%8P^DLXqZATe@m0Jt^u^2@C2n4vp=;W{oYM=c`{WXq_f&dkh2#z1t5+{Hlk6Ma z5o-Cvuxylb^T#mFe9d?5$0kdBSjAKHc8po07_;E2j>^IKE$^s9XkJj%1Gz&NRejb> zjb1;OH$0?i%7-y~POVgly}3~_xUgN`#g5#R@!qzEo3>G9UfZ*xu|Lw=`d9?6X)JK4 zu&Q6NPs}_war2HG%xTn{u6ook+A1~wfUHg5OVoa+pS1@MmhVdp8@-_NUf;7v^0JCF z2OE-oUiR(SvQol&LEh1(3(tNW+|ga<>78mSK^e>|TX8AY@#3NrA-B5rC*0qpy+CKZ z`B{^}x3gN-W#`K-t2n5ppVjB~Yx8?vQVq|W_T2t*`qa{-2iLZrx!!+lx45e>#LV*$ zH?K$UzS~DlSQg!p?dDX!`SG~fxe*>Sr#gq2d-;z$;*9v%`cytv z4KVk)(xNfkO#f-@H`|N;$Bj(SJIbXie-ZxNDrs_V-5bfSX#DRQMGKavxOpMxcN9As z@1Hd4E;Xd5!kt9LoAbMSpDQ#S65Sld?R7EtL+8oFwqRRLdp}v@ed$Zp^p%`fCY~`-E2wzZ!pj*(l-0$t%}%^*`Pve_e5Q zM3T;F51mcfx@PI-QR+v0f|4>N{2!DAtW_6N>?5wYW@hk<2Nv3y#y30m$^THh(0fdZ zzScVZlkY2uRe`N5%R9cG$@8z6zG$E6z9Zk|Rr~CHsy}GbKF+i=se@gI9#x8vfM41W zx!;#6@c@VTiR;hTi{4tkJf$=8>OiXlEj@{!_Ser!-j+SO!-Ib|R?Toy%t);cyDL>! z)QDu|ea;fEmA&Wi??-m}hGmayv_D$U{7xdX9r=sv)eNkz8*P$#N>6o~*1+@eZ#tvZ zgHBp>8y~b=*!P-jl23#A_;F^nZPC?jPO(u>vS07`K6Klf-K7DoR+PYIP2|ln%-x-A zE+`EUS8T~0tCiWbVXv-2&Vpk3Ll?@g{9O5ZQvP&uA{s!{cqUEqv`g_m6sDIqrGS2KVrHX*(`F+)j_6 z6s&?Ne>h9jkf5@5!HvUVoousOJ`(PiBl=8gnc4 zf}sDgJ<7emJ@hensg>9ifB0OZ)oofaN7f#cihh8N`lY7o=AZa3lsKzIL*%FP-L za*Gr7L)@KqUwPj(WL?>^P{RI5ulUNVZ;a)Jy3D_SUstwILiB)%LfMt=)3`+|r!QtL zMrA?x#XeG9MzfN6l`?+UjADJ)Nq*iCm-1z45BZ;M7W17mYE>kI>#x>o ze6e7_BcrFBROfAe9gA-}kl$66@Ry?DpR6wE3l=E_l*-%Mp}4)5&}w|u>v4;JhPcV^ ztG@JIdgA%wE4Nq7&DCjtIqZe`_1aIqorZOv`}Y~pW5iaM$bR09>PI*9-_6_G_v;+i zU{o9;u9!OEa47A4&EDoa1Gc7L{j|w)q1&C{lb`B;6cp)kmP*yl8{>C1a7N?tZaU@G zi-d#PGfv)$OEG9TaekRPXSq{;-ciRM0F911RO7^1#?@A&RU<-OWIvIe8dFp*yT zA&698GlAk61K+ZyhCu-t=b!Nw?HCxoIc;;IX<0`}c0 z?e6^4+CJ=?T&u#vfY}GV@h1lGPqsVgnk-U`dL=hC%M=IRA2&BZrFeU+(zV?$iYK)e zR8mztfAZeUgVVI_UmIU z(@wnZdYMvrW4YX}J!ub5zvoGe(_UHB(=^#J9 zoU2xu)sZei*{u^SKM&ubE)&s9d;b0%_S_V5ee5C`uLqmTe$+M?pTl3z6)BDqSM1B3 zy=$tUv%alr$l^&+-hv4urjPB--?(7pp#$HC>i9iBw{Y006%W4)CSR>DjgY^sa)~Oo zNQ^jZFJ;@QWq3cch1M%e8yqdJH#%dLV<>0YrSL(W+YGPO3Qv3=5OwmB#-|7a*HbE5 z4uZr~1E+f_t|vE!W)xhUe&6qEugq*Whx6|8agXE%J?zta1g%(#RvaU)IO)!Txt_X} zn{&Dy(EIL@yE4H&e}&$&DM#EDzLjl=ZT}HDVQ23RO6wf0H+?Uc_Hno{Osge>JTK(+ z_|z4*H1<=^-LzsZtvFU(v0KS`%Jx}9?yHAiT2!NM@ZC2io>=xXy?c(c*7JV*RLmzy zw!U3M9J=h%q&z8$yDTSah4dS(wEOFuKBpwt`01Rc^>SqK7yIJG^~-?!-OGy`$dRKWe4noELXB&wBry84>L+u`SB}vd(p( zhYeN1{6UNq{TqY$D?6e`Dt7kq>#b)GT7R50tnIK+kH5C9)hDK#|3{g()1Ef_PJKJd zRPRRb%%zcbULm2vYn!@TpZ>Hnp>3!9#z9x7C$-!$oXA=%1sd^h^hA%8=7$#@?(e=^ zOAn1}soY-K()V}^*Sm6KSe$(A=b^L7>fM6}e8S&MqxR<~?O zue$B!YI}afRTA|AVHm%)B=l!-kJ@}!=o|kX! zCPg@`zqhM%woLBVMH7BJ4!!urU(G&d(fgB13%7jo%6`3}{^SpJ5!Kpp#iezT{RKldzdTSk{h31_hsAmyE=(>ku55SdeoXtr z$bEZ?ObjJ*R>TMo4k(L09 zspSYI)LQ_`$_Tva!w2`0)H*)!rBoNfQp(#3U>UUqfuba=0m`TVgyqz3gcTHF1F(_` zLnx=}5LQvjwg9WC7=$&{5rnmrrX9dKDg~i}YDQR3=?w=1qRqg7xx>MLjZ_;F8s<3Q z0w6Y1vjjk#LgEn;TPX7pKx7R8V(ADVs;GNN7z_o%*&c}PREa$h*O2&t#7=7DNFe49 z17hPyAa+x4k+8A=!p8xKYHFPW5KoZcIRa5bc{>78W(hCu(0jds(N-H4xxBzj8ig5wL-x`QkBpN8qQ9#Jr0Fg5ah$B=p68n)baRuTS zmF)^dv@H;~kvL8jXak{P2gFNln6LOtdZI^av)|;v4bKK&c>gLb<&dhvD^-PK^Q3eHsdxhuL-t0fx({D~U_leJRZah4D&|o-k;dPh6`OzTw-$XV|Udy-i&Kn7bh2M&3kuuk6F)MOPvl5G?)F-xzzl5ad^=Jvj(Fe zjp`niht>*0OE;*chy`~ubYmYCYp)bi1w)<6JW z_&yrk(n`5`0&xwA?VdoKqq>loKLUuLF+j9YTgCukWeP%X&# zI{{-d9+ziwE~5hjRA^<{C2F{egMS zp}rt9-yN8s0ASv7sI39OSa|@WI1!jm4mEKiFi(&I&+eALr)N*aMQVA45%W&A{TMuBV{1Dd z6wK?&Pti00lzO>s&Frs{%cJG|HMzaI%{)GA*v_RH>v@sS4_@4HMB}Qb-QX2ZUWM)v zYR)OC2vx4_+`3=KeafDv$GrlkovU=u%9RjP3`_N|M=FSNy!}>cH z(=Ir7vggu^-z>FPo*Je;X-h}v<%%B{IxYRj#kTV+Bqn@OFD)HeW%Dr8THmIUIr1_m zNN9sTGSSMVhEM1jzB4|_CaH3;*ZG*>yo=)|q|dyc_@mM3#|wXz@^!VTrcsh1x*O6m(C&+nee#QHM^7aeUSKOfuW?tNQ;(B-K z2sU^T;Vnn0@m%{|&>s&6ITzcC2p>tv-2SPL^4} z^+#n!*VBrb7dJU^#gkOvF2uOxT8WGG%(v5@d-rLqIDYB;&Eqcvw+?AOP`$kE^wXD* zPmGocam!rgow<3J$%(Sn%k5ep#s8es-=u^%DW+FmOs`NXufD@2czt;xrDqqDc~^%D3Dau=aan z4pVF2`&DU<*_U!Nc;HTj&wa)!#&=`Qn`4NgdnX|gz=dR-eOceA} zdc6w&WZSuJ;n(Ai@w-VuK=8a!l{TAY)^g4-5@cVWE7sv1zA}RItcEohS4`1=(Sb%w zNp%}yH|NE!H<>Zrd!CK0cAT+K_-(7n;)BcUokzYJ{&d&QOLsEdGEP=L+xmS&wPn+t z3a6iM48J+WcYJ863(%?3V17BBc@t6xp2WV(&@5|TIzndf#8cC?)t^(hec>k_iV<)w zQlkPQ;9OJ&zt}+?LPDJiiv+^eAGYg_$yHY>AVpnBd95pd* z?#Imv(%d$WSF&O5E7SP9)U^i;a$WmOde^*~FJ%Ev%)K?^U%XcoJyPG6*A2}}+N>%7;~tsq=lzIzW&7H_W{dasndXNz1I%`8%Ab6qpkG;5)#=moyRQ4c z*?7&b-H>JXUR`sX2lv>;*TM6s z;XQ&fR2?3gxQ%qmbUm`YoZ21;L4PP2-lF=6E5053+@@o4^QPs)qw{KK)qb9LSFgXr z`^^3m9~X32%Tvl9b+3XWKjm@B^;a%?bK1}Cdak!@O|I_JIJdnjc9W~x*HS@~KyN|{ z=*1U((Ia(j?0D(K1qvhH8qPbM`7VGP%|ERorEqD|1-t%y-S(feCR5>BuKSN0M1%<4 z?1lahvez1yCY^a*GUS_!@wfX4Qj}s41W~Tq(^+l}cj_}rPXuf`_vXb2X`?E=g6~5m z4Rh!2+SB*0ocZg$4d>6lJn3(u&C?RzGNQ%@HRS%dP&j^S<9^E-J~Y15X(7?3pWD0F7MXe9pVn)t&*5usQoX$Pp2KvbztVVlM-X}oUe zsXARCrr1baF~4ccj1L3HtqL@La3(Ct$So@3!`NMom*?N(?zYZ-_kOYQ`iuo3^_kX> zywz|1xV!M_sx6AsIy>fPc`jcyFW$>md{P=q;D02{K2qaWm5)5&c`nf6>clOpQ@9!C zTV3bM&RsIv)Uc0{hhFwxmG0^WUR&!YE!#6Fc1c9^s`)uXXQVp}SeJNl`+{>zP3iM7 z`};V9sOFh)J7PlV2?0#0YyddAiJF3~W!2X*HXuY35`@AKjJeXjp=J?HYW&%O5EYp*?=wfEWQ z?mj8=9V#2eXI4z#YyEoVa*d@ww{(<#;y$@e>ln4wJ7m(3iJBj?d#>oUuA$bv+*SQV zjl@D{3so6KlcII^Ht%+fwh75e@4If6^R%9m&Z#&{?Z4n8x#{G_J@Fm7)J8=+hPF{` z%d&) zq3i?&!IwudES!STtb~Fwtj9_Ot}K>< zv8)n7yy%CisH-H_?k#W#-f%2`jKBPh!6|1Ks?Lv#AG%rf`kI388v?5`CfKa<&TBei zub+Q#aABssFn#;bXgCe!a{i4KY5cdpOhb+BpW+xJ~K-D@SIPM1#l{QQgEK)Ig5AAEe) zN9J{qHmNz}yDns1^>bd0)ruwiU7}e0J|m|*r>1T*{6@DaWfFS|^*ncGos3{IOQm26 ztEXTpvtL6U9EQ%?zXqK(oxLZ4`)mj%tcAdn?OqFkbT|Z(DR8sYGNMBwbb8mtYe&{9 z-;k*v6j0FTl3Efl37CwYx74Ul4a*7HAjbf9t$$ z>7a`Jzm_#L6#GRbvl+=<`nxWz+*liAKlbG|!#1>aEBEN?r6+wUcys!IcEi+5 z6Q;V1G?FZqT_llddN`o>tLI9?#KYSMJU{qEF5Ye1!*!EprL3-t8$V^-wKnDjwl!~Y zWz@%AZ0U-qgDaiP{Aa&kK493?9=o4ao^w(DIz>+PeACQQ=bF9iR6mEgsC+s4>0E7q zVw^|T#BP0E>|>?oL|FD3L@&8ZuO_AMttC{x`4!95Zz*Z@HoD?_k+N|pJ9PPf>YV>n^gntP&a7iq2HEmPHh_+Rfzo`+Cv?_1-f``#*EAvXX zoO`o;fac&%8&fxow3~U}qIrOS)Q0klQL4q$&7-arE%`lry5qdt^#?Zg`4Fd_*X7%_ zV)iH+>nX>sTF=Lisz}y4x!t+B!#ZwIe4K}(!>U04$c|GxEE$uz_U>YObbrppoe!_COtfiZUKG2(3AIj(!9HqqzpY`j)q{-ka+Px1f15s` zOHe?@!KRLBdV8|O9{n^spyg-#<5FE}nB9jhGp*By#6G(_c+`SvMn#Fy7p9(ma;QTa zwb9IeGt`cVMe9D=h1QK_eRo6fjReWNA&6u5NsvAd0^20KsWr2ol-Y6bMunLZG+~N|wWAlai|> zDTV}(Fe<5^W8xt&-vq%bwuqWQHvs}$20=1g!63Ltg101C%dFENNLmEJ_B04mSv?7? z7DKRqGX(3|d#Z082_|fTU?bbT1%k9C5J+x?fU&V#AsDd~g3~0}%y`=%_(lT1Z4hi_ zCrFT<2*DkiZnpDS&(5@;xeSuT&XDZnv7023UJi+Q7f5#V*y1jbZRS+0Z_Z?-i zyCAqng3p;K_ZW{2IfinRRztG?7$hfntji%ttdb##It0l{9^*PfQb!WMj*y(@u`H6L zt${?b6C~L@=FXs?lBB0V@|(&!&ts+3tL~|g7#xA4 zrd>+WA+b1ZSj98NHD4B%KPmKCl78Vsbmf-rkNnCb6SKDz23qHAH2ZB9QtMpQ!{<@^ z_}gp8S&wb5xh5U#a>FCM!&b`zPxd<%SJ}WP0}T9P`x)QVvAwo>uC9flqT$t+DJpsE zGcMl^ar5496)vY+%-fb4G3kBLaQ$s-X8s5qAAQPK@p5^u1i=qXEAkG%25-T3m_g!Qwhx{eh$?DccP z#X#jFXOrFEY?Yg{d))6j_jyv6#Xmn~)7Qf->jr$%Te5mu?l=o43GD;(HtYI37<7vm zH)u@OdCPL&r+%xC{%WrOG+^EhvvyxP@SX?geY@9nVi)y@O;rca7bQk$wz+zX+gj(Q zGQv+TrDxRi+*om5`j+cIZ?(L-+kbt=u_2Q;Y~4R^lVKf;OW*3C>Tf;k*zg0x#{azS z5bboSu4_*JtlIXvRmb#M#|?1H8;_#ev|A=RB(8Mb)VpA0wvpZ&3$s2?Ze4%#{oS$d zjfGR^%Ibs^r^FSjv^%(OOOe&fqq5C69gh2N-hBK5JNy0Z(D~gxLN&Xd&tvDI*X5kv zCCQ`;X-{-@ldO^(0c{`tl<=5d21ZrPMoa;zcuqiB>)|o1lV4LoVARAF^vt7b2&=91YD&J?%~Z$DyBMvZd+`+H|b{0!^*El%~)QH_h!Y%a{* zfA8nkdIj7$jQCJF`Of=6rA%WJdRrn<+2`_emSP@|^2jS?5w})fdRW2v>P&}%J_Z*~ zKF^KHn;&a)ugfS+yOsfI5lw7I{-=&p{7zm?xnCI4-0#-3Hs+PLHSg}1cIPDBR?d+9 z61acRr<#acW1i-A6Cdx}@uW#~=W~04j_a%|n)<;+^`4>H+yaRaiMJnlubMXYrr*#( z9V&Gd17rMIIhhx%(I@}pZRJ~|$NwC($#>w@MFV@tB*Yh94xd|gF6z5lSX!@P9l7b> zDr2Q~gT&Eld-KS;m63ULl@Uw*XmT46`Fb@+g@~_|MKK_Js-&LjE&FohSX9ZWC!aR{7^$*x znwaL+fXngoP9@&@@k^~yHNgGaugeE{nlILlwmYA&{O6_z6O$FQt@m0ngEW}8=Gw-| zwK`$xT4kEYZS*@oZQQ?S@DbDV>4~$Fq!ujxxqis`&x$jyS=RIzQ=+rc(%-bB`&Fo z@0xp3`PV$-l4r8Nq;_vGUNN(*!sFQbFg2FE8RkuIP7U<)j_Y$E&}zcXp_&1b{iUmQ zl=8P~7KR^eaP#{W7b#xwaj?grh~J|gZ_L`(ctw3dFL~u<^S6boeC?*SI;u_U-EC{$ zt+h)NGhGIsi4?EWl9er6zy8W_kIgx!r+l3I<+c6y@1;?PHs&br_E+UO&P*76)x6n2 zx1q4>u`r)^MTJZJsw($PWwu-3u*AhQ9sIVuIDX>uj9=T=eaX2zad%Bg(}!^frcE8~ z<@z#sz>qD;KC|-fEl|v>nt+ffeRXJ34$baU<`1em)zzgY^`lx8r5{dU6J*1u;f3tf@ z;PXuWSFi<7dFt9KKGvf`e`Z$4WwHg`XZv0lkh?nKfz2iVi}n}4y~z@bJ7{y1_hfN! zdataW!`3JiMOEiNX^>u1SZ*Y}dP9W!4tt4t{6-giQ@Z|tJX{^erCnM7PX2IpMEF{> zuRk>0IwlU0Iy)k!(6xAYz&-E#%CFb8WG?(#J|Mq#+wHAauCJE)-oNZp%)A9FVmGL~ zxc^hAm>$s4a}LoVvGwBwN4H@c>`OB4_&#h*`Xa5EbMLPDk~+BquY>!?*PqRE?{Hf> zQoQe|SN$$-kdw%}bIyLA+U;bks!OR`o=x6(&%BM|hPH|~uhvU^og*1Ozh>~eCU!jK zgTL)Mz4YHRmnHQWRq_2z&u3X0&6zJm&5huTe)SWTr>$d6P2M-tGH65U-drIH0SFIi=%&bi(8qQr~e}s z{Y8^8|BJ_sZ54aZ%9u57;N|)*a=wp3&+M>w{cwCmzUzlj>k}pF84jI`&&0_a%vkg6 z)y!YX8=t4U_#VCge5tln`tL`x;$t%JSe{YhD;7NEX=tvOo7 z>hi;e?A5c39ZcOW7}e?d+4j1h-ag5-PkEX5BdI}=(s?)BcWpUlR4!HXdX?i;k26BO z^pxjaTfLoiyPR@ZdQ#UWzRxCg zHZ^7Q`~C)-j@t$)PcQnKmvZ&D-vYj3{I)5=_iYt>Brp8sXQty2-{EUm_@M*3^J`4^ z2I;N3{PWn{+ePzsAM}XZctdi}n%tlgnYg-rJ1gYFHe7jgy2VxY_^iV>YA2q!$qe?w z@%l~J5dKT$$(Rp=^j&*<*xYt6-aF^ay+MbS?HUyprZvxf)ph!?8C!Sd*i1I^yWvor za%=iI<4Ezh){ixN=IjoVZo66Zv8{QN`mObvJlg2t{%&iA?P_Vt>&-KO3ce6@J4*|EDNUsN}@D>*P~?ttEPU$h*{3tq`} zo!!@_u<_c9KFoGM%xh?Tweh5)=f^v;{nUEM^>KdI6!S{bK!3h!@uMqO9V+vpzq~l% zJ=o^#{MRlunxlUl4bJWEx+OE}^^|>kL+@G02>#4R@VyfHS#QxHQCz+9bnftzxvonW zA2>86eB}LmRV9WN-MQ1*CRWkxPJ-i2dHuCPb@5v+4hzfJu+>_xWv@kTtZ}FPHmZ1_ zI(Wlue!az{X_(Wq1JNPTMW*zFAtC(_HgSNS+{RX-rHq4b*W2&MyKSus;{*d&nXSM^<4bJhy9nNk7Q~^ zM@ecJjAz>qpgmt0-U+@sa)C$Hi_yCt9WeF?9J70)-9-nJPvR@DPTx84<&^t&Uk{}{ zd6nNO<5cLouN^JjUc^pZ)w1)0mqdC0A)H$q^XP9PM2Cb=hubc{^h&PZp6;gK?s?Ld zV)v20H{Zv<9ho=Xe7$tqje||kyJqT4QZ0!&aMLT;CBox~`Ou2}%Mv1LR`v2xm{Kms zTn@s#Zx2ky+NpL58sI(lWB;E9#roOVRb8t3&e+s1TT-iG+RjJo7L4@1f7JKMWi^wB z5qGXFnh>bDIAiJT`5yjWCQ6G0-wqHg&RW`<^*q7e2 zYqgVQ7QbBjbo@dm6`dzN2mDl>)6=2Mu&kYhM$6}8!`;@WHM>48vKgs>*89yjZ*|0s zipkdP;yqr<4GU`O>|WeFZ|}=n72D~jJ4Cg8$V9*KE;=L%WzKg|ox6q|9z6eD%h~iA$KgsloaL>8cn?kPe7c-6 z+h~XVnu%BYs-Bk~^{)HOszXz6x!}A>}Wb#@0wLaj<0|I1{1gH zRTiD3Mo*Nk*QtqAOznDdMp3hM`-|>A$3g>=O?%C?H`&AezM(l$d(<-gO=gdAuTJO| zJ1r5+HG|d($1hhIuoxs*WLS~8vev$Qd;dX1Lddz zF8fqHyriZd*x5g9&zi!?xBI%!@~q!-`1g;|J;$=?hp;6v^ljv~s!Rh@?(E%xV>Yf* zIBwKQ!K~NJV54K_+s&{k@9ypBJaS8sgS7m>-}~eD-5k2<{vw4&d$AH%rT$GvVoL|K z8GDk-=(Ey_PMR@vy|+`cr1` z&7nJW-zi>Oy8rZ~%tV)HG@ z9+GEQd!8y>XdJ7wWO=>T=k^aG&aN0{KE>{>Oheka;H;P59`<$9x_jAa_3}9Hs+hB} zGJM6tZyB{U*u-Z1NY$wPQlIR`B`s!akK8^V)iK#-d`dy^dx_rhYLbg@Z0MCaNHad$ zt@Eg>8v-?Ze$PDq_Hf9z?j0))+`L*U$@9`TN~k3|v{jtY{mbUPzcPbLv*x5-E53a; zCjZGRgWmcn$=43M-*<9IzrP~r=%62o*Y$NYV`c_fHtA~QmCn7>{#E;tp+{2N$Fw88 z@lZ@&ShlU=h{BPL>Ps6oem08e_}%^RmjzKn<@1(FAAA_&uBTR3vj6d>(ZeQgp4>3R zxHK`eY;lcV{t2;dS`8+-S!Nge*pC!EQWC6~JGRxkx#zdcy|uNyUcX2TD%Y1uC>|;w zU#(UfzJAR6y#r^O`FM^#+wR8k<*(*^Xy`mEHT3x0r@@mScWt?+bwE4LCFM@cE`Cc0 z)}Qop1<@g4JB2M@YqWgn_lKUJrS;F*EGaBHS9P`TtCri}r;ZEU{P67ZisR95RqPG( z`%4d>-h1cS>!({(Yz>=7XT1(@%UtX`eCVWMYjan%V(d*7i#DO>ZVXn#94RnEJAWAT~3t`T-wHEQoG z#N>}ob>*Fuew$RdD5?L>g*VFhiUrQ5b6drkauGU@m(?yfIDd1jap*-;T~*H=Cv`tg z=)6qt$eHa2X7qTn`HNkp(XvmylnwXVPMRjayXI~2){z>4AN;i}gPm`@VFsD-g^K-q zI85I%r_ZwcRbAGVtg`aBXsLQ9-hZbf8bItTJjm84jCwlS}3Tl4n6I5djmZSGlHzyC~7L&LbcUpgHyuV1Dved*j$^YCZa z_v(4w>fPyfFHZf)(Y?RldCiwva(n3dUq9xLervY<>7|C3LdDde3aoE7Z;}hWHbZns znCHBCVD;=~H<#sBJ+Eyu{5jw3^YWu|-2>O;avMD7#l`7sr1MxU@9E zb%l4rL7A8|E7dNW8ag)~XUWIlYMJSer&i(q2kh$_S8prLy>$G&e!T9zzEh`0Y^^_d zTl?_*`eNA|sSj$i=VX16ejV!8cg1LK>}c6Ty2Gtsmz>gF-lq1-Ytp_8bJ?NN}12-5BpY1nDOr@H-EI1~blqzsjX4l#vZo}FJ_*6lvk>%Psb?X` zA;E8~Z1EE{CrAhWdc6}>jMCs-OUdbtNRslYP?a}S zZq@UKh;^=`e;f4uqLVq>$XZ8vsz<%Hr}@jZ-#4~t2!poW^yysZu#MM`8c*5xgttQa za)<3kLnlX!`@H$Maqp{UeVV*&NqZYGcWYD4Rr9V;@ zY>j5+*;v)zDZr|}e_O>jZPf=IeY~XG+{mv(vpOlCYs&4Pnc89G4c@S(bg20;9(?t7?1TMu83}l;&AxJ+5 z!EX}SGN;QBxSxmM=w%27v+pF3z5v1WD-hso23H`+AwkEh5IC^OS0M<D75rT3OjAE+SAkZy@V8JyATv!PS?vcQt41zH% zwhV%#OAtIF!C2O}90IE%2$IVoaAWsLP)7pW>kv#}E3QM3R*YqZ%3(wB+>gF+DN%OkCZa`wLcf>mH@-cC`>Yu`ym;>W+<-x0AC?#xzk0uT)&|$8HFpdW z(tEPE&>Nr5*ddsmRybVKVcc=Ok`X#pcta<*msawZ8OB<9VIgJX?7bqx6Kq&-%w;=Fi?<*isxdy?6N>p)X+bU}8X-RNS zocLYy({8VZwN@83LvE%QcubssXvU>fo0ZDPP98S$_?3L1RNB%wck<7=>8l*;((g#V zzxwR$yE&EjY{s$k*U+;ay-y!#7;kly(0gl8{L7`z+o zd?h=xq*Lveie~xnnB%`1+o`f#<(0Ls20z^OVdfoObt#>>W8@m1Bq(ii@w_3wbmrc0JL%$k4-Fy) zbl(|~P`z*A*bI5vu@dc*h<*~5t__LKySu*WU@gH z7)43fF^UpN5Y9@fAh5cD??*^ZU4F`Qccx;OaJ_chwsn<19`kF7Yw_4=-&!i>J~}0l zvq)i4v5wL0fMC^2O`7(#ZjQ~~y|#Qj@Tkr&AhMfhFt1GoBG~ zDfa$;N0wi?^C~aL$-f}-2DklQ>B~p))0BIhEYW;8M_aLewZkh7{qE-^-TgiXgSyi;WMuX#&QM*E-$zXS`qio1gajG}Mc@yG5cdi{>!!p) zrMM+jz9hf=HZ?L5=OkFlTb?fW&Vl8=#m@rrCF+g5bCUgsV`0yXTX^d`p2v?Zk%?Cj z%C|M^PfbMzM^b~Cv1#AYiW7ZE5AQionNm|1Nbb2uHVahM0 zY|{|b1<=qjD8eAtJ2XV>G5+$p6J?6$Coki1(gH=KnBV=Rf!o!G-#V;KJQ^?#nzD;p zcoH0SxvQYstH0nIl(7CG74sdfhyG6(kt{TSFrJ^y%m0s7f(ELgE>&(9V)-4Tq@Rx=D=a7=D%5+HL7?xP ze8Gi4ooL3(#)zL9+r>4KhLV_=$~-~X-iB4L=1k(nnp*@1MLy)a0lw+|WVCOQNU0|l=UIxCbt6XvDg{>|mf@VJJaxl#e`0R0>; z9fJEP?5yCtw@^k;gY#BS3G z4tn%NZ@1&WZ%Fhsl^*Xn$YT*MFNPR=^SEPj00%ka; zCZ~{OJ%PDUMj^?xfrU^;A=yeTnm~~_tcB^QJ7^V0#{i*>y5ltUKOF-h#6L0kY%woD zhpjN7F3#!oQq&EDgz5U?oL-hiO>QSlr-yTTBN#Qgy-=o)^E$|=b%zLL{cx@>G$!6b zC^Ud@C=ybWI|^lnIDZ1D$%jIQXtDm_I?k!dM+nmy;as$(>m-yJLso_Jo(M+@WhOYk zjB{;-qXaU+d#vc4iX?OvCN#sjq|iba$f#g*&;saig$)11EWlSlO*u}O*AnNS0Ud5a z874LUOO&W}#|vec)bO4(v_Cc51fg&M&YuIS`9z^?AkJS3WpuAacG-Xcp@Hr~8U22z zG-PBv-8!Ln#0CM{MJNoWV^02$yZl-c7vh$3-#31vfY9xRl3 z3uO+Fg+N9|`3Pl>IG-g$Bhm@VY(^9@SzigWWB#I;c%SO15tZ~0m6hM za2^L4DW(NFPQ{!+I8I1$kSLwdzkgc74s7LmvZd>|n0Oj2bUkVUEie#mGXT(!Gn2nQ z3Npbla2%WfS>Pl%1x|xAARCY`C*Pe1&Vlpb0>}pi;36mlmp~CH7RMiaU&hH5upb-% zvp^V_4Z^`35CI}V6rg#aKQIF1|9gQxKpXS`x}YbZc|aXVgAPCjv;*yd1P}*O;!`o2 zaZ-mSY5=dm1Mm=3gGZnS+(1*(gmDwlcavzMxC5#H%@6m$eLzn|9{`#yYuMXOoPIpb zCG?F0nm%Z{pc{g#pahhHYk>Adi$F2B3@!rtuH`gz$aFwI?q-3{mcR;FgMq*X*n+{p z9?-WD902{T%uq0lyyyyK#v(^-6<7_{fJGn)EC$O#BEa>=pRZyO&I5Es_5k!6J(^;y zfH5!y27sm*dI=!C5Rj&pU*HR%DTSsGnlbLsRZQCa z4~*Um_JRH205}NJ@ilO+Tl_Jc9tS7DZe-gEl0g!nUEWP#B}fBnz*?{htOluI16T*v z1KJGT47Pw3fc`F&fdnuLI0F|j8jJz1H0;LWWFrdS0O*ZuC&4MO4x9#OKsLw$XF)FT z2fn}?_y8|J@0IKb==G5w(Gl;#JJ1N~!E0~}(3?AFqRhPrchIn-dDIgh{D3zI0yBX> z2mn4H5cq-_U<_~tW5GD!2F8PDFybkQhCT&!f)-@-2H|VqIp_;?fhzDpni-%SO&-#K z=3e^Z%093k8~}^KBJd7Mry_I*)4&u!e;?%r#se`xQ>_H}jgP-TGiU)n0SEaHgn9_| zK|es#>n9Ljfd6I!`dPL>5CkGYB@CiBbG|_>K7mHaVvz9wa2JGv8d?kW!wIc8X{D(RdIL4^3kqoA zNDD<;R9b-b%zg{!5bpqej(}!Ontg`@nq6r&rIi$|oW=qd;0)ZsIN%1x09QbN@i+lY z0#g8H7_re{JeUkdf*F98jk182iZw9xAx(ylaMA>5U1$%607ozsH~>5F1et3=8SJLz z9@R%r7}5??6}Sv&Of%zb|FaC=I z;Xn?^1BxIhk=9aJfkSsAe*qIu>zO$~)XU_D$=#9;rqi0x%ztUQtKTc^YJiU=dgdsF4!@MmaxRif{>73@FVqunX)2 z^qB$Dv6`~1#K{Vf1eOCz(3Vxg&y)!n_=~J$gehRH@G}*(0jvk9U>(>9Hh~?0^lby1 z!B(&ZZ0CnCnS{H+UXTN*6?OsYp%Wk*kODH`3?PH3M#38Kr`%KcoCOX5%5w}H0_or& z$OK101~?3kfHmL{HQ8}+5>S&;D^P8yCCCsem_W;EvBK2x(Tb!a2=S3ZNP1-@r9c3MPOO zK;xwCK^6E4Zi8FkIw+_9FT+VCxCw563gPD`2%m$epaxWdJK!F;3m$?8;6A7ZkH8b~ z7}SDi;3aqgK7!ZaJ*Wfkz$@^UhAc&puwEFxLD&EqK@<1_NC9R3APhev`~<#(U*ISB z0e%CTyTuWbGwuw?*OJdA2ThKe95y*_n(Jj~9&YRPCGlAThyz-M@Blf(76eKZ{^M|i zTorQahA5zc^KL*5keoiN1DZi--Jk=gD@AJ9=6#$c^V-JA#FKy41Jt{czz!JVvjL!` z0xdgfzMy$z9-y@i`S~kIN6QGBM;|INqS{jJsK);sH~S%@K}yX{#-h3T16AZd$(P2{rAC%U z0BWL>;3>{eAf&-`3{YRuc@`ies0H#sE;t3wfYTrwfBoJk~gU>WbNRbt|4Whs;ATmN^Kq+Kogs4zT+txtRIT!rX@Vk)Rr~bbO%u#qX z!pYzTcm|$;8bIrxM+hH+$DkI_wDlC>bI=RWZpSMMA^(N&C-?!rgZJPaXabGkEqDVO zK>Ta`R}bpIC-4P)2H(I}@BxTqA8}4;2#OP(Q%GAbRQeMHE%@9FegpbUbVeK*Dus}y zFPdv`Gq1$o!=QUtx+@~9>C2IF%=-}6HNHJg>E4-c{M!NAM^Xf|Ye2gLbZRf-6p%tvKuYPHWTd=}V*WX8aR>|IhjhzH4M`zA?0HIKQ#4`gBZBA$=$}KHH7x)8GN|{9IsC%euMBUJ~aMCGCONEkN>ON|6GC-8p zlOC8-gs2ZGAtj;&6owAp%!gIFeR#h|^+k-axuLPKp`|Bc6cHn_*5;PlQ4pgfu{~^iCa2nsZs6J@L8(;V^P`LweWJXECWgjVVg;-+lT(;rYKgL+AeAao z`QIO$HNn8@1yWfV@?&VhFN>Hj2FDXzUp|Va{6>amh9<_6X!s6@c@g3=aCnh*E@G&K z;LhcFOzRjoyq&2rRO|BCtYe&#xVhLsw)_}pIKYaM%npl)oDmTrHqHBb=^JP1Mf?KI z4J{Be$1gH6&~MH|52JBe`e&07V`^wY4e!XBpeV%HOe`WSB+%C&C?ai#)jc;SWmhuF z(Av;au=4B#qcZ(ir{BppsS!;L(T0L00+~DVTSB^P%f90I9M#2`&8p;7G)Yc2{ZFm(yg{}o7UTE*ajwCFoCH-lwf~gl-luJ? z6?k+}kg0SvQ?D+}iHf*tb;m@3KPsrZLO9kXi!nw7!7{Tr6$^UiLn%~#{4gF@YT?(K zVk}~)_B*;6<=(2FF{L%eUxNKYUiDa{P(q51%8vCrGUr}tO|e#j8J*-*%=aP%Sr&NK zCf!Ub^kr*`)53BeEb$*^yr~*5D;3#X!WNvw)$vfM{K&At>2n76+18ri13Q5PoQxzZ zLmBECn6$}?5U)KgRjFs~TN9c}ZaRf34o3nq;?<_e54#6{$!kq888Ou6NfH?Wo}CB8 zw8n%;veC$Eo*>M7@kMHSSLNYfTT`q<48Li=BxugxH(`Bi%mHS9fm2||PH~dzXNCDK zoXgJaUUzCP6DJXTBzIO9s2_9X+G{lcEjnim|D@cGrl`wWo zW24=!%I4MtFWFcm;3PV-kke=gZMY~(X!R~`Oegu}m8}VfbY#1b!rT`rw2|VQ$L57* z+e%wnQ!GbJcf`E3?%&Eu2J@GHU)$PmMH%sl&!{rC3Km#5z29b08{2ncp+`T0# zD-1Cv0w+T;(E;9(ISONlGRYz#WgaEXZ@G1ZqmfLx#eBlTLVUa<{EWPB z-(NWW>~3Ty?}Mnn8{-=m8WkBB5;6M4bEVXtryn5?8iagK3I;iuX%tae^dyHV@+4$)6D)BZi!=lgG@uC3_`GDU+au|8Cp^OsMdFKeei0o4z6F{cuGj+;a8*#th5F7i@b!-L z?jDe#(f3YAgRdM9azj%@@g1VV0DfcrdmJpp{QqwSqWmUU4$c_qqCdUlE5I>yE<^)jcz8qRRaoV^;8$mX=zv>eVrOW1k; zoDMil2Uv9&8nLxGTsH;L*GLD<@$s-#ITB4u*>NTDZY)2CQ;r{G3!|(JjaH#-8Uho% z-n9Hk@&3YZ7Jff(5Za3u)hbjf^`XH*qtMt$YzJa!KG}3;)Lv=JBD5D`Org*6Fk4*YeV&+V;vQQ>MU?cs4>H{oC^0qjmh8S6x~cL#F~&A z!z^LS^4sRAOG9Vz6Qi}TOon5lwaa6dJ`0yN_>SbqpxWkQ-4W9hF|PvycWfK%CCFoG zh+eSk#*U)^^?%sV#sp!}k|?^n25Uy*puX@pbOAhnldD#s^}CW^kOg&@IlLOV*YBPE zf}73CHzNi!BgOdR3!F3|mk+mkcD(YLGh!?-@0(#$8x{I&< z&ba)TKEerY+@K15b&bvk`BMQu=8tnQKjx2fu(@G8I>I07Xznr^vc)r7N{(w)_s40O zuWl{!(418$);PR(J!jXN=Z_OLKhK{g>VYQws1l(Gdk!rOYLxDEvsK+6CvScp{^YF? z&p($DPN8~T@YLTMov@VOKYA#PV@Xc378e(q!aoDE4TZ2 zDQK7kFCG^MKkAPw0DjCyWTH`R(s{wer@7;NS_=vhny`N08||RvElI60N00|&Cn4AG zf}y$Q#FEySf2<>V3l1Pku|Gfc;*@p;TH86EtS(Es zzzyJr_htR^aVd@KD_8(6a~d>i@28~S80nbcXc_F=mw8c&xky1Sf4Y3^)5=^V;$DOp9mM?8(<$)O_4qqU z3F{G(S7``}TP8EWVyD0i+(C%#MT|OPJnp|U9KB0zg&+p*%RFC?xn9L$D&;cQofTf- z`nThoQLMmz6muqAu0A^sziUyZFSyEk6(4Zx(=A9spuh|jc!d~pG%sD}iMveLoZT8D zP_4p+8ZfUi_->;soEaw)o-<$xSI{tjwwV-{7_c{2;Rve@*mX+z*+8)F8E|&h_@9ct zS*-n`k$5_l5k;jjF?sl){sRwmq8`# z(pSn=RY}c8*=Fc3NCj!FarXCyh{EE6?nOrTFWjSAdWk%(Da{=a8MAXGuw;WVt3o;I z8Sv?})bR<|v9;?UXN8n>a|i7|O_)w8Iz(u*`fW`7bdSDOG5fVz;<;d?#H>Rrv<6ew z=^Cfh-CWEK>xgMRKcE~fo<3|_MJpRIVP2s+m!H!uu8bLc#IfYflr>d55Iy|lZhByXf#@yE!nR!w9gVNW>gLxqCfKpOS>Vr zFv*!AB^EePBbJ6aunTltR`1%pygPBbQiuz*;RL1}>31hR7f)iZB3Q|UBrvFiV zvK_mC1Qz@31k;V|x}oDcFTFRMWO}Ld}B&4OwnD3WPpOf&}f`nMBk;A#?z;-B!t1#c&oT93! z8PD!UX zhq1q6X=qAo#m?RU&uN|3G73Zw}(@}8Qy&gLw&UKaU zLKKGD7~*0q9Li=@VStnm6?D$H6;+wt-AA@Z3Ubh>arIEPr;5{SuRTm~Q44dh#wt$D zV)k%BEeh0nN#%KZJwY~XGf^#Kg)y33t;g8LM)LUZ!!$!L9?k~c#ehmi3VGC1wM&p;u|x9*)?#AG__0_!L*do6Bq7cR(v{w&HsTB zWZ}d*-QyhF&l@RN=fImyyNBx8j}qKTOwMnV+*b2e7iG~+8LGEw6iY!0i=NJc2H0_U zU4xS1%|xWILJHKRKVrzv^w{Pw(_P)LeM5~$(?Fgxt0C<*!W7?r#03<(Z`jZAu0TRF zN24< z?;G@nDPYN<0||N0Kg@^1*)$JYWs%}{2=Dmpo{ltQ(MBb;SEKW$&w`fAb75W`#Z@@I zM1`{-&3@fSEu2RSY|aQXJ{8h9V+Zomy&a*&qEzZ#}wYS2gAPZq;VmZh8P!@5VB<2N>NJ@bc6&}YGhl>+{{?!*I5Bk)iAR%ZMgt0QP4 zTFsqqdGn#YT4^uZ-x0+8X)8+*li()EQ)QCZlKf#3uQd;UldEgIAejVuj3(HVy(Fd^ z)g^XqP4=hFFF~Fm$U`f@Rcn85%hvAvx;4+Aw!;K@{0qFRVTSt&3})K@ zR+1p!PFo*%Sc7XzY_@k~fFDvDF3HoG-1CVtQVSi3=5)aY?5mK`;f%9mGhYvXi!jQc zzXvGBy{P>%IXg}egPnWq5&f;~Ka`^-DhM;3zfV|~66~O+Jh8~OEH-Md@SkaV17gT0g@(!Y?9$uWyfx+sV#u#ZSD4T2;QXSd zH74JS8NGu4x`h-ptk3T*G&wZ>@Tb-k9}v?EF^@tgzgf1##=A8}*;~+WwA3f2KTdK-rlSXrl`*sW}fjXw!HnW zt+QG)r+VWJH!2nfkU$GMu0I$VygJw3iatJ_+8R^u%|=sR86Sbo zuV&7F@$>q@hpj1kA%@ltRi+6~lM99~ZH=+>VcY6(k2A}AR#>1f9wUv>)ahARwF>>i ze|%(&dmKCuQIdd<6g(2aFQb&zaq6xP;{+?|eR?&kqMZ8D?vrql88t(=yS#Uw(RP<# zd-=NfzIZN5pw&UU(Q(nU`!){Ycz%#{hGdN|v#N(1O!H+S^=PO)kW;T}PcINp?9h8L zf4pE{%}DHwFWXhm>B$r$g$`20utl7>qLdYeroJC5XogR9@?(uq67PdSPfBWfsCH>@ z+lk{V;qU&>MGQ^S(G&6yZ)|rXL!h3fi`9ssNk~;{l1?|>xf}Q~c!X&rmWCL4#P}_& zkDfF6=|RK@pRlDPhNcB2$;ld{HI|fcJZnQd0@Q@MEJSrdRD^Tz1TTlhG&9qk8d|f+ zkInjxYt=%m(vR&D7gw=pLRvESQ?<6@?nBQ8^V8zK1z*I1MQ~UNgFLu%x0|FNBZhVi zEbw&-f7U22?#v0-7I@iB%12I}!>#3P32_y5MSnqUwrU4SL7JpRJJ;H&G9S+Fr0{ zqS}Z`&G#o!VZJ@6)f#{HgtEsDXLjE(W5f6@&?to&`;b2~dsi}X5 zCR#xhbb57Y_(|XQd`%{FC(F%b$B|rJcBY`&W6plIlpNrM2LODZg1QS8sdGp{&2P2I zU_*~fU0}^ZtktNJ!W5kSDCXPA|cwj=i!OKJ++#m8i8Il=>GW8}bSoehrQiS&H z?sIs9&lrv;+@==8C|}yd8EVmR8V3JLHBZ}MS9Ckao$f@$MHI}#Hp8rUXn#QuD@sEB?QnLEGB<{^ zs&}ybk0X#j9ej&mgWhv0s(-sYjM?;$TsKZI98K8D_gnxsCyIG|M}cj|!osMHUgD~3 z>Id8bY@I6@)JJ-_@A;9~qJsvYK@CfBpOW%{Q!&wt7Bo?Vtd?qr#l1|BLb#~2juANF zQ4bes+qV1egc#gR8uCZKD%Gq_nP|?@oVbdsUqndYtVn!QZG1x9G5Pdw@;p<_q2v~8 z5q3o=*)BXK&-Spl;2D!C{I*n_zyhoH=VSKhFQ83)p#^K>SaUmEVfwgeX(17DZo-jF zPL2jJRv%Q0gK=zi2aNkGam-m-T(5ltbah6`e|RbNKYA&89sys(y2CMWX@1P+HJsv~ z{ERW(Tfxn+*+{|t%c*cpe(VC}{XcafCL-U#DdJ*pfKI`1RAB`TxUv0z?jBf54yV|I zzijz$SBMJtkBfkLeB{*F?DyQ_zm7c>&N_zaw*1dgi5hnK$mwyWvDt$@a_&6!%y>b! z7fm+$+J5z!wdhpZ=|Mxc8CU6ktn3roN8r~)cO>fB$V=X6!u_ZET{K6{Ltc7TguJ5r zKV0GhhpHlUsDJd+^pF%Og$`ByBGh6nnV_($x^_ZYF>cfNBN2mC)FnbctNw?1imnYa ze2X!jb^n5~-~gv94_zi9CqI_n2$%_7!rK_(wIUh=>W@(>ExWQ*HAh|Ss@;y?5d6wu zj@?DNz90o%L$;%5$7&=N+VHE38%$#}(Kr`QZ(N{1lm04bc$=@t>60K>t_(^VyXU)S z2rUU|Rf;;pk5CfPJAf~%Hy0Zik1rMvC4PDiF4H@ zm=;L^<_@vjh@n}0dAq(lT=r(sTn&?G&p<1Yy&;#6Q8JwM_|6UdUxrG*W$ZE>n8p7# z5Cxv&Rc37Jq}p(L{D%!3n%@68G`)UsYQj5xXSVJmr_44=i(7IBli2mAXpFz_I2=#f z1n;TlJoe>AXW8$H;JfG(fQ7~7_Jz4{<-J|{grH&hPWa-mdj~y zc=C1~krt0v3I?z3$AS~3^5()_J*rQyRf6#+;cha%TRs4g%u)GX{O-V=G~ z76RktVlw+7C2kV`@4O$^2=e}M>lQn4mZsGh6STC-Rw;g1QPKPyT4@j&TMK>{2r;fr zyAMveI)55sXbjH{ZUR;AZ+jwk%qnb^4`!OaTyaM}E{6{dJ}D~dUYJalU?tNX|NJNI;~ zTVt*uhL*yIG#*{OlQk3%u91g%N{cINiYA>Ho}goQ_DbldpXlc!&pVic4&__J(xk=B zL?bc&e;bK{i|V@K2>X4Xg6jB9#a~+d|EW&bRKZ<)ms>@(o>MikIOkW?435$aQM9Mf z$9L<&RlyhVR9Vyp|64VJ{%wWmyL|sHOBC}Lg(&>*F@j4^u{%2X-$nk%QvPj;DczR* zJ<%UKo1MV*Z7aN&`uj|D90P@1+`oH6I1$AE`)*5QoD&u;s>u5^=|SX)(WTPpNjNQ9 zd#zb7c+QrZed$tQPvfN4rvIa@^c6}hbpALnnYXmK;=unh0Aa)v_-iso^c74ztq|DB zQa^Gk{+PG^Ue&)h?cXc^_p2rTzZ?7a0{^%W{NLIKE%y&oq}p7$v;Mm+M>YsnDRFOR zmM3*-fJ3A&(clZN{4YtB|#Qf6ckpaJU~J~RFG3(5K#d^OV3E3HzQr zUgrP%>#DBquCDH`uAWIUWpFGOgIv~%8XNR)?#gNLXWqV_ZE9oyBI}rTH{x!8cjHG-0>MFw?D%j1dq!vzks|~-g0`RN zcz>hvZpfj{H2r{x>t(_9i;j{b59k3ekiRQ)uhwJ=)V;$MsXP|MDTNM5rU*6{)g|u0rzToU1kRw5j(}c z&lf!~sP<{4R_RHVm@HmF77?N3*V$D;1Gf#8ra((Tt+xP?Siauby`u)7U%X0ugQ{@H zfXJre=!H+#&#(D;kq5b?Atf)5*}f!iO}PhY`GPueWXHrmIOKdyZ$TM6iX9JfR`aw;t1e&mBL7 zdXU$Fh~4g*dRNlm@jIUi62Go0!cjoty}B^6ao(kXNxMBnS2g57zlSHLRQzMK2MK>s z`G$h3blWadMsCG*58}dB4lb=mLspz#TNC-#wL#LRIPt(8mzPxKJ@e<1)5YiT`*Xx^sW|Kmr zjFO%}L>D7Yoa^=5u^HPG8jQYFZxJdX!?DD`21W27{vrUuB19~*e_er?)V)Z2x+({BXf@eWwEvOM~&He_P;!Whci5jcK(Th_oCQj18Lw|M+le zI0@&&ZM+VuX8A?>1z{2Ci52HnswS0O*?Q&fbXN}%6BZft^@cT|a=50oiWj%1h)PK8 zGMAh4ZI(tK{+izM8RJL$6p3Li8nhzl(ao#XEn4O{Ythw}Nl8I<5`PE;LRVD=-QDHd zlE)CStk>mhARU1$pVMg212xr?1gTW3`3E2|N^=&xbMD-ZYco7V9bQ)F=>tuA&Tmlze`1!MQUZdl3CwAU77i`rzt`*I$!0DRC~zI8w83N)x=wA~#}3wp zxVbzUJt7-C^hggN?IFvhS=nEIkoco)N3^(}LF@Q;Iik#4$8*4AWHEAzDgANv1Gm+L zESIgj%m4_md<=+8hK-&(^T()48UO^kCUKfefr#N5yFc*;izidN| z1Fx^+>R`-y5cOkx8fL$)&S<|c~f2x!bJUN6q8Fs8! zyXgFg&&!XT{`!(49UR+m!>wQ1mZCcThzv3rjm>>Da`U#?6BSWXM95&C+m_P!R48=_ zP@n7l$T+=GwUzyAJ{~r!Ut>{ganNSsNC8MY@IL+Szm^pr9|PAdWLCED%{K8nkl7Hu zN$r4fm-~fJ`Kr9VA|8e@ZiA`Ks}|W#c9%QWbGJ~mh$eW$HB*FbANb>Xel?UvYC;F* zZsx==GU=}uHgjibU-dJ}uxE?fzTfu@{`&I=e_p1@3P+VmoIoPqWtR@psvy;1}9bAb*S$NA%ji8aoyW*s13V1AmPx?>KHYi3B7D;^aT*n7}GD$ zEWK@S)LhVrgC-02Jb{STnXBhz4muF^84zfa*r$lC>ayijmyCx$pL;gp4L}mk04PC& zu6#QDi}K6=C5;G5oVArVg;PWpdV3r)$sn%XGmIYHVTwg2G3BXgjVgf1#QAI5q@q_R z4wcv!vC8QPU);(!!YQh9sg~p7_9wz@cReh1R5To?-avvud-tcC_q}v{jEoYTTZoTl z8<1!qCvRMSVf^1ZYX>bd_&x>_0_5r1jzyD4{k=12wDb6HG-Oxkw+R<|KMOGwHu!~49~6DK3qnzv>M3N+dhG6WQ@ts z9~oPs==VO$33NyQJOUZD3FwY({5@i4w1bwYKsAD6WFV}!9g!S{E8ErS;rCC62i|_q zQEZ%0gt9qCj+#j5(VK2QiO-B5-Ks)-UeMfnqtllmB+8GrX8GbydkJ5I1-{CnO5ht^$BN-bjYf1hsmJAv7 z)KycFh7namOuW?qbEWosUc;(AVz;VGNN zqNcYHH++xUD65}3y7#rfr(|ql$VxG)e-2m38dS-KhqX2sq8B-O*?T&s5$)%J@=}MxT~(KJ(rCCYP7moM2|LFxR)|yimGiS@UZ(7?Segbp%wsilXK2)4s*cv{fw~3KY%1@Gp-!4A z)HgOYebuN84L6sUjs7b(Q!9Y?#ZZT+2AU#;cOSxGZ6>a6r14n{Fd1+i`1e?x{c1sj zmA3urmOk;u@c6P-q0kcjc(ma`Gy^oEe;N0#JGSwwNZI>phhq&1a??Df_r1*TT2)dS zZiWRYPk8+wLz-o|9hX_hXba!x#52^H)pUqL=XPN{pakNab+~# z#g_h(xp+;FHSN>x$GbH2`=zeTsmb$BIV%brxEj}J`~LElFOG_EEWAy%uwUFeYxUT5 zG3^=e;s%--*4k(^k;jk}u;XMrRFHfHEMA6V(!*Q)qVvcc(cuHuO zZ!_B`Tgsfta>v-{D64Q;iY<0diKp3Z%~snqtGy6c&49Wryf&T+TIQRJ%k0LIva-oe z+#tZj5Z{faMF?&zw^bBd?MC&6G;R=cYd<>ezNTz~#(1a)kYl$>w1C(AWuu02bJG(3R6yc;DX z#3bwr%1ZHl@r4$LT$XcMY?cC7j>|E_Syo{$Om>>tJc|tB-YL_Cg?YM>YxhxCHvA0( zuzC^2nLPB!;CV5^DW{fXca<0mN-PDFal5euMcO!bAazR8-z*N$d0s##5h#!lX%MRv zTOikra$d5I4ADMG7M0GE$HHe{r1*%s@_^SpvpI+2!}M#9K=em0e}UqAfU$D%Qe~+; zqN%hB07MHptY({arXst@QJ132@0GxLvnih6Sw(#!q(S83DH!XI#tc6DHkxq5JjAzT z@}4)TOQ>LSb5+ZRM}BBNb!)F*ctpDXXq2UE8m}BnF>OI6Ju4s5Zak$Y#n#8`;nUQu zgU-O8m#Gi0Or&TYkVS?-+-01QMctd(%L*;Y_{{=tQ%iCDq?1D8aTN)@Qf`Ijm|X=W zE~|Y;v8^mWe@3af*jiw8Du&~gjJ_0rT7`TLvb1c94^-L5@c4d&-wxYFG0goaRed_& zkB0N61ZwI2dp1P|BzSWYF})aLASm}1MF!5XVC=+ONPguiCKp5COa++7=7Ra11E?LR zPNj6UgjwAw!hoAnLYAZbR!Fkl;>vdx8qJQYc-d3F zy!q@?)X^s!5}LMGDuq(K>*!TLOfQPliSXQ(%NKj1LO zPXTxi;n(l*G?J1q@oo=qB(&hHVHDL?QwYUMV*2B&1<;(TVF>-%V5e+;ei-#e5#}^> z`VYgXRbyq7l--CvOdb)<@HJ%wt@ z0_w||_mTcmps`Bfyi_m`8m9__Y+0O_NnJIXEZ(glsJ2pl2&C1x>Iq8l=F*z0#$#ct z3Z24-$E!8oe2@~jY9Z8Fv)9`eQZ4UYMCn<#=ssA2TcG^X7K)FOh-tC5_%JGA+M*!k zlZ!cb6veeFk{Jf!)_^j&Hi6Tno%txN3A&3PHUrLW7 zeZWcRcH?S_kz18gDnIxw`h8e83gg0R=uc`oKUPhBI+R!(r50z7{?#?f+9IrMdI4{& zCYL*LB^3rBC{-!c@H`6D3`=%*6q8+^6(u2Cx7D;aFfElY zuBHjC>_ygMV~NF9ZgDud-^=ttJDC}cSdGee8I)Ey@V~_DEa6SBQM}u9?!hods4u7PqeSLi6b?fMpPM^+D@_QD^%h#| zE>A6Fx|Kl_$BTDSQ{J>4gT|D~$G6i&bz;qP(+q;);)~IE=9$x(6{)zrGJ{yZ2ET)~dN*;d#Vf1g%zWfLdSQK&`l~3u!$zLMaZs z30s!pK)Efl&=1cp)T=%G4VdVWTc8z+RMmU26@2Xt_;`~(0Ik$psV4suLda_oUwaR% z6rhcp?%{QAVSgEEO?FUrTUq7cq$jz^nKaF8o9xcrL8}7zyLG6-n4Q!&kpGcG=Yn&* zvN>I57f;Tm>k3mh8g)@1AK#BAXuTg|wLS!^Q)G6!jG_RXxu2%7`4Cw-;(eOUFZQSC zpi*mrgOdiJpQ@KbeCGs;abwZ)R)DYx; z&|O)|{-DTVE^t}P?D*j@#Yvr(l9G~|nPRe+IZ9>a3S)1!7hAM1crs2k+bS#^!qAM? z%jj;N@F6C?8oVy8)>w*0zH@*k;KxK) z?gP>K$z%+YGbJ`Zi&y@T2B`H~evm@L<(sR79li|-+nV&4?A}RP>XcX4gw6CkT)UgX znz@`}My$o$e?PTvQ|>66gpGC~kY>ZDPGe})*ZX=2 zYJ#4xFE2YpEupEP>CKDxL;ce-)fEA{(tv5ud>K0S=Miem#}AQF&-q0>wdS0|kld#p zY(I>dEPp>G@jHj%-_!WEIYPm8eEY1WU}Z$X*2D?tCVa;cYSmI=CbTJAEOIPY9igZ& zJvB!)#SV+PfNN(!p=8{I%d6};lusj~b;SgSIH(&R0x|a+MI~<2QR+nOK1iL$_-$rE zsO(wQ({U*~$K{nphJ#N+*>r261t*EvnW!rpejjG|7JUW7_MFjqb?xniZHXjh@d zCB2G~Sa366eBp}&J8k3ijP!cIB5ayuEnh!6&Fri!O*0wsX|0D?w&RXb>P;C zx=*MFN4$2$bSYVuI}PELN(Nbo)RP1Cf^@>6)H$`jx~oMf0^X_+RYYTbrNkFnjA}6| zm--9hP4~gjN`D3W_ZL?$pvcBbmr1TD&N)e4`g`kx+MWJ|)b+DJU{ogX_{5u8c-L0y zqO;&B;}8id<@UQZ5&A)=fi_9+)HR(}YSzsRd^@3z-Z!~na*q~xi>wu|bgi-ol|@T@ z=FO#h$Zr;2Q!TCRdWd~Av`%uLRE@az%_Vzle;uuNqDESIGbzTCKCJ2}z0$mfc8;ag zZZ5ZCG3c=9&yEUN6v2ed$e-a%7COcD>aYw}qpJj_tI(MP;$W-Mp=DDk6}z7(kUt`Z zU*V?}Asb)ZXJ2_I#YX#;rstGtK$fUnTLr88-6xc0&_vdFAfwJr4!GfNh->FnDZo-U ztbbK3R>Qn&p_Zjrig$lQ-J<<#?;yS15r^~TA&E^6p7Ewku*oAYKV=r83qtFOtw<{A! zA);fFv8_yYItmn@QivK%17_-jF^#LSuxqDB-w2=u;=mKf0i!7{LXK!7g!37yyAI^>r?mYu)uFSRkX`L z32ryc&WcC17z;2EV_OT#7h_4Crf$s9R%08&K74QN4jH)-LOd+>KiKvB<3_lQx5@Gt({cIySAmvnf-l zZwhAA2zZlJu?Ko*_GvwJZnza(S7Me=F7KZ7Z#i$Qj@-B2{#xSC!XK|=3pP?7V2rUPf!OV0wiVaTx2UV!&_c#tgy;KM-Hy}$x)kZ z)|8D|VKTnc(8BkBf*nrIcJ5_8BPl)_Gu5Fpl0rZ&*)kJKkx}XDP@Im#YwoJ#-F0Z zKvN1odW!n-kEf^$+#$-ozt0ymvnjqaS*pOsOVpWv{Q|r6Mc-3|8&5w4@-Jto*uDHq zTHKWPUdGPm)VJ8cV55j@?KC1tEIx0xV^UrEt>VquGy=Bo-HYH6bso8=eTe;`yoSh3 zk3NwP%*2Sk;d$pFnUb~m0_AXz3lz#}uW0%Cl?!mmr1SO*@HrsUbFz`n<}(-QD}LiV zO>5~;_kR|gl*qi%g?C?sYi{vn3gVUD!JC|_?oGe^o?5q2HkT+|+hx`+f`33MSjj%* zU+_-d{ylb8%0^cK&;TY5{T%zSv)_|Z_0lLn)+OrI1OY43UJEZlT_#;Z<^Q=3du5&D zJ^b4xdYt!Nf-@4ux930Lihw-rufVIQX9{BD6`Y9FT%m~ps;^@773$rq{=-O!?sGV) MxCKmn;|E&yKX{9Nxc~qF delta 79559 zcmeFZcU%)&*9Mw|L-)K@o)@B@{tWiqfPBNK-(12gQIODvF4sMl9HoVgW@# z6cr10#a^-ZUQw~#wPq%mbB^zMzxLjH|2XqA^X%u@d#~Ns-ZKd{t(IMWUv}XTgFU-6 zeR}S5C~VrsVLNs`vw2Z7=)--5_#T&n;%l=%Em1vP_472}4~X$wXuX`)3jmct zPo%j&pbBsYS|19C`PAunE+E?d2-Spg1bMe1fCf$hV!}p1CBXGmg1izsKAYxK0MS57 zVq9E0v}ivxr9Y+z><3sx^LRit;Nt)X01gJ!2J8i>3HY)%>HtC+6| zPzF${FBKmjl`UF{x<` zYWaXOjfDac)@Kh3E?)pFgJ7y?U7gyOhSdHkyL{miMl*1wt zQxc$Hk#lyUop)L)?kNn$(D76YbpX+h$k$Gej7h=xw3vkKsH~`n)bxmyu+%8VGf(It z0VGU{NeN2>ZycY4$ry~|UR2koMMou|PpzllgIc{ z`S~=q1ELSsnLy=F3QLPNo*I>%866WLhz0{OsZcM#WH5kZE*h)&n1q<5u+-FO&~fZc z{3%1T0C7k{X?;KdRj@oDR!}OCO5Xt-d!hz7iNJ9#SOrl%ZW09Jj|Ki_Qj;0}ouS3S zR7JqhAMCV44`GEx+v4pIssg5=)SS`*#EPb+5aE)_fw25V>KIzZUs@ky{q| z|3B`kum(i_TC_3zFOO*dyB7QLwf%q8LZgDA%(G5a;I>Ku9mh1E-sq znZRKDOs6UUevwR&gv${wci@VUK}Z{%4~VT09hYVTM}s}GsQjYiR~D^DL?=#-i405O zfHkb3AD}#7N>o^6WQ-ssDJ&s7J}fOFIyNRP1`CXg%Rpd+rN9h;%LsY|Gs**^b5BZ% zN=u80N{LQPNW^$a&~X8r&!twZXyQjDq=Ch#)Q^w`eOy#(TucHqrhh(F;XFV&^ht41 z8PI+>kVQ}|*d^WY>hurs83* zOiPQ3WbA-+Sh1+o^t70`R9GU(=}{@!3@vCK=8H;&K7$IZfppjtjJZ_9z{?9rH@_Gn zu;v4bsR+>q{I53Xuvlt{(os7)TmEwaRpZ!HV{*d7oJa~wNsW3BI#yWZH2N*14AuhTkl}U_ z20hUW>|nZ2bUBq})CPJBxEkmO0w91j6HN|%f|_KD0nu%V63PR|jZ@Txe;%5YnD~^i z$qa^QpSr$;FqPI7oLxeVl&C$TdhHcb^%RYa1enJ;E*c2YcJ^fv)gPjMc>|oBl8F&% zDKQCAu26j(d5z^%Kk?{x8UsQ<3h<~Cod%v_)CwwNFNnYsgQ&ft_K7-3)IQOGh$=3s zs3`u=BPpu5sKcoWgSQoBlvqhUU-nr;`Jt0gA*@JG;5b5}6UKeeHN`3@YI#IlDmWMh zqXRye?;IdGvg@cGcmarONpuDy&uq}xe|uDPx#kSU7H3DGaL#z2s+OFS{j9b*r3{aD&1`0SP`4;)T%cE#0F+> zf&Q0)z*I-A(&CfA9$4B#S!-{m`f~|z zoMGSuQzE0%7*Pqy=`kr$DOVvM+KGrUj!BrD$T$QXYumSlYQAU!Oine9%1TQa947Mn z=P<4?~Cd2VF|`Dks|XmAzlOWrvTzGB^g8O)1p$6jN`+w<$i~#YIs7t0{RRG2w=w) zAEpXA4cG_xkRw#ZKJ20z+5j94M$qYX0numPqvLx3*92Y#d?4U)K%8I2fH?mW)6*hh z!ZKoxQFbN*N;A9|d6p0u1PP#Wq`}CN8PlP5$2d@0Ucj5 zKW+NNez96Rq80O)cDA23blUq?9@1yW$T@Snvbe6F+IQ`+iG3CmQ?b%^Qi502is#p> zw<+Fs*PBuJJaTN{?2Be)h4Bd+b_YhBIeu;)(XOmXycy^smsvRZ(U5WJW>Tx}UN7u< ze>h<=(1KW|Xd-DUpF81hvsXBAOmQLcMn!UwstNH#NmH<(W6~^Hzx&-KmkkXp(cNh? zlACDV_RMqno{3>+PP}lF%pZJdeagA1+b5>Zb@|b-QG2?amd&Wlp6?sat(EJ4SpVs` zxJm1NUM|~hUpqP`IK@_PrL>CU(~7MbN4@y%gZuTD-&CP)(tP1*MBuT`JdNoad1N%=&i|j@sL}{k}vI>i<-eXk8zvwz+ z;(2Mg*&bd7FI0YX#ly9imgUHF9=P)`?$z{roui3Ks?j^zRb7~pmMP&OHmbFmglgYt zRncHw`&1g)yyn4M(V!6v`>HNdQQcA1_YRX-sANI3_p_4|_22tm8HJjPUl#p!a9sM^ z2@Y?~bWmVAPFpwpvd8L;UwGaw*WR&bn3a$Fa%ksXcKGrUUAC-l53_vY~xw=C+VNQ9pHUA8RZ#SP#1O9aOAk%>ti$0vwsBj zcd?zvojdkU`-<`teUsyxdfE5d$=H1ApkV%R*GHYZ3JiK~oV!NL&|@8cdXL~0HuEceNO*U==*%p&bccu`>`kVKCpjg zOD?K-WsT;AY~)N5+zD?o9a7h)XZ5?GoEIq1l-+J zsp1r?ymyYNC_ZrZz?_jgJCB_2^(cHAVcfc+Tzj88vFU?a4?k^n{fx!RoPhow{R@tZ z@>TcmICg2fQzz?Y(e!0=hbNTX7{lCtZW3{OpuAnefcN_^UDY1B+b3_@Ho2 zg6;=(YwVzu7<@gcU;xGrz}qmIm6(;*rM`$!COJ`f_DrZhN(NE&3KIr*CHc3)$Q zhyS9W*~Fbenwlqi7__*Wu%d%I;o{u3+wET%D+WLf@j=uiO zY1a3S8onEJa>CNn=P%9-9lg4vW}V8O&lg`$b+?0Uduyi?JtOnXc%YMX2h27Klc1cwgPEotyKX66e$>PjxRG zaQVlp<$)dp7JFT(KU~p1VNmqFAh{hUX6g^;>DSckGTBhJRau)WhY&m1;;tJmE4 zWq9o5s!7fk8%oa{tY(#3yiI#MxGeCl_hz#rwuhGN`uY0G*c(Z&IwiKZJ?Pi>#ZLcc zyXN(Y^UNiLdc#b#M;CTA_Y5~T_pLpo$|<(&sZ(h>-@i%qSw;z?QX%MKl}mS#McH zmjRz?LX0%Dmv>_Ide+2VbOEt?cEi&{@n z!Y~NAky*BMYab!xLD&qjW=mpZi;*p{cZdxV%6NY`fKWw;L5R|-Aw=2v2qCIER&azH zOWK|VAu8Qz2vOEad>b@2p~fXAw+4>VJ zeAu#s$_G@kAvFUyd_<9<1rQ1)Lod5SZg3W$a#TZzij{<8 z09Au92>D?SR#P7$X9QpRJqXtHp52pRP8>`m=}XFc!#U9eR2T~e8$Oc6Fnv8TW*Nko z(&;g#O%x+t3x}x)Q4GNxPg>&2C^Hy*R0(@0p1d0{PdW|SmL_wX4CXSGiDoN4_c6pf zLp+nP&*QO%s1RLNeAYr0!qS@0J*7ffViK)ZJeHIy(G22vRR+TnGDr|iGah$8Fl-E) zV7l-)Y&f)765lPXxO@nWAXBxP^SIN2VXB^lJ+L-lj=(sC{S*sHI9H=N=m`rR*BuyU zgAx;Y+UN}aGQ<+DoEiJVeC=YTq-B) zu2MeNxgUdJN1A0q)}_EklMFhDdlQ%~X()dLkE;%+W*#sGk?+OhMgzl|QfxCY%tx_z zz+AeSB^=X!rJMomS6mw~x9*e*aKij$#UI$Od@F(d%J%@+uY4w&;&EBPJi2YR0sECw z0gjMjB>?+na}BUxlhhKoIUd-rd@KJD_W)RTc`P$+ zqRWxbP0?mBhJ!Iln6o_YMqoJeSp+kH$9W0Nf@pEF;^^qWTp+<XKg$M9yeFYpD*= zJen_k1au2X&t$-%n_!xgv!2si7phCxm|JnYAY_gq)*M|T$BZw%4+K{%05V94GRUvd zV=#t+ii-kcsD*(`@f^fhLJTZsJk2u(i5477MW1M{;LH2#QB+1IR?=mRWHeA>=`Z7D3334BhGu85)YTjPB4u2#qDv^&Sj8 zPlkNDLo2&O54uA}Mxu0S-J!kRA-1t7)(t|Vsk(HBu6Bn83=zdfLI`#SsC`v;=tXzP zWT+@MO%#%Df{+=s9y>?@I*1%5>6f4e{Y7$n-w?96Ae%!w{%KF0;TCAdLnE6xlEjUa52tytU5i5y5_ z#3OQC_?(^K>LwGpE>;|MSW*6DC>26(xa>IlArwez`Xj-Ak|7Q(j07qjgd)k%6$niv zL&L2^R+dAE%5fb+j>Pw|)@)b{4w#Ia4Ix}$uxVKESUao!R zT&!519Elt+K5LE>(d@BMI>15Ds^L&h@TJp=l%d~+VB4wwV+UEhlH4t3Ieh%19Jfi%$IO62(QSu$=!Gl0;I z=mL1?Mp*juS*Gqpjz6E9?=BiCaFDDPccROm&*|ks_LjSq{3r;)lFI{^!9c%phIFiN z0=Y~NqInMV5X6ULJYm0vC+#ziGKL-;jt|sEz}*WfZYPrDcm<57I*hEpGyx1IP#$Dp zz;?5d^hvDt@kFx?pDX1_W$Z!NyYaY|z;FUGus2!doJHT5s7?6SM0}SUW>;ya>cM&k$7hn!SvoCrRT@(4NAwGm$0Kv^f(3O5ZHwQ_KZv;o5& zh52g3<9tR&ZmEWTL~|&gRp3W-h4Q)kz?ER0p5#HR6Btf1*jxj6Tw8xAhq3^tB?6cu zFxb;M>GTf0iC2hk!n6P(TT^JJdx;%fL;aBlFWcTcM}*E z3+)4@8r)q8U_QXGSn`m`SqBWfm6;Xy5rnWvF3xDN}-uY0T92r4u* zkIjI0d!+iNk=q+~F41oAD`^0zFdf8_!Z}8IE2w`ofGRiq*9Q8_!bDJ^!GE%_8&uH- z`YY|Ah+iA%FSP*FzgoBhs%QuOmDV}(*ADti-3%&p&!6hh3%1(7s^3aV&Z?XDPiD73%|Dh5sjhAL>v_RGq7V88MyPZhTr0_<15nm@$71BPv)>S-4zo^n1gu@Zp&s%PJL@$y1|{fesu z_N%;izWofmbl(aW4Wh0>&cXOu%I% ziJUX~7IR?e?!c|W!8`#Oxl}75g!VY(x#Uw4VVTUA9+^x%A4%rfw-zKFTRB2S$xK9$n4=^B}GFOBFrm*jqy$U~rbevcSER0K<}D?>6Vjp96;T zL=uaH&oFWugvHC1Ok*&dAV!w3Z?=#Fg2|YWL>WHauMD^kAZ9Ygkf*1y>EN009LOz# z5N3zHZzhj>5*SvL+#9&PGbld=jesV307Gv^Sttf(f(Hj~Gla&24m|)xA za^OLfdT99pDtPxi5E-z}i%FGhoGU67&kIq&hCv!Ok-rsQF#y9h$r4Ow9``OVob6P{ z=*^&JG`SNjOjwdL3Cnao$8jbUk7rqK9)v6*8eZ=t^SI5x%*n*eNZ4?JVYMJG9Tr6am6ALZ zbCZBMlX3ZwuN4?J2MU4Z^BtHSFqi|tYzpCbzGTYQ`4*Bua0C(>4CX(ur@(MLsgwhYL~9o}?{HvL3CPv}LtjCi3*G^vW)fC& z$ZV=-V9LSKCk7awXxU^f2?6W_7z{WjcL0O4IPCXYb0{4q7tHJcnnB+{g-U^;VWpsu> zD}=RjK4F>1=iUR+zB`Fl33XPWP9Rw&L{}c4wZDY0%;$5zKpd442h4H-RSoh*B6kKb zY&AI-xjTU29DrVg-cl%~`heQz5`bY3Q>WGqz;H03N-!ulfzkP(6ATu1&m`!C7+?;N zlB^lG0T}iq%tsjLSHO6{WJuSnQ%2+z^I5@VL~}8pyQhrWKESI*@>rZjM9wTe*JBa& z-~ywc&SUKXaUP#FiXfWj@ws&b^-h!=Y8G=bVL6}A9lMxXfz-R3a$p{0>2R{;J_hCj zj5@XsT|&(Us_j#O;UtH8f}dLr%mf&`>4erk1BUsi7MU)k;;8i&4h-`_9OPRHjOryk zbDyCZb>QeBq^3OSi@A=#um`Eu777W=GCu2wkjN?Ha~aDhn_L37m=VBm8bQrqjIw}X zK6rWn)&vZf5uAwOxvmo!>=1BnF)hcA;!Y{2I-jcQT3{BWAzYo;fQ<%5RnBxd)luXm zVdX6+nv3|{b0Fe+A=}20UIFugd{S|P5H+Sazlwl4K`KdbsXVU5O40nnmxA%Y#y}jn z(=eX&E}AjmqTeOeawS2;A%caGY{6ayZ6(j`We~!4QuF2 zZP2Qm$k}riph~n9TXBy;2ra>b49q~u)l?^dYlE%G4j9^nXC$a?I?eFyA{+^U1(W%( zU8ZXoimg)eclC zbQqjz)i7#AE_B-&2x0ReWdM&QUqdvn=Ci_Uh%SKo8p3i7pZlSP>RCtv!*5#4V2p$e z^5nvv3e1|yKEpy12$oFkF%N;^{3G`mX@kwwy9peSVKC#UhD`pQ%H0ks4gmN7GoJJ_ zV4|UwQtiY2>)=&Iwh z*6$!J>)~sw9aIyb@8AeOxB;d<@jcFp72iN~)$=(=L4f%M2O!y<@KTN}v2`|2Is@1+ zU~K4QILU>=n%${CaI1Fv=m|LAV4Mri9T0uXP9*`d{*p%rR<#vBd6VCAJWjyZPK|5U}o)YrG2# zvr-$r%D(Q^0K0`RFic6smC$h{z;Nq_xHa(Z z2N+!z9EtlKAiDPOxuFNT_Z#Tg6~N3OLod>A-vGu32K@nJrPd17!Li~7LI_tM)xV2@ z;Y_9~&;|_iz>w^&r&}YQru7hDoRsEBro)5lCjRhYF}4qN)Sgq5jdp zum{KraMu9Cf~e}82gWCC(yh31hpAzMMF1AY1H;NuhYEsb)Y0S)Fx>ZGXmTthk94;j z4!LQ-?8sg4Foawn5sW*`>E3OWIVcn=G#Z!>#KGPQ-*_$uhVunl4kwT6z$OBNlrVeD zk5UgluvA9yIE#UKkk;=($RARXZz8$b$3$}s&&u0?Vaepdi~9+f128x_LGO<|jxVLL zx#bYTIzV$FkK_s3Ba?fpH83wS4qOdq9WZO6B?#XAV+eF`v+!Wu_ar<=fU@vOhYu4z8SugD?~n!YS!Al;Bihe} z52h29E5HC2kVj)ajWYr95=Tr|03XCc_~3`fT{%g^2oG_@G`4AH2j-73;B% z(*Hj~X#Rhq0=RlM(hd7Nl)&z-f6@6o^$PRfx?eCI2TM0rtyF_+Wp%BFmr<`D^&F;qx9o zn648(c>NA>3V()=6nt2a8S_if$fl74i0OI)qCF`lOluT+gMbCe0pf*-3Hkt{q)6-H zh>{W=uS~~_Biic=I@<3?$BQG{*I<&viUDAx@C#AWq;*6L4x~9E8rA|t?_&yxUV}%+ ziz8OV3Un-xPsewo+n)vCDB04wIQ9S?|7-&bcBXL*oeq&jNZ(ZvU@A{q6-UhFP3wpl z^nn{zJAmeafS7I~&4U5)Ld0MQ+^`v8fHHuIDAI_*Bpgt@Ab@|ez$l~>Afn+Snj>Ox zHq8-x0$)ILal``4K*y*>G!k^Wzao^6Jy1?3K*WMq&>RsBRsf>3n%2b;r8TsUi22vi zTpUqa4>!aObo>SZ1TaG-Eg)irHUnb8+W;}D4sSG~zJuoCh*AUG5O>n?h?u^K)_2o7 zBI<&@wD5O`Nm}R(2k7+Th*B%9BjQkAqWQl;!GAU3et`txwwwzNTw+9tqsHy|v z6dOS25=SgR19U`9Ivx@EK$`y@V!A<)4wGur=>bhiL6;T~B_Y8OK+G_d))A4L0J4aZ zM;gSb^O6F2P)5-y#1We?n$~}Z=!e`PUJEb@5La&oogNW`S#ZM=vuXV|NI61`z=Sz~ zn07jy;lF~IbOxOs5$ynvX3+`$4l!L3oemLuXfDkWF}|4Q zh#18G$_MolT1UiSDXlNWn&Pz(5NFR~I${Z}|5p%`3hDIXhy^dBbwoV;t))34#tYWb z0wM-C&>RsHY^3?`5PP7Cju%IiYT%{|*ba#4F3{=zgn~arV1XCu3|9b=Uj@X;b&EED zi27}siz7;RX&n(;{0tD&Kc{s>tk5fx!}wzW!*A$__hbb4jo%;|`T#oOM>_s@i1D3t zJR%++z5;3kYGCO!k_Yxdw19{iwE(f^Mt~SK6mK-5&0#c0L_VD6;)s$t+|Uv5>2!8< zIz%kT9uQv8Q2{hG3Ir{{$$)r?BWA$=BA_Qxaz%w$c|}ry(=`PYOq@>V_#NWlO@nx> zN&z62G>cA;hJxDpUcUImEhR?~cq1Z-g#u@(e0Tn&hqIAVMats`P^ z3(dt5(`}`7aYTI^=vZ()9sdihs6lFm2(0mbK+JG}&Tx>%!!)+h@kbGf_^T>-1Y(?| zV^7m~md0~{cp+lC^R#{u5Sx1w5KFyF$KRvlAJF)S#wUQ7?j;~zVn|HA#>M|PharUn zNh3D3H_Z{TY-yT{Bbt+=b#cV>@}Oh9BAs7}PKSu`$}|V0ygv$9uqquPjyQP+fR0gv z=y*gdKnD=>=>ei)eHsk_@j}F)G0nvh^9^NFDXfBQ@S<(9M z5DT(_c-$`?0nv^Vo!$x85GHV@BU}J+xZG*(LE|_;yb#gAc$y<(&Vu>vxC+{N-IB zXgKNeXw0W^CLmsb)cQjK6Bf`|2#6OV7F+}$jGql3ybw{J3m??Q-vI(8IX=OxLju>o zMtc4K>jeMK!2dFyF8^<8_}2n(S#G4{zeP+}1t098YC63*;t50WpL`dHWnQHV{ue0t zcM1L@@whynkrg8{rsGX9@;g8#e|{O6q@ES7)X3I6j=@Sk^r@vQdGJHdb636k#yaWaU%3j|7Xd@1(3cYzp>Inl}1Fpc4e}N`qzF;34;5^kC1#LO~k)(Wpaq!z?y*df9uNZNyNPMW5O?8;m#%0 z-uW@5h-A3;B96noH!<+NA5)shhPw=L4(_sq!3RI49FY%qdEy$};ZGJm`Z493Fme35A93uvG-3S1m1#_5|L|iDA7S|s<(gwVWhBOVJKQ%}Ty-ET75=)V6b@1r~I#Up{e zR)}7Ox_8iXMaB)8lXcSzZq6KYZc*&=vYwhN_w|@dKArxM{Q)?fsuxwcucreQoLoPu z*REH~4)yIfNvcPv+d5l~y@@v_?Yq0;*p-BRkB>a@I;5u3&$GH?^o7UE*M8peTwPsC zzNJ|&tJ2$G-I83UsvtA0)Z}fbzJpe*S@R(Sm!TJpf(om@_g?ne@S~!2O#YKeDUw1R zmvdv^wlK(U=MGU#mxCOD$9Nn%QKqyYQ}UjL&wBwoWh0_=4w09IG}s z3yqjeHMb9elV`4|aw)8P`bO5Le@$zAuqs1>m#7*a8+zdG;M}(44f3Ct9>2BVk#*;$ zL3`&u4#?o{H!3|S>Cp7x#;!-p@K;u%+VO(U?`2PYS+FJ=rt&sk2*A^1N^FnyzL!7xmMYHt0K-!#{m?flX{;)#E1k zHCVUVk-~Fmb{UH)Ei{v2x-zYV`BEUbNPzGV1eOg$Xj;geApDHVl0r~y8Nz$0RIx#E zngxnIL%3)bDE=H!KB6*;A#^ALMY0Dd8;d}3VhG=%(u4|UA}G!bq1QxEqI-hkI~|lU z4B@)zpr}e>np{v^Ax$nQ$57dciaUH!Jp+_1E+|nmn683x;sfXFo%-|Q@^gDex;VUC zo%yv!!J+q?S&s_XLZQs34~vR(96OcIPWTp-S<%^VhMl3-SASc{5w9})_B>MYh=Q?GvSAuk8S8cESs;uf;{7TB8E%~d!i&MGxOn&YxqKR{O zrjqMXU#rv&MV1j}df_(;XRV&uIZ&lk?fQ1I(b*i+mvr)}Q3fUZ%Dx-BoSz7Bcp zlM%$+s>pU(b1IV#9vPNei$0ay7~C;5?+IC9hNK$E<0cX!?$ zQaAJ4c3oblao}LffSiv$jvI4>d~@>0a1^AiSKU6ht;;xcc%^~iS{IAiI&aRm+BYt& z{X$n5ZB4)%eX(PnA6}@HAb3$dZuHV#rQB61_fwzN9hu{C?QK$%WLII^h}WB^t(l!D zciQRF$Q9w?k`w1_?3;AWxK<_RL~K-Xa8MR)SPl&OiL3&$a?gFe8}#13wVsrA;kvHk*H2;3(+23)2=;9socE!%X-J)9uB+Q4n~S4% z&!P;o(6GO_;ZOQTucsv_>NN|h_q*?J8FG18z<_?A^sUZVWhBqllCFE|_sw_ptG&s+ z-6rZ^+&G_2@OC*JvE6+9_P|t6<;W^o$}axrxcEmm)P>(bupe-;Y%Qms`|LdQ^zq^A zo=DVq+xxER>G@>ufjDDXkErlN)f23T1*&sWy_T`Uf4U}KK0aLtDsqBMweu~g;D-e z%b)9nXpQ>%HoVAd!NY>E^F`a<9et=;cHgUyz`?Fhc zyV|pL3wjAoMb5Z6^tzYipH-Jnykm95W6*tUHe{hETBRxrWM|%E&amD*`Zr=@K z9Z(4^`Lt{RF~Co$u-$n;&)U2Gk!yEs9@JjMt~xyD^o3cMvf95L*L`^FS~}ImlK5kV zN#b@FZwb+PvEkB^Z(d_!m2Q6$NNiEuy}HZOuWelTtG*?dHwJ-7L7k_Zm&!2f1f!%&kM1wMcc$c<@sP?9WiK=Y^BZcdYTd6Mlf)n2!aqqk z<>LQ))P1p|4PrCchkQO1_LX9}9+ps_(YEK*%1)o7BiK4Stj0eX71FR)=4a=(leuoD zFUzAlAK!C|(`2Oj?7TWet|-U8pq8#M+KuS83Uea-@UCg;f-N(rTLo^-3{G-Q4w*Yk zon3n@a)xZWyiQTZi_E;sBeAUtG%6fEa*VyZtJugN*ZnVK5pwbo}(b&Dq!bZ zW}M9ok{dQx?R}T;mjv@fkWwd=aL6S=6B~c9r#$LVft`SNO+u~ zVSIe)@uuYc*Y(E^-nQvz0BJane6E@zUg4+y{)Aun=$gB1scLQK2&T5+OO)r%&rhpr zOAZB39HP5)gCYB;*XvE|>}HHFzqQ|bzis>e#vyqlU-m!vc>d;Sf%y41S~yIZ=_iO0 zx9?>2px1o9{-x)`1%f4$7DvZR#;Yl(4gMPRPA2HO;#1walj+3KC@n4tZ_rp@&7_!o?JTes=wzh26pH)Kk#nBl3yG8LvDGfwyv zAzo;&3XmWy2M9iCs>@|7=FRt8< z-^;8jKdx0gv@xWjYxJB(=iz;#@?J&!+*pu%LafXrVVEhDk}TYfkh0`1)6YFsye!6D z;{!)`#jo+2c%);FaOb-&K)hhOFtHZsoaFBred;@jG{ zKYf|rW75Axm3Hl5*a&l#;rU^V;m(Sgp%K?TZpJCCHkEphg1(8>I9UHI>2ekIp zUzQnvPiU;dR26P4W4gL$iW?5(#$>qjIC@tW=EzOW__^-s)OGFJ2Y0(lD=tWE{}6ZE zQt4t!pKCE24Kq8|p5`+G+ZWATqp@nU*R?V!d8eX^2f_}p>sEYz!n>gJ5{_3CmW7Wl zs;e_Fs_^^fI{1-_>AlFc+2f;V zD%R|5VYUW7L8vmN1pyZpRF*F`8#gC@m29*HvHkXlGb5i{y3HMtBh|d9pP!EPkS~E9 zF2g>}N-dM_9AvrbrHixPkS}?c3WhmvNNJcW`kf{2B-6wjeMil^`uUbV?>1R#w>@02 zDDmx^XX?z6ORGnE=2V!lT~hRld>Av8dq$G8tp2y{S=)${-f>C`%6zu3geX~5cTVq>@w|JFuzxB zr*gR z@3etQK&bS4xnc7+h3-jjxOl7hgJtlgFWaJ?>^;7A>c=uPj2*=n}RZ=8E`bjPYgCEtv`Us;Y7 z7QkZ&?ooN-HNI0Z$H{hQ`>N~Oxeu=x9WJ=pc+l}s-bgEV%_E^Nq?C2mSH}wG=$#xm zzwLPKu+CrwhWCYw(-pWH4TnCb%MU$84ITA(lP_*pO?5?EQQh#%4lAvv*iPHL*6vKF z;G_12-Yx?xitI|~ED5N6H0smovHOG}Z{-?}4vV~e#yaqNuTq}j(^}7^%f8-JBfFS- z44ElzIP1jNCBX_F3X_*D8|0^zTQdCkwejO>9(Nhue#|PilwlrNb8Fh*kbs%0v!hQw zn{QO{<`pKK@H%;^Po*j8U?X2`c+a;|_hU)xasHmAzcBwORp}5`6 zHYe)WJl)LG5X6os&dA-pZvGd&)wlioZH(FYpn0Bs@0e37hkx|?G0I3naDVygRo{7ny+aC4u+t-V>i<4ONi!QV+U?+{T&l!@Eas^PQjaR(f)G-^v_z`p#5; zp|yE8Kc{(&(H28xF3x~2>?-;r^Bt9+vE*!;_{ zmQ*)6ui0Jca+iD1DPcudk@uM^_N$0R*Zag$MH)x;Zbyj(PPdNukiZdA-nVn7hX6bT{eD2dzEd&>%`oP&DXg#($5S8-^T^` zRp=@tos<6j;+xxERV5#P{oOO$2Fd%YJM~CYuXKE|u9&Vd`ic4Ch8t8=Hk~i2R6DKV z99r~KDtvTU$=TT*Ns%fGPwYCyP4Jy&=<{8!WM9c0YZ*qwrVeX=*JVpXs#P8;?6h00 zAWXrx3iu>KzPTw8H_R*byXWP1WB$ZYS!r39XrOn_@@S9b}bcOA}<^plM*W709lxt2-d6&ccIcZGr zos9K@^*eiNHf}lPo>;HaV`%2`EoI8Dw7mSpm6yJr`j+?v z|Ck6Xj9pwRZusKSB(3!eJdU>KKDDmft9fF$koCIGP~q^}_47Q;?=A2sycSUsUiLl8 zz0&;Rj3uk`@4Xn@_1v)U!%%^eZM^BZZR(_9>Va&bxZw#3XR|eWx*fWiyk}`ZtD@}q z;m;30i!nDXt-jr-ka>KOoIGa&TVrVRYT1ng-d$pzylFU5WpnVuD0}api`cGh9;99B zj9eyeSN1N`qU=iAWs8YMi|rT5OOHrYUSPZ-|E%4V^XvF6V|FilVSaP=nLQfDeXpLs zX09>0O8He8%#j9$@A!e{$Wy zwr$1rPp_^&yCm~)vqskh) z{n7QM_qIh3Xxf?Rq|R@?wAkDrHEmp)$I7Zu=aQ;#mrK-k3houK`#kE^@=E(#yCL_& z1GT*Cy+gbXy|AAlW_Yo<;kG9_&atgNNh7@uTF*YB9y)8x{TA7VNvj_Q#vL5+^!n4j zRr0eurfHm2V&+^|=EPO@I~AlE&ss6yYUi43XZAITCO{t8Tq3?5v&TOhsdVGa&~X(5 zeeSrw~^RZ`)ak1wJ$}qXL3B?VcbKCAXy?|G;aOnM@ z>gQK9XX)w7SV_DZ8Kk?}>cy_O@bu-1gJJr7;+2lA$G5c_ zJ!xC*tSq=zteR}Nhj5qCo#1fkq{QLf{p2=Gc$as0wc=-;i4D`0u1@~qJG%I#o%R{I z`%6i~ltW)GZg`yP-OuywZFVd6yuB!xFxda-=f1SV4HH)fEaN^inz_7VOJ;u=l_hJH z=l5EkHC^sp$;OX5p5^_uety;zj9Gi&bA>r+m|DCm#0?9xTc%0eDPaq@jOtm?@w(B) zUoz&o$z#Qh)?JEwf)4sWxtg8eI{(7NiMt-R_}e#a_Q<@T-~~ge_G78ehkj~f zGkct0>QeHlblj*VJ-SL1p1t?24rz!8+!EL(DBjvEr(~y`n>}~d=R<49iq633A1lNS z$G=*3bjFPvMM+0w>qc^}7%#7`opT|@A*>;0g4znpw-)^kQYIa$(D5A032(BTeD*=9 ziQEA<)r8gDBTG^v8$vdc6{e0mtHtaJ*qbXx-EW-k&p-aPfiP%a%;GL2N|T!c&&|6Y zP!=mM>pQ@uZA1Lg>VVWE@AX)PeHk^UV-n+rx9qYUm3w(v$LdDfa2^<4BW9TWqJk(} z%;{Si%U=7T(tV}8Pg&v8lTS{D2C0X=T;N~6V&sd@`|b}Ath{z{3)A(wgMIsuWV!wR z?>SCQH>X|;Iy6i4VjH`7t+?UXHx*MI?QGp2dK|dhNAF!%-_UJm#tO7=HXM+sN)Iz) zW}13w*PcFTdqjhgZnT|qA?$W@&c4!U$>i_MZFgE6=g<|#y?CAY8)){xDIKjIC!`G; zURpQs@7M-~`>(AS^mE{sz7wA9aPJ zK$WvexE9Na)`xPW)uEhfVSqXass=)W=fly@v!bU9+T7_>>@E-<( zuQmvWgln}ykTeB>qXWVbp{EWAO(^U{;i!w}PG212?%2xo<@DCnDmpkn~SIbpH^2v!c$?uFc4I2L1;nYxsVI*nuNzdaF>lyzj|ob{(g^@s{7CGyP4$?wsSDgNy&Hp z-VKw&{7wW*k8D1yw4gDu&&H{a=8|*kW{hfEvun%w6o35Ym2o}ai~<9+YyEFM#|~)rrG4h zIX=Gs`gF-E@8$N}8eKoGw@whV`&!%+%v+K3RQ|2ZNB8^ox1~GA)j8f(z4p*VtIw_B zip_I!e>z^Tp0dq+?n||plbeFH(yrFoe1E4dA2YGPP}8mQyF<~u8N&Yd@LtH{>FsCx zDxY1uR+l(BET*Ht?OU4DwCVg$9pjx&d1d<^->H1fujeUy*{+wHRd-FzkdhC%JK$#c zNGL4?}a0KgV{L_(3yr= zZXpL3*_7KARs0xartP$-G;#LD<3|l-8l8fhn(SI)7lnm&I{9C?tbg?B=V9wt-15A3 z$?DsU_Qti9!ZmHO(qd*mig#w9=3FCt*20(53#8_3+O}3#+V;n)#{M~3u1|V2u(sX` zH&;n~F>we-ZSS-zd;1U9@eOqQoP6c0N9*Nt^;_aB6r`$!#-rfnUG4~&RG);$M?ig_ zjDlHaYzD#?VYV3v%N#-IK;f&3YR1HU<%(M_GAjjS^`Qkh3gQxOko$I6jSJB z1=x!ztU>I}6tb)VrJ2G&L>Z=VJEAO8C}jgE#}tMm$}@${hzd-h0w1ssQy2>k=#`klzP6xPcz}{?3yKO;cmkCts2JOUqQ(^F*nzTa94H;As56Cz_Mo_o2c^Uw zl>SWNbyPm1V&edc22)t<07{i7C@)bN2)!{16n`&JR*eEh3;F{UNpDcx9YN879&rSv z36<}t=s}-2ffDTl$`&X16@dZF2GPYr3xXRsG&EM8bNI#F|Exv$sS1kKMZ`m+{fwLH<_j_1-a<{?sARv|tPg&$PxT8jIW#piC^deZrW{TBYLOXnT@ zzCTT{mPlS-^W|}*t;3b3)sZuN_aDC3bY<4pcl(Rqmsakeenr3_zicxSHymA3y`=WW zc#DH}8ZVq07e_^XuUVC$)~Ovf$OFEq8Tw|o?5Z1e?)z8vd9`lP*tN0QF1NnzkDB_H zc--^#rFiLTMY<>Qplk6-T6D2{e0g%CvwU3b<}q6zI+}KN3HoUHFxNL%ZeJE`x3RqO z;*$3j+Jd64kM}HnzJB{0x^~NhJ`c~#GfEv4pyqmKcZy*)Z5YokL&Ocg>o+M^Wyy}+ zHoB)17<0UyTQ+LFkg{_;R*}ANSMQf^gl$Jxd0xC#;54yOrFg`W-b2dk2RrjK!UdbP zW_+!4mfv=TGE6?>3>7zQ%pLcrV{MXY*qij}jt+-DeTxb|H(Ynj{+O`MvCliKrf!@O z+#aU-Z1cu_%O*+s|A1h<+CSx8 zPN(z)CRJhb8E2TdVIODTuuZ)xw3Fi%T+MI3>3b`&)z~z7-oUl*tdb{bldRvp8R6(Rdm&yB>vde|rImSWW{=B4XEz1`<>^gBu*k@=}@Y{mPN+Z8cjGEti zR3>SmYddL|dc+wnvWqXH*~c1rRuSzMahaB}g}+3m_L_up@rTe96P^3Bd?7T<65 zbo!hfXHx!^HjD>wGjYQQwkKFObj_?U-(mc@pdkIY%GI2C8z z!;Vb(PnSdX-mQC}Qg3pzu54$fm&*Z}!TP7vs%=QSgue`T|5sUPoBjFc=uXwc8>X%7uk%lZ_jAUTcbuApNI<;(omq7t#`z z6khIqcvY>gqs$Sd{#W+wF5l6s-ksgeC}s0@g1dmS47 zIIBx~a^q9~iH7}Vj~e0kEv%}!N9^VI6OJ|<^jUamw2XgE!q}I0j@>epKP_?O=ON9K zpjp(f2&nh`BgG9*7`oJXOTGV8_O~ZLmf3JdNL;LgA@(o{@E5?z<_c_Wxn;&Eu*1zxZG0bTU>XnLCSa!VxhN%M@D{MGnVgC0) z&FKlRlM0ng{oTjrCfk=iExjFZqC@(J;m!Padj0Y`L=ssQS1e~1&dm>X<~px?->xEQ z_GDs?$KKvkMmI4QZkRpv55>rD!ECdmsel_ssSkD#jAzVdK#(yHf;JWe6Pb7txVU3J zB>(bO*ryc5v4b{fCB=@AJ+j$oc~j<}3(VA;#?rg4>Z!f4o0Xn7@mUY~t#!k%zvY%J zFi@L)k5j3&x_7$VpAm7H{Ectk4yvVaj+!HSjyrv4!p5b_7te;zQ*W+WT&^r@KWJ61 z$2G3C-OSl?FSTdoSzhNhF5Pj)e&V{#duK0=KlF0&N~;}GZ;i%0Em7wc6~7~~5;k1g zv$!$cXK$-+=&*hVQ=9e`nmk`wG{rnwG^V5D$SXtNp|O+Gy*(vf`F1dee-#^-H+YK< z-h4oP*z?9C*LUt1bDd|G-)1Iv{Y5lhGmkoEt|+B>LwRD=-BTS$SFQ3t@N~R_-JBb9 zEE|+(<`0i`+~6BCf1ruR*U>%!0sX(0_3%laJ=EfZ!Mal`_0lFsi}MWgpM9h61iC() zn0d7~uT;NPZY<;`yzcOCKQQ~cll(?wBZ)tH2H&~$wgZR0@A2c0ZRqf!(Q3|>W8d0t zd}cG}(#+onKJ1yJx@6u(bAe%XSezr{gt-!<3NcG{sShuCUZ0AayfVV z6dzAdAL|%8?9|Hb=j#H;?@OqEJ87%Z=VqM`IUKnLtFkdYQyk{8V;rWJ2@KQj4(;4_ zeK@7(a`NWx{PEMEp0g{^=Yo5%L}Tms{A+`TMw(X-ZfjT~>bol&veo*{i)B*oqXe4$tAvF-uOLT*zlrDV}7Q3S2(G7d$ne3ZB?7L!Ed}{l=|;6 z$JV?}c^%rhGhwgz+C|BSSEWo?Trj-_Mu?HHSDD&K6bwIq&qYUgObSRWNQ>DWQl^fQKXJ9~7DiCdl- zwQaJ}2!s1KuW+BtUBxrZpBUH)8&G<$@9 z&3@>bS*%^--C8;S)l;MVa2vCy&(FoonA|qH;Q`MseC|JdLE!s8G{^YT^X}bsMzV#b7!1a0m5vkF;cO)oW`Mmznn6#f?y~O;K zrS3P0@eK2)iVk@jMd#-$4hHMet0`uuW8-7dOW8lOTKF0!#*)-7xnkaOV^qWX>O29D{Hpi zV^&=IJN-m^pDk5y!(8`UR5S-Rv0IBCouWwwJ>E=qorUd+XGf;VS3T(e>HK;BlvkBT zD}Qih2b~SBty^Dz+4g&g*%G%!%#|$(&oZ_zl(s){(J$~W=h~>c$5!70TibLRGA~fy zfPcJa-{uG#F20aew%j{v%h9~@wW}brc(Y+5_toI7zB(p!50l4a-9^~2bLHvpC6f)$%~Jm+*;X)XLDJ?w zZqjdSWkQ_tH6KrW=W;RNfz7OY`&xDX4AySnt>yGPZOt&ho5Raz`m6n7m0jm=s`AHZ zdR(pR!|}`0vHdx=sg=uB*H&Fp(zyj02elqR1 zoVYJ0o9%M9y{llP{NO@Rth=8he|v@hz2015!*lN(l)L%5Aok17l*@Ar4O_R{HlI<+ z+rHj!!97ld{PxphYx<47@9h|KM{3*^Gsg~J%ZA0i4&UO`^Ioq%rlTg+cQ=f6J)Gty zY*@DRSjgvJQwkKk`%aS8K5MJJW4GP@*4B%U+$)rh9k`wrxTR$DXP>%C<^$~7 z9=>|aVdf_3*1eM@<_5VeeRkP*`K(b_9(e7WQu;Ql>_ybk1aFRXK=Hgw`{I^PKb`gd z*ZHE?klzvO^^LEoZ_pfsrgv@#}60>O1 z=YvU~Z7ln`+Veg`!%oDiT{yD1*k+7q0oy)d`|A%Q_8q>`7FJx5$8_$U!~DKxKFPKJ zq%*T^^2A1_WZZ3C_9JLnuF_~BvtGhwX<4;%UHkqY`ZqgQE*(=)xNMhAcmmr`%GPo6 z)1;|yHduf1=u^=iVi8*JTc`Ms8AS+|q1sjdrNW;f7!!73=Ow<(*&y!BeJo4IU0j;;Y zTKE!S_gYF7#+zo0{%R4wZ0XUqTSA*d3f<#^Q^YD zc6$%+KP|ETj9%1$f^DM~T)rDQYs8T?S8J7|&0-~N-7;FHa|>RNm8AWPF86$e-BT6) z@bqHt9^DDU^vjkX@cK5rO04#x+_33oQN}Kg_4mf-@4J3Wd8WV8DVte+nX0$Xdw)}? zOsU==r?D_=$m!2#7u;ZaFNJ%in)XSN2MQure#4Kc4C)+hXeyr@kwex3J>l5`wAtWrhn@yyP+ zfKM}})-t8!UUJ$Y^O1gOb({B`yE4aV_Fc87JAb5$KheBuTFs4|cQfMc#EbITtng*O zTo3O%d-&CS=_Tu-+}X93=9)K&bSBgx$L}{e$~R-Q|-4MDEG&edJbjZmnqW*Yk>-cWkvB zDVlRp=25ZE0pGf8rJtvdN~bP-5xsBdo9opZr#lXtwAJ3@{-aAyjA{VfyCXZhO+Bv6 z%TQgxRsN{G`{J`JGuFD+d|kHD;`;NG)2pu31-E}v(9Ah8bzg>))5KN_uc@zNKTC_S zJ`_KsOX2V4Kb!Jqq23ki!2M(Ne_!ltT#?+T#5wQ!%2dg3wVq9l zRW(X`>Mr*j%L!nEA>C0vSx0Odt=3de!Hz5Y?yqYz3|Ex%O#HQ zt$H}DZ#E6`TdEL}pwIrS^Q$;uR8MD_>>TwSBeprbO}D5#5ivu#U#i~jOWK+INi4r| zsgvpYaLzm$$%;EXW9`S5Nn?Gp-LiVd1Wgc&QXS6uXkoD{Zr7$aijAs)`4vi9;|s+W zwVxSX`FnQTRQsjhIL$HEH-<(B9%0r8VsPrc4TBT?grV!hX?o-T>fGqLw~yql$ZXTu zGHaCTahoa85l+)BuJ~naYHDr?nz7=MRYB1Ty_sqo8#f-9G{t1x%Fcb`b+48kZ9YH+zVzR$y2&mq?rsm!Wb zTJ0aL|HSad4xKOFGgr+na_C?8sNbS{S&mFdvTUG4fs`k%vPb&ZHj;R8CL$&_Z1;8qdJ~1DH!Fgw7qU_ zTtIom(&DsSov-40fh!(ljyhr%cglx}Sw^Kng-L?33i)&4koE;~u-VaWV7s@t0FyHmzcwgx2`F>2Q`N66eM^;`vH|E0UqLX7? z=j@T)@qB9g*qmB@N9}zkZjY6$?5iGKQ<`CX@?)U&`ljh?=5P$_-Xz|eGN1WC?nyL; zx9nJx*>Zj8%d06d1H)9C)L!>c5$o&F9R1i?eRI;lbW7{&oh4@1jFzs@wb^3m_v0iZ z746#NaGg?UtYI(VTA|5#*N3y|RpFN>!#*nnWwWoqdgdZ<22f7Y)l!G6U3IeDEouUh#(zTb3A$??5+RH#Df zm^Rt~>1vDgut(R2^K{7bHQo=ZFQ=-tY&&+>WaIbw$aIw~F^UP}lF1J_($(Jp# z|1!XQd};8H!P}>&&zZYHUH5I=mD`Oot+#&gRbAbdWw~o&>WsvcxrZ0E&Yoobuw2N! zNMZLZqFUu%R#`qf(|q7|6T9*AZFQ3@y{#3-Ru^4Xhy~hbySZvf)*tOuTJr19v0LV; zH%oU^44i(s_LE1{1FP{GHTRU64s!2yQOjZT@+D)83N1g+2{!p&T(7gqL5Gb$MCGeYid6?Sj++W9Z7B1iYx>s;)%YL`s3 zN7hr{;({{?=EZ9-H4KV$KJPWOt%psf(#*Lfmm?LP&(iJvVTtXr9rF|KUM*N$@umzj zqZQ~8?mJ=ga~m_r89kWdO6-PicE;Cw(fBHpgRk|jLBc(=w094`A)>ulR=>US`&3++ z?R_%GO8f4h3ldIItGwf7t{?QvI~cDqfs?SNQt7sV$;-~Og?q}?Ih^$0l{I$(*uHx^$=VpK?>7%J_Ih|5UiLF!BOS{3BiiVKNv$A#7}h2Sz%NrKZP z(D8@hDznBP0-tCIYDrMZXa_)`xC4Ti00^!#7gj)UjRcx2A-KUTUkSnL7zjQDLU4_;A#m9P zK>!zm2IdS2#P>p=8Uev;#y0|j(2<$!!*Qa?#ul=bR9Z};I&WJDm`8;QF(T{n&(vCm$8 z`KxTLG}*R`oSmMJ@Atkis=(jCrzKK3cCp8?;u9WG$r{e_s-;n@gMI#}sB0b#6n)cw zV#F3zQOyBcX#LnV9DWh@ZorrEg;6_l^z{3B&)4}XVc;1vKS=zNqN%ycZ;#YLnG>(e z#qJ*E6QGnDv0|IZ(TB19U%x%CdE}&h{evZzqKlT4H#6%K;of@lpo2R8R@aN$_dP6+ zFN|wHJ$ZcK%Ol|lspqc^N<6l0YJoU<);bSPDW2JYpM5V`nN20%$sD36nedF8liKtwN!J|24BbHQmHZ%dofC3mUE>V$BjI?AYS^E zbKi)Yfhl8SL^fSob%UuT_Y7x^k=(bb>3idLb|2Ts(wT<8Z7=J6vpMk8ZT>HN@dy(Q z$%+$_&p*60Qd#V$cy(ajM>Cs>`Wv^?>QBW*efhkU_D8!)?}xB^WA5}l-?61?P}tG$ z>qZnPYNbESe$7(P-4#Bmui=)^6)~UMPw%|*yO^tR=uOR`wm_5CFwM-+Xg=Y$OZ6gI4_QU0>&xOJeE>L#C+Ic>AeCE4G0E9_Y8Jg@qbSjzJsv+wO0tsbBk zCCz@ytePynWSGY2eSKRs4p!Ywa~k!tr@WBeUo3jZsNlnSeC2`q%Ez;9)%x9B6?v_7 z|M!bM8YUTxIKFzqA&%^u&yP%!=Xjl7=owKb$2vLgT?bqH)QhtFF@JJB$3;BuWb06_S}?l zF{?@?56*4gBCamv9_`z9eK=wV>){L89!_V*r5GcbJo zsXeY?+~9VlW%*pT`xx>0VHcDF`adXoS8XX@;;-TM^$&CK5ZwDV*kuMgx>sP?_G8Im z3TEv#o8DC=u4#D{bp1iP=i@Ia!^=(IBpkI?De%L%-4D#n%H`x$IJ+m9SiOH_4;`?diNSPg=HU= zZtTn-GQ_dphb^HRvRkv?wK-1#?joF5d>8Wo6yhGBbIUSIUl4!`?tGEB# z+f#oSLpP&Q#otBa{JtHX?LK^q+i6SXJ-ZyedN-*uImsA_-7yzoi?JEm6?mLYoXs5B zico^h{6sicQuuoAF=wtPIiCN`Ig(vbxuUvXM9=Uk*0(!~Z>9LxMj7lgs~S3C%a}D% zcZPhHIAP{6CecRhS=O-cGy9Z?%7OR4JesZ3cY1Jc3{PrYm?kzU$keDUYL z(oqKkJRFDG?tSglF1GlZX1Pq~?#zad$8_@6Th-;NCi}JQ8hm@zTG5HoXWo^CC&VuO zzHQ}KRKdr5SBbmQ_mz4yryJ9yjt!V?WoUBe`iupH!WlRji^DyE%`o(WxVO z1hb02UiK6AuFu(3ZN@E*Guyv#u-wXBd~IW`lv5e=h1o4JFKF-=F)H%8NEE3g?G zG)blr60WM94eNgKjC#XKQ-e%44vuMyH2Cg#;f2eADCey&^EUm`Iscx$fAQ~cGEw6z zv*m;A?hkA{GSKr#nB&=>+vhqP)C*lvNjNK6T+O`;T`cN~bCfFIi;iC;8CCuBf}~|_ zYP7P%kG{2ibm|Ue2gRIHx*46k{@7|;r_%Om)^bIbH$0Chiaibb^(~8uIfi?xC+;ab zdXrVxhjV1FOO!*-*u{ry9zW>$z&T;Kl;{q}P{T9Fw<#|*c#(DacHv?-uk9}Nt;@Zx zxO3aB%9kDpJaj2%Z{z6sDNl!GUt%mW(6>nCE;@f~!-?Qqnx3vtr1Yxt_kZ#AO5zUO z>tIx`z+B2$_&7dCUgPxkOE$KdFN+F~7s;sjrOQq|=2bjzkVbBVzfiVS+03MP6lZ$| zp7<{FmUX!LBw^R^nt^^TuNt2?H8;J8O0QpbD!A65bGq{`4RPr|XTCWcHFHXtlQt+S z|EgQExNPJWu0`2ej^gut;nm_mHq%OWGcr+ePPf{OW=@jCCmWLfdm+(gGYj`ZqL_mQFk;k(Ifh?a zcm1^JH8ta&^8>p#8Y4RDgR4j7zbYD~yWMVpL&&7icAx1#q_!)@KDaxuqfuG2O#JNq z+7GsQrOV}Mw$L>t86jLxP8)w$pY3g{;xy*uME|kz5ypviqte%l_n2|=H+$er_d`#v zMl{D+%4%jMJc=CQkYwz%wy7aGvp#>D*t2!-oX5@f78s_lY)3NN(lFcB5wcS$Puc9*SM$d)58s#52OpZecVyerF>iw66{F528rXEa-xwzLwobR9 zEbWlnpt|om_ct;Dx!4F5Z}ggLXOpC@S$9;T&-bNct~bqaTpw|2fj0HP5+&qn9cvuGkLKR({y?@!_~t;;9|X$Ap>{rfCW_(MquaH`H3UpADN9 zaB^DQdaiur-CdXJKR+s;!?+itU)h|CY)=z5Z1J6m{bgbHRbtL1SviM>@)h4Ft&nPK zvhUkxtc}Fr3WMi`DJRcr%f}Ym{+v~+zwTzgfX!ncT~eMp^2PZLjpLXaruS*sH9mpz zoz84Hf%3g}8s+<%1a^#m9t5k;K(IFt0(<5K3AD~aFgYIr2PQrrf=46>NQPh*(?o)( za}d~_gusc}e-Z-I5(qj-Fo&5|fd3jvkW&DGEAxW{`${2jFNDC2$t;Axx(tHeMG&|% zu0;^Elc1CY^BIX#5M-Q(Am9`Pp3E5%xRgVnS`2{~<68`Y_yq`VkYEv`bQ*%wBv^kM zf+b8P34AU>pmPQSUuMl22ox(Is3pNtM*A!T*GLd^7J>lgF$q>*g23V&1VPNUa}a1< zhTsDPcFTpUW~aGj_7`7ADUIGm8%k|VntxZ#j~c%EXxf&cPt2B8_Q=!~9U+=g^YQmO z(V=;|pY3a>bt=g?s;NYNDAjh=aFrXy+_;RYX)A%<5MjGBpJ?Y~M#}cBlz#2-qtUyy zAe-SF78_|lC~4c|wzc(lEjQIoSD5qUUe&Sc%u{>3Z%;8?x+7=3CG%nzdtj{7>=DfR zD`@FKPD9o`O^Y}#AD+Fn*kIS|FZ=OS`>(PmE7`w#6W%Mf*wUrIqdd|4j zHg3j^TZ+$iWfdfzO6>njNociPG z;g(X5Coi8}NZ3DSqmX;67|#o+rN*nMrOOvknqBWvq`{eEH>yJ`U}NZ_J5LMCEae}2 zNd7+kOS(a0nr9hHD(J>)Cyg&wOQJ*Tr2X>dE=3=zUvs*a%|qLXYwfsXC#mv7MF22 zk064{M8Mr3eCe`J(|&Jl-*MEm@OOvi1CyOz$#WNET$s`)Izi?9)nMJ_oKG&=o}0BE z_(&{KP%ZR~t4%4%=IHKO*jl-Km+quq{AYOhqXWI^vFpR>mo49%D64-}XN7a>*;+ZV zvdy^#tF*Rmo3@sFpyt@s)e!>6pth%5PN;?q9DhyTh>c^USr8=Mp)wUg7?GjIAPU zjP}(pxHRmud`NOTQ)4adQ)n=s{{s%b$D4!=pA-|DV!grZ(diqDSr?sx+4{Y{l^Yi9 zP@Kb_y>exR?use3y+r(m78%U2|8(xmSu8$3U;bJhBcy-}%=$Iol&*<>X>wfH9GDCMTK_1h->QFDJhRh#7?yGUmH&#l)Z z7LPqT^%HF~bT!8)X2WH)ylqU)B?Q|UZ90o)*5J&QUf9|7;oRJM{L#s2P8F5Qw(F?M zTFLZ2E}8a~#a5HEkACX-J74yebMlL6E6o=z(0Nids8D(G;t9*ny}Va`Y5SDYG((;1 zLxipw!%Vz}tHd(;R}jQ8+bGz{yr3YSF}sRj7ZXpxZl>uf%YL_^mfY@TS{%uhzM;Io z!RF6m)GApEl^Wn6UMd|yel7}GxWd=pTSOComRYK}<{9f2i_$Ru*ID8{)9^k;>EfDC ztRU8)zeaekS>z>N>ARF?I1;Zd?oWvavU!QCZz1u2EH>~hmOo&L%WDncy*-YX+S4m2 zI1n!Q4q;~8XWi-jUsqrzKF3&d^A=0=uOT7V*lAM5H=nV_^w>Q?OO8>$!Q%AH9|tEG zhx@EZUZ(v*7KPB?${RhAXI)9b3a=$ZroH@qb^Y*%#3=K@lkqA+CZLrykkPxt^5*$Y zZuaE4Nw(IKthZlCP@pm5hfl++4k@2v{46EkWQi;BGA}62zgfbY9hpIuECuHFI~Ipo z{fMR2bJR={c3sV!uetV!Rnk)pe+E^CE*HnUTsHp5s3a_&LMTI*WBA2Nbt1_48@>bo zUC=>nvT4q<;T6Kq|IT38;(5Xoukj4z`UdI-FcTiIX7R+qi$a3@S1uA+8Y*Z7 zyZQDfwBm|`!>HNJWqLhF$*AJbT=87xl??OgEo9+%@U^#)pF0~M^hHfekWgUi(>Dkg z;P0IDVIZuh%L=9bPv(o)HL^JT?EbgyIV^sGalYekX8%uO6!dsrK5CFPs^pj>6C&7OR! zIPojXkxfmL?yvDp=<;0pHBXV^m)8al~=2D`k!-3)te{5%UT6- z&@ED5$@`oX$fybx1TuOEi{kVIN&?v_K|Fe$rV3xi6)6@(6oa6JQs8q|5Rrae@k=1% z@8|QHp~!E6tOW7MIdlsDd6R_T_Y=HV-lhxUofp`{Eg+IAkd^afbcaGnZ{na2|0!^O z&L#_F7X^u>p`R*{RS0CfA880=mjtrDh_?_ja_q7|Mz6)AH+@soE09sx4|H&GLZ3=O zL<|@re+05Bgk+>Ypr4mf@$#RcMemH`P=SoUu;dqgxFGFKgmkC~=mAHnhFb{foT`I% zd+5V`ivv1V25NxnrV#?F#{poVKt`MO6p!jnRUjkpD7SRJp1i|{wk9ba*%~j93I29C z&z7n{Mw^5v1+IuXA`TD;qBjN856w)&K`diI1{CHU!6q zaZJ@kyKEFs6SU))szF5{8;au}^p0{8stSa|aIA=9`ltzHS~#YLMxTKKnKq8mCGtM% z0@-k!(K}qJGzLM2evmD-i17WH^NC2sH&VT^#qqg$E%V z3K=z;QGnjWP9JSSJUtvwf|7DMTp-iOu?1w5OWMOC{|x{=d`O>>kdZyEA^sa75O%%A z-UzZm0-2s5F%9$dQeg64Um!EVu?*soqXq)mXdKg?Ey)Z8GE*F<3hWsPWM+^V(NELJ zD`N;@TVxE7LqsxcCWtr|$LWH^V+1mD$c_nQV+Aq`$TA?Ki`f*|5V9MhDU9GE09I0?tpVUb}=fy@%eIgpWID}gLZ(9 z1XOM;zy>`42lND@Kn#cj2|#bFZlX7P7vP`>6a#wW_9<{0oCJk{-qKC|W*RsKjskiU zcm_BEsQ*j?J3t(W0ns29L;-r;_;#=jtORQSy}En}@S%6I`{KY4_yg*9sh^z!sBg6f z(|`?_4s3xPm;vm81DFM711I1N<^UJq3g!YgFb{Zu`CtL?1m0jO-EY=__Q`C(bU+nJ z6-Qf!a)5dv4^-%UumDKl{2M~v*Qq$BZ_%lbZU?+>5i(KG6NrHxfW8|O2T}mv5{vu> z^c@M8p7^E5YUv5sl^_hP1+-^Eoi`VFf`z~f(4H|p-@h360P47%Q0L#7V+{4Z z0U#KJf)#*XXKe$h51s_f0Qz1o?@i#;-zorlowzLM2l{~CKpN2N$)&&%TBc60BpzkRzO=E>%e*tiBh4xHrjbw255gQ7_@<}RR3Cl z`cvu`sSjO^1Z%)rKz%O_0D}R2KiCV<_m4D^(8xgp1wFMF1-6j`AR6odF@V19cmke+ zXP_3;fqL*9Fe>ZVL%8&9=X=l$J^=cC-$(EX(DOGm8=&a~O*3u-nlju0G$XhUu7YcT zMtK_jX=J|(?g5%|RD&8o!`3FS5;>#c>Nvm*o~aLK_vX@z(5-+mFa-2w_7Pwt=nv=} z^GA{RD(dDHkj8OuKr_2I6vJW2g253Sr+_`+5OjwDZ4E^N8miU;RJ({S!c7P_1B|U) z5fwyK1!{l+d%$i$KT1phu^n_d4|ajwU=P>}5&$E@#D=qntFFQ^%@$~CL$d*zy3kaGrX~hV z|BY-*E=`$iz!WeUIDqNE7FdI6z#hy1Gr=q{8%zauz!6vins(7NOC9j0RtRY})eBkZ z11P^o0fjVEqM4C8HNo>xYJvzv-T-s}&2lJ|fxIt}1=MYfLn6Wm=Z3%l{J_PhBOHeK zatQl@3@{p)0y8iM^anJT$OorE5h!L2;ZGdK;>28_ASFe*Mm-@uw{v(C2rliN(U?VJ z7mZVNGf|~c6Q#b1`Yf7K)3`(96^%VKChdSN>Z_>F@&j7{RqT7%rk;U@8M+@nf@bgz zPz6EEYgx1^L!Ntzz?KN}Vmn)1LKH_m0f+gpiR~sqYc#4>Hsi3FJzh&4hfN>^1OY=p zQ#^qop3(o<;s!$F2Yi7KpvtC+98K_O#!2%rn$Xd#k|u>TGo|$^Z_p5>tz_V=}j}$8%k9I0w)OOCv2cIBIy* z*r1Vw{_qls0Czz9C!xEA<9u#2A<;h33vpm0j0SQ zZh@QN2Dk_Af;)hF8~@b+$_Yh!03HJ>LMjEy4V45rLKmisb$L(cO?7->2Y{sBKgJNOQMgAVW$ z{1Ti?Audf~XjG5@EI=Jy4_bz@aUcdn0SEL1;(!v-FiJBY8cJwHppk(lE!3;iB!+tZ z0f0sdML=?rb&UuLIHoy+5}^46O++Yt*91s~zN1oyU?3O*h5?$v(9lG)8yX$haF#|2 z8ct|fq2Yyw8JdI`1L0vwALleXqS+G7hIGJ4Fait*z-q7xtOP5-Qb02yAFvpBfknU@ECIqfB^_Nu6n4oL2Vp3}U>07* zLl-7x5C{YTU>R5rLI63q1|h|nfaCFiLXt;7#s!mcydEJrM%5LLkm3;}qw#Y*w{r^) zqrrBt4SWV!;3H@OAHaJM18#wvpc-5U7r_Nk4ro4H0?q+yA!orUPyl*>E4b`Qgn1wb zWP{_>)G~390gi%$fC@AT8~~J`M1=c60@w>;0X3Ih2={>9ARg=lae(A>P9X#OfPLUF zI0TYG3OE8%si2O5G>{G`=hS)RA|x+QfP6r5LJ<^#B0x@`0jEJR&;sW{86amU_mpeO zX%(PMT>+N>Wu^jfFXO*!;3}vDHvlD~2=~ElK!(U56(#8!5R$RufJ%=_?FFFHBIEBs z6CfLnfJ&?%cnjVDDq$+!*VNTe(Y^wd8!F!Cz#4`gAS4H<&hCM`paxJIC;?P0U5?(t z@k7v6l8ACOCdZ^-sC$$`$3JyJC6?IaLK!3pv$QC89Xy05L!% z(F{HTHX1xR+LIbSXvHyIr>g`zam*`0s{gJcq~aql{{Sko|1GW#$bJJVv7f*kbd}n7 z98&}S2F`*u@D)&dpc4E7giDSZFjY0Ts|bY~Ogj|+)?j?$B$dJsK*oQ8uF~kz(Z$Iw zjd+wP>biPCMq5EtGAux)h-3UQDj^|xcoS5EuKSzzkp92l-~XrE8}&~OiHekpelMV+ zr{bYS18sWHh6inY(B@T7Kzsc3jI#`w06C?h+|$Nce?VLIw2?*&kbjg4 z)jt(WS7f^9>A35h8VTJ>6o;IneSIn+C4^nZ$uO;U$T-ELI9(ScJ5;K|PSDN`wj6l7 zH{6v-MB6yjGHLr~7#IQulMFiAyH^JqU?`A7JlYo00<>kM18DnvJQxSY0yAI=Mgt>2 zJLxoQGDK(qXvds((jnvW6oQj3;eSG7L^AmsnYS}eyWV7sE<~XPLfYXbx^$K}o&+X> z34k1-Ymft!hMb^dJvQo}ydfdc<%pF))^$D==hT9!UC?I=&ZBU?72#&E1w;Z`8E*m` z!CDXoHh`621qcPS8|Mz(z&uJY7t97TfjzJTwtyOw1)$q#I?ioC51g~X3>?n_j=(_> zx+0tdoPaZM0d$dmi0_YZ0ibGK1iXO<;CkXeQp^XW6gIjL=QLt@Ata~hVm@FASPcAt zFIWne0cxyPa5fOfbk7GM3<8vE%3KHt7MxQFpoF-*BBGs$u1KqJOgUdIkkJL{oJxuk ztpi~=rxIBY!a)QeJ=vf*bTO(Hs**r4XB=l_1key4r~KafO6bbjj=eUv@u{eh*QOXI{`JST?pfWNG|<{TStR2*vlS1 zT?H8wvsZW+y)|{9ILkv%*H{;eQ%LDsy@&&=Gp=?HcQAm)K-XZjuD;#~XjGwTjn*2* z>X@z#jlQw2zP|2gYv#gUwj5V~Gz_>SR&T_*v3c?m!(Jl?@hs~b>W=1ZLC8Q;mR4}t zI;YT@((4+T>FV2lCi%@9v&)Yv$gGL4_DAN5)o%~7`86QL|5N{na{B0O(8TBSr)t~G}L!d@G}oR z$CD$@#2~&QoHgJtTL!>V!i0tq7juHcd6rCc%|w_ShOOvp$X_4yL5$o*OrMUJJ5)Lb zD0i&c#-M3PL1WWi>EH9?(b)p4`X(ZwAuE=_MUmZARok;AhPFdvs%uDTCL;}%&SA}n zks~%QS_qA??r2>DMt2`uxrd&KJu`hDTS;l5Almrvsoy3#rB@)D9-^6uFzffR2QaNg zZ2U-aKl{GPIe`!Hqvpm8EwV6^W6?Z-%7*55y%2_H7Am~jW#iUa6tI`Yi-jCqEUXuzAlF$OTp4~KL zp{*(7zn%LV<2*E!zbH<&&-}h)R{z!9;V|=%R^^Q#?S%B0i zARFR+$Bj76+Ee{E#z1JO1WatJPo?ZC4Ew8Tl49zT*aic>p&?Q`J|`zH>mIj%BZr0N zO_eRuml<&og`c)Q2`aHFKE&c87}K%)lDn~9p@ZI)J-{%WL{U$`u5 z1mju8?kC3g)t(u32(AR6H=^EPyqLq{;HXOPzlpX$LmirGm_6(Dy897-HAj0h;fL6Y zcIO2#qJj?$tBso0`)`a3ZekPzw+ z63y>4R`u@jNscv~PVxEI+mzV=lWhLIs>memXDc(e>AzF--;g709Z>^aTv>!!egr*2 z`Vsa>mn!&Zh8y3Fly|)cdgAvG3Bn+Ct(7f~YJ(M(l0Y8lq#wL-Z{>*b+&!p?| zPA!hF%v6b=t7TZ@ERYn={=2Vh6&T%A+-zGE_;vlN`K)redPfcKx-@c#Y*%FJY7rw* zk)Pl5BM&?o>!e7Y!DGtraYaV9j%~m$Qe>teH2H;?RGLl;nmd2)^!$dHh=(yyBp6wv z7G?3JJikiD*asSnx}-U+#N^ho71@%?%r&yrrp!#J#Cg~N#^edxR%N^3>e1eN@=Kmn z*0WhunZ{@jV^x?#PuPmwtr*p5P#-(c+9Pb2&2)i(DAR5`YMwvccGNr#J&Zs#I0vVBkn*xL=F7=AFL=y6yORY4{yKmv`K4$IsJr z+wt=>`*BTjdZGMp3F(1y-~L{++o6D$=AT0W7k3g*<%qtEs==V|dgm8s9T)yJcSmrc z-D8_I{9+QL{%X1%H+a_C1!=B*ix{{r)oJ(NH2*V_nDK`aUZQS?5}u}E2){M2i@z{e ztX%ydn{|H(6LE|^hRHj`9w~|2gEyXZXfj6%(WE7YF(t=vBgqZpk4;;qjhlY-Yg7mC zCP1HPBrD6%XlBot3G zi_G)9S=DSSz5yCjO!f>-sgpkVf740-Yga5HrNy61Nd%c+dFPOLj?D@;)-^EEHDW$r zWGixzlNpR%Hd~2H3oV*TkGOv{xMu0edAK(9D(H8*y=&ny`W93p4etLnz2RxPZDTx5 zw~azimkV>K-K2I6V{+4a%&d8%%^Ql6&UzK^Hrwu9nny6t*+ z8W&_0qgX^uij3+dttLh~oh>TH(+K8#-0tRl`li&_`eN2aYsI3@=2l7NDovUM@ipB| z1NjUjE%+dHB9oLamtkL(~Uvu3}7Wrwq zn=JA*Qn;zqVQuuV98-f|x2KRbF}{jFf#mW}>=BQqo3rcAr)>SYLHX}hyPH$;({wkd zXf>kKWMA`g z`mA9C{5bsRM(9y@LqnzhW@cCqJE#5BE5Zq$xl7-5b-@*}E~UPdt!AE(jg`$ZbN=+JF=M;*g9oC^a9wOOP%G!hGx_&CzeZA8 zpwAd}@rY7Y1g>g$@(MV5|Z zI5`;Z1kS2hjpyH%2l^MkQ{G&%6fyPqOMAEROiK=1Ud>pfLJ()cG%u;a+nn&eY+RQ& zcs?1=BbNMs)fvqFTw;wdLUUUsh zEp6*xmkW)cC2g~0o}EC6^s!=O@?fLuhf+cNZb^qn*)oWU^&!lNXjt(_wksw3G4GAUcW&!(Cos7Y-(`XR}Npp%K&pAI55b$>I`Eg@*=D*xW%1h;^S1m-K$@(O>bJ=qy?=(G%#9d!c0!9XpJ8WyEW7-TF#1DFdtNj7kBn)NKspMn?}Ej7X8%-!+80r@Sj>@E+;vcEQgiA7QJr z1&epKU{P)Jzhlw=lSOqio?D^$yXwP8w|({3qTnks!n`YF8{-dOs28ynIJ9tPq-mJI z0Q65kX=;v6o7q-`clOO-dRL%(|7p*Z7op;M&t#qyv2~Ovg2+GD?MgEl^;7K8X1JL( zXYy}z!_aebHS)uLzz^8PUabi4my+;scw+9()G+_Gy!xgdNW^p|v-1?LGIJ(#{1o;) zCo{FD*h(sky?ukJ_-{-#ZOE%>u;mp$Z$tQ(BJ=DB5+KZ@orHhs?_v7310!3Ee(uUTH!qRFpA(?QAZ}X7`93r`K{P-+k;#+7aK{$prH&|t8`>u z7PE&-%Fg2Vhk_K0?rFBN%KX{<5wKiYQ}o>Y1<#R;h7-8pGn;970cV%bX2MV7Hd}|7 zGAIWnSy}(t8q)U!G101aKtn6f9oAhzx{dbZJZNRjkN4(PRyIr$i{6a!4^^f z`h8>0i=#`%kid(n>CDVH!?u$2ox@*@VE{-vgKX)!@Kd;+Z|Rv-_d!dL0@>Q^!rVp- zlfJI}j2}9_>%DycJ9xhYmSnuStQs`ramJcIL59f#u;+?8#TOKMBF9}BwX?8(LlC3= z=UShOE_>40tW%IEAWf|+)2jqqCBJb_?bF+};^HCcQMA0KffP7MGjM_evr_B)6JwoFyA;1t29`3__Oks4Ys0T9aCi8o+w_p z(n8K2hY=cy=CYEWPWgVACM&pAsD=^acRPw%&y6uZhnQpC_?gHK(l7LH@j8T+3^x@T*B*Cf0%EZ1J(#&AXy=;qnOHhEn9pS3T%ifcs0hb- zuuJZJ6vrMGT+lUPK9{gnyIq?Y{Oj6;ujy`W!q)^X;LndA7@X^jX`REOi8x==-Kqr| zTAOsYY~d&BZq>rqbhm2ZYr0#t@HO47S_bh|-7Q=A8o{cCf70Emg|F#u)xy_ww`$>Q zqET4NsF#h?4=;V6DQWw+u>P^0(fm(2{$oM&A5HrbM)5p5g4^u|2KCw9e?P?2bh}pO zX}aAA;A#H3^yUp7{5jyz4bTO&M8w;N16O}CpSJk9^? z2x;(l9eJv5H>IFq63f{p?03tUJLPNxJI~-HG$@Pox;*%y1LH7Q(0igU^7dcJ)12Sv zU67SHeGW9#7h<>G&o`7FHWJyE^k5FhxmP()gKv}24?SZK@cWm|K%>zjU4OzrOF!+_ zfW{Ty`3VhlO+`Xhcm;cgED||&d70D!yZ*t@80s3*+|A1;XsNF^+$`VjK4AQ)vpfy& zYlRLurVqYWuy02W=*xoDD!#X0M0vFGV(=VYy`0~j=l527wJj!7hkrflXp1n5r;h%8 zz@-B&Zyl~fgQ9^WSmDxCiMvsdbU-GzKKE@A9{cE;HylS&>b(zbIcJ&C(I*`m>fd2> z2hxycd$3=ryG_#-XawU60}TzA>qOlTSnNonZ(anNG=WAh=+^#th4s8?Gj?jZ$a#T4 z<(j4OuJ`7ZCAs-4~{>&n6Te8OR8UI&%*Buwt@$K0= zA}A24ID*-CL6dnyuAdX+guI_+$&r8M+g0Av)Al)u zK3Klxk0cKU$N`G4dL=+V34Oq)^$IX%-z%RZYWA1u9tSNuKj5;9y zmk&@&zQC=dgpG;E4Aw`_WwXd|7>VXCU|_>s@MYTQn{O8P(poY8t&pt>%Afg*CcD@Q z`C}FxLSMB@uKdU*{C4=6E{As&Sur}~(j88H05Etip7dSL$4$#u)*Amc1@dY3>Y=Y5 zG5uogo0dy`@L(n8Enu`k-&1b~1s?n5##k#x1t0-{+#Wef*WsD4xDYpaCn0%k4O;|dsOn~+3dKZ80x|sO37f|`mlF~KVFBGQoN#5 zzFcQ<7%?k5qvNgqlIo8c>@HwGBNz^KfpNypIR8t%Ptf8(E5Ogl$ZIid%)6kH7+XzPh|0vNK2D*dRC-j<-D^+^w{-AMHEBxA?TA!jUZ=zwE*RaR9^pe@@hLP2%p{kFWPvl+4N0c z(HGp}SgI4{p|4a_Kr4<*!z64eXPm>6^El+68e!;NRFpKIIWO+ox&Vv6w<4>k10TRS9E`U|F2!`dkp5RfqxX=?2-WC z(%*eLe@XwzTiXHxN5bWVzW)M^7~2>PY^8ag13zuqN}G#i>ZjkzZQfe?>~#qTsf5?F z8#PCc_^-xSkI=e)a1!J4TmTbFoI@q2u`Z+Dq^tZC!uM~|Z@5=am@D^4>*$xbd1>NE zNySwjjM_o7Csauxco2Z@^XSeM^iozvZTZfs%MTVMA1MFNT~}4=T4y}Xel&oTtF4o;MY(n%BwTyXj}aaNh;FfhR;behsm;p|Jqr&5vhO9}1$6x5aFm7bMQ+{e7KzgX_OCGfSi zf6RFnELKBE1%;<~KL#ILfWcF?pPU1{oQm2;07J3-_e;s|VlA4Gfc~P?$+3Ki>{_Ve zxa4i#cTwu5Qr|%vr*dp`*n_4E_bw9S2=Q4I?s=>1781?RUs@E7@7j5dK>ZN3xCSL$ zzR}s;f9OmxUtt}vtP-eZ%=6*OlJ{MJ$?&`{)WtE;zjXJHqOYhLEG?j`==&$8!OF<> z-=J>W>}(rN>jIj<``S2HgJkvyICBMO5&GS~RDCjKGC1S<33Y>91I~go+y26>jIML) z4f;!@jyQ#0Ca+2F5g9qYbB^?q=MCeDviMrto=tHYH1iUwZBt&67t&w)dP4lITfBtB z)gc-Mkus{d1Vx7VR9%t^q)(R7u**$7RV^`eGTKy)310r5s4DuSh*@Xr`xh zi0IH2Xjd)!f)qULF`2rCM6X_jBRZErnO9-7{{JOs)%Fh47a#1sS<4-O@Zfd>R+0f? z%&%T42dvU7gH^lEPnwH|D)O@|yGn!`?%a)s61HrYT<&6SI3LSZ@Ei0A0L0+;%SWGG z3hr+0!&b>5Ym@Jnr#{>D4;+88P}3RpsRk3?JbI;I)(+Q=zq_j11J{j#47ZFZx_J?& z)c83%B;5X=Nny0?gyc_#&v1b4-c_8b!??DM1LiGMUh&3%Z4~)`$0!;MuOcH{3Uz%h zM2Wo5Mr^T1aFL^Et47h5m>Bo>Y^j0BE{2xFo@c&|I1Ygpfo*rJz^Naiwq{jayNM;{ zPo8i}uN;sTfPA+-r*zcU)A@#%moL%hfs(ge3-oet+Pk>~2zu~pU4t<{GK5#-Z5wNY zMk;E$|9evuvA3T8CBrFb&YyUDFFIZ&xj2J;93B_SBZn?^gHsnlKnXEwTOlT_zAa|1 zl{_436ZdM6IG3w)?-k=_4lWK50;VE@U^gQye-hj zAL}PweKU8(yhvpK7DH70=TzH$>mNJkkA1M=!hp8>*dEWaj14bzt?V_XLG${{?3ETG z^Htl>@&C_NZRM&I@|EOm<8eF+Sa#1pZ2xMloE+U;OL<=*vOQQ!XYi@E{Xl)ViN5^` z>F@Kj+}F#r8hmgc9TF98r#!g#?k0baDpWb{_L>c2PUVgh>W^4WdDkVi@?JvghMwIc zG*jUXgxTtqG>#wRZAeMQ8zqQnbO_Nx2#n_&XZKjn~Yib$5vfh7| z!PHsrd`r(R8|8d%*3HQu|I_^^6qQBg7+b0g1+uPsMb7G}7gABaK}HVAh&RW15^Z^_ zhSz)$5m6krc@ngK9~%9w-%Ho@dvujl0gb()=FKl|}u&o6Gv5K6fv`Nd7!CRfP5awt7F>B|GWFdK%16FEYT0oqFDBsa9Nq^nUiG>SgW9r<%5UNG$Tqr#&&bQ@!Am7S z&+7H{$xipMj>yZ!w)!3*fq>jwKmLWaZtuJY2qGKK=Ze=i9H7$CcKYp9aSu{jxLw|K zCZE1{XKv(XRP!)y6wmJ8-%cfWBu~{bD!nU3(ie9mZ{@n~hxA$n;do?((yH8o-<_0k z8|nPqZL}Vr>MpzF727n@_x!3Q7Y>S%L}uB07dc}j$?_@p^q`)1BwzKA-SRT_UVCxy zte*DA&<(51D*zLB)AhShqby*w#&o|vc4b(HA9n5)ghjTqP=SoT)wAXF8yQ}J@Y7sT z*n7!BlzDE&w-^ve;ytiwTOf+as9Tm50nRN z2ZY;33|@H$gfD!=gQd$~IO54qdh;D67V|V9Tv@c`#a;WK_Phj$*oNSXUjX6x@fU4k z-nd+NeK#O{duI$vvV ze9ByJ`RZhvsp1*-g6LmlraQk%9z5kP z;!yI&ATSSnwS#$C0rQkDnd!CPq=62?-+W`H_kWX8qOc{?p^p7RAx?xn#rM&(ze@8z@9i`YOl82WNY(ts{R{ZJiV?61S zHHfY~mAs>E^D@<_5s&IhE-!F-xNa-oXQG^o|M8%czltg;7APr7JO3D6eS!tI{eaY> zsvjSttx#EY$ZC9;f7k?*~S8`rh=UhdUOYhfOTJZO#8bFxF}u=r@CN>hyF-+w^trFM~c@ zFSkX{RDfIoib>e=$&MSXc^z96)#!T_QdPVPdmqE-QW*S5y&`~ z4bPeU81qw?RLM%cbZC?51C|}nMlYVTpx25jTFBttaYXBV#)kEYm?+1Z^_{LQ$Qs;{ z=YTv40kfbD%5wZ)TlrJ|s{2%f(WKSuLyWq#8M;i0Y{WXyq(&?(f6z$TOV92WeMa?q z^QZM+XkQF?3s9~4g?i^5&bhq~_f2sBpzGrIJHGD~xfSSf|anB3!-i z^~P+GBYrp|lpngK*p1B3{Mdozy3<8}rdGw!J%5P%h6C%|x?6~8@=SgXArwCv5sEGv zoxzluBl^$_0nBwkcz1!rQwJnY0lB#WxWt~M<`Qns(u(+Hxy0(HXpJV#WPN(#hM56O z#Sl`d-)R;|?*y_Y^m8CSoN5K5}A>sfjc5c)oR{GizO^bwNAkRj1)IXXaa{VOo0@XldBdp0%-D z_w8V9$FOZJ?YM4Empd?@It^_*S_hukk#(*EJlL@wwnHZ?^L;y6Y2(_BR&-*nmhPdh z%$2Ux!bU?!3vgm*E4R3Ip>wWSEJaecJ6p-Fc4IAQNEg=10z`v#K5kHqJ8sOAVFBoN z7xoXz(6DH_;lqO5jH#J3LN%fML&KBRDDx!^b5T*~AdD12rQYl%S}=(9rks9Q%bq^? z)7^wWs~s?r-$Ou@=PWHk*-A=|LpuzjIgX5k%UTz(lC|KkbwS4?smDr|MwMmEffi3; z&7ioLND@?&t0CQYWS;cOA>4Lp!n~;vUUI)d^a@*aVxl7^QDBhFBP@k6IJ+CG6scA_YgS8w#21$dA z6GqQkz;v9)*5HIuz6T4e>2S6MBy?~rQ`fY(jAP+7H}AG$9cxIf9?v=}H{EGsYu2Ua zMn8ddszF=j1?g!#S&-5)Uis`rH$9nu4H_70Oyj+vXv4jjZ%s3Lx39TLcW2JawaiOt z2;?@oF1%C6N=KXUSuw2KIUr!*t|wO47l|Vi{T#eZ$tr0K!~D`vRDXJ6k*YYkN-UY zhBPja`QaBzj|^f18UHdG=fP~W2fnX{50;o^NY?8#nY!s&shK)jHkfs3l4{7|em*gW zDhIP-Dh=iu;0a@dk8efSgIN?^=z-h5L*Ny{>9rv&u}M;TTAJ37tjjbX7{W@LJMzQI zoIdRw4J(;E8v0l{noW=*6#cPki`;@Ud!w;-AB;i1V`;JKkEI3r6QoioSk=cuQ>c&S z2I|vEMhzpOJu*OOk46S`C!stR;uhs;BSR<1A3}8kER?{cBmFcHx@759N01N4AyQC zVX$_C2!l$42!qPC2!mEc93ijaNeP3s8$=jX8blbZ4HRLpc7q6mN`nZ4)@vmUDh<{! zXl>|d;Y5T%rQI3^l?D+8m1}Dlv^H4hV+n&Y*+6RA3qE&A1lFThFQhL~CS3JPhT2vX zV@a};VMj4X(6%F)jZuYBQyrU+FP=cYC2Tf1H903eD@~_0Cs88sk$VS1_v#t z7}7J-wEEPUI%GqpDHfE}w2bsjljY8!Gn#bCvB;IulR{yQNz*j?%q$DksMCX3dL~b& zjJnJzCR2uyHkUEKzV#q*OE&sw#35X6lv$=!y(U?Q@6AfmQt5}xH?($(Ne3Er8#JOA zA^Zgr-XtRx_GJDp@@ZZm%NL|Nf?RT+mUZMlBG`o&0|4Y7NG4)LM(0~^dVtqVRTE9| zhgch)6gYax(g4^p8M#4&s;`10Ck~DHH-J(6NEXmhKDVoprCO_}+@Rt0M#U$Uma&%2 z`DsxNUeueS<4HVaY+^w#E9Y|2S-HZ*@vf^#&QpyV{6e8lla`*GrPuLwl-B}Z2F91s zsDU`KGBb1NaAWcKc2{rT)_ z7$Dbh);72#xfF?E$aEGg^rh`oBOgOi0aT)R;a2P~lC)_$eG(4*YoNB* z9hlm;b_?%S=bi#{F>?7y)~mJErh#O=p&c&(0}i1jVkj@rLUNEbWTwr`fl5%}tIRjL zc8i!`-3GoKa#y9F?sb#SKw-V1$F*CGSPstPb8SMD=igz$Eya;%pjb{nYrqv9hQ73s z&q)JhIWi3pKZgK@K`)fQTOsd3Gj=d%22Cez9t(29+ZcSp`WaZka1(3egf}8Mk<7`k z&>O*6@%=g$fV4hZ&U&8cSReendG8d~jmlG4l7j{kPfyMml?<(9j790Mp5`wcEpjNY301qnLN})y`}*tWg7d? z9HM6r8Li7;(`ip7b2leXXImJB7NL8qENoEni?BX#WwCO)gSHJ(GZ-TS-vo~+Mm}0G zjk%aJbFf3>o;{lSjl+b>7cd`t{=6y7+-DXWE7AU$hymkgvp8y!$HvgT*(`$2yonrp za~^vM3_i(Y{psgIWRRvgtc$r~4qK~|XAqmu2AW@*i&V!9s!JvF+A(J8&$N?;P3bC9yR^OW>1zuHyA`cPRVFhQ;rY7-*OsNfvjnaP?WhvU0H z5(Hm5gsbx9tfvEigu}&OP{OjoKT?-Utz8B0rX@s=({duFOu_e zu>R^&)>ew?Myeo)>z$>{za=l@gST3gV!F!(hM$%qn=ERB zOl|Qh)`;SkGk?tbJh2|MqYz8|S_vv1mk7D@>Jomt0?ELG5|(P69}QW;6@^bX=50(j zoUSfsK7lzIIt`DNMjT4A)N90*Myt=5qQ%j;KrQA1xw+A{w;_BnYBW838@qmS-N7vs zNjOXce-Uo*Ule8k7mIa+sdnX)j5T2pV`#RKlM13CmCV^eeqJ3;J6D1DqE)PMvuy4r zvW*(?jGL$Hf#!`XnVQj@9jvc}7|DG!jJ&63bv3Vq3Y6e zoIL8Z^hB*5xqz4*eh)S^S&ndqBwcKZK3!`{HB8oIrG_S_r`14bpf02_CS|7U^|3fS zsLM0}E!`kepXAVFEed4;JCRA1nDJ-GZZLFl5cWks?S&bS+s%GfaYzZ7-(!(JscBKXTSWlOF9)?2KV!?o6k2j#P?-nZV zw4cp#6pz-qWz>*Ih)Pn*woqI-B9q{Ym`MS- zNV#MNP6Ky9dv1WAiG|2DTz-^hc=Wzg;Y^y4`k!Am~3^}0+PR-IIMD{NNxoI`) zVlUEK8eI(vy{aL;3)z@rnyr5d~KMKJ}V*mgE diff --git a/dev/assets/icons/index.ts b/dev/assets/icons/index.ts new file mode 100644 index 0000000..e68d441 --- /dev/null +++ b/dev/assets/icons/index.ts @@ -0,0 +1,4 @@ +export { default as IconCopy } from "./lets-icons_copy-light.svg"; +export { default as IconMoon } from "./line-md_moon-rising-twotone-alt-loop.svg"; +export { default as IconSun } from "./line-md_sun-rising-twotone-loop.svg"; +export { default as IconCheck } from "./material-symbols_check.svg"; diff --git a/dev/assets/icons/lets-icons_copy-light.svg b/dev/assets/icons/lets-icons_copy-light.svg new file mode 100644 index 0000000..2b4c337 --- /dev/null +++ b/dev/assets/icons/lets-icons_copy-light.svg @@ -0,0 +1 @@ + diff --git a/dev/assets/icons/line-md_moon-rising-twotone-alt-loop.svg b/dev/assets/icons/line-md_moon-rising-twotone-alt-loop.svg new file mode 100644 index 0000000..806f039 --- /dev/null +++ b/dev/assets/icons/line-md_moon-rising-twotone-alt-loop.svg @@ -0,0 +1 @@ + diff --git a/dev/assets/icons/line-md_sun-rising-twotone-loop.svg b/dev/assets/icons/line-md_sun-rising-twotone-loop.svg new file mode 100644 index 0000000..815abff --- /dev/null +++ b/dev/assets/icons/line-md_sun-rising-twotone-loop.svg @@ -0,0 +1 @@ + diff --git a/dev/assets/icons/material-symbols_check.svg b/dev/assets/icons/material-symbols_check.svg new file mode 100644 index 0000000..fe35e74 --- /dev/null +++ b/dev/assets/icons/material-symbols_check.svg @@ -0,0 +1 @@ + diff --git a/dev/components/theme-switcher.tsx b/dev/components/theme-switcher.tsx new file mode 100644 index 0000000..fee39e1 --- /dev/null +++ b/dev/components/theme-switcher.tsx @@ -0,0 +1,18 @@ +import { IconMoon, IconSun } from "@/assets/icons"; +import { useThemeContext } from "@/contexts/theme.context"; +import { Show } from "solid-js"; +import { Button } from "./ui/button"; + +export function ThemeSwitcher() { + const { theme, toggleTheme } = useThemeContext(); + + return ( +
+ +
+ ); +} diff --git a/dev/components/ui/button.tsx b/dev/components/ui/button.tsx new file mode 100644 index 0000000..cbf8902 --- /dev/null +++ b/dev/components/ui/button.tsx @@ -0,0 +1,53 @@ +import type { JSX, ValidComponent } from "solid-js"; +import { splitProps } from "solid-js"; + +import * as ButtonPrimitive from "@kobalte/core/button"; +import type { PolymorphicProps } from "@kobalte/core/polymorphic"; +import type { VariantProps } from "class-variance-authority"; +import { cva } from "class-variance-authority"; + +import { cn } from "@/utils/cn"; + +const buttonVariants = cva( + "active:scale-95 transition inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: "border border-input hover:bg-muted text-foreground", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 px-3 text-xs", + lg: "h-11 px-8", + icon: "size-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +); + +type ButtonProps = ButtonPrimitive.ButtonRootProps & + VariantProps & { class?: string | undefined; children?: JSX.Element }; + +const Button = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as ButtonProps, ["variant", "size", "class"]); + return ( + + ); +}; + +export { Button, buttonVariants }; +export type { ButtonProps }; diff --git a/dev/components/ui/card.tsx b/dev/components/ui/card.tsx new file mode 100644 index 0000000..f39874c --- /dev/null +++ b/dev/components/ui/card.tsx @@ -0,0 +1,43 @@ +import type { Component, ComponentProps } from "solid-js"; +import { splitProps } from "solid-js"; + +import { cn } from "@/utils/cn"; + +const Card: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return ( +
+ ); +}; + +const CardHeader: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return
; +}; + +const CardTitle: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return ( +

+ ); +}; + +const CardDescription: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return

; +}; + +const CardContent: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return

; +}; + +const CardFooter: Component> = (props) => { + const [local, others] = splitProps(props, ["class"]); + return
; +}; + +export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle }; diff --git a/dev/components/ui/select.tsx b/dev/components/ui/select.tsx new file mode 100644 index 0000000..e44fa2d --- /dev/null +++ b/dev/components/ui/select.tsx @@ -0,0 +1,226 @@ +import type { ComponentProps, JSX, ValidComponent } from "solid-js"; +import { Show, splitProps } from "solid-js"; + +import type { PolymorphicProps } from "@kobalte/core/polymorphic"; +import * as SelectPrimitive from "@kobalte/core/select"; +import { cva } from "class-variance-authority"; + +import { cn } from "@/utils/cn"; + +const Select = SelectPrimitive.Root; +const SelectValue = SelectPrimitive.Value; +const SelectHiddenSelect = SelectPrimitive.HiddenSelect; + +type SelectTriggerProps = + SelectPrimitive.SelectTriggerProps & { + class?: string | undefined; + children?: JSX.Element; + }; +const SelectTrigger = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectTriggerProps, ["class", "children"]); + return ( + + {local.children} + + + + + + ); +}; + +type SelectContentProps = + SelectPrimitive.SelectContentProps & { class?: string | undefined }; + +const SelectContent = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectContentProps, ["class"]); + return ( + + + + + + ); +}; + +type SelectItemProps = SelectPrimitive.SelectItemProps & { + class?: string | undefined; + children?: JSX.Element; +}; + +const SelectItem = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectItemProps, ["class", "children"]); + return ( + + + + + + + + {local.children} + + ); +}; + +const labelVariants = cva( + "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", + { + variants: { + variant: { + label: "data-[invalid]:text-destructive", + description: "font-normal text-muted-foreground", + error: "text-xs text-destructive", + }, + }, + defaultVariants: { + variant: "label", + }, + } +); + +type SelectLabelProps = SelectPrimitive.SelectLabelProps & { + class?: string | undefined; +}; + +const SelectLabel = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectLabelProps, ["class"]); + return ; +}; + +type SelectDescriptionProps = + SelectPrimitive.SelectDescriptionProps & { + class?: string | undefined; + }; + +const SelectDescription = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectDescriptionProps, ["class"]); + return ( + + ); +}; + +type SelectErrorMessageProps = + SelectPrimitive.SelectErrorMessageProps & { + class?: string | undefined; + }; + +const SelectErrorMessage = ( + props: PolymorphicProps> +) => { + const [local, others] = splitProps(props as SelectErrorMessageProps, ["class"]); + return ( + + ); +}; + +export { + Select, + SelectContent, + SelectDescription, + SelectErrorMessage, + SelectHiddenSelect, + SelectItem, + SelectLabel, + SelectTrigger, + SelectValue, +}; + +// --- + +export function SelectComp( + rawProps: ComponentProps> & { + renderItem?: (item: T) => JSX.Element; + description?: JSX.Element; + } +) { + const [local, rest] = splitProps(rawProps, ["children", "renderItem"]); + + return ( + + ); +} diff --git a/dev/contexts/theme.context.tsx b/dev/contexts/theme.context.tsx new file mode 100644 index 0000000..4e29d12 --- /dev/null +++ b/dev/contexts/theme.context.tsx @@ -0,0 +1,93 @@ +import { useLocalStorage } from "bagon-hooks"; +import { + createContext, + createEffect, + createSignal, + FlowComponent, + Setter, + useContext, + type Accessor, +} from "solid-js"; + +// =========================================================================== +// Context +// =========================================================================== + +export const themes = ["light", "dark", "system"] as const; + +export type Theme = (typeof themes)[number]; + +export type ThemeContextValue = { + theme: Accessor; + setTheme: Setter; + inferredTheme: Accessor>; + toggleTheme: () => void; +}; + +const ThemeContext = createContext({ + theme: () => "light", + setTheme: () => {}, + inferredTheme: () => "light", + toggleTheme: () => {}, +} as ThemeContextValue); + +// =========================================================================== +// Hook +// =========================================================================== +export const useThemeContext = () => useContext(ThemeContext); + +// =========================================================================== +// Provider +// =========================================================================== +export const ThemeContextProvider: FlowComponent = (props) => { + const [theme, setTheme] = useLocalStorage({ + key: "quarta-theme", + defaultValue: "system", + }); + + /** For logic that relies on literally just `light` or `dark` themes (i.e. CodeMirror). Also infers system. */ + const [inferredTheme, setInferredTheme] = + createSignal>("light"); + + createEffect(() => { + let themeValue = theme(); + + if (themeValue === "system") { + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + themeValue = prefersDark ? "dark" : "light"; + } + + themes.forEach((themeName) => { + if (themeValue === themeName) { + document.documentElement.classList.add(themeName); + } else { + document.documentElement.classList.remove(themeName); + } + }); + + setInferredTheme(themeValue); + }); + + function toggleTheme() { + if (theme() === "light") { + setTheme("dark"); + } else if (theme() === "dark") { + setTheme("light"); + } else { + setTheme("dark"); + } + } + + return ( + + {props.children} + + ); +}; diff --git a/dev/pages/+Layout.tsx b/dev/pages/+Layout.tsx index d644227..c0b5c3e 100644 --- a/dev/pages/+Layout.tsx +++ b/dev/pages/+Layout.tsx @@ -1,9 +1,10 @@ import { type FlowProps } from "solid-js"; import { useMetadata } from "vike-metadata-solid"; -import { Head } from "vike-solid/Head"; -import { usePageContext } from "vike-solid/usePageContext"; import getTitle from "../utils/get-title"; +import { ThemeSwitcher } from "@/components/theme-switcher"; +import { ThemeContextProvider } from "@/contexts/theme.context"; +import { getRoute } from "@/route-tree.gen"; import "@/styles/app.css"; useMetadata.setGlobalDefaults({ @@ -16,25 +17,43 @@ useMetadata.setGlobalDefaults({ }); export default function RootLayout(props: FlowProps) { - const pageContext = usePageContext(); - return ( <> - - - - - + +
+
+ +
+ +
{props.children}
-
- - {props.children} -
+
+
+

© 2024 tsdot & doT.js. All rights reserved.

+
+
+
+ ); } diff --git a/dev/pages/demo/+Page.tsx b/dev/pages/demo/+Page.tsx index 2836479..511f16a 100644 --- a/dev/pages/demo/+Page.tsx +++ b/dev/pages/demo/+Page.tsx @@ -1,85 +1,171 @@ -import { onMount, VoidProps } from "solid-js"; +import { createSignal, onMount, VoidProps } from "solid-js"; import { createStore } from "solid-js/store"; import { useMetadata } from "vike-metadata-solid"; import getTitle from "../../utils/get-title"; -import { useDebouncedCallback } from "../../hooks/use-debounced-callback"; - -// import doT from "@/../src/index"; +import { Button } from "@/components/ui/button"; +import { SelectComp } from "@/components/ui/select"; // Corrected import path +import { cn } from "@/utils/cn"; // Assuming @/utils/cn maps to your utility functions import doT from "../../../src/index"; +import { demos } from "./demos"; // Import Demo type and demos here -type TemplateData = { - name: string; - messages: number; -}; -const INITIAL_TEMPLATE = ` -

Hello, {{=it.name}}!

-

You have {{=it.messages}} new messages.

-`; +// Use the first demo as the initial state +const INITIAL_DEMO = demos[0]; +// INITIAL_TEMPLATE and INITIAL_DATA_STRING are no longer directly used after onMount export default function DemoPage() { useMetadata({ title: getTitle("Demo"), }); + const [selectedDemoValue, setSelectedValueDemo] = createSignal<{ value: string; label: string }>( + null + ); + const [values, setValues] = createStore({ template: "", data: "", result: "", + error: "", // To store error messages during compilation or parsing + selectedDemoId: INITIAL_DEMO.id, // New state to track selected demo }); - let templateFunction: (data: TemplateData) => string = () => "No result"; + // Type for the data passed to doT.template + // This type is just a generic example, the actual data structure will vary by demo + type TemplateData = Record; - function setTemplate(value: string) { - setValues("template", value); - compileTemplate(value); - } - - const compileTemplate = useDebouncedCallback((template: string) => { - templateFunction = doT.template(template); - }, 200); + function handleCompile() { + setValues("error", ""); // Clear previous errors - function setData(value: string) { - setValues("data", value); try { - compileData(JSON.parse(value) ?? ""); - } catch (e) { - console.log("invalid json."); + // 1. Compile the template + const templateFunction = doT.template(values.template); + + // 2. Parse the data + let parsedData: TemplateData; + try { + parsedData = JSON.parse(values.data); + } catch (e) { + setValues("error", "Error parsing data JSON. Please ensure it's valid JSON."); + setValues("result", ""); // Clear result on data parse error + return; + } + + // 3. Render the template with data + const renderedResult = templateFunction(parsedData); + setValues("result", renderedResult); + } catch (_e: any) { + // Catch compilation errors from doT.template + setValues("error", `Error compiling template: ${_e.message || _e}`); + setValues("result", ""); // Clear result on template compile error } } - const compileData = useDebouncedCallback((value: Object) => { - console.log("compiled data"); - setResult(templateFunction(value as TemplateData)); - }, 300); - - function setResult(value: string) { - setValues("result", value); + // New handler for when a demo is selected from the dropdown + function handleDemoChange(params: { label: string; value: string } | null) { + console.log(params, "asd"); + if (!params) return; + console.log(params, "asd2"); + const selected = demos.find((d) => d.id === params.value); + + if (selected) { + setSelectedValueDemo(params); + setValues("selectedDemoId", params.value); + setValues("template", selected.template); + setValues("data", selected.data); + setValues("error", ""); // Clear any existing error when changing demo + // Trigger compilation and render for the new demo + handleCompile(); + } } onMount(() => { - setTemplate(INITIAL_TEMPLATE); - setData(`{ name: "John", messages: 5 }`); + // Set initial values from the first demo + setValues("template", INITIAL_DEMO.template); + setValues("data", INITIAL_DEMO.data); + setValues("selectedDemoId", INITIAL_DEMO.id); + // Trigger initial compilation and render on mount + handleCompile(); }); return ( -
-

Demo

-
- setTemplate(_)} label="Template" /> -
- setData(_)} label="Data" /> - setResult(_)} label="Result" /> +
+

TSDot Demo

+
+ {/* Demo Selector */} +
+
+ + d.label} + optionValue={(d) => d.value} + options={demos.map((d) => ({ value: d.id, label: d.name }))} // Map demos to their IDs as strings for the options + placeholder="Select a demo" + // The class for the trigger can be passed directly to SelectComp + // as it will apply to the underlying SelectTrigger component. + class="w-[280px]" + /> +
+
+ Description: + + {demos.find((d) => d.id === values.selectedDemoId)?.description} + +
- + setValues("template", val)} + label="Template" + /> +
+ setValues("data", val)} + label="Data (JSON)" + error={values.error} + /> + +
+ + {values.error && ( +
{values.error}
+ )} + + + +
+

Live HTML Output:

+ {/* Using innerHTML to display the rendered HTML is intentional for this demo to show results. + In a production app, sanitize input or use a safer method if displaying user-generated HTML. */} +
+
); @@ -87,23 +173,44 @@ export default function DemoPage() { type CodeFieldProps = { value: string; - onInput: (value: string) => void; + onInput?: (value: string) => void; // Made onInput optional label?: string; + readonly?: boolean; + error?: string; }; function CodeField(props: VoidProps) { return ( -
+
+
+ {props.label} +