From 9f9e9d6433519a3fe2ca0b08942a8ee025e720d4 Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Wed, 22 Aug 2018 22:09:23 -0400 Subject: [PATCH] elm: 0.18 -> 0.19 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit update makeElmStuff to makeDotElm, create elm-elm.nix listing the elm code that elm itself embeds, and pre-fetch it so that the elm build can function offline. also include a versions.dat file, as created during an impure build of elm. set ELM_HOME so that the elm build can find these things. continues #45448 (cherry picked from commit e7d0df84676d51fb0cbfbeb10dd32153489c3565) Signed-off-by: Domen Kožar --- pkgs/development/compilers/elm/default.nix | 37 +++++++++---- .../compilers/elm/packages/elm-elm.nix | 50 ++++++++++++++++++ pkgs/development/compilers/elm/versions.dat | Bin 0 -> 83377 bytes 3 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 pkgs/development/compilers/elm/packages/elm-elm.nix create mode 100644 pkgs/development/compilers/elm/versions.dat diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index b7482efe7f55..51f76f1108af 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -6,9 +6,26 @@ # 3) Run ./elm2nix.rb in elm-reactor's directory. # 4) Move the resulting 'package.nix' to 'packages/elm-reactor-elm.nix'. +# the elm binary embeds a piece of pre-compiled elm code, used by 'elm +# reactor'. this means that the build process for 'elm' effectively +# executes 'elm make'. that in turn expects to retrieve the elm +# dependencies of that code (elm/core, etc.) from +# package.elm-lang.org, as well as a cached bit of metadata +# (versions.dat). + +# the makeDotElm function lets us retrieve these dependencies in the +# standard nix way. we have to copy them in (rather than symlink) and +# make them writable because the elm compiler writes other .dat files +# alongside the source code. versions.dat was produced during an +# impure build of this same code; the build complains that it can't +# update this cache, but continues past that warning. + +# finally, we set ELM_HOME to point to these pre-fetched artifacts so +# that the default of ~/.elm isn't used. + let - makeElmStuff = deps: - let json = builtins.toJSON (lib.mapAttrs (name: info: info.version) deps); + makeDotElm = ver: deps: + let versionsDat = ./versions.dat; cmds = lib.mapAttrsToList (name: info: let pkg = stdenv.mkDerivation { @@ -29,15 +46,13 @@ let }; in '' - mkdir -p elm-stuff/packages/${name} - ln -s ${pkg} elm-stuff/packages/${name}/${info.version} + mkdir -p .elm/${ver}/package/${name} + cp -R ${pkg} .elm/${ver}/package/${name}/${info.version} + chmod -R +w .elm/${ver}/package/${name}/${info.version} '') deps; in '' - export HOME=/tmp - mkdir elm-stuff - cat > elm-stuff/exact-dependencies.json <^>4oVM*n+S zY__xeB0sH*gMKyXWLYQcbh2(Y%eq;o%m33y@UHu~Q;0-X@}>G!k#AnOlxHrbcIJ0Hr$yO-ms*dG79I~514sH`v-ZSj-Ep;(ru zMSfV$u+QZ(KUGF(0hig}_c^*Sbl-p)8?7-Pr6?gt4?Fq2jCojA)w2%yb3sVHDGsOE zsoWNa*|s`w&tfFaJqKB*mvwuYU>X<&o(J;N8Dw1`btFHXQPv%0SEH;q%KD>hFv^CbY&6Qo zqiizDrlaiI22982QO2a_<<8c6>u}bQ5BA^a0aJ2k8e4Ca(B9{*tOg)%( z34?(0-9g}9_z8pR!I|0@K9cT)eDu##zhpT#!p?9wgy{gUSUfgWKcn9t^2KT6k1spg zZz>~;Xa$qsAIg09Ct%hH|8p5Nf0Ba?5TV0rr~SSPN5(NPc8m2kKRhZ#vP&{iu3rDx z9GeI{9g5vjo5+Dvyu}A@^!xK6$Nvm7#xTLR!faEfHT^!{Y|h)i{3(C2mA;jgKIWTk zzMI{b8!!$XRcOQSmVVa)PhvlUpA-k{@}px;WX$vK`HNZpz8}Tq>L?C;fpp%FmCw_mZo@8?r z;uS>yg1d6WeF+9J%jfe$@l=xX4fB*G+#ErOJjoYk+F#%Ajt2JnEW4%Ad60K_CCUiG zBJc~iwhjcoT%(WPHZSdxdwrySbqI*yHW|LbM=mVn^FzK{R@>Qrv6}76eX$8V{S{Q+ z8B_}K`t$~e;&eV3n^7t!o;kPrx~He}epAfK-F^99Cm*eeO#Q-|rsrJ=jy@9sN1G`1 z$(|a)W|QyN2ehd6>wnW$JnQAx-|ZmY=vQMoSB6G^v>a#GCO6+#yHoB&6HkXE|8225 zYoiF6<39l9{L#M+_W9xHA%BJuJ!N3qF!dh9Bgjc2Ep_|ZRX^(i6MCKFKf3to47%Mx z_iE7X4ba4WCV$9rH2zlMp4M-MWQP8D$sV|&^zYL@9DZNqhc#wr#LfGWvapC(UZmpo z#hWnsNASGw^W9T!kT(YrwGOl6I^TPVOXMlA4ju3IA9pJVOz*1u({t__JV75wLSVZR9D(xi69j&R6-ohi^wR>)OVooO7l&$N2UU)`Pz&!fFAYPffkf67V&vyi zpZoJ>GlP(SDDDr%(JqP+z#Q^a8h~&m0?{kI4Q1oF; z>m@w!56Kf!fa^$`E3Z=`dUd)6QedO_k&nIX3xbOnq02a(+%+y zoF$N464YjBzh%C$GaE*BDi1C`D6aZR;K?x{2hS@}{EMfcMPFJew^YvD{n_{(&l)8W zXT)e5h!hTK;eh)}1aEDV(&+6!Z7T55|0w2v1}iYJ<;`M~ACI$L4*S49U--K)nqfQO zc(KKrB2&w!j5a+MD+nH^8R$_bDO=!)L5g2YR`2?5 z2|=>NwUugeLdJr3<9#B{`TL~ahvOd?7T0DK$bfB(0I>i<>O_%Q@0I5o`g*ktHo|m+ z8xSDTMSIKOXD^kj+3#JmD7e`YwmS>fPt&FU6tQzWlz}Y^rBF z@vz08@ELWzr;$HhpRc!v3j>W5M2}vw(Q3;clWId;9 zwb~RlgKb#uHM)NJM@+ujEsZ#D^TQ#3nL)}tl}m4w4KP_75clEqvMaaZ}~tF8w$hr}*Q!{Gclg{N2%$etq|s^9FXYf8LeFeqG() z>(`DhV3A8$Z-TXpfj>4SMC0B5 zP;z&^hjZchjS0A9>GS+pd}ngTM?uKbVAs<5ep>tO()K^)f$g&*p}}(F+4)BY8N)7h zimg%+#270-R7V&>bjlR6Xm=3|&uVrFU|HKue<&Y8&p+fZ9?7XaDW(7ZUvbY}h#H)iMTC?}(TJ*Oi0d{Ae~;S%^VFY^Y6u8wgkO!e%7A zOvVld>Lw7G1r;`Lu1XPHAB8IZvVZ_4j4Uy*5@S3s-f4!@j^$p!n2I*lGB+c`muLzE zJ6pV)x*D5kW`ZTK+wXMg^6L&eaQ1aao$grf2wb8fjYhV`3xiU%6TiKP+qiBZ$$42M zC6xNgRZS2d^{H4wR8Nem$!zKG?>fJ*n@7E~FND+aIJD!^lUZ}iD4=fg4=?f2d!016 z%a93*owq%|G5`tb04u%G-DhrFWQpRiB&Jh$Y%d$&epV|kO}LP5FYEyCYBjjW%3vT@ zF{-*x9c|o$!~Npdzy0pJSz=~>9RXa@F@N&rEI&dMzs^_$Te?5mATG4W2zGhZr^O{5 z%dHsr@6R7T*tI00orArw9tTKAZ6cki;^_`TVim0q?JnNuqBza=!Co5_SHE2sX5d7< z{P>uRkF|QsNE1VZ5e_~(p8}O2DuO3h2Wo=dIkP(mKZ$suF39n`aU>ijI@&Kyofd8< zbOaBokde&9k*Wi&BW=2?B)Vev7*zCc1C5({i``2iJrH~#-inTR938JAA4fPs4=xOR zIh4qQ-WWff-X!Zy@zd#DXT6)OcboO@#9)adB9S33ECewjeME+I`~52y9D=BY{;1O* zb^GJ2KkoD=S$}HiY_8!@(#jAF+W$?L4zl6uVI=L)*V2K{U1B9Vonh7)b`U7h8RMtZ znPi=5*15)yY`5G}v~wuYV6I|iMX&tSXK-_X3Iw`4@8#;#Mz0*KF+7!sEy?%h1bO|; z-X2dcI8Tr%#r$KuNRE`7>V;WNNSHBWi70vUubbsM-$Hz~`SP?wNDFdLViG$(7~rv^3Mm+!HZ-6}XFzmV-R<ILkOnt_wq+0(V~FGzQJ&-@ z4wr7XFTSzvu-hGVyW?)xY$d~gD>pe*Hk|+!6=h2M3W$em8DhQ(OEOW6u8sTu24OD2 z39h+=zb%LpnQLo%#w0jy?6`<+mTwL+Y77AVBj{aG%fY|@)9>e%vCucLz8)Q&!Ke7- zg~D|DcmH0^;SKv?0hJPV8v`DQCt`2QipH4ydj-S%pBKT1bS);{W%UdYm3|`%`kZiv^)ojhWpM#Iek1a?voOcYk_$|J7k@+VGv@ zi8NkErj`g|`Yzv=hri_;sKPpvQGS?1qbi zu3REA6GB zb-#PkzCR6MxIM$8efU;^G>D`*VTl6BOp5Hk+vo4?98;Rz92q;Qy-?n9JeY?ykZb}u zhJ6EK<7sUKl5&yByHk~){;dijvedhuA5Dq9u)^DS&*lB;_*Zd=S z;t%=SNNc#P77!lH1{d`_LBn@NzRk~OOlj!BQ#7YY6z*1s0gUPdJRP*z7x~Wmw1uIM zDzB}!MmLQ)+=zNt*U@B=5eC8Q8*oHDZeC|xEQRCg+z1?lH-Tx4`tgitywrx}&erQ| zY|+Pz*tzFnXPVDS4{1-{EV7jmi;JkbGh|M^?K%4}Jpbg`bN9QdGI0-I4 zArSLa`b>e3PyN>TSzS|&#MtY9X9zswP-xrcWexNkF1zy043VDimBz6Xwv z5*BR7pP^lle(^`Ss%w8Wa{*6~XbL))EF1st3dt6W_1TPqqctdE6*>+kdZ5FRD&r&A zL;pYEDKTMM*h^XCgAJB8_)j=5%7u4yfn!*14`0idC1rKaXk}mtKI9?*3pqdlBrbl z2b`oxkqIMm%Iq+O<7}1Ry7+$2DqcYkwK;{7;8rNO;c}40Ykn?<5e*N3uD&$10 z35jj*!buzDDPX$=UgA&X{KIqs zMKm_f=ZAc`DPD|5hz0I;oFo%YP&l&36ZMCD1{XQ4hVFc2*-iWMEZDn z%pW#(l{+CK4s(@#b7Y|~6P#>l-uc$wQ&V`=I401ljoK#M2T6O;efT8dJw8B4sl(=l zEzNP6hp=$6B#9)E_1U`a{L~yHgy8DQ!-Y(MbtkCpOF<=jCc;nB&D#+}~pl>??_acl#V41GpW4+xAX~170zSwNtk;tPo=( zA=FPW5hMYK zxG2t1xD0&yR0J@I@9Uf+X~-EvZGVJ?x-vDN48cjsHQ#bXG7TsyB@AB^ z=Y{U^?ZX-2b?AIX?MuHkCJ@~; z+j4_L@+*JQwW=;E6?s%8{0HNfC!-r)lyV!u_1wC&TT$|aBnue4{duR-5y^~)V&#K) zvC0TF?eN5q!pE?U1-FBLrY-^SGNkN?!ec1L$VLNqocS}Nl3)~sO;d47BhC_x(Y_GM zS4>fI(RMcu`~fkZ$cWT0-@uFq=h4hZW9s*^voR^}mM=#O${{JQib_-gZEp8^e7B79 z-FjP|yv>sP$rp_gWCefeJP~ zs5M6$f<$UK%qIE%jL452tjpS=i&B%2&S%((8FCZLfzfzPSh6_f1&LWl2-fX^$RNz! zg=DB7_zys`$AvL&A{0?h$Kan#Pu6GPYlu69fCWB^5Ng=Gv@3$b0Ey+=dZG#UbL6et z$zap848x_SJVemfaKE%~vfnI>P(A;klW~{kS_%^^5bb*Kj62d-VWrldK~AkxN4J#RO>dkC~Yz3g(!9+{pB=pRY7h4ds%a3w>oLcqJ( ztcd-3=8w93aA+Mf3WXG!9grJBUW3LB!42v#k~g9f0os+|fW8$Fr!KD9l{>1)mHDJNmjL}I>;VI7~u37A(#eVnDydiyE~b&sgzU=NIt828V)-IqSCq>UlO z?H!Yn^i&gsF0Y&CTO&5&w4n5?#JzJil0B%Hzr2qmy11&(h4qovB_%1!CkbaoC_Zpw zPZyr=gw>kjW}M2#F8b%a>V}_Xu6uWGL{&^Av8#IkhiV;4{^Mu zBsN1H!y4YHW~@GO>CgJbKDlj>MA3&%*r>>H3u6|*KnNw^(E@)?77>h7b?ND9{%bq2 z#N81Up&&3WLV#L`y~#%N@7Gchz^22o@&)BXkLz@Cb&#nPMwr2}72=-SsCPKeA0H79 zq3h;A60{JPED<;w6!EW}sQw(*V4I%1Yb&Ij2ESxFy9t_~#Khyd$u(mI*TqIMVs&(q z9(hY$d>BbIJ+?j3BdMbO2n%+#Jo|nlN*@F0RDS)fFX{D5p`GAw--9rUoZk5iT`d&PLXTx)U9nGcGQ{Z#%p3!XA7y<6C1~o`h z4UQ2%b!cuB;*ydi{$%YCWq0sAnzZ?MvUaFHTPl$5igXHRFv_(N$QY?9Nk^Z<+vCc4 z3FAnN&x$;w5x86dyc9EqH$?IDqYMxRoh>4+6HQ%!PHWhxJo%Gh?-9=(G>x{Y0`LH( z95!fE9(d9K1P&3KFxr5z&f~d6C8tEak;s{lNuAR47&b^zd;QJsm3Y+cDK^$mw6X>S z8PBCKx#_&z$mu9nK32}fwu@0*uVo6v@#64;1gcr? z?~ecaDzuA42T5{P{fjaEyXMwYoiGOpP7V*eBa0h7R2xsf(u; z8uTs7p8K@Sho@cQ5H^~Ku1%FuqE9ad2RBYjKcxE#V(EIeEtl{xMa5S>Wqst9U>`_; zM5KpKLb-rj*yS})ruDE0h`%?Bl3#h2waj@S4EOl0cKmuy@!{BCK17@7>7t#BJPQBQn_<@-%&q#i$aCr0D zL`dnf`>`>Qlim@3Z9YI@*?aP6&#`skCzF%X~h2FJMMX&TaPaC@! zVX@dLw&mdHf8NYdl@+G=U3JXQ<|rF%;73?m>$GcN;EVvX6%dZfP2O`coG&3i`521- zf&SeY1GMr*y0;`tfHbOP!l+rWP&k8yQjzV^%|=%tVgMuyGC|GAzMPGOXsQuqZS^BYYFsO)~MqTbG>a3rko^Yh`+_rOCzN2U1nqICgWKO+FH)+c{! zj*fB+f+>(#FapSW^TXMEnzWfH+vS0f0$U~+0W3ntaE@TZqc5o2ht7vBFu`Rpl}SEF{L1%jRt z$z?lC3fXz_JZgy^w+{=Q4y_Q>K=ljTF^YNmT>`;5M0F4-BU1bjLBrdE1gW+c(*;Te zBf<2Xd#fsYSuYlI9iqWnCJSWWLb3|Ratcm}K#l`)ZMIJMaeV<32WTdT1QRGrsw1UT zf?*CDadCWSb&~p!%f9|f8~Y`|y^EI5-iqubWhAg^!~gCW1Lgq`Pw_pP9wlwoO6DR* z6LXfx9#&!KyL-(=79lH)kwvic4znxdu??kGF)HW^+t5!s3n!DXj;Q`!nXV%|$Drad zT6=MpD3rgp#r)izT7UaWI1($&X+#o&v#vs5mb;IWo4AurF$4D*FR+t{b?|j9oHxXU zf+Sa9g9aL)B!PR#zOd1otvwZ5jO4O*STdLZ8*Oi+Jr!Db8zeVGm-1S3XE2f~pou*v zIUR0Szzzhn{;Fz>O!JFL_Ps0yjOLls241}OQk3yw)pE5f{^N+=1wiuR=)>c=S$ z(1o;JHeJAjwRr*C^Yy5m_8u~5v}t22N8%YppocMCQZ78{;Tz3BRUGlc0FKa+I6|aq z36RE5YgZ_9xAz(BJmMa|Xn!a-PeBnCInYZ~L@TfKu+VFPI3jYgK*etzb?huzK@>;_ zaUdd)2QLDtb%jeY3K#e|lryBj6c>b$j|0)*hG=Hg=#V$b6*Iy%d!Bux~bv3vG z=eAFC1}qsYCQVnPqJ)tIbta^^l5JVUXPV$#zWr=Xsj z7&~bH!EVVu(LyE)BQI8eK}ouGCZ#Hn9q!b|i^FpzE>%8?+XGC;hhOshe5gMrf3Ik+#Gzz{;@;iu5|-TYKGL)~C{G#(bx$nla%Gx^ zc_`400~+RfM3#izekm7fLUAw`Hx@6ERuXrt=x_1sl6$&#Rj%**csDc@dKpDdWNT zGBv$WW-673g&p!UUK~)ZX8ZDJde9gda>aHQ1RA@4{oycBs6I#JN|_bKM7OoCteNtY z;o=N`voF-g)9j9MT8vn0GAhfais7kB3zEx=0=R5#PbUkUY3SU*x~_^hmN<``fAN^6 z0a;iLMIUNiqLjKTFx(xi@Zhm@hA%1q+ADx$YGQDg7eIo#pHjnk37gpqq+6R7H7a;) zAKIy>zm)KA9g^rwbcV)7i=3J*3S&J&ID_xZ=$HGx_EtdMKBX3l%{oFmI9bSX&n~rL z;E?VJ)-{z8=5c-u;Q*XE3_hD`r9E6CK9r`Hyc3^DK?KD?n(63QdUSuMTB7Z_>|=nbu@`VOOFWLn1Me!!ROe-AzeQ% z&nfsk66(XBl5`)v7#33LgeaY!jDH~@!ubiy48>o` z8)FI`iXsV9jolXjb00ZJcyVXpqXhsNU#$3_yKMp z?bVQOx1N682DwGpkmx+Ej0|X9NB^s?UP9xG1Btg^dAEVwiIuuwSH;=`W-m zcWM)9(YJ;HAI2-#Ouavzt437VshXefwVS9pwh?jYdqigzW`8E5l*nbDl$#P2MtCmP zA)|*IL8b&Vdnkm_Cg$9sw#D+kdjA5wZMWR#@v`Eo*3EfdfFw4f64;bt>;zGN6N`*? zH;{l(U&fI)QaFC(Ax@g0-U%blWw0Q?eBn0BdGlrWadV5AG}XFM>&u@YI9sl=VJ{o@ z`S_5e;B|xu+$WtQZyw}C_*@xd(mY9iAcdVGld5<`R!6YvP*g*X$Lu~2Db5}t@a6yn z=^u}WLNe^NA0id`C#DH-`~3{3%k|;>RPMg{t(QB9$`DGUhsvLL?e=+XlV$)-?o>`A9c49Qcuy1|-zfa5r2cR|_5^MTk3S#TKq<{l>S1qKjwt5SJkT z>K}RQP_qM;JO>LlbkBR-V{0xFSYZcCxE2p~{wd}1i4eHMFQnd%5GHZO9MeRBW@s4{-B5_?LmW zBzfGYN$^0Zeo_!xO;1vGu@SKnSS|L!14H5SwRD}}D337k4F+w~kh$)hRbUJC7ltff z7WRg=C0Hq99W#hKVaC@>)&;+Zz0~tr-dP__P`z=G5{w)kKfE)y8n7y+37vMdiS1x4 zPbHas5b(}zhRRm3&tX%(FXzZwUM$K~`}^34J>biTFQt^$k$y@m*8}P$NmToTnnyoz zb>p)>;MPu>z2)!`>Ey3j z0t%KM$xUf4s8=i>E#lUZWW8W0M{dCMj`qLdg!fRq1uZCj^4NWdv~=kkCe3?Gm<<4B@p-tm|`wl2J!rzk38eG!J} z*KDnLu5#oYzlE~fIz{po^*KiFs-Ft4c8esl)_fhjM9W*kRr>Tji*(LMRGmf(G2`-B zYE!U&v6=fvsopSS{OF!6 zh{`pl93O&GnIAXMaLZZ3%uZTIBYTlX&n%Uy*NhHxf4BI6~qXiK6-Ju&*~3@)^g z^YXD4ZO;$JqX>Dw+DBT7zkMb@gMKPWwy4yAimFU%jjBYq!wizR==L`KI0e1E$yIp2 zqP;<{{U(cWa1}Ce+q;-Pl}M|Ur$2o7VbqWp8$|7>cE>RNHEPULHm{ZlYlt6L!+9uH z;TC@5*u64zo(ISHz{(xhgDRwYkhojXke>^^^V&2gZgaCQKuyI^mrgUa`Z8Sg^^w1b z`j}miA#L)AMZ^(727etnZ{tpoDeoO84e^)k4qmbFg6Dq&VkKJ)={*Ql-C`WFkbAOVp$QN~ud-$HPQi- zc^EBUI2Mz}d88*GT7^U`A_A4+JQ5qL6S>gexPC@Ib~m6vR?C^B*5yt%&DXk3f)fcy zd<_|s#@P(sAR#txGOU>hQ3}jZ9)%DK>c=~dV^Kcs%-y!0c1qcvXSLGEv>DJt9g>@) z=Z33!ZPu4-5OMbG>oxf63%thd$ZL>&mWa?6pRim+G&bUfgp@IoFlNlu_Pw3M500^B z7c?~w)ed&8K}PXOHi3YSD|fL4vB1m>AIAWzt;hWm3$OF{u{h5*hERTBgZFdk>d^1ok8{KXE&-0<4Skg7 zC$yta0O>`>kxyuzEHP@YCJLW+go0f1P`YGbGdoTvlsDt7ocmm75ZI$fIE4X6n3yNcfV zpd2QF5vJhW;BkU8tB}a4X{aj^}+8SQIUEC@@F=TBm}6BfF9C8XD9Lozi76 znsvpW?&`Z0v4pJkm;o%uCpLaJ;=6tDsSa419CtFV)F1AcnxGrxuv!;y+$3@3z;CzN zuX7zKk`ZF%tp@!w2kqXvmFqR>!=wdWBztb}Kq5&Tj*<>8rwvhVY!DBC(zCpN7KaQK1p-y=|7yxi5D@=Xx6}(i=Ej@l(8| zv)h)dbFo=y-!xt7Tlt_Y2gyvnb*ZJBT={H zX2HLBdJQ=cqS3q39CGa3r)4w-!hlyJa!cy5f`=XC7$`tQC@rwWkaNAfN2LVRQc*BU z!jV!KVwzfdAvFN+C|->CVeLV*YsbmdWXLjqUCF29X8?me92WW;`F;{&ORDhePFwS` zmm{dqvM-)%>USvwceC~yMc7Sp+m=}o3aS!r2ag${9gGDjvvnY6Gm`gd()bKPsG>te zeC)h^(utCGq7-gzMN2_+X#?E5SblTQg%R4U<-#|7`gTf z3q>3Y4+M+$jD%-i#5nD!)}Cul17dZjA@kYT$p|D4-ryk;y1t}%MkLxu4WRjnw>?(k zH5NM_z;7~|LVLYHN!}sh^89L=9&M21&tk^6)H$I`7l=iU)Y==jvDNJfjJ6|)uGY)S zHKyJ=Qj(Rc!m67g4o)k?7;dN^MrUCCsLX|jWu+$Yn@t) zTA}+cmUPg5eJ(Ia*+N=$2Bl3D=0QR|EaXSWe)Smx7|9BC5DYdXX2{d0EgR8WoY)2!-Aq`5Me!fQc2M*Fb&}Kv3=yFH^P0 zL^Y=OMH?JqLM@-?wK1cmVa!j1`DrqqyxtCU<%-(Z2D?M0+7fkcC7w{i#hM_Kdt^x< zJ1SIFA$`p&7$b$iLit&{@%*W8g7V}prM!#|Wc-i!l780&BXfZ?g_48Xrg4gzK#ogD z<%no3q5mL#A$Ga3Iu%9=q`g?$S%ko5`!D2Cpwj_Wk>u@7`0XH)!e{2=4CT;ZRCjSg z{=U3O2yu90^B7oeFb`8&kA#WlG_FPM`4Zqn8f=s zq@>yv2+jpg56;DX2(nx{ED1+qX>6tGaMu_P6}?^xq~02)c_ds-{KVxKQO;nM;|XF5 zDIM2Qk&ZFOYdkoW!R$m-z=Da`oK%;$fHE>=ab!eclDa3u6_~+kZP!3@>&Buk&LZY3 z$HRye2?r}FNQ$&d!v*ES0$Jo?!}Y(iyH$bbe()jyatCs}KCR#LKrJe~;ovJw$zsD8 zSF6=r+Y;TeN`vg8##1Z}IjJZj=Zljygjim{ zQWTTbQv~C}#`uYPx)IABj0?ze4W!f(^gxUJw-Y)dAwDF)bbzC(>&lQRic@yZaAO5D{DFvA@ zt@CG#_vH}V^1UQ!*$~n?Y-%6xc^%9=d`HK{ky=n>4U0VLygD44(!+@NTD#x}au{KA z&`;7UPxx_jHrY6x?ojGmh4^5X*nlrMiTnu>xL&zvLrx8x_q6b3*tTOyD}aWj*FbrM zn-vQhq>Qz_{EO+11ah`}R_NFDC)6e?Gc4{VY?9g%*5nXk6C19pV)Mbjdr0hw{-#~) ze5^HsXV-_#a^Y2Fwuiafh(k>m^?QG^KCdd21wZDwcFcL9A_1Om)Ni7DF}e{kvi#;4 zvR`N)rRP02bh04zJ&>;UCV~uLy`1bHEA49o*bt!A;}IEf@eieON%r;a5(U-e+SaCi z*mfAVD|p#9Eo74tUfW6I@SL>=t$G)>* z^ZLXk)VRvWp=bkvrU>8F8Jf799!vCY9Dp8L88MUfHPX5WB5TB!^E1X(iRAH65qByn zkr$n#pW$6Cc|QWBwRhDsOaqTb4X??zWSp^{dAS>+SA%upcRIM&>;hz}pJBP3zrY-( zzrI=El_MBbkZp^KGoglVisKs4+o1Z*+}mW@TLZZxh`S4v3NdkfP~ckgzkRfMpAR=^ z=Q5?hC+a z{`_I<6(X{qC_zU%tV^~byf(svqSEi%poDGl$(T9$Q_Y7+!ZR!Y_0@4NwWc!;>OnA`^XvlHm>h zglIZK!?}6L*Tr*4ol1myR~@RkH{%Bs1b;!br>|mUK(EKs?mH-5p87zSByPD2yoV^z z!wvc=5PY-1V}QO`bBkU?3Di>*9owkc5}QKcG{no|AL*H%Z3azCQE!CzNNA6jy;JN1 zle-7ly?2F`*MBu~fWRK9*gDw8;6cYA-hn9e5`AwnWIf=~TwhhL4mLbgFhg26p%$C1{RbWhHGP zFa<%Pu|5RS(jG=_03uEWt|-V;WZ_#;e$Apk0yZC%_m^GhOW^=aaaja*ffOzqsK!7)n(%cXaaaM!M7!wVve!A zKh{=&!VuPk<-GuU4e$BAf`ReFJ>KA%gR^QQ<#1B0PQPhvDqvs}Topcskx0N%wOd3W z+$Pz`52g1#HtMuQco;mCy9a;A@E*r*h`R*?n$DMKQ~@}JB@Hy9pwg{OA$SFu)mZ1P zz6F4}m>2yz1#}u>czi3JpF{%ilLB#Vw00$&B@&b*ekftv;ZdKoD+<#kD)q>k58}&#`whF3m2E6-nKi3rR@wztd2@E@Le>`FGP!;zj;uv;j&2k!(>{j~9Ycz8Jt#`9W zJj-Tc+ZPl*aefZ2E}D}P)99A4aZPyY{(Dq#MKN$MB8K2ofP&Y7zBM-Av!rHETx-;c zDm$(RQ6@Z*zL8bH(T8U?Fz~^rNl%%AF$KEb}H&@qr4Ujs^*3(*q zjaox)5K0uhwkLDpJR{j~8XnFOPZk`BZkr+fMyx~0?)^n$D3mR}F;o@RJy+RMn z+X>ZGZgJzo3kpXDf-+BL_M#M{>1EEqt20g+{Pdv$5y_MHKBk=)x!A8xrS}~PkY97w z0>t5*_bG*pFaR*Pe#A)kV0SDxInnN-_Jaq>i?NG|`vQ}qFSdKJB|C-n6l3X{FE-^S z_#8>PCz~Ms2b9jX(@?*48d3rtPes@z=x0;-h$qfS?1$cun(o5r0fi|MooT0n(_#b* z((znH^yakcKy*F8DJv!?R98q8*>IbhbPfASZBXvJ)uPtn2v;*GVu6?}{FLxmnpNKk ze`z#Uy2RlFbb{5{R(Oq^D%=Ya0PC$>DUku7dcbmYCcI0j`<}vcSVVrxm*lOXrQP}i z)>pPM)BZ;fD6l4p2|B>_35L-ZFuxgCseUJM8IIRTaH#NPiOCSb(tTVXRb|4z6D7Ck z6zGq#2RwjaU52fJNY=nIO*ja8q!=FLeh?X2$DK+iB?9!f-ig)|E4KdGx5ImQ&6X5g zQ6d!iNb!?huLJRFkRcK|KxG+0k?Y z;y(@1rV?`_Z@h-5a-t>NJm9&k)d{s&5d&&8 z*qS$dM7uq0g1Qn3^pR-)QTxfm`}ceR%o_~gI^I21cr7SZ4=#udP56;HyL7O|Ry9Gc z8G3-wW-+yV${fd{sYza)U5PDK+4LNm!Y#=&ogR`*x}AZPTfuXLcnZaRnll<<-(e~9 z5gsP_ajz6=@PPLcd^uw>JXRn_A>$(+u(rNIc*2*XU6xp>{!o}di&rH|aqbbFfU2g@v&`=F3J_T!f>&JUh+gy~v?LgymWlRfX|G*uK_o$eNDN zh-|h$JEX^FRR7X{6lFwznXEQPF%Ur4(QlIT?M`+aGnS>`NOOZmysOF8w!40^*%0cz z$l*E&No9YYLjzrNpY(e@DVVi>YH-)Cc&2+L+?uqIm*n5@GkV0sQ&CZEN)GO(32({U z&F-%)GGx5xbfJ?wk)fLjcf3Jtd$PeJD&%^W!u=5kSb^ z^y=JFNUD|T<8xvichuyK3t+NXn%JSFRCDyO;Pi2W+O`l(OHa`35jA^Htr5n($L-uq zvaV%?xU~xvu7{7i;yD<{c~}qki(mityYEsHl`PT`u3zL1GLe@rPZFP*)(Q(Y5Fj?O zFAg887YK7E1@gQG{U+iILsaWN9)D|rT5lwRxZ2M43;2Pe=byOC-o$?WD38QF;9U-c zOX+OgUgJdBWt;>as$>Kbt4*}6E6#SY^e6^moP_J7Krs+N0JSLEKu>LbHPx$jC$1wF zXGiiR6QqN-uF1rJB*Vb7ZlDV`L%j|&Yk~5>SB3bb=uOv=Amkw}8;+D~)DOSPMm;`~ z+sVdw-5C$&_T+(QU=fAHC*97Z+nsc;Cf(ko+n;m?ldEiU)tOv%Cs$V!wCr^z{cJMG zCc|tplEUNH_(7$oZgzczpU!nJyY6S#gY0^kU5~Qsadth)uBY-`^R4`J?vT2lb>3vz zTl~Nr+v$9kWw>5H>vTTPGT3xK?`EH0WuN!5pJdrjv+QSC_H+DnvY&VH)A{*T_C=PV zVEPx`?2D`H%M3pqyjS*RH~SL5_OdVg*_Q+SbiN#PzZ_;?j_}j@a-4lR$-bOsUtVWl z-ekYXGCW21i%#bk-Ru`v*)Mw8FZ$Upv+S3h?3dl_msi;@fm8Qs+Yp4@OA2=MeBj^t zGv%Y5Sjtnb7b&ZRr$}K{a<`S_z9Gvt)0ZUDVj=Q)DeCOIXx7U!7^dafly8ZF>oUxw z5s0GiTnIC8r-hSuQ;zQ@dFleP4c{c~U3Gg`SG``=M%2+h4 ztyV=LvbHTAlZs_*TZ-)G`2*s4v>gc_x&~uW^}EJ(JKW^+4~37~R(21A|p!Nd#g#V@GZd{k`$CsbUH%1087=6K}dM5Osu(a{e}op^)V^h zJGcuFQ>YvtHgGEJmZo;8X`Zn#VU;q9upsj!>R%>M!C;Vx>MHQeW7)-Tex+@&!T=ps z2*=28a@!Y@tIKMOlGIEGA;S>MkNaSm2{3Ia@QUC)yk=oow>9pNB1~1g7{DNjf)4uI z-4Y&GXLgQrFdIxeg+hg|5~I%ii{(P-Hb+R78#wGw`J*XkM2r)?byy=jfVs~Y<#M*L z)B958JWKHtVbNv}k*bN{TI)Wxap%h=Y= zgpt@78dZ+Pd!1Vdn$+UnEk=M3p3BDTu+~A^ABAB?tizUiiZ>zhI7o+Bjgz3*PkmN& z{2Yz(1XT`b!`179mfGh)3_8IfwKGFZLkD7U^qsW#z*WeVv_BT-CF)CgM<+>%y|hD; zIJnVvjT!B`Gv_`3wH5P(yC~EcY20&6S9Zgws|LwEKOoknmUzsWa;1KzXT)p!h<|r0 zNuaH($|ezm+A`7IaUqJd%i@mEvk=mSQV{K3(zVRwHc1r`CW|_pkts7$Zse|&8&^9T zZ7{dv@n|;ci7RIjnSawWIYzz>YLX!p&893ABWabbVT;4f`Tq2wG-l7s0~-G_a(1Hs z=uA#F=SRF%bv(_Dn-a|ozDZe=-o$cZs3j=67_4Py1Tuf4KQc=9U_hjlF$B!^8}3bX z>+lqJt4nV7$s4{suC&>had&!WODxqPDQ~6B#@!Sb2P7gTJtHcN73kef{vt4pnRwqO zR!N0q1(BXCnzJ5n4rintz!jzaHV$MH=2~kih)>eE?5le{kh9QYKuhM<+q~?I`nZ{> zbbw^1=n>n5+?~3tla66|O-t>k5cJrF`~lKWLLL)=uwl__ClQm3_$zHA9Cfh$>Z>1p z+@$lD?2*E?pl3}d7NI3=?-cm`y)6Jc<=LoyH$dPZ9+A@D$U?1fcYT+^emxI?WS0Pv zrep)|ksKWlCrmqn8gKLJfMNuGpLoY2FTvXc+tAp6A{&%~IjAXDqya#>e{R&6183;v zfJb2$3*%QL0O3~2OFDqG&(J}bxss#OvwW&%5I-WfT7#hP07{36Txkf&)h^$NQxpMr z%*l#wC}EUg;0wS`h7mKX?H9rP!9%577|(Vycn@sLNpf;09`*~JLKr5KYNG(~59M zx5Tdd&~;8bJRBG`mocRI(NY3=MEGh*P+*K~JjoI20ae-U2BX3Zx5N>JUwr0_UIUBYx(ke#h$%ZXJ1)3Uv*Ab(EBB0Qnwe(l!VXda;cpq_h3b&e5|SDV<^u z-ydOC)#319mVe=-HJE+G+Jz0fs6fcypomB*{%FR1$NWl zF8<-G-zXFh`vPhqDxietU0JBzUEPptyh`4eI~;4p|4Ev(BxWY%zq@!|12OVKXZ%dI zQV0+-`mg>$ztIo~X64RmyKcm-!iV;-L;&IaJ#HiIfoCarF6BDZzeH3v+19~`T!xR} zNxAod)Ebg}e6*U~@TzeyTs`OE33pDNkU=4A0(0uzAwPeex_GFRk5KUPnjxQ!y?}{G z=&kpsMr3~&oZZl+)L-%Cr>p+eRlj%D?}G#Ar#a#OPC=AnwI5+7MhHCq_x@CPfi*oi z&3um4^KEw}=okc0pd_*RL(?J~d4!c*zr3M=uhU;dD5K4o?NU zBMs8^S{z&l@<5juzvQ(VaVOB%M=!BxE-n*AdrC&*wFYaD+-&-HWjMAlC_nMiC}ay8 z)Yj1vO4{*Cfu)wof3Z$SLaQ+fH$%LhOnmws4uqC;O$HR)Iyw=U_$iaw`h`@$cYKTw z9k6^y85VL;=R`LBkjJClQ09Yi#xt}icqirxLNbBFBKaE$a$BFSHNcszX5VR_flU3>^)HAj zf6U*%Sn?1_X8~CuNKp;aL3jgf#fR`#rn@|lh*X{stYPQHPY#D_TfXGm$}@_|yo7tX z675W<@k(Q!JJf=y?xDXLg{G{g-v9K7T*UmIUVi=E*B11{jTTH;ugQqD##85iiIO&J5zVr}XyrU3CSs(JlkFa+?Kqr=)Zd;W;#Bt##@+&AxGOTc_gGn( z7mO}U*6&)g|42F$>?Wm@!(P7%mpr5uM26R(DKhX;UzD&);FF*hXM%J`9O%4=Brf7r zPknuxM_X5P#K?B@K#2>$Q{RUA~Q6LA_oYCyp(uU{o3Uu$lR(7Uc1 zjB~U_{61ccwpsBWi;DZz=^PB?xW=Vu6JmQXyO!CEL@kX&67hCU5tYSGyY6q_uMWnW z+-9M=#;(Nk$Z_4pXtn+A%VBMnn;r^X*&ON}N6m?T%6OPVlj7-d*DuFq}{? zHjFiC!@o7jyIokYysAdmy3$sIT;4cPNxT6OeEW^X`wYY-^lQ5-gZ>dtvtZKi+3Qkq2+p4oDX<>kcC%uUL2FU@l13a{Wb_7PHYLNy@iG> zC+&!G1K}jImwdiRgO5@YY=gB;r7X+{ETN8+~5J+N5etRPD9)rcKC zu-MV=v4Sz)J5+g6>1@$HqV1jTs(k%nB^t4D3~z@*z1eh78PQ9cb{@1zOGjkvGA=p- z`hC&mU^{RfY7Ya*^7~*H5;YHj2exO8SZI!~pdnHsVRi>Ne|12rQ1HSQNEeDSMlP=`g7v1!U(ck%5&rRu_L~dxz}`aVl2b)S zqyuN^JV=>>VvuIg{G(})cBr|#+4#*JiyVR{WBeC&J)&{f);gH@4op~WJB#&U`%nPC zUFsUF3cD@NnJL|4O^%}dwx*MxHr*%})DewHVn6k{j8SU_%6Pbe)Z7A0>*9kw3)(_$ z{nt)-Mdi1kawPmjHq1*Mg9;=0kiv;nQ%CeL7>unDE#LguYGaA+hx??d}-Ue5ZV>< zjIc+_fjF{aX($F!97Fw;r+=Hnx#%NPk_GQ@?2LG66h`E)g38WeiTc|Z!k9#N_-m&g zuWyvh?MrZDh`H2L`>SK&D23%UCh;@Lu?U&5aJs>_=vj!Y03>*6++I}U>LZJdo{I8( zNeIAmBxex3G}43_wMd-yR??4*_gMg_ttr~QVReAj-&;W_A;>P3sFhZs45m*SCz+92 zb%Ik#(%<5ZsO83V-U)I_VGcpDZOe_gaGEC7Gpu*0ed)s#NMkgm_^P4G{5^Vf+$JoU zw$?KWj5u0kzxn{Q8Dixk6j9PhR#z4_IceVBIp^lK4*z;kJZS}m-!8SmNoo?A`jRj; zcNgi5ZUm}Yqc;2f`N2d4?u0lrun)_E+MzZlQ45p9$3|}Lg6vI%%BVQI%)(*R-x9CQ zg7VUja2wz>V%mYpuqudKs}s9r-VpXdzUJsc z%oro?u^7hpGwjQD3>4WI$IZ?&lmE)>P`w)$jnCH?PD+&CcW*uDRQw07?5&ef)H8`rVuU z)lI*5)9>H(2RHrUtt0_R9st}9cU}B+?mUBSK?gaMtD&tp(=8BG0x9k@MzKLiFTefj zxB7+J6>xrEn$^<+R~YUk)o)>b$=*Glu+Sc&1J*;yUc2!~53OGD>AtK^hvj)*`l>JF zG4e}!;(&#bIjYfl4ffSbaD5Uz$@@kEAh(A=@sk3O zhtZX%e~zXzfHVHlOW(t^0@lTLJpL_#Xl?tHj(|)^l!1d|O{b!|mD^dzGy1S7`&~|< zZ`7zR7P7N3te~D@zPLWomz)zXq7Jb{1UlQz#JP)>A?9G1Hf<)HJ5dGxyUx1T*_E6) zd0@SxC$8JQ>0aG*dpF&|4W7kvADJ+aV+1`x2|bXa)Ty!tt@G7CUPIVJ={_j!s6nLP zwMcP-aM>_k?80gp3N1wFK5x*?gSd0<5iK9RmC)M-nIlyT$dZxEq+1tmoh-Z9S@ceD z@MgMcx$Vbgcf?RE5wMQsKQy%P}5d&`CQfKMMn-~b1!ATLVP?sY2Q8@R5{Ri;dmHv%#Zg_t< z(fdsW5cVsgbFfVG53|SFT)Uv?!to$}>UZJ|cI-;ONFeaQ{C);%I*VV!GpT506P6M} zQ7yj)ZU@ZTCrJLG(Z4&Mbi;PRzoDtr_h#kiZyl4nt)qQm~>ZSw$ zWynXyMr*A#b&@?C)8d{%uCie~%o#)LbjAlfNpqj0=$(E+o9_{6MN*_YNV3sr{lmk2 zn;X37?ck37NJI^%hX=f!c0#EUPu~>qoCW$M0ju867=cX=kB4*e+yWN_asRHTUHdnri)(=43t2Y4WlXijvy)Z(kLc0?ymQC9x#v3tA-|hL7t#i7%#Fd~x zRU%KC(9pir9;^*=Nf zfMbRd6X3cwe00Xfhw5Dkr24;Iw-hQ#nd9{VZ%Q0a4|u!SXS47!7WWR`$C3n~AXk4J zmWP_DJ>WC2E7;x9wp%hbG8U`H>aa7j4!JAhk`Z)&_HkQ!m-}4^4#O$Bc!t!0s>H@p z$=-d;J}4kK$Rkv>0P@hBk()G2fMm_K?>O5SFi}4XU$-DtcWADQ#f}WS!#oaeu%*_5 z5HaI4jRSB46R+53V48#|r({9)2i_Y!MwM<$D-`#X0`z<-3q)p@^@sHVF<7EwU69MY z9yG|V1o!UK+ArlN={K^(35f3w8!xWFSGr&bm~}CeXC~H3ymh*|{sDmkHg{5sn6MC4 z<_VyIMj#$_&JVfw%@c+9Ibv!&?)?;DhCvBYtY@in<`pf~?Q8=~vUGPn4y}hBA5M69 zbBSBl){6mHZJsi%e(9UTvQr1><5f1F?)+NAnq~3-_L~T7IXjzY=rpsXN-nP>y@hbA z(8S~v+jdh@rvpooej0P;xoK`2(L|P}=hldzxoQ%T^dKn!I!wzh){sjSz&@=2uVKrT zwRMHU`09@waYz)lrLVy<{!fxsBw(!mlq6@#!*dBcT$`GE9uDTDemk@ z*Y4B6__fpom%9M@OrNrZt53ty8<%s0!#qp0?34pGW^;!;t9A3@)7X-0tt`40tfxAsCXwWK6UD_T&kF;8d{zzyz;^JF?+r`{>GF>o=T<>m-i-m_@(0tKtWSvIGOgOc4jM@ z6uIS0+4BX@b*`TsVQE5;b(3RoFA&ADPXn@|!LLwkRJ)-xg>rFXvy0!=iCRzbQrYPQ zJ$B`99jA_goz|;u(6$#bnj|v<%7`zN*U~BXQg}3S?Yx;hy$Wf6)0wyQz-cLqNs@xo z3%&)C!i$gYfO&Xs`}jH{LPSUmgECBk=Dp0L^BzHA+C`Ur!$jX8UqZljVa%PAtq$|@ zL|GlOhp~zv0|(+qfIZ&kLS@(>ztDuD!Ca#2ANQqqTc)VO(D3Uc!BHpQN6ismkTCEd zClUl+Iyyoay8rI$ZxoDY8y2k~;zVezHzq5C=7OOu(g~Q) z?yf;cl+;I|L5KVtBq_Cb=MJzut8;%gks+D&`d5c56> zs7q~ITyuHBdLWi#L7zBQDf%&@QoFlD2gou)bP8-Xu;=O5M2C!ON>j8f8ME50;coa! zTa!K#)*9^`IUr_%jq*MfR;W_otl6Iv808WABq5r|!?=?T-Ixp!5b7%7C5a$PxoOCK z%hUrnm-}>C$DN}lOoN>WE^)ZN^F8%d3Nd8 zG05s5tgL{#*K@IPI@JXVy^&lr)>KjgUxbJIAS5CVs>DKXIz^Juj2|y+f#cGUEd2=P zy+@TpzwIft4UoWl*nMlL7lDMY9~teXt;dLjKElGdv0L&M0guf{eLZMG9+;;443FFM z;ojqn3{Ut1-W5T0n&h1g4SK-xoS0&hJ7TEEVx6yzq=_3uQ}LP%)e@9l2fR)ikQDGE zNEklx{-;gV(U%(^i*Uqcf8@>l-FG%AD2|Vi?tnP`CJdY1AYgf{iu{XVGqEOgI@c1C!l)D(-#)dW*FFmLC%QmKyTp;K)GjxF z2&JB*nVhTmMr6Pbbv<(aut|wKq`K@K)mv0sBi|E#;CQBRPX^ zuXJ{;-S8w+>1p1IW-IWkgPr78#$+g2<*4lp>0BF_h60?~&FuHEwGT(71zuh|_;|BA zcH%J|Su(;<`;&ykc$?q}aXcR`g-{#}TBeJR!p^yLbi1ip$x=wGb$)M9Lid~RzWIj6 zn@C);(<(#rgN&#MHArID`XI~MGb%D%xcEk39`Z(;-NLt`E6XU!PDFH22N+4lZp1`P zlnJsWJU+ESh(d_@K>-!M@94zQxGt#<2(KwLuxPY&qZ-Z8I1x)tX(JDD3@9M4dS2!F zn|FLAScvX(zgH8y3oK6q!c?uWPFoaPCLAe7m5t46!d)^!0TiortcXKgAI}E~sR1H3 zW(1&AJ3k}0OJ|W(1<;e=xEZL9c4_aX>UH{%6@%eh6naz)FtTbJj_1C`!4lC)8yKzr zk>xqr^$;A@2Fg^pFI5B(fX?8{j{#GvX&cT&svY5cjOa&3pYl-4*8rBygz2GdKuij~y-px$;1++H`n)+2M_63n1ZUkb6p~ z{Kk97(^U?RAM*L!$iqor@)TTK#<@r=_DSKmgBujq)jvlFNgEOsGAXzdw&t&w8HJvw z^0teVMtbp14Wb=ocn%eWNfdu)U4JqIr|h?` zyavLpcIqgCQ&5|v6+!XrxnU5$O~6iGEW}V|3_8UN&3L1=#VZ@%_fx9W<)}g z{*%Xj%smc7;T~}E8GPdG+;KA5D)*^%I6-8|Mf+eMxO%kM+B;{rk=h4wmZ)qJFo?Cu zcz&1!^ottkj1PwfAtEJ+1eAnLeIft)YqOuyy67YoFP<_a1>-v*Ko^^IMQT^8;QQ0r zPKh#%a8ME;ZYZumJArbg`F(U4ZX4@!S9govPbBy3P^P!V05UkO-&OZUE0-R41$HnH zKR3vohea2L?`^TM8&IxyI`i6wxCMl;| z-~|Dh=ROjV*ntUZGM?&hT>+G_6HzRreVHPyt zC?r*m0cAp#4bl$k@Vu|^NN`IaAjS+lp%o5n7ES&) zX@cHatYOH03UyNm*YQ(m9;JIkS-pG|aL80WZ}J@AJ@K`tWV0+scbD)Uat%WlJ5!6qAp3H|DLbeQI+Qp9R7lV%rEN!u z-FZ(a4@w zKY)?NFy7o!>Q@-^1;hN5RbQ6sRdj*HK3}!rfz+jIaPncCh_X^1`~n z=^SeVIjMLDW0H&8b$$0?JNVI_5T~}Dgx@=H2jhc>;Cuj7vLu2iDc$pv^h1^+wr*U# z`ghaEO~a+c*@RTjk2#^!g(qVWPmJmhm5|#`a00{yl0zATu3z04F)`v|M_)edN}tEj zM=*-dd`xy8WpGeKev}LNCjme@`IYfySV{)y6j^_Kl@o8e=LoVo>G?Px8h0 zIRwr{mae|2ZluBjV zr{7ORbimRdz1~U>>=G}%uPO-|LGpdwOYc~Ob_D1XSZuDp^0J#3+ghMvG~D#5l=duK z9|MUnf%(CPV=_i`Fb$KKY$@>orVEky^yyLqYoymo@~OVIrL2txF5zypjSnrq)GsL+ zgDNc5u(;+rR%DZ^&56=vET?O?DGiODP(*r%7n=01x)RuSLY`*|(R(VruZ2_qdCs8m zR+Pvf>iOV#bv5tWd3lB;Tgm5>l}jyBxG1E8reyLVp;l)kl(7W``0x$xtrM>yK6~<) zS%M_=Ge+s_^A>g+qqJKjTA_UF%o(5TwuuO$1p@b9L(r-r{W2N{i=QCzZ>G1`Kmx8AGaZ#3u zAQ+*dkHjxu;-GdJM9l`zh;jA<4woo=i6~y(09|@Ag&PO3ELKSLwvCxcQN4sIhU?ZH zap6SnGkwN;t`bxk$^@tdPu?mHPXnf#bSF@F(S>2?paSiTq|PUiL*@zr{cslmiR(@A z-Y;FbxVJ@T7XbVFmryI||HNk{Fa+=jpNoz}bY!6qI!HwC4e@WcH@xZ%d%a=5$5hwe zBEM|5MxFi$pq=5UGa7Zqqt0a1nT|Tw z^{knGchtWcVdDM1WY7%p(-{qsMAI9MGC+<--O)H3O`>x@g3J2!RQT*RZZ+eyXAmuP z7bAL{;C?;f?f5b`9gZRsI7cnykb08BH-X4FEtw+|+ESpq<&B&8MhK3tx& z0h11qV7P(eL5MXzj%9b5c`HS{6h;Puch(c=K00jDgPLuS!mx~Oo_0<=CKI49aHL=j z*&vRRFJ9K4pYc$*GjR6sjGhjCgQT^cFzQA0ut?N;^uFBeDwvP7eNTME_TTOl3Y)T( zWMk2gAM;uIynt$KD1STmo1XHS>B|yy+H+Vb)Zk@%I({(T|Mx-) zDD(0`imo9Y1w=B-mykCRU>4X^bg%eXr~Qz*vCP1GUzqTH=$>Rq#1i5Z0y0vvHi}?QmQs3Bp literal 0 HcmV?d00001