From 1303acbb068f43795e4caf367bff28cbb3428fc2 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Fri, 16 Jun 2017 11:50:25 -0700 Subject: [PATCH] touchup --- pitfall/fontkit/subset.rkt | 22 +++------------------- pitfall/fontkit/ttfglyph.rkt | 8 +------- pitfall/pitfall/embedded.rkt | 2 -- pitfall/pitfall/test/test12.rkt | 6 +++--- pitfall/pitfall/test/test12crkt copy.pdf | Bin 24331 -> 4474 bytes pitfall/pitfall/test/test12rkt copy.pdf | Bin 44184 -> 6354 bytes 6 files changed, 7 insertions(+), 31 deletions(-) diff --git a/pitfall/fontkit/subset.rkt b/pitfall/fontkit/subset.rkt index b636f174..a59fa6a0 100644 --- a/pitfall/fontkit/subset.rkt +++ b/pitfall/fontkit/subset.rkt @@ -43,7 +43,6 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js |# (define-subclass Subset (TTFSubset) - (report 'in-ttf-subset) (field [glyphEncoder (make-object TTFGlyphEncoder)]) (field [glyf #f] [offset #f] @@ -52,15 +51,11 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js (as-methods _addGlyph - encode) - - (report 'in-ttf-subset-end) - ) + encode)) (define/contract (_addGlyph this gid) (index? . ->m . index?) - (report 'in-ttf-subset-addglyph) (define glyph (send (· this font) getGlyph gid)) (define glyf (send glyph _decode)) @@ -83,12 +78,9 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js ;; skip variation shit (push-end-field! glyf this buffer) - (report 'updating-loca) - (hash-update! (get-field loca this) 'offsets (λ (os) (report* os (list (get-field offset this))) + (hash-update! (get-field loca this) 'offsets (λ (os) (append os (list (get-field offset this))))) - - (report 'updating-hmtx) (hash-update! (get-field hmtx this) 'metrics (λ (ms) (append ms (list (mhash 'advance (· glyph advanceWidth) 'bearing (· (send glyph _getMetrics) leftBearing)))))) @@ -103,7 +95,6 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js (define/contract (encode this stream) (EncodeStream? . ->m . void?) - (report 'in-subset-encode) (set-field! glyf this empty) (set-field! offset this 0) (set-field! loca this (mhash 'offsets empty)) @@ -111,17 +102,12 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js ;; include all the glyphs used in the document (for ([gid (in-list (· this glyphs))]) - (report gid 'adding-gid) (send this _addGlyph gid)) - (report 'all-glyphs-added) - - (report (· this glyphs) 'glyphs-added) (define maxp (cloneDeep (send (· this font) _getTable 'maxp))) (hash-set! maxp 'numGlyphs (length (· this glyf))) ;; populate the new loca table - (report 'doing-loca) (hash-update! (· this loca) 'offsets (λ (vals) (append vals (list (· this offset))))) (loca-preEncode (· this loca)) @@ -129,10 +115,8 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js (hash-set! head 'indexToLocFormat (· this loca version)) (define hhea (cloneDeep (send (· this font) _getTable 'hhea))) - (report (· this hmtx metrics)) (hash-set! hhea 'numberOfMetrics (length (· this hmtx metrics))) - (report 'encoding-directory) (send Directory encode stream (mhash 'tables (mhash @@ -147,7 +131,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/subset/TTFSubset.js 'fpgm (send (· this font) _getTable 'fpgm) ))) - (report* (bytes-length (send stream dump))) + #;(report* (bytes-length (send stream dump))) (void) ) diff --git a/pitfall/fontkit/ttfglyph.rkt b/pitfall/fontkit/ttfglyph.rkt index d60ef7c1..6bb98e91 100644 --- a/pitfall/fontkit/ttfglyph.rkt +++ b/pitfall/fontkit/ttfglyph.rkt @@ -76,8 +76,6 @@ https://github.com/mbutterick/fontkit/blob/master/src/glyph/TTFGlyph.js (define glyfPos (list-ref offsets id)) (define nextPos (list-ref offsets (add1 id))) - (report* glyfPos nextPos) - ;; Nothing to do if there is no data for this glyph (cond [(= glyfPos nextPos) #f] @@ -108,12 +106,11 @@ https://github.com/mbutterick/fontkit/blob/master/src/glyph/TTFGlyph.js (hash-set! glyph 'points empty) (define endPtsOfContours (send (+Array uint16be (· glyph numberOfContours)) decode stream)) - (report* (· glyph numberOfContours) endPtsOfContours) + (hash-set! glyph 'instructions (send (+Array uint8be uint16be) decode stream)) (define numCoords (add1 (list-ref endPtsOfContours (sub1 (length endPtsOfContours))))) - (report numCoords) (define flags (reverse (for/fold ([flags empty]) @@ -131,9 +128,6 @@ https://github.com/mbutterick/fontkit/blob/master/src/glyph/TTFGlyph.js (append repeated-flags (cons flag flags))))) - (report flags 'my-flags-homey) - (report endPtsOfContours) - (define glyph-points (mhash)) (for ([(flag i) (in-indexed flags)]) (define point (+Point (zero? (bitwise-and flag ON_CURVE)) (and (index-of endPtsOfContours i) #t) 0 0)) diff --git a/pitfall/pitfall/embedded.rkt b/pitfall/pitfall/embedded.rkt index 06f583a6..ff50b214 100644 --- a/pitfall/pitfall/embedded.rkt +++ b/pitfall/pitfall/embedded.rkt @@ -8,7 +8,6 @@ https://github.com/mbutterick/pdfkit/blob/master/lib/font/embedded.coffee |# (define-subclass PDFFont (EmbeddedFont document font id) - (report 'embedded-font) (field [subset (· this font createSubset)] ;; we make `unicode` and `width` fields integer-keyed hashes not lists ;; because they offer better random access and growability @@ -46,7 +45,6 @@ For now, we'll just measure width of the characters. (define/contract (encode this text [features #f]) ((string?) ((or/c list? #f)) . ->*m . (list/c (listof string?) (listof (is-a?/c GlyphPosition)))) - (report 'in-embedded-encode) (define glyphRun (send (· this font) layout text features)) (define glyphs (· glyphRun glyphs)) (define positions (· glyphRun positions)) diff --git a/pitfall/pitfall/test/test12.rkt b/pitfall/pitfall/test/test12.rkt index 8ea2df78..f3b98066 100644 --- a/pitfall/pitfall/test/test12.rkt +++ b/pitfall/pitfall/test/test12.rkt @@ -15,10 +15,10 @@ ;; test against non-subsetted font version (define-runtime-path this "test12rkt.pdf") -(make-doc this #f proc #:test #f #:pdfkit #f) +(make-doc this #f proc #:pdfkit #f) -#;(define-runtime-path that "test12crkt.pdf") -#;(make-doc that #t proc #:pdfkit #f) +(define-runtime-path that "test12crkt.pdf") +(make-doc that #t proc #:pdfkit #f) #;(module+ test (define doc (make-object PDFDocument)) diff --git a/pitfall/pitfall/test/test12crkt copy.pdf b/pitfall/pitfall/test/test12crkt copy.pdf index e5b8cac069909afd6da450b99f50fa9e9fce3d3d..22392aabdbea267a5c06e190499e999ef5e18d02 100644 GIT binary patch delta 2690 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 delta 22702 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 U$)0PRxy=lW&A3!mUH#p-02cOdr~m)} literal 44184 zcmeFaXMAJD6*oL{Wm|5tCE1c}$!eBWEEma=CAs&u>s@c}y%)B@LRes_%Mw^Rgb)aU zB=nGwrDjMP=i0Ed@WkV^^(|Bzn_Nv{ zj3%CFjJX!>6n%`Kwz+UcM>rhDwQvMS6h||T7>>AFPpEZjYr)Z~{=E)oYFm$EgIcHG z(la*Vp!z2DNZ0B9%{b^?^qY8>E4<3JaAx7)!oqol1XOi&DtHrFQ0T|7Pu{kB*TA}y zH@N}>ZB4D{S(E5Gp0vESFeL8SeUd9McgDie84J+@;BP!-!=|jJ4C-34o~=T-ITDV> zvtZ0PW2}Uo!!&H|oCTrCCDr@iW{ht|>)OQwvzP8UxKCj$cO{NDHtbxtXY(TmaH*(+ zv7A3`_`=C9_O-lw7&H6@jn>V3w(QJXc0++9w7<=9 z9R2$`?jI9l#b|nNH@eo8cKn?cXx>FTdtUQ+w>&@bQEE-9Jm*f$5Ak;a!@c4kV5E5| zWyF}D#`U#1cZw&e7scrhqU8^4Gt;s;EJwXwh+Y5=R4@&HkYB-aS-$eHatOb1F%z8$a)6A)H6~o2lR9{#qQXaRk-6 z4d;k@4C7pnqYl4Wi=!9MIG3J7XZ|)zXzpgSl(SQxDl3^=*~jXX2XOAeQOPQm2l4ms zn41qU4}X{yD;v&GqHe|eNAdm^95&qVXBMRl_n*Zaz*Ufs;oYsw%Kw!5OruF9`6sNH|2dW7 zFX8=fvtGRORh)Y;{v{l6N1qAiUUqwGjZ&Zb7wUPqr(0Rgg6vzYo?nf3A7y^_cX2c- zUFcUovs2%37{o!i_&wk;#=b0Yb~W%t$5AoPEjfh8w^;}7-HPKS96NBV!?791P8?6- z*pA~Mj{DW~gE;RXYS*k!{h04(F2KH!V6J%+`1}&9QeMWHU}I&u1Pe_Q;IWRC349Vx zk39&#gxjn`;C6tSa4y4Pn8YjLHv1sl5?-^9G+u!}!r`<7_!PJ#e5McTZw2sCk($8q z*(4qbmstnllJJ;)r17YUvoC1QXZ?bX)ida}6tw6eS_9l(2btC>6X3G=XOlr_wQ(#vX4`j{7` zpZQY%U;*YwS<3<_gRB;19Sf%Z&cG8;Hn4h>jjRD>h&84@W?>dW*~G#qBdiH!ltoe> zv1S%U8Dq^T<1B_UA<7mOPyLOxvINRD)`GH~wW91`ZK=P4Pqw4%VjU>EStrUK)|L7T z>t)?2`&bXke%6a}fc2&R%m!IM${{v@a+nRG9AQH!XRzVapV&+`f^wA2Ksk%eL^+#{ zrv8XkViw9dY&OcdYz*Z*HYfEVn=i@*Y%b~x**uhs*!(4OHi(0OHr<5%TTUj%TcaoD^l;VHEboywQLp2b!;`t^=wV*UABR(MY)l!L%E5q zN4c48NWH_hu#G6UvP~$rvCSyAvn{E&*$Heb${lPQ%AKOz#kQlqo1KvQ1KY!PpgfW7 zM0pb1g>o<3o%%gHne9P&3OfkZ?S#sWR$0|Q&67HzJT%!c53Q(Y(LwF z@=SIb%Cp$%D9>hRpgf1|Prb>`WoM#1kDZ0`06QDy`Rtt38|)xE7v%-)Jd|H#2T)#! z^0(|Fc0S5O>>$dE*##&sVP8zW&MsvaqP&b3O( zyCwAsyNlh5^4sh-l-~j0e}&!6?nwQDeV5&d@-X`r%6r&dDDP$8PQA?TW8Xn}Kf4>{ z1MIsfA7qD7evjRgdWjuj_o94=-G}lhyC3B^dm#05_Aq-8<@ee5P(C8cN7<3o&)8$^ zA(W4^qbPsC#!>!|J)HU}dxCu*<&*3YluxloQT~WMhVsYk@zjf0Repf-8TLbz&$1^_ zKF6L+y}*9Lo+BaOf6HD$`3CzX$~W1sQqQp8 zv0tNni@l2S_v|&4e_+2!JChcN9+TXAB*zu>_gQ5!Ty+fl6}Jdgz{7N zXO#bBe?j>#_E(gjvA?CBVE<+xp`2hJqfD~DqfD`Xq)0~8$U~DanS9@x_K7XJ#SXbZB7z#Hc@-?9ipa z3)}c>(d&yZXIET(#@ZLbhS>Ifr?Kn4`mM{pwELoMr}pOml0A2L13O{I&Rr*-bjlY_ zzxKv2-}LoweDmg8Zo8e``R(s~_sX-*KIh!?&Odm;7cXQvkX0CK!Ag^Z)yao-WDU69 zS(q^?-o*R(0=|y#<7e@!lpiU-ah1EQE{Chy<%8bR<{EHUR~tW5#5(H2F9Z1HI?UF) z@ylL5pRdI)&%`gEQhw3A73*d6wF_(S{e)$R@{1#~aOw5nH;K>IuA1(*q{SD^Go8Y$BfuCIquJsl0uS4Kl zUkBH^5!~t)jQgA5PCo}%x)VI^JaG0;fA4)wMf^O6_^{%1A8t>5jrJiN3L#{(J zHXd>fxwfv`csR!^&bYAY(6W&0Fk7&68_I=C-G_UY*(R%-mMv?;b8_f8_z7-5v0(G;4%O}X`>uEQGN+@aKu^MbgZFQ2kt>ERyRVYckhA$sP5r5^X;a}FJ{9l|)&zmKrTj%ncR*oGdp z0g%8m0ExjP{G7RX7)~CyjT$^|j~o45Hh^~*)Q>J$I*6XSmo*T~>o9|%M=+%hN+6jM zPQ|?XIv?SKr0Ya#xOw z=!3}~`rBPm;l@kr`EA^(JOiD`#)glus?ZT;#8HJu=e&p`L`0{2j8^?aP=2UpMY}Zw zSkbzxp)up;5;Ri3OfQC;%KVL-`a@kQkqxhTNJr4MB=yo}% z<)NlUP4u=bkhwaWdk|Jm?*=&I0!{*U+{ zmA@qCTt&TwZgoBXoAM6yy*lV>zZi#tr$8yB&X=K9E^4Kyg~Tw*&>i;TQ4A`?N)5(V zbP(9c6F8u2MYv|g?`y?1E3Q?FYvp1XM;M)JUX*7a?ybXhdd^Y2T-E^3GQd+%Tn!Oe zO%}x&slg~IPTXOl1`{)W^zQ0$wfPcMp!kXrO>(X)t7-trKwRz_~yS zp##+B1GOE6u;^nk0jn0ZmWEZBKoib_m75yeSrlcX2Ac$)5g;=Nkc9yrOlEKzVsPc4 zU>jNhQt>u73#)IFwIj@ptG&1i+9P`Mc?d{m&{iVEV^Nc~glnA~H0Uqkp6W&=)|?>r z)TKlt4n=S%qD2S(Oz`q(DAo{&g(fUjxyHn^BP9X**owmqk+qS~SgZ5=+FDyvzdz93 zP%$)XX~1Xp$6d3!`307~rbv6D&Oey^x2vtHEI$w^3@!34&#kS9)YUm+Bf(QU0wcB6 zoekECK*HHE&ttZA)>gL#D`4Cw%N5xizXcnfftkiZu96DDUyF(1*MT-LtPbw?(9{uJ zRqG4{lwO_N=BZ!HkJgWR@{01xj1}%kaOny>Z+q$_exC9?c)EKWI8?wSv9e@1Wa`mPI*Iadha*Oft2kv>q5G;N5@h4t0$bRCv2|TytnCEKo zG)ea~8l8A?lt@cP;fsK!@H7Z=)u2g>OA5{fw0aoaCbz+3aL3#R{s`A5 z|Jj!Ol;KgSPJ6IU0$BU2t=JNmq4s*OGYpJUDaa z;NXlI%3Y1i&RwwJ+-0GVJU51}{qi+mzV@1Ht`%d3g^}@R(f49jKQ3UNp9RAl>QWAM z=^+4xxLF=Xk_XcQH-H_vW8K`KjV1Vk;vLC*_7;EbSIS)zSC{4n>+%eWwJHdP2Foww z|HSjXY{57d3OSDnyM@dpxG)D?lq|TY{4}#VX{Zw#*$F%hogh{U`UA7{CZgy?mqv0- ztw~CaX|@Q8<427R$)@?|ENvX>w$xcn6;_9{b#^E`J8o}Sa`u8bi*D)e-?d>?)5x46 z-3g@*t2G*^utkP~p_LnU_YvjQrvA=9ME|?ks&SZ>6_^%ib+zK$A^J};3;5F{UK7;a zMAnLtPYwCh|DynTK1<+dB!kdM5*SHPjD!=fNh22=lH`m?7Z^P)1=?6dMYN~-*g@v; z&V?&#`c}0y%xJE1Rp?8cfd=qp%dC-NTS;zF?yNb3ZLy%CqQc=!jD;FzM5{*my1d1M z!I=q|Q2b?Pd+wr&in=y;N3Wu^^MTHeA^U2bqoOk8vsBb~`PxYSSKt$PRk10z0&P0h z{&`%b_(f26Zs_wkOOfC#kV!F*-LV25HSlkpc;f8jBYaWvAD<|?uJU2wV*TrI~?G@ zWn03n+%)!MeN}X*F1(<#T5qj3S{$0i#TCJJ&)7&FpGk0yfOqJiyI4U78;`I$jL?Up z4x=P7-$Z|-Q$-jbts^E@BsywBnmS{UVGSt|ys$Ng?OFruepM%JYy zcwRZy&`FZxkvl zIJ%_A8<=^*z}g#5?8{3Y(mPA`onZ_22ga639y1KuDFYr0SjRXt0R@wQ=1>mKT8w5o zN6aQ55(r4q`{+DXq+k>L!cs?fNc!dq!toGn?bad;F*3x~QrfHZ7 z0cJt~6c%)ugukPZ1k9>(VOMKMm>E|iazLu6R{|n4Te2BI0%B5{i{(N16Q}{BZ&Y}% zzqT)7t#=#e?jIg;cP?s1oX+S-2{4J{h!on0B3#ZR=31UiO{uDZ&| zaHw)=dtf-`v`2@7`(pLG0)1gyWkXj@WJ%OE5bc{cqr*{G<02SBP)&ns0*4+()2>RzC;i4K zumH@`8YV^FXhZ{{7kr$ATmk_UaN^@%EuJ;lHD}gH+h0z;%Du3!VOHEx)3ZFj{nY4& z%UAL4=BDjC)+|`KH2He`f+c=u%bcd>#oeASo;LH+{aaw)P~a*1g#DH*80hGnjI;nN z3r0oja{PS;GN!*$T+l3M5Vh9DdgK9A`mb%pv!c+8c3B*Br`3j|-;M^kRBfyb1`CLZVSqM!Yd z54)fGQJ0|g1lE}AvA$cO_^lZy2@O9aZUOEp77FTj4Rhc@=s74K#5B3qt3;8JRkF21 zGB!c0z%+5AYc^ryiV>mLacy3;G;d9+Z&||WTd^x=^ydX~^K=}TC_VTZQ_zBg$I6XThc+M?N_+z(&%a<*@rtSMMnXgtlR=|ycJ zYJI4YI1*&d7}-%sHnNtcxe=PXBMkIUkl+yC=oul@Oro{~wQkgoun`P%j$n2SKbRu{ zUIHswnrkJ9%QZr5)k38u6*Zo)kQVFngUR8dgaMeGr@9kAl7JEImV~wue+%{)jdXKm zys#+GpR2Kyl{cE*-rAYlx^LdGKf3z-x%~&bOXglTyy&X7Jy&*oeaW12mWEq=Tf;MJ zhduEjyUn{f9*P=Q<`(CAIvT8Xf#z5(f44Gb|8}`8zuaQA`uB9VZJbfNaqr>z7p!is z@m4p~wYHpa-;WN)I~o_BGO~MdTlegOU~uuw@M3QyZnO9}cel@PO0@L-4CH`#2&NoT zZpWfgjyM99gJi^3wLwQ9)yXBg4B(?hkjR$AU!sy+Oo?I~r6eVl!TJR0+V7ESf1*qi z)$rAS>3FM4JM!UhVeb=d?=N^}i*ozKWyQ6%xh0Q2T9R8^TdbUvJdc}zRt*+=rZi&B zC7q;}T`gtrQh_`0Zh=n{e7r1QP__p1GZ!+F{EKuJvRP2)tXcFvO|mMYF%`)%SuiFk z9OvR}5sxjx14_i`Xc;HT3RYG;yqd;HG_MsZwnu0ZuymA}BSN7e8O0z)UeFD9?LFzr zGS$PnQ{^EYs5fy zg1unTHG?}zozsSKkTJUiEwBhq@~dh1%jld^qr&hp9Dank@h{VIW!p53~s8q z-85AG+m@1&cWx;u4223yZsElxhUSTh^l-0QR60>IO;OS&1U8avo;JXT_-Ss^gB21c=IG#%9Qjjf{;nvR?j1qEz>0dSr&- zf2T)v!f%&B8*Hewlg-;f!NmUpQ&W7Wq?iJZzotvTqNIg2)@ zt)&?QPR0f#T{yPMF?mIea1|uVG?j8P0r(qX5IFAKOT>Uk<*Nz9z9pN6YkTS|BC8HA zSh1<4w4|!V(YlHz;F|Wv7Q-;_!#Mx!30QjPtZbTd&Wa}cO;e`fi(<&YCDHHWz@>-X z1Hm8T%EM8E4mmMSC+HN?91x(vUqoa&@fTU(rpcNa{!&2LMBv{f!^w7>3Gp=B=u8@| z8Gx2^SJHDnUPqK{z$@i!rkPAmFFRe)s~ni%rBx`~Tqh}DlxeM?qWusCTqgkC^Bd5*N z5*m34(Q!8AlKKZPD|${;tDB_S$zFSU42GTwQKZQ;-6^8W;?&3d2>M`Q^Q4zj(j{r4 z1h{l>RJNW0dxkrbu=)_5MExMqm8^1D!=aRx!6!t(BZsAM4>=&v#AAkJ|3sHz%igZR zmWq->L;gsca-x7#@@p3zsJQ(souZtulW)oJz`f|7i(NjBMN)D;>A!@X7Nb6{H&s>n zGu^ci@L+JBBpW9+I3-soM(>G@f+*4V3|Gj&mXsi)3S%?QiV%1enx3jUQmnp^AOxjY2Ypjx;`KT4hE-yg>5ssl6Ax+SY9_bbs7x_#OCj(w)`IiD&iu9wewh z*kzhNfr}&Km^x{{S{f^4+{PM(Rp@i^qRK=Wyp$0d%ChiMNez`*4H-loiyC@gnNVYh z@Z|&`B$?m~tx&I!BRPFfHqvaz%xjHDBWAXH?f>ETCy(Oq2J{pY^IKi2);*!lC? z{4&J}Oxco!{BO?m^dT5EPh6pFo_M`1pYUb{zxyuWQ^{^74?6T_9995bL9fV4Pyloo z1(%~KW6I+2({QOu#2H9UQL>5XD+p2*1gYZz#;5{DO3g@rjD5)i#*Rq0x6K8MTvK>ntIO3oPdU7_>EQg`OGf6`2RGh!>xQNA z!0g>aL%V0!*3x;`Y#NwC@`$j{RbpIc%W;tpgGQ9bD!F^%;Xwz}Sf%A8J+^6>&ESn3 z)@i3`1s;;&JW}40n3AG_Cxfv`!>i9P7!6!;($nDya;*?dem}Bpz+Kb7wxh&nfmm{j z*?jky=$&9i&fuI}A3!@q6ic?VW*^^a`b(=?wj zKfft559juIMW^QG)#~RiDr{SR>hNtFmMqzD+t8`Y+XKM+AmN?pU=Va5@bAWsjVmyx z!w3etbE#V|oFCS3oXC&432Q zjF8Uh78VFd?|_Cuz=c$hMp0|VyPNQC!cHUVZK$_{NTlirlc@&(x2I)3h<&6t3VKOv zCaOM3%8BdrQ@=UWUZ^X`*XElYwf2Gr_ki1IDlN({w0a}eMU^Fn);|fo#bV1{v3U9F zuyWIqRp-@|hYUWS*J!RP&GQx5_5S*Bg|oJ@i1R;XNjk}K-aR_j18`z!9gsIZf*jmT zaxnQZr8OS(Bxv9$7zl0?nv79|0p+uL@s|xyCw*Irxz$v&T2)si&D1U*UOTufftEbJjX-Mq_nttR^@dt*ZL!8iT1XQCZ`tEY-WJ>-*|w z#vF!H2@5@V%OGg0jBSyykXjugfFKK}wH~qzr{~o)N>Zg^Ij=BA$v0@3K^!$eMXNn2 z7NqbB+lkc9(*8+LDTl*gFi}!+y|F*}S-jhq_JP~c zR}b4IqnRk?KnyNsl za(+ZLP$MttGA>xVWj;>Ubl7&-yqkmPmlOvAB@@>wo{8Vk_~3b93PP7KJ1W^>9GaKBPSy<401Nd}wkKp+)bJur+TJ*6 zZuH0g-I0IbvVykfdcOCAfr)8u?2~gh)zsC2OBMPA&0ot>oX*{!7aqB0;62 zQ`(kd+%345Ie9*BEHcKEMt(-}?`3-Mui(VPx>FyhRfcq{ze;oH;?#b=Pk925RO6*6 znCWwUD;@)ESO&iD#vA{rJW)5H3u;F23?1TM{(R;(OcLXfBF9wRflE)JT^jn>gNN07DaTYH(XraZ8lqeuXO{aW~@BdMHkw-u z7YW>9nMps9(exc52sdX9$W+h+O=hpDzQmZpy^EOyu=EGXe_@{^**F*R{ z00soOSa3K18&cnjA^DKc9k9V)B+8J7nJA%H_$1QvNCij+LfJw#1}>&#+HpY(6}bnk zf>Ds*Ed|VSVhjez*dlhajz}_*_B@b;q`h-SPyLK$`&Cz*Gj@j0QkAoQ<^0jI`by=E zEHOlSPPzpXJaW3v5dM;HX0Uds+2I>l(;8^9)*F2Y$C*D6YY~`Q z26}9EI;uMt$2!&z`-&d^V}8CJ5fe){dH@gXS>}%cci08a&Xw^uUcdv^AC(?`7(baG z^8pj-X@I_hdOmuZZQ)Q28X0(G=I=NS6H+h@pC)957&PLB#c~Mo18q`z7n3wSRx_B9 z)~!xSKLtr37$V9aYgiMG%x`m7cP)y{U(b^dubkzZRkth_t*G~ym3N{J1V^k$w65y+ zZe5jMnqRc;1iSr}&Yp5_vkSejgJ928-i57ex1?2)$%*_V&mwD%j6FJrev2k8i*{l| zh(sXwFc67R&;#rk10D^ak%60Rh~$(f0wNYzg;@uCBIa6};~=cwpJyj`ia@eGX6)&4 z#7FBrb*Azay%%3%=z6avSI>92N{hNS4Ai(QjJDhk$5}H%$u9w)cop6oNcpgQegN*< zj-A=}NNK$l-5JOBaRmyeT$j-T+B%A@-LiIs4Fki3yQA=92Ut{4UN_n(s_H0^>JTrFqb39Ky*S6k;~M~wALbPJ3We z>yp*2(ZXt^9>hUBulQtT0=0it|ggW%fW- zRY!%ZdaxthUtlr&T6ObUYdY&Is)~BsTKoE1TlEG&0ypMayJR>9HGb}i`XxMxsN{5T9EFe%G5#X6!+>9 zeN6Lm^on>ig=kIEtOf25zZ&I_^~&cv*{2j)O!k?z?iyp+x|m6H79Hj{J8P1={C(|F zv&-$MFxc|j4Tt!B?^L=)|0n5654y6mlVmiDEjdK}WT($!k<`N;H zN(ZoHSj2weA_29K4VTyzQHx|(QA1R!Nu^x4$o$gxQAu>+E4xnH@JP=^hkI`LVjE}$ zq(Rh>blz2xy54NtFN4(H4Y%d;K+y33Z58cFVTh`1xC)ao+527Si>QA((`GCHbPAd;cp6- zO7}(;P%<+yLJTmH#Q>+6Wv1Hd)w$}WpLpdW0r^wxzmfidjNyhv9x0TOQ!=fh8c-+y zDXl~#C;LSY6%mUGmI=x2m>G;{5rG<-(8tW@sEKAgf9j;RjzI%vwXrT#(dsgWUJe_U zhWiX*Oz+{7eUUNOD8HjWdxFOz27P*l^MWmtvz=oqCG1$M3C@ZiaCVdAPdv}8@;qrZ zrxlWT9$838rh#t@9E$w?w1X`TX%+7oNKdn4xCoAzcC^%FXqPPVl6Hwktb+UHgY`&Z zmnfK|IP$hTGn6A>aSZGv=o|tJ(J@!wpdtQhSnxgohgcnr_xQXILm}DeAAms_pn$cJ zpg>-48HYmDmG+4oXYWI1%-Nn+Qj;=!AJk~M8jKtmt@`KP)$aNH*?CDw@iO{)o zQM7ZmsV3^^92?^wc>7i+NC>X!TPcL$x}ED0QdhNe{kmNMAKZJ8A9B!t8z#WF5JrIh zdvFBN^E4Kz=MsyaX;>s(g+!Y)Hr0V-My5t)fO)F3BEy=pv6%_gAlI@_#bzP%iB*HJ zN#Qr-F`!+G;UZ+#%W<(MSNJ-FI1Xkw^)DB1Op57G+U&7Gy!S!LU7Yq8_ zK5NAOAo$e)@Y_+{xum&$?SQx7cCZm%uD3UjHZECbz@{m}u}>-CA3|TKVVB8x;39R6 zkWs-DTtMk{^Pi9b^aP7`4Z*qCxdH06{(kNmzuXTR10Z#~#MWmp0}5J%PHqpfyqH zTffZLXAKu4jY&jj^;P!tu2|e3;TwldzG|1hTvu7{Xc?MYRCwN^ibhXamASmAsy)&- z6FKcLph{%->PN1$3f3ogeUfw|HQ1cVS$gaol%BbKP%l{@XqJ%ym1G+V8zB8e?yba* zUy{oWm3?*IuY4uX=(f7No_>2*kl*UGui73;erm6^>hirsMd28id(^C{e<*fAKc|9E zV2+SpU4=K%T1OCuy$sxiR=hm4kcLfu*7VHD^i*XZ8M81AFYQ#ME=%Z>a4oIBG#rXv zD>Kl(js(fJS;{mB~N+UYY5Q%nNr93)4O{r~7ccqvwV$~pP*d)mL-@{LaZrZ-2Q ze25S0NwiAN;t%F|3FpX?#xxrAE6abN+SfDP$fZRT=?y0N@U%IbfvgJZZ1Sc>Dcy5v zP$w@!+O$so4;^F_!(@v{At1aVQ=JE}JiihvUU5O^7dB&9Ethwl_QkG)>d40VSqR@9 zOpor2GW@c=N{{) z`tReFOUg8C$@QD?L?NtGyaKA;lCXf`0zJQs74JJUKYnl9k3F-RTwd$i@?hB=Du$ls z35gx+q6N-MM}^NkGtTb?6>{NXY_NOGvZq?I;PLJ1>61e+znMaPV}~fy{UY_PXf<#lH~v~_~h+@5d_1N zgeNnJ07F=H5sgmbU<_+5Z8W236Xk>TD}vGH6`_V@@hyw}gVi zEER6IO!rcy+(oHfXlKj)$@7Bxk&#L_@~l!{dQvy?7nNl|p`V>k613diJ`R+m^<2_; zrTxT&m(q$(XPWzDmZUHN+6hm3i5X|oGwJLG|Mo+wq>Z2$8Ew22hQ3T7i?m=Dte8r97vABKr z`u3i_R%O|G%hg-UlbgzRex;~z!=}92?uAWTzNp`HwPD+$v2E~l(gqyH|BaZE2s>NK za^(3TSy_&(5Z$G^B+xWwg0$!bvtpDoyA_Bsnq4~n@WUGwyE~6J zCF?wO6$K;1oEyy6<AHvLvLtp-ZDtX0;Z&qr+iO2>VIfm$?H? z9YKpT2Vh98K`|`+lrExuauKFS%xT21M~h`XyzmURDSoP#TLewWe3wq~=ov(w33lM`8Z+vMNbEf^w$K zi)k?onTTDA{+Bx>Wnv5REQ0{E)-g+#znlDHX0a%cR%k?TDfJIcF$bvF2^n7c#!JxR z!WA9P)wtrByh60%ow^bt%aP0$H0dS>HvKrTmOtNIaLIKAiH8!quDGlH?cW(jlF7lc zU;Q$6^MxBk{7F&rPrOk0%^wSH4c;p~=l7!e!?f=_FSUe!2KsGeJC3jrV4RDC^gEi1 z(gTQg)YH43Z7O8xdfjVj{Hi(#!c%CUWEx_Ks)1dFAVxwj!Ggvo(jd|DgmIa%yLr;A zPD?#9Q^ca=h!8u?$lI&sr&T%(x!?RIH`tvUn;kVZn;Y$W_vV#Ul-Wl;{*c+CoL1m$ z==9HRvPLaS&yOa$oK~-;)wXf|t4*W!rg~qQ-Bn{PuY$OyAj|B@`~ll}zSIY6XrFb&Q3-6=SgjdyVQf@Oc-0T8W3y zwmxah#Jo&vTOz!R1|%E{p6U=kR^t*b1=71Tq$9&#+swb*P#6z3w3vMH>cRe=wyoG* z7#y0dH0i?OP)kL9x4*Tmt)sbV{p#Mq?=2acu~3Q6bu`tO9o9;H^_*CAsU@`7)e^8c z&s}Z}dn!E+htak$8lPpgcGeG$T9SYD&x-WA68%eQ_(67;5<}i(ioHz8=)QVDfcEg? zFN~I~^%ZClzQ%D1lEn0&(L!eysw>uA;xHDZxWXW{7Wk2{$RWiQ`Ad*Y<(N3xd+nW` z!M2T_jlm#_#K=%$lV?+1-6qdlu9n)0irN;JdRFF|&GnmVHnt27B{tU3Ej1fk2L@U< z)|^lgY;n3;f)zNsoH(N=$UDZ)7J0`Ib3w5L(q>D+XdENpnfzktuiw|4$tO13r6v%g zykP~o5t%oPV1u0B{8SO2;9;Y3M+s#;sKGPSmNdKxaH4gMA`K{W5ba}Z-I(OG%-Tte-EN{04~O@OkOAqEr^1Ij-*2ysBNACj6Nxhh%a$Pr7j zK5h3ZBY$h!4nQ`J5b}W)EM*4c83Y~qoV}3FyIzo_d)Uo#ArXC zw1d>5pJYL#tSYo~5fH*(1Xc0{(CX$V*B_g0MSE@D_?8 zrI2R=92sJ086qUoqG}Vb%@LU#z-Kcco8rDEZ(_!|ZAtLA4Xtm*3=N){_>L>Odgggq00qu?}I!&oTwl-2~snXAQ|(^?R9~2@|m!Iisnq_=z?`cmcXB1BKC{HGDetg?Xz?&oM z?_2zP3LM?6jF1WI7e%nq_H7ZtCgQm=iEF-W@y8sFX1_(8V}3I~S^m|G)&RBAGo7iG z$P#=4u!XUcjX-F4nfz@KnU2lh=C4i1#of{{LrvdSEz-B)=Xf5zWkS#Mumy4*qdm&B zj*-+yyN1#$7=?0^^dl`1v}jRygc~gwmCPSEeLb7rpXh(;;Z5kQNH$lu=9tbN+jZ(Y z*5JMB8vGynKE2c1vb8#HuV8MGd|)@QLPJ zk(12=%x{#mB#latQh-${#!a;#s1~q{yMBu4l~}fe^g4&s>qv{I)Ul*Bkbyfpvzt3> zie}euSJSZYE$PZuwKAClE}fAjeU`ipIXH9fgx-?Q!P&&xk>lalGPk5hjD|9Dwu)Le zYSL_ks7^4z^jMFVo0D=4QG%cXk##7o-%QgPT{Ljv{8jlzJvCq(4rxGBlXXV$KHP-4 zLtB1n>fjF{U%Akh5N(vKlM;~0_0$IlMgYwYoD(?rl7x^2!Ou_PnGM@anol?R+(g39 z|B~91A5n9BCZCr%Kga%;T%X6}{8Tf4D%fxH3BO6;NaS!y+ovS$RRby%&y|kAp~$}M z2%KpU&&0M7Fs1d1BHNJMlgvF?;IWuUeQK9}I#MB}{}EOnu2bz!2mi)=2Z5HH@URP%b}4NOB9`RFLW%`x;Lgd567SZ49~pIsNZN_pdvN5tCj z5`O!Y^lwQ>{rulz@lWutToqX-f6Unq{PsfpHjj1CdnpE6CWZbyd5gnFqM_FciXvG* z7Zk+NCwjDXSA6M`#4bGj(o4}f&ep*$d^KW^91PE8SiaJkj3j4*UP~5O3S1v2^9JUe zh!`(VgI2n9VOt~Vl)V3)oL|M8JeHu>S)?!Lb@jC-zsFfzt2~jT&1q`Ym+PynnmkQm zB7tgGF7;uvvKD=~0p0$*9Fvf%u1@}3xuFA@O*z|%)MytfPhuTIvTfq;S{!6?k-G$; z<$)8CwW07e^q<6V3b7%MNnST(WQq#9@OAPpg%j~mpl@_`ukvJmt;129Uo_I*HlqlT zz^|TE#&}qP;`Ber9{;j9ofeD3p&Y@$Qa%PoS&C<#pIyo(NJfc5+{Ju&J;n-%{@7`~-n3g2k`IJjFNQ z(pF5l;7Xei?HtINw0o&sYMN3b8-O7qLvrTi(FDZoi_#2izqEGsKfWJ2L=#-)4-cjS zlz0&ITq9-N?A`X6NI$uyKHTJ{FjI0D2-i1Rw7Jh()tYB0)LDzydEAynRjZ;zax{xP zLsr64hKF<$Z=i@qf+Wu15y#M5W;ANJnP|unBO%sCgYe(HWNCa?54Z@J2(dUk3_6kK z-ASE@v)c-S3oDiJqo_>!Zft^(1+NbA5fb0bfy*Z0Z}Nn+~H4#H0ooS zYVb~HB$ct=1k?fmn52zLoCA|l1k+ZI>jJD`f>@v`LYyukT{e#{aOQ(sVy?2_ZLF2}D$L9}~7B)5(mLB?BslGXB zYc;&LFSqBZR=%pBt>*>hrm0zJuxDE4kSb7`ustt%F+O8PFk~)1gYQyqgV<2VPNrSJ zSQK&8qjv-uvf|PrN!}HbJfy{vTHJIMEtFw9jd#@rEv&b-D%xazF{vO@B7Bk%iDym5 zU|>}hdsL=uS-}DTzZ*H5{Uvh8O5(HO=7y*>zM!S5*6M8570w;*Xx0U`7X;e8MyI{H zouAqm!FH4?v(6m!7PS}XT%l0>*`l1vhl{Yex6JAU7o~YF^HNl@FOEZkQp6%8qcvq_ zZ?Z6JfETFTVvB}UP5whR7d1Fl3bz;*=v4$j=v3n`g`UcQNIf2F#QGr_0BsT_@m6HD zfjLZO=MnqYp!JF^p{1>c)z*D7n?<)_M#VZqx7cL)T$gWN@#N-TA+4_@IbqzOzoWQa*3#IVwkJ8;QbjHb zxt9el6g3+dnWiueF#53CM!ZTU*(NW%YQT*PlRT2YNkDu{UYzo%bZ?kRReDC}V zn(FFn)?VkYowa+YcU!%$v3B;Zp@H2YLFaX;Pc=^>hg%us`;_!6Mg@l;zakk>#<6HA z5M8K7(mm}gkajhSu`I_vZZq0s22skyC8GvO-z9sN1815MWQVK6xeoW&!)z$EfOfT( zhHMMT_$^s}JJsZuS)d!~jz-nbMGBJY>Jw@KLgS!&QTJK^aS$}vN+W7A9G+r@Dkt0E zOU70Dv_d_e*CH9sG3N7x`*S!CP0h(HesFTGZWx8BAvW63FdBDYC&!I^AM#?ocu6Vc z#VWnz<5GPrxpCyu_RY0x*7~=$jcs)*d;K$a3=HlX4FpDa3=HfX4b)F%OlKSj2G`yE z^$oRk-3X|Hiby|sAIzb{?z?N!=M(TE($#$DyqXdigO>%-8gqoT8*cL|4a*s_YlQ+ zq~6#K0-^Pf-s=&%K1KG+n%vbC0$h%QD$7{6=oLl2whK}T;oSoy3Qq1Ev=B3v`;O1(Qz2g-jw*bG+-g|m>e#$C-&k;QZ$(w2!&~F28BEm1Yh7|X z;+)A1h(AHd#o4oFig|%O8u-qbh`}epf&7N)d6%&iOZT|+^=BJ~G471{H3b&&7M*^uNW($!AhOtO2CTSh-ANvPNplb1p`WTsr&T?SbJ)01NV%M7#z zsNq#HS^;2e9$#$TgDn8b-6@B*G3wlv?T)Y>Z7r%kAm=R>I$93MpD=TA3>n<%uqv$@UHw#0+|ZmkW?b6j;@V-8z& zQ}>*JVqaCWahO89t2UHx9yyz8<`su3cdVb)>GAAbzpM)!kjDQHO+Myh5lFg)y)5@d zkd0GH!IZdi92cZqNQ_gO{nLY>9TMr`(6!i$I3{PGYLm%8Btnxdd$&Zk{YtPT)y*SN zPM-~t5yJI=l;qd6eOGRgBwx>z#IQX7WeXu+Kxt}hZRnz5JICoe7%#Gps?bX%o^TTZ`9aRe> z^H*~I=m{Iv@7%e5{f=|GdPfF>nvEyetclKz8xd(QBJA-k^T_74+EQ$bB{q}#C-Q&% z0qpM!GWQxq9?L!R66SHhyfbSK_7mv(Sw=U=1mLLLyp`@~m1`eGnp?#j=|>G=TbM26 zId2g)kt;@oK2hdbkxofa+>{Vx5vM~rY9Vf56Vqfkxk23*UC!Uq7U$N5^o}}PQwS;X zz231%p{+X5SX|*T+Z&yR-qzgQw#Hd?hWz}#KeQFq^e&IjTf%?Fd7Z~pWigl9dV}OS zEzRe&cyd=pFB?cSyS5gP2PWCN_*xx`>CDfsL%f)W`q-N#AbHqQAj!=p|Mp9 z>rZBX7|HUak4Q^CNip@PQ%;}=enCDqekr*J%$)Z#0YRpR*~pO0v#?{m`pS$Ev_v!=9Df8_lKrnFOk zWcz;EE_0j+xV4GrAAk@?<3cR3ViWIeSNkK|MXm_t4Lpb92lCjNh-M>tIJW()Ded=7 z-hW_9d*(U&sT~Wsc#djc>qk=VN92wbsl8C7q~yIbP?O)n@}fn4_=2qBF5w08Vs3{q z&FDNZDWUWb&+W+ypH~C1FoV@8otfiuL-esz8oU{w+9stWJ*7#v46q&{BJ^OIBa{i# zoHmloLhV0GGNx)OpoL94DQ+I$ELc}}kpZbJj+^9Sc;RG*i~nFd6gw_I zCj&-C^qj=+6O(v6Tg9Unc1PrlK>L88hlBW<5YdCkM59MQg5_6LBWejeL?)|7VYkG%iDly>TmY~L^2sb2LNDtKKKLw zu6XYX(SG4yal)kh0>4~&PWdv-EcNUjviy;UMA{uF+Lz{4I@3@k)@Sj(4H@A<_D`v@ zP)c)HgE4u@9g_ngpPUmU+EW`j*XeJHZlTS36dFWl8_v{DhDW;3g)^Dw71Z5on+Ipw z8cA(FwJnG<{ar_EGNPc7+d*tiK*VK;dn}0CC0g_u!?teGD~nsnTbkB9&7DvjUSpj^ANt?-I|DB z_P%GPFSe}5gFT!ru3=wYskgSKqaH4ewrXRrQdg&ZySXWP#^7a}BGG6hx_@Bs>~Od_ z*oj|`jb7RsPqZakE*_hGs3p-cac8j($zqzDmvmPb74I80S4DfEM zwKbwP9UDjSmBv~%^T0gdWBKRdV?MgGKs*G-34Ak~FtZA^*{IP&X0ugdDVdFj%ms4i zf>!6Fz6kY2v?~POng18Kvk2#ombObE$s~pKLsf0m&`t`ZAeGc?@W(8)!-aGQG)inn zH>%idZvGr>E}u8Av!l^!D9X>%o1NxzXHlcOxU{HHTUv)yYWdxd#@Y^Qi}TLu>BeRe z(l&=)km)|M)SD3~RmadrKOM>s3 zT_pV=v{QimAXDQNHRzBRgOJh8Ww`GAd>CX$B0|ei4b8czN$rPRD&#MqEh_2nOb`@^ zN84${*kXwNCux_cnk<(h5ozEKX!v9c5VUFT(kCcouBU%(XNlLM@A{}suW!56;-a*< zYjxHV;W_9tg=V#c#u7-HJ4Z(G%g<@p6lLMOIWrYnzf`%Gi=I5Na6??AYq+QpS^)@spCpREp)!#_#1Jd^@=e z7>G*klj5Os;Upy6x-^VnCoOs3$?h%nN8)7v!Cy?V1HzwhYgN>1HhZIXd&Fxpdn5MR zHodK;+*D&NZBd@Wg{rEE&usEV?DnYF6le*WYHX!+M=k6R;FW#&&L%!$1-#klTbt>~ z6L^TwH;TP2z`2s5oAp?w$Q7DS@=}Z*%1D9ih!VlH3M8aQyL{=xsK{06f$O1YdVCYd}u&FBX$@)U#D1X7~7Wa^Af zgj}K>ZSZPLdg@#x@4K?({cK95J#l07s0TGS~~AiqDw;` zE6>xC52Ta!*v&01E-p7Ap|HhK8XJk`)q2<2<1<=vb1Ta|=7Iukex9zNsAiU{wqfO( z)uX#dy_WLQwnZlnfA$wgWo`X|eN#4VO3Z+Ga>3U zDQKqCY8^z49B6WSZ zd?bIvh5UD7v)6saRmsy%issytP27sL&MhhEhvS9&HJm zxHP=dj{`6^XIaNG(32ZDrRJOlTLxGZ!zqC!mqJ=ws>Jh31U8NbGFtQ?uR$=^ zMq|go=+2Rm@UySnal`Rol6>v`n)A-9dH?`lXEte~|B`+?}R9ZDfyiZ^0m%M5}D+mAV5&W|^vzJra8p%tNhY^Y|6{oo+ zg;b}r%@K>$;wD;D#5ara#ZEXXA)6wC3w$)|yT!a0ACc?1qxBB_pVZ+ia!5yuJ>~`Q z&;0*1?@Ky+r7&m94Ef+slX+jNVg_Wcq`WW9BJYboVeEeYy0A~p`x2$RFPbjose0k_ z6Tjp@50X6NrixHgzPpRCFE25qDYNUx zu~u`iy{4+sZ7fI1#d52yt|i={Hb$P1!cx7l3|y#nfS)Z`RC@aHKjwt-Z7ip; z$Y?6k={2E}sL$=yxP8^`fIg)gxum1P*(s*xUV13gn|B||8 zE7nDu21bhcvfgN-wSA~hZrl*`57g8xscmdnvMCz3c3>PVo>L*#arVIDu%1inJKk$E zyNA7BcC36G&YuPr>{)Pl!D-wC+baetvK5CaUSC+Z&|3IjWvKGOs^wKzSG`@mtNLj5 zTQ#*ceKm=iQ@%sK=N9c=^yK2^#rIuSec2uUI{&!;=#s`I`Nu3R4y<4N8j=Qu>r_%D8fil2Z;Uhm^aO`;>=! z272D=t?YfZ_r1OYeIIPB-Wb_9weeK{uKwfwXEs@zE)4L2n+M(*d}=5#G&OV=>avc# z3U?B(@@@of9M4w3l^e(32x4sJ#uu=<@*yu?f%I`Nj^E~#@Acx9NZ;qhtJuc!TfKNS zTV4Jb-BT-SF!0EhKkLPDSgFFKAX?w{6`tc+p5{7FTn*5>^GvELghcOmZR5 z=8nmWHdrR1LMP9gDLswQE+%q%QZp#W)^fQ{t{N$BX(=5l>4~DFaVM+s?h?+!S=DkN zuifh4kgUAkD>gwDn!FBGkUX={RPLU*!Y1_elb z(t&lo9Ht!5Q(CGMs;CaWbekKd1GPC~IW6sQ-Eh>T!+`~%026i1=4Kk^C9`w10{sl! zZ2-kmQ(9iN_7f*Hx!*7+avG3NanUJV^2qhe5<6~jDQe}ChjW7dz0wRA{q$LEW6nJSObvxFV11Na|b=hmOFx)AH!!9(~?0f{8PK%hS(_5w%~i#CbtGN0(aLJU5ze7=_u^Wz>{(U%Lsagka+jPzo-wgvE(wBV(!&0&{L`D9>L{6{Sy~T(3l$er;7yg%{$BoVVegoGSs$&}gqaw`VYS?$N8n75Eqkb%#)M8Bti%(b) zT7gBE%Q3OJ0*Ad;Vo7B+7EziYdJWuREl$_0!>V2zI++fvF>OFo>;iy6Ko~}6A4Mk> z!}LfNH-R2hNgocJ_2aoL18|uk_5^m{w_q}Q6^u04^*7iv>_LF`1$Ku0x@-aa4Li$@u-{^w`8)O+`#t+MyPJKP zy^g*1W9)wR0Q(jD1N#d57W*9g8T%=^;78G%9urOYBs;~PWvAKC*>mi9bO6cpVu_$Mq;yD(cv6G11_?IaMe#>E&Dc{k9mWAl1;JO zaiZt@?2q_2rq8pZ>`wMK_9yli_GfmUeF`(lx7e51JM04cC;K~ACjZLbWB*|9vbX&h z|LJB5LpL#ssLZQL%fvHweVUPSN0SsY6Z?D$4{-|n`h3ALN6YWxAzyI!HcbpeyW?SB za4UvwA5-%h4_-gI^_tz+Ztw;WzTluu0=Nvt35ojd2ABHtNe(OHn}joSSaMQJgElx7*Emoc9ORb0wS%$ z7u;cC2(23#-ae8-A>EnmAhE&g`Q8xU8Cqr5N^_d78Uv-O+dm9R