From 49f50409cd06a04d504bf1070267c6f49b8bb3b1 Mon Sep 17 00:00:00 2001 From: Alain Frisch Date: Tue, 6 Nov 2012 16:55:18 +0000 Subject: [PATCH] #5812: compile read_cmt.opt (about 10x faster than read_cmt to generate .annot files). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13067 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 --- boot/ocamlc | Bin 1294591 -> 1294859 bytes tools/Makefile.shared | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/boot/ocamlc b/boot/ocamlc index 3f243d69ecd561aae1b7560ed53dd31f3632b22c..7d2e515f17c5a13163fb1ee0389b1283d0a69bbe 100755 GIT binary patch delta 37847 zcmdtL2Y3}l|35k{5Re4Uk_1SA1PDElKmb8XLJ2kW4$=u70YQ+uG(}NCL0uIPP!R3Q4oo{N|BU1Hk;K56&%1>&~h-l|_j6YnP_D|=O66R|P5jImN)YF?=d-gU2)i1p^J z5((aWo{05UJs_IwUipRCdzIJlULV-*36ZdS$Z0XQ55H~qt1V=CQ6=<2ILsl%!Co4B z26ie7?5(}CEoC+z>(yu_Yw#tzJGGMYIZxXCMr-MX+)|*ZkDb!FZ^B`ckOfvcx5All zB;|99^I;_Y9ScjgbOd|e!rBC2n=GtK0JhA)TviJ}QkH3vq->aFs2X6%x3D^vzEOa_ zmc_LX(3i2W7M4CQK>y<@Q_(!`ni>MfKC!?W0U`S>jA~6rb`A)69JrwOHdtCRki3Qy zyW7I*24J@Z`JkW84FXUe5moLURlYi^TpMLF&aWXUmKN4Ap!nO9hK`K!E93g@d&naF z8j_G_0Sngf;i&Q*QRRhE<*8BS{!!&tC&O+r1+_pxmJJD59UsLcEX}n6nloP;zU~3o z+kgd)e<`ZGL6>d&Lnm8qg^UUanPOpm0qQ8X1SP5%JRuP0z2wZGr} zjsifn_k(Q^h^ai(GD+kgwKM}QZm>Q3-XNOkmd57;2^&DlaQ1cO+Olqcz*$xlL2^{N zG|FU5fmJviXFqm+I$m7(zoN=7M3tY6l&SuV-4_Aq^6gRO`BCM9sB(Xl$vE-~8AUbD zv9R&h;7Rs8-_nq$Djs(Y<2(z*iIudBJ|V%*9y4?c0(9S4nD2U`d&j~S1?Zl%up0m) zBNtm74RrUp7J0ozE(sv#THH*FTN=Rix42-iwy>~?mVQovzOuzFw=kTT1DHz|jST=V z95pq)IRN{@!o~$)`z`F20PGnHn-GBAV__6Ge$yW&BH$?RhyJpL+rZ+c1nA3I z*bKnPUe})Qv^3O|Uw&omzAnJ`s)bQqi0>|oBhPQPxD^(+#^79iv0HAD7O3NCqJ>dQ z`4#DBVRr{$tt~9*n1&WcA>i{?vapo_Sn01^Q;Yioz~8?#u+@N3EgrBqs>N}O^I<@- z_brTSOZ4jl^m{BW7~79n*ao7b{zyXBTHu40nP5vT?Dha`riI-L7%AIqab(;8iwi1i zZecfB`nC4_h~;ysEiZl%i9r%d?xphMwudm@CaiiJ_l{WguUFfRc6_ve3a(vK|c{s7&}8V3Id+j5H~To)j` z!@~S_1&ZBZVY&@bCfG0w3pQb%g>4MTYhYoU2$T(bjm^?0;Bfb3fkz+&?S zOZ1)G70|33ML_YER3ut z+$R=CN*|8mzbmRdFRDELW3+$JfPPT~S4Wl0N0tBlsCbROK$(m>8Zh_`3;S09wyTJb z{EzgQCGu+nS~j_eNRzOkQRO_#^LapUY!uD!9~L+8>!|X(ZWQ3@sPf%W<%Ln@kx}JN zQRO;OC(=AKVpF21!{8I!oCl{KDMwk0oXnZ`yl|^1z50IAB-w{mgjfQ z+@i63RTRT0$kZ=EGJaRDr z+izjNTETw=1aGi75==_}4B%!07xcz>OZzd=l78QMvM|XaeHdui$A^tEq}admZMLv) z0KSHPp~Ev!O7c6|%G9H2|Guu1{C z7z;}hh+Z-}#UgQHKfPxv;={2M1Yp`vp?T8mit8H@^37xNkHib7S=QXd)2}k0!E6iwm6*F;}(}` zam@p`l?LasEQ@RrK+d#`K8y?+ZefireairSTZ^L#kP)o{xO9v2VI-@pg*6qZKQXik zFq}MSywS`G%L(9K0WR2{k42T&M3rx|vWnUpx@HGy$p4cpQJz&q77n(sjsaL}3nOF6 z=*|JdDq38f0KK%ZE&tc_TP==slgt4DzQx{rkho(k$v}&udiAg{GJ)6z2iU4xoDU=VGjA97>xWV0 zS5PK79RfPG7#cI<0FFHv#pGG0P64JxQ8d?EnxNooEi4#;9W5*vfms^n?HDhsx}_|h zoIr*SvF8a^H~r-P=q*!;K^8aEo+k!qp0qSRA30}(h55lruv-8N1ft6pSfXHbjkK^S zRsk_~wy+~@WPLUk`k|H*Rv7W#$%hQw^?kKSMTvqBXr- zX!9;@3ynaVUb`J_%456@PlSeT{r!oMXuJu51g}J=6V%U;lEg`yqtbDHihtvsI1noD z<_Q`k=|>BtPNFkPjD5{%Zp;`>TImw(ry492C=v8W_HWh|uoB4AkY^Hg1G;!oD#bF8 zqn}R=L{-sU)YkByfH}*4N#N&s6H$`?qDjqUX0W$pf2c-cPjGbSeQJ?=^lV zRCg5pW+|R>t&AZ>vIze@|Bj#GKky&w!NuuBznyuHtcD!6x8NezP>$Un`W0p_zJjhH&yd~bao!29Ez zkG+G1n|rqrF~b1Awg_k787SA|wTqxBG7ISIH(^((X1D6RN)c5YZ-aae zZ_R&;h}Sv#{V^>7n~7d^BipATOE}%-xPdPU8j) ze=bz1OghMFVo$^FeeqnVa_w9wnMVXjH((fI>?R&B%4*f+^pP;Dy{d(wMpbAvy?PN4 z_OQ$BFZKrrR`FZCDTSfh18G6^E$ocFppTS$4!JLjO1n8NwE2mySSEE4lQsNxHi8f5 zFR4z`W$2C@OK7jz zYzS+@@^Ia2%6hXttS>ILSF;azb9Pa*U=Opo{2KPToG3qF8N4N1&2Qz0`6QOkSMq=H zhO!jDP24Q@^A%z;LbWb`Ky;Vwr3N`KGL+rm9WqIyFrts<(M9UPF8=(nWRAgSX_ZF-I87 zNAWf+hrK9radBSD+OhVyrf*;~`2*}vg!o>#rMvi2-o!@pdvH;2&2PpETvLn@&G=#V zFHDjvx-wD5t0U}w{vq2Xf96TDf_z+tc}Y=LWypm{nJSIlV-m;JED^JS5F4mpnuwv+8bts~xpJ8(#Cam1 z?fJji?TxOWfu;B^bB;LFFgEkiI)_ACaa7Eg8^r+_>_8nR^9|_er`*g>crP(Yw6EV^ zID+KoiCfq2UZ7V@UTbU`T&bgUJz?LldL3)Ru3MIJ_ml5uc@W^n! z94niN%MiK;yt$cQKoA*0zL_i^)aJYg%r5K?@o#Y4j-9b*1o`Q|+gkI384J*iTUuou zmY>SQa$1)0(!mUK-Ug9{at<$$55V+OVh-Og>uS}c%DP++UvTh2@v?MT8_8mWRYA@~DuC*0>|d z_gMrI2bq-qLZ`xvz?HM>Ql(7`tqc!T2Q&VX2QwzK5^^0sCg#8`L{8^VWgkQ-XZOOr zt>mb1s|GJX^)Qv8z9I_sT@}nDwfKVYDD+Ck2B`u_DU00aqMxq6nT(7EUlKbdMk<%$ z@nA-7=I~mirf+uN?3&qaVrDk3nH?5p`;_-kJyckHijli!HXZScO3iF++A3GI#^s!N zO{$q)$mVM=Hc{8Bb}*o_HmQm}p6BVRnP?ey#Cvi!LEwL#=4!MpU|MN}<1!pBWW9mQ z3FqMWOoI-pJyFIMgv+z-{H8|D1Wj%kYXNAsSg8tQhpQ#XcTyw5Hv)dfHY`m;y953b zUsCU-dKb~0xtY0{)tNg`e$ILUF&~3?TeTe9T6IqJQR4v{i=7BhG&|JgLE{f*P#g`^e2-}e$t{p$U0EQ%5BC>404$89 zeHR#ass5UjMCN9iPBSH&N?X-SYDu_k<3~kbwgJ&lK^3wUnsq5dWHWYIomVA5 z0wp@O?+UMz>AFl&kPgRIQOUN9N8(U3{1(efi8%wm{G<|q`4O_piF+Cr#%`C{vN0+& z4dW)I1nj9i3p8$JW~<25Vz;PYP%4bQ6=GVT%lxJqYIts@_PG}1 zAI#V>voTFszXb5#x-uptpHod^3S*mzUjZ}zJb~Og-d`-&jp=rc`BsJ1r*PP(@&|p! z?eUnfdX4SHz7O@GHaFdIXZEeAd4JIc0W=5fX<_QsRRA-QkR-aH6YhiIIgl40(i(^5!%soiKWsBIIJ-CH&tHa4`wunB1(xd z6h@Q^V{?IdV?LGp~U;_CVEv+(Sw@{sspV`=* z+1NNLPQHw-CNB@mQ)NjRFRRCt)8uQ}&TR4mB?_#rg6>i5)S+acQ$TkHQN2Y|{f7Dv ziMd#B9j_QOFvf)NpcryHV`E~*#bl$o3uDIvGc;ze3nx#E*{f>AklUKXbk;xc3uEh` z)mp+%qo^=;s7T}=SPvm`wPD$^HUtq3?&CuIPZ&o`{~+k<)YYlasnMXM(!q?F7!gB} zW|BXYRrCQB(B_}YLbUpgVA+{X*Y||pGpzkr16D32sO$V#4Lp1B{54u zGaETlLZRz-UeZvSW@3!3DWS!dn+7*V(v6uK+Tp3p`m}@@NH-Vdo7misMLuYXiST`; zeyFSwh^bETyW*$Dk)(?J8jtS_rDohuiyo{ReuGESQ<%k&`dR5%?2K7~BPCTwGm7Tb z>73kPq`W`9vszX5I$jI3ZFEDNF{Jv5_V2=Xp`;%V!*9N0DNYKld6bBIrWUJBWIbxH zuicnLRY^Mx6=W+$avixRtx6)pkJU_COvz}mJP}iZVuoT&h}(0Op_)*R&c(e(o_L1c zq*o2@eJhk!>W}o{Xn|?68&$qS>Q)$iUb8P#m2lovF+~`oTcgy~JN$;zR(w>Bj7(~B z37|zVucxjlaa~oji=uN?eWY9@-3TAns!5y)?hU#r34$??=ch!dD3=#Iv*O1Ue@+~n z+@jL(q=QM#D{QGSrhL25&X7~_gYvBt9;mb}p#rL2*?BJ6aK@CbRc39Oh?L8frpY#v zYW8~|XuOzLN@^PGAa-qRwJPMvT4I`>nkF>bTyC@WnlI|+8u-mzrLSQF@W(3M(tI49 zFH?QWcZ+zyAaCTIV>-v&UKDmdOAk!8iYHokdK~^6Zhbh2?5W@D?!U3t3q-&xsMHAj zo{ESvQL@8wT~(7XZ`T_dsRa5oiuF9(6rg=Z_4>fnurdWCi zr1TQstBEBphmT>!;!=2NxEFis%H|R)E~m0b!{@K87ky%OTzMwuXQg5ux`H2^;Jlzl zs}C=eh+%q&yj`w~`6FCDTvye)e9I-p%E`X~pDXXZ{B?MNuKh(c(zBY@HJV3?)8Vws zUBgu`wYa=bJbmf6ODiuwt_cj@9Q&$o)XbPCR6iY-l9gn4UwMbWais?T(>nFe@V=OQ zIRCj4Q=p;(_G2-3s}C-FYJB*>l^ZRU7e1)QAaL8p=m~5$QSb69F&M;WQKQE$x6@>I zU;g#V?IH{La5(Ww!z;JRPcAjTvhi}QD~{Y8Fbxiz)UYe-g}WS0__bIZSkA|@H?iKi zkk97T_yj(Jy}`%gM#ms5MUTN+(Gqr!KP%dcpT!`t*%dFbS1`L-jXNWGvYyx|ei!%g z4RWJA!0wZi#k;J&*d#t;FU#Tb9V~j(Vl`PM6Xz!P}~k)iGptwd@5Df^7gkQZ<%=>W~ma1E6C>}q}&Ryc>M zMQpdo6RTK;oXQryFQ{)2Su41Ls zYy2(sE`X;n0Y0eSRm*rY7Ry@jd$8QUvXSau_C0r4YvHTkh@#2%4vVPW(Y zejQH~P5B=%IS1z>{0cm{kXPkDBJA6X%i;w8nxEvu#K(;DYh)~&3)NHkEW9^2o=`CRnYbqwiP$mVcqWm$J>Gs_f1#u}l16@h_Pr_R7!XR2W9i9nS}|%P?n?$W!l% zMsVu4^0ZuvY4szh*X=NP0&cKu6f<-)EMmXIBa0Y%fm|f_z#rGBpV{@2qwV+cr^O7H zJ*2LOkXa&)H{mldfQ9)Oxn3Q{Pu~S{hDeo6OhQ*$giyRk(lHPHWQL-hXNPEw5#A7$iKyfdht1m_X(93VaxC*wqxD#M>slhp#?)=GB*e?jEI zzE$i=5ihrjTf}a80gGREi8ZkHeX)Qw=DkHraZXZ=7C`w#{;8Y-FRc?-LuDM#RZ~g0Z~)55N+{;dzf4)^VkBHwSf93 z;j&4b@ri7V7z>84L`aU1@!~4g0`Wc#tu~MeF8M&zWrX}d6o{W?AMv!fN7M&QVHtWp z|4EXmEyVZm<_}`4Jd3!Q2<$*;_(i;dfu}3F=@EE&5>Ml|LE=0W!`&l%oH)Xh(RL+Z zYc@|&F>(xF1tGLO0Qe$SO^uYbA-bY?7spBvTn6_uTB(x!2*kwl1H2C0JW{PwZN=U4 zF&T#&Tfg##p!*dHD~f~sU0w;n+g2p9M&KAL_rR=0Xp~MaoJ}em#l%2GPR&9{fNvX&6Cg4JQS$rhpv8^Eq(Q{`EC4a|KF#;s(HR1e&N*#c9^ zh)Osg;J-q77ED=&iav^E(nK~}wiQe9l4x7uX7Yo4zWkNn#%2q$c7Qs9BMC2LH^YcG z_%(3eeK4aXZ^+Zx9rBReqJ`ICRmFOKLax9&v$tzg5}+WFy}=scmDyB`Z{M=hxHG(5 zY~ZuS?YsfcLIv)_PFq{{3A-%Yx@?2GgWm^R+C#XD7HrSkLRlRw54+gkk^OMbHk#GIAbNne6AiI-5TEf}Sp{U>`Di?<@CzR$I?0A`awC=_ z_Mlx~z4hF`(BJ`j=HP`n4oDz*}&19>~FGxdPDo~k2%pY=tAEE5CRCd|?YskOKe zJ*Cz_7gVE`S(~S`I0!rzF`znqt#~!$y26wDf{8n`>->BTqaQ-QN zNc3j4Rd2AKWm&SRdY{*1@8KT9W=tK1!GXO&^NL)-y2xe7wbENx`8w++2Sed%EVVYn zMWrU{_n68@L$-&3&f>J z(4*m7!oH6tOcb|Zu8<@cAAoy|L-_-sb(ip0Sr4(4ds=XP`K+XY_B~kH5ANK{USn5l zRiiPCDzyG+2uHi&oFG0#E3ZTIjRtk1Si>KL@R{&23nHHhw$MT zXNLoZi!tzPT#Wf^5O|9*FqDw7@<+J#9S{s>=W$DT4W7yv491c;7w}lzeQbquY22c_ zN(^T`_%ht{ZNUjs+C!X(83q`h+BrS814`Vb~} z=k6NVd@XknAgutdqLyLxelrv=$73aH&=Uwl8y>)5k|`F$dWv4~$Urez`m5<=TFahlB)^KoffB$fzQ^x?My>##o1vP|5BatlPi!|o7wi#{&09t8E_JH>ha z4D4LTaGP7~0@+7^f2x%fioN0sh(9d86rZC;#{m6KT!0WW%W>FgJS6fbKQI2kT@NWM z$>DecDo>c_pz2B~YRPojSdwZb{^HqkIcp-D$y3~IDKGK(1>|S}7oC)V&;4`@~ z?qRu24#dMTt@wIi9+Z#DC$Vn7Q|eyi!qJp@3Md!1R%hZFn(dgs?U07~5`RKc&1S-K zbSL?Od`-TNPIno%#D3#%p=NK(59LwWg2yr?eiYw8&hv0LHN+)wv;gNBs9MI(%Rhnp zw;Tb1JEoV=t#dzglmmY>pL+rsViRDvE-xF3Krohi}T=4DsTCBb|R zlxO&jO%$}m&k!t|KyS<&i9kV=m{e2J9bHO`_0d0^=Q-+XM1x;8XHsyU8?}Vn4&#<# z@@BApWOdaPbo8rE?-8Hp4aD6%)6%-szRd-Rx*Kyw63_-m)9NHT6(LKdyAcV#8MORL z`MKI;KSF%vIm(YL1MwTf#L{_wOoNI4ZobBqiw%`lG91sg;fXFm8-Z`YxhKw~JXvfP zo1rj*HHrxnfl>SsXCz)Ix0pakzFf-RsWtfi2VlEZyWBDxVsb5|h(J?L)WXcsP$r9G z+8^|wr{PEz|AKMUSiLmA{|M+NL>tqQfcB^GAPWiEf>U@5*ANppy@3Bsi`@hqZG0Q7^N&LsI5>xiHIhy>sN#{ik36ej1pteF?JWcW_Z^kcaI`EO8>&B@Gnjqm3pFV)DvcltC=EbBB6WQ24YyA z)HFnHu)!SVeRy$q)AcukH8ei0M71txd8j{4E#82NH?b4JC2gxAHEf4)i{7|92o0L? zE24ll#{Q6g{y(4T!C$+%MT|+Rf~u$pOtmZ`@Cl2~5uBkrRwN<9b6N98%OOs~9g%_h z8{DPNrGE~D$I~gkBrJoG7!M&{uc4OYulc7rd528r))}IVzg^29}mTJw0g17lp zD8)N>D&%&-om$|Rf!C3(*r4<+&MymyX=8tA)bFM*Br;zyKr zPyHeEnkvy&H;&ijTxfWR@@?@*TU)W0?WLUe@VQX!I);P+v=?FwlJb$wuJ{3};{NrE{lA+E?H>%FL0t zzp^FDeFZt*BJNZT_2ot?9f`J~_XKw;@xJ=)1@Ck2bSxl5rbe413CrXLMmd7g(ccU{ z0;lqEI_N~yK9_;$QqeTG1Xkn>{GTa(9&^4&YmMmlv6=i!ZL>KN{!5^In8|;Mve}5s zQXJR6q&Aq+CsaWl}<~y#%5;f%rMn`@2 zZcU*>h1+NHQfz*7Z&{L`Dn|MTotpVw^tp7&{5*Nxc!?jmlk`TcYY&M^ZTYf%_@V=gt>>W1S+fc%(>k|4My`9oWpWKLkhfW%< zGl3Ebo}-O2M}wcuiGwf^&Iq1hRGMQsA=%3->6GPjy#6Jfx>X4Gt=_ikV}uht-nx=b z3Le6pqa9pw4*!;v6ZId}tnbJ4#ru2=aG9|+^7tYdX zP!k;;X* zKI8!OYciwUAdNAUr`(ee_9Umx2!FCjxt}vw!)w$Th>tfIDm{Tk%>qcGqk+0aN?Cd& zj?zaceZ*-ak|%K{DA9bRjqtGsMmQhh*ZaVJd?mq#20utpXBN#s* zte+?bKE~3siG`g-XM!49gWX}(lNAu@$QZ>RYY>Su=xyA)F3w37W4X67&Z$~v ztX5)<-r_hXVHk;^^n}JxZlje!c|RFdM&=WIJ9xI^NM}mhEr-F7EQ8(Zt&Mkb+zTL! z{2n(^5@Gd4;B9rh+hN4fkrrqT&M3QNg>L8cyx0yLckr9^@53F|5Q8CVgUvPUF*wb` zb-awzHrzeKuHai&v_glZXj= zYB{GSjT-QE}+xS+{ZpG0^q`cuU7?MR;qUvZwx=>+2 z1f*nGO^Nb8oN$JfXf|l|8!Qju3?*TF_5Rt%Z2*ooO>AXN^OfhK;SFM*KF`xulF(cY zCNm6%Ld4{Anb|hr9%fnWg!iQ|;QZvnpQII&8_eIc|;H0o57O+ae z7!q5WU4=XQgfV!6!tII%(xK zBMyzNRAjxU6P!w-h9D6Gyx|Fs6PGUPXu`Uz9;;73oXUIs5}k^A%AKRRHCi9c?|k}! z9le|1{r(U02#0~#RRR5Ut?LWHTOz1XF#;_%g7<~`%8c5DMOKlJUaO>dVg!IeTyp}L}dig61I#m?{*QV$yL>~rbJjHqdO7U zR09-cgi9x1xqq&q1^a|!@jjvvR26MyHY)#Jxsl~dF%==@=~{<5nxC^}^vW|Zu0|z8 ztgjBwDdLGR#?rw?8?`z;NJ((oX@xjhi!>O*8fZjD4(MsaXN9n*1Z1ZaNhH2>;nIn* zmgZz*U_K{X(?trD`^@usHfVA*)Zl&f^YN_3d~6g6Yxx>ZaHAY+p@19FYk@Z$Ir@R| zg?t(y3ti3B2aIcrNb%sQ7DlXuApyRaX(&wtD`E1n_t7d0cCCh!8HAY+iN5;ARtjOd zW6#$bh*H;|luzRs8nux3vFb^&uf98CpgT5SIX$x9hwMTk%rs5`Y0NU}@d~+)o4)#} z3H5>KObk#|b@x|V2uzmsU|C-8Q}{Ll6^X8gJ~k_oLN<^_UkZf^Jrn0AlG;c&dk{`g z;xhqZmsE7C_poi>O!HiAIa|6~BoSs~CnQA@rIs+Lr9KkISF#4qqC|moHF%m~H~2N& z=WMERMj}xX58d9UcL=B))PedFA{(fyu@eC$5=qMaynz#?AHjrKgIFcX#yU?BqrwLS>?#8S!#RZ}K_ZxH;FDa8q!ZgKh@IJCzOK@`hD?)BD?(8L`VuLZvrNKOMQeslEXV5hW%JnsBe3s@V*duHUdlctJ`Z7m9-yTDrE}oPg*Y5%AtUZuE zOyP8?EGx%Cco?EQU^_Ged#v{=N)=AJtIH7Z1X7%(1f|4BU(~J$?yluh6BgaMMRyAJqANxoAWm#BLXow1NEu@sia{=;)yFL z$&^oE2&5dH_3m{#QYNmNDH^2DL}vpz!A}$|Eyuek>CFm2KEgp5pD&U#cq;p}CLcV~ z7fY!8l$K!Vg3`=4O+b|fX%B;t(o>w+il?WvsS>Cnn`2!=<{$koOpLLt0z^EfWz4|w zVTd$cn5g}o(2<_(LrqWCtoSaD9eZ>!iP4v)aEaqHah&Di3n-MRx8N;J)?8cNmRG{L z9rl_UZVrWbGBkx())YS2j7alQEIuO9_i7s9n;HL8h49G*!MEvqD{iC;zU2S93jZr= zPy%1xLKVDGwVlLj|Fg~bVfufB$*qjZ#jXR4)yDI;|94*hKf4C!{=clj8zK_;^rVL$ z_%r^Cz{j;d5H>X{*dC?Bai1OF(4oAiYdI}CUBGML{)$pVy`DzxWYRVf?37Z>(jwl1 z2wG30J{ik4$vGgt;2e=qd!x1%{5^ur|&Y%#ZGCSK6dtU8aTDZ2<|P&aMBud z5k4zniFJt{68&Jr-UqduGGZO`avL}a-qG4ly!T^<6OY#~|IQz)oenjFYyKVC7SDy7F?9~^gKKTx ztF@dec$K29@P5j4s=Ma?xw#?kA2lIss_(2*zO8<%-Q*0;9Q_;ZrqncwDuOjR(uAJ_ zprUu=?J={6i7q+5h^B%rIh2Srl9~$dXr_}?$v`7GzueRt*2t+;YQ1JcgHkZIuYDd* z;ZyQso~FtFu*T~BoZuu5{RK0H;kve_tk4!Zxa+fat(dr6WvcC8S)m71S zr0zvxK#Hg%zXhB4D?R8D%`besyTqMm9<9WTaj%EhSXt0TuzlasiJ<6guw z3+6d15<%h^J5E{n&7`9cctZQ_J#fFrX`^PKv+-L*nrY&nfFs_s%%wIq4Br(AC!}cx zqu_)-Ma2E5Ha5**c<5-9QO=m^#}mo66`}U`ld;t(+srG=&3Jl$Gfep!uXt?6W7L$Q zYhwOchcG1E&_^ml+<&hKQ5jwM+Qp)6Z&g8ij+gb+x3j?{vx=r&G>PMq0Gf z_p|*z0nTRwrSDu6BFLbv5vXr#1cDE|6>b07>4x5SI&t`q<3y}+jUeN666+^Zll@V_ zXx!}61jYTo@e6$JGV^f<5*e%swP7R${o|Zf*@4-f}W>YtTTbQwJr5@E$~2>B!5t*_4gt!@*`q zFvNzr4HTI<6fx(>KXEiEq)i~^T%BvHj|SHcZ@v0-bjBPCpZ|1e_$W>9cGFugDfpUi z4DOA*gk_#u_y*p?_yF8EypmRu{f@gQ37BbD!_0)lJSQ` zOZJFpjirPf?2O0rLeT>c71Ngl8GlF_|(lhit8Mr*|;4M+f z6Y)UNIDSHWjq4{(B4ateodtY1nTr=+GWqqWTuokw4Z}yQc`n}C`~<`BEi4x#=Yd#) z#|1L*tFIc~_nfHj{xYsOsojW|llt?Td;rhkgZUubz0Z?Zutq}SYe@UmAbvYu zz+!l4;UN2oO~M;AjE`3(_-0lbCQpLufuP3MXYBozLtT@o z1V;}QVQ07lJb>d3paeO*Y zM}!XI=j0SIgkO~H&>Zs+qRH?{WqhQztTtc>U#GAv0h3a|I~w209E|30> z_!ksV$4bC!bV;JWe(^4e+M7*~kK;Y?0^SZLO@P1#GMC38jEQR)&%jIA4&;o3NmKYM zg5rS8mk3b@)oX_x9u%&FuiM7Kesa+~n9(1f)$Ab7V+}DL3wOyV6I(9tAueIK>57j@ z^oAMz;p~3kYKvD@2a5>^(Veo4$OpWvcuI~HlVO@MxsNva1vv<+$Dk^)Fp1%D!#F;l z%y(f$KJ2G}%Rrk>L~X8!Zdz#)YB>aoZWSrOr^6Gus7+nITomx90Gj}l)A@a3DDMKp zD2Pj`bz+^kB4gOI(i3eUo45vvZ6co4g{NsroTS7;XFnX{xJ!}!A{57Rd@vtwticb- zA&A=ww&wlOvI9^a3|9|@E8mC8K``PYIQTF+<~X={0RK`2!HR@Wq3!~I{2q4pH^3Jj|+VP4QiXpWPUb!C6 z6}}6b%lAqJ)r}xN7DILtoSVn@VPGbegJJ%3J$@Vk?-*2TD16o*KFfiB2D>2s(xDL4uauVMthoh8(udl4aHv?*D0Tc;wFtQ&o44)b33`28pffM)b>rhAMc!yJb9+AT#E zzS)(`I%9x(3sgBUt+J}34%y*)kf@=`fulYs+GEVi!Do~42~k88#mjMUWGlBP;=Uz< zrZx5))?RJYcF|x&0^9Qrypy8bMO@^|q6y;QsT|ay7x4X55}%@~!89_Ft`9U;3?}8lI0^V=qbh=)GHarl0pY^3dA@ep?I90 z4N@4^g)%akUh7t%zC&PbiXk>G2@{eO+m&%VM`Wk<02oBd~IMX z@Dhp@FQ*5USSX5(3CQ_FPUO|@cvOxq;PJeU3kxNf=7I2fINXeE zDTvY5fOi8)0f^}Wx&&TP$WH;K8QD5QZ4NMHF$&~EDW;PcbT(pWp@B9BJH~$C$$!I; z%fZxZ5Qe5fm<^KLI`BC@%wlFaQ#4C1jv=s=#Mg}W;BPjhHK-e2TBlwRuSd4NP$*$g z3SiXhhr-ZX*Z`O{SdVP+P+?{{>6k&~fs0}6><8Fz7@G@h3IdpBfe*X*@j*qh4!jEscICwZU%UVkjcG6(S))M=*7!eC))W1dg(3 zkcoiwK>+6=M~)^BN$k`B@u)HJ&^2ZP;$kvBHcjq7B+W2XjSCl!rZ%FsBFpI5AMAaw zXQ4C?kysp}3W%Bsv;~3>SWpNleNF7W`lke)2)-L%8TZg0CSA!T=SExQGL9 zf6NF%z~$gP5@lTfb1+x;V>BO4@E#x~@pXiKe2Ad6zie5Tk5#q#vvM8mpT~R1d^r(= z@nHyQoO7ZA?)=(tYQYs29Qx)euIfsceyDsSaXAf>ZOJ!GEd_)|AM**8#95A*S5 zfGyyozk)J3GPVDR7Y$0WJ_(-lc_2AOaztaBj@4pA+7lXd7Q`VisT9I-1Iia&nPkcQAfm|)wd!ERoi6~tInWU#I*x%* zyH3RrKmuoI*eo1PyHXp`0GW(4wX12PaQH*0%LnXJZE9WQD7pFwbuAH%CWs8Ay;WX- zsH7k=O*aMkj{FbdH#G_DA<3WgK@x>?IJ^g8N7N)Qj+ezU0oB*RAVk;#eWVKy-Gr?& zP#42t)7I&>6b_SpepAzhkyt66F3Op58%(lt0PBpOS_CmM*+qIwdN@h=c~0Jx=);5c z@DdIW!>6f;jxIQKrr`*`hAZgX`tJWJXU%!KG=8-ntFx`@wjP~Pv%ZFIAh0DUaNARnay{B|~-nS4HlzmC!Y z>_cGCT-~HTFUc`pt~!B#q{SBK1~EO2n27{kXY&nCaxVlSXc#`X(H{TFU@)Y%6y{6e za14Ib#$#AFYY65;eM515p#^Wh?uLhkb@Hos_&VI$Ix@>~+@snqGi*@Z+ws$Y_`^mk zd}iH*WRD`X6gQC$U?P$NxQ`l%<7f=de%&VEgCC@rDl-bXF^FGd2;&o#j>Z-mP<#}e zt(hX>XjqnD7OlfkbKIi5B{w)DYwiK?{L18>s{>Q-0hw1=HPS1RGc#k_X4MO zbJ}^~9w`2AK@?M2-P<`B%8&JNb`)v*pJBDU)kB?hs#7_y><}lzOYQGG7%A>Xu@3iE z_jAg4(}p^;yv!j^_1$F$I31Pu@-U|f>C5n{40mRG$F6lgFMgPU!0;Lkavmw-uk$y^ z^}8>RbS6j-$Ircu10j6HSf`G{QtPPqakF#dMBElGJJA^@Ft(Q+=d|(4PQe||vJ;$I z-uDxo9^U(tVcCW$aPiP_PCf7asZKL5brK#F?=%%P0ybGp;@%IFok8BzS*YmL2~H9b z&?80Ol4)qTo-;vxc^q!0_Uh&+@A70PgK&o@LR|kTV9A*Zf`!wZ%A}{Nw`8ib*ZT!j zUd?H!HnGQ2sL+7v&6w`&^1hnkyiOI}e7)1$8#=>T>J6Rg-0W?i;Y=aP)kZtj$RGUH>NKaJmSS06Ab!0%%DmU6J9WIt)11;|a=JHSx)Wc*=bYR7{KX zTECR-p@F_Tc1MpM;V{io zjR7gB(~V9a%s#!=v*F_(V0=7X;ONRq2`#XBD!TF1`DoUc=TUC1Gl3c=b*__zUuRzL zxu`G7uifZ8MCbQsJDt5(N5i3NYS%dl*U$=$%vY}oCKH=OyGgMjwGO>*WGp6RVFNXesWQ5e80fc z!xp2@;5=usa}DWxcCk|r9OmNH*@k~Ue*WO=9-7}fk?$mdVz@4i!VwFW%>3LTJ&5H- zOPq?XvB{r*P&<^jElIY}f`OS)_!LBMrcN|dB!Bx9W?tmS4$+Y``bA9nVCYe++Qt}7 zI7|eIjYw!^-oNy9MAtKe0eu`%6KaK&^8oJ5y^zUTa5zTrWAxHUjl`K@XK z?eC(Dt}HE!;*3l8Uv?V`Z=G* zk8R(pbQi{_@k7&uFUfOFhoF`T){huWe=t8ReE~#Me7ZrHAdNBOpXC`^Ul#dhNHPRQ zg2@jM9iv|EY)luoFT&)o!Yn5tpZFN3sXKYvT$%9C!svN)Wg=`@{QjYHB$+y;XlPZQ z%G0nuRvkgId(X|zy%nA2K$r!za5x>~VlMYaZFDL&>#iAw;m4If4{3#UFcMC8JHugG zG53`i;qRQ=kEg-!Jgx-4)Q0ZksqA1t^aS;Rr3knFL zVo+36LT}ICGrP09_r1EP zZ+Lm%Wkvi+v2!u+QoL)iSUt+Sd|FiXPI@Ay_~ggpLIrP2v8duzuOhD~j{8=0AHZ)Z z9&)9O7reDMy`4#S=lWhWIu4_0V5C5_K2k= z0||zN-DhD912C@)-;KdC^t0(f0LnwllslIxH%FO_3)ZHxg>?-mKL3TGBV)=|=0l5f z{Th<>hX4%LaBrFNJ!Q(blqoMLQyyEU+`UXW`-`xvYce!ob@ehtaVV4Z!vi$Ge{NvC z0Akog+OSpNWQa2duPmS$jpCaVlhoigQ0mgh?FP-O<& zbf{~ENC4ma%+zX-MGmp)umH_gOB3|ijerGfKC?`DbeZy1filG(YXbmTHQp+`#ww() zmKq=?T3)97-I>zLPn9XZTBdxkblGJ)O9R+lWy(b;lX2t~znfiSVH2&vQ*64x(vUa1 zS(^C)zE&3I({YCS*Ra5a0m1|e^IZ=VyLj3dvN%9@%EGP#jEr1rapbvIEpC>@`Ato@ zhb?Y40f}*0fU(FTM_U*YHpRjwTlzTx`koedLx8@cg^dfq>RDJ(0OrP8;DiA1w@*z? zZwkOZv#?14*vl41apO15qZUR@;=}H=uo-|+Wf$4>R?cc@B5JP@mS|dlG1r?pSk`eX zSX5yEb@r68kt#zn@31)X?wb~Oqs84Bz&&AcJ`57Dtt+Y;hYnV$>IW`4dxXsx2{W3^06aagpF= z>>Uf+Wa*Hwmn`hw0BoOytqQ=lTi9KGjBd3^vhGHU3@V#!VJkpK#;vjGcFRYtT;J08 z%?9^s+WP}EUwv#UN!}niu8$@Eu4Q99ARNw0K^nS7=xK?lMx^)+ zOH7KJS)30eCGkN4D3>c!zW9D=BYr`dFrb*UuuB0MpTB8zQM>yFxcdMM)@o;&@+Qk9pvh-iWnnS^TVP=- z0GncAQ32Qx3yU@|)BgDuSS~==(!yc_uq42O#tRM!jb}V{$*jY0`2eD z>L`Fg;d?ESA0On_jb&(Vw={nSTzajAB?c4@v#`GdbX^HX{XaQC*uoMf07mUx&Ek-- zREzUrWY8ZcO^vGuWV~x(DFN64z=Du9Pro7Se)D7?~D?>A_OnI2)X#gJG|C?E6 zB&=l_;&e;w(~!#(EG#>qG<@6`-#h?2Yhf9HQB$_GI3(;}7T3gY=T-sa(_V!MGG**` zOViq-NcU|P))X+3*(Sg?%i_pZ!d)4_4YW8PMzT71cR-EnSX2wk);_@Y)9a=E|3R7Z zi)G5spiHWRZTMgrntLowXQRgq05@A;7pt7?E3~k7*0B75VcjgQetl0gBc$xCmmS=Q;r&W-qE(A6T0#HsUQ&!#|Q)SJOKOZsr{e~tdd<0mq zQm>aOA1qVeTc-Q~${ir5mv{d(>2;cgVg(fai;&SMR}7T!lZILhOQ#ZduAMI4oI#Nnunqe}5Z(?hR>D#2li?HGIh zGxY0n#S4~%cq6`{c+rkfCy_pr&1Cs{AIV0tQF@=vX0y@QCu6@>@7J;Gyl)=~HFJlt z|8BpY(LNvhJi9Mo3s^Gts@NB@CD<4L+rEg=z6|?v>?`zM#BR`g7RzEwUAC0n$f{vq zX?GW4zlznyzS{1$vRm0K>|L-YVZXg(zlGhx?)WeE5DPJn-Hm-6_PemJ#l8W%dk?#Z zt--z?`&HPRW4{^uoqFHMIiL5f<{fcX`!vF$VZ8>Gn}r28KVnSnwkBr4yzm}5%fp)6YCCGH1aeKnvFUK&1tli zXN{24_fO&q(NomZ@Uy`D%zmlD&+%+gj{mAj8Efa=xi8cpzBlaY#rxsB4^N)H;(d6Y zx388H?=5>g6yr7pyaGR^ZFaOYsq>7{<-B@2qpgD7x|z3Fa9@|ni_X? zHpMexn=|_BpcJEJT?;_8mCD#Eehcz5ao~AIEKr20%hJ8ij)gjU`yLPFRBkB#;bG3i zC4QOz&eOe%kB8F7((Oy>E!WB{u&Kd*!@uU=^6&Wf{BZ!DV2`pN`49XjewP2t4*;@@ zRTTp?$KHUr7ghim#F3{;}@4hEP$?jhM7<7D4qLHy3 zHs4pLSMz~Ld*bM9;pTa5MDuXKhn3(AyfMn@ynYEZ1>ou|fyHZd7U0<$7wfg!AF5fe z7EiULm3VvPI`DSw9bjxQq@CVR#ELv?u#@00zZ1~X`(@ncTw zqGqFosXex|uLNpvtpwd6(9IxY^q{6A&*MFi=Hr-PX$SK`d?+7+(r6r`EY$E<^JYC2 zYTUaHfOT=C;iw!SxYAJR^8(fZY8G0^91IJLt>6^}%>j(X=`-bS^S*y7)GUgY(bK%N z;!vWzm9O-2ibD;Cyb2gCtul6?M9CA#eNa6~tVNHD#=!Y5!NICsTL|Y@xNhRtG|j z-KPP3-O@kD5Aypttu21Y4{=(EdYr$7^HUao4Sz`I#_}26Lm=CLj?zAxtY7OX2~ zwwA0v8^8u)GHuOH@*MW7Xv4O%`TR=uo}4J(V2ycOb{k*G-{8|&9ey)^lQ)tv{ARI2 zyv&QlbVO=H?un~pt{ja)>J`~T{=ps*J>?Ph3R}y&@Cky+zh#t+mJ@|LNnFMVQ%+qa z-j`Km4{@W+lS*`w&&xxywwkOqswrx!s;pk&^>{7uj;JltL~nj2Z;z{h@o3BrESDV+ zd6<6JvQDfsX6<{~wfr9TC;N*%&lmBY;sZIB--SuL9lsGvY%S39Tk<#ATWp3%kReyb zsJEHN-(h>@&)kvm@&S2?M~U*Pu^g!ic(e%f2gNAaTlSHC<)`vD`MZ2mHdhacXKAD_ ze^;}pw&(_r)#_7gFv4SV(?q_x>4$*a%36ev>wq~f24yY@AI>;t!)J5Tcbevg8)VGM zzzv1VZmxGY1FgbZ;g&;*W8o8FDs67MTKBHQ8P5Su6w}2}3=_BU$D0}aI-b$=9Vk1T zVfgV15)g@qkZ0iaTB0JH2sb&rJp8;o zDie7x)Ulx=o;zSBnLwWTNItH`=L1s#$86pP=ZhNlq#!T-cl&o}s=jh_)6MOghE%c& zsmV=^j}B*;^hSvMNgfxO2<#K#=a9QBm%|W$(+>C69LKDuQ;3|>WOaz6+Tq!<7f)g@iWW^i zMJ?N@{!r^V70Q6Rd9Gjg&9 z*C!=CoA+#<+WZGGJv+5|UXDi{8`l;{2!Qf17o+egn zANElz)G!#(TAP%u&z(hks2mesEc4YG4S`Y@$L)TBtYG(}mb5d}F-?pEE|U+yd1sS> zsyEVWD=!JJXFJ4_W{F(sHthlEII&T6OT9+jh5XfOF-IjCx6Qf+R3ic3#uqetveD0I z%$%&8tZP}Es>t0@K)7ibyVbqex2UReyjlp@92`XWVY9s|89g#nM=35ONiwv=nWSc-m%uyWB3JGQuv;n}&w>3p)k%|* zz?>}8T_!ZA(qrm~dMsQnI}5jL`_KUjRGL_&c_*oU;TzPXaLsUa`GPtD*fVhbe2q(z z3y`+Y-p8JS+*cJzOyoP7XTm2to74}vOPZ}$G_AG>vy0vij6KXRA%v6g2&sN9K%b!wTXk}EZ zy5R%r6f;zx*T#wtd!s5m_mo008A_?WD& z%M=0a;nr*wvSt55ETL)Ds2|~#A5=UrUqV))xGl3=>P4A}xdI&#<0Wl7apdqOps62f z%->`8!-r8WI@G7A&6grui+x<3N2y!tI*93k?(&i|3(_+Na zwKCy&P}Ps>mYT?a28{gnKGI{NNWKHwZmI2~POEbmIT8BF>NB0eZBx`ab$}hfkrwTb zebf*;ny*8>i)1YX&mlOtW|;bOHeeQ zATX?mW->>nL`7-xi)=@8@&RoWR7!+kzz!Wo208|GCt=Rx+Qi?`Xnmu8Zgfmkit35p zPc*%v$mw{?Giq$q54aNTmO2iY!BOPl$v8KRg3sL4Hc^YjBJG$gwAdKfX%ux!J%Zb& zmby%^E45*`tAija<31VUZweQ|Fj7d+`%~{vJ*Y;5l1hg&cvMUjg_+s>A&Dh<}{}#^q*zzZvj}gx{T;ZR!iW>WYp0J#$8L)O%Qx@)GeTyj~pqXur)O| z3iP!Xu4SXO*eXX+$H+D-OGCRnoW)`yP|8JanEboi%_W?jarJmjOg(*B->xEKRV&?C zX;(#W_T!dVL{dqi(wMw1QW%K@%ez3gNX8Q4{JK#6Jx*w^&$Pr>$qoqPqW5 zqvJY+CxYMs?fo`Z#z=Vj&G12#5_H2_Fp?Z%POh}G{zW~L<~O*jL3;wFrab~ZWHn<0 zbuC`CdJXTxSwxl5W>5ldBWQgwuq`cj9v-BvO=UWl_82rvW^%m!l-%@pDvN63IU}N;Uhj^&6zKlzJ2%ycV-F-;SR=(a?uj6Z>c<;=< zkcyrK-=)>lE#|HP9XhVQ7~CxS+fHKHSeN9T$yKVpl(4Sa?5bIb_a>H4nw!+ZiLbJ( z$`?u7oVfURt1gQF7We)?Rr$G^;W-sEw!+E4;MTg@QE{A8U4AcVcZ~T_Tg}a!^$GhX zZKk*FL@1dWyb3?6*F?}g*M-*UDa^O$JnY+%`m^B$P?n2M^Kq0uNtKH4d0!BQ{1Dzd zs&`am^~FcuTq4MaY=CcH#qk0T+Nx5EruV%Mqf+Uu8!cbkO(1^iipTsSQWG8it#bK# zgnGeVSbR~(RIeNshU#D@)%9-0Sa=;9Jc&s4JRij?EwZv%{Vfahq9 zS=CajPx6)@afS}Q7quCt9oe8>fKq2CMoq&`*;h+kO^a|>*V%@}ol7`ws-9yz$iuqQ z$!N5q*a6jb0ENzrinXv%P!c#-c^yxL;$J`{3VJnJs$O|`d&S78JCLS{9R2@?_VMjqqKW& zmm8w~4A%%ZQ1vf8_)jd0mzMxvBpBUmB3o=;|T_zk={f05t7+VD1f zG9QiS6%*J{@f}v7hhX`*p-AH$#UQbq9dy}q>@hKpkH<5UHSB`8o3E2w#948a-7Tkx z*IBw4!ro=~iVbq3+$>&W2jpgXR!)*j_%OMU*Jr0?lE{($WJmb}uZOk!R_r3{#r|Po zakZ?>2g%($UbPo>+%o2ib1ENV<3MC31!=&p%-QVmHaVSwmT0 zF6H%=kO~V5P5DuIlNh9q;eLOq4C5h<%kPqt#WLOss%~JOx*$9}AZZ|1aLxr!$D+f1 zYPWcXZ|0witzw&44-+Ks#b${Rl#XTb;&zyv3{z&XvFrtxk7XOwZoX2ilo!M@(UNx% zyLnYnS5^awl#0K=&+`c^NnRnNc(S;F{aZeRec{Bzs67kq>xM1 zf=^S?YATQB)A?9g4#wv2Dq^OZA``{E;xV~Q+`@}^4!>8phj7}a{t(Z|KgAbffv723 zaR#yV)C=-S{;F&ZrOm}sHWBGk>JlVz%WnSCR#(Vl81hl$p_l|0O^Q>XbE{u$z;6-@oYl`Z&}$P}^`u(b{U9wgIY zSp`)|TlLW)nmW0 z)-Wv0hrr|^z*hlPp<0S1`K5T4w-iqrJIeZiw-Gn6`oe91n%4t(7S`Vqa3}b!T*?;8 zN&Gh4J=0^!!&uYWBHHkdfVJVTfoTYv%n!=yaxvQslWqdlJe~^$pUKbVS>9dTDYvLr z>KZu&{-`JxvrKijY6dU=1DT7#eXsf*hK-g#$eCh~D`tzD{3do87I%W1XR~KSb3Pv* z0@B0E7}iO=C=QDwVybvWyeg{8nFX+mq z0@7063sbwY@$gMY7%urx*-`97C23#7o=cg&P;q#Ed6%jM<>T;zcMS-;Lp~|qk%{aWUk7t*3A2xp zjrgs+qPoo2tCMmnM#WLQv#ceCsrT7yF7L0J$l)wsJ;l!Qx@@a_UThE_;u(2E*f$H~ zb6>GrRuv)9My9H#QU9tCo532Xsd6ODs3lg51aT#AtZIm+c%X3;+b_OiU&G*yFrX^D zQB}N#+V_Xc?~~WcbHG#;t-;q?%#$xMcN0)gK~-y5{1(RS!R#7#gRH^ZioX#!OL6o^ z*J&+ok-4HD8ie+<`rM!0$v=@-^4H{B{8o`Go{~rTXfX z)?i->Vg2zq`)QdY7Vz5OqP-4k`vBIDa>Z))B4jPaLQVx>o3Z!NJC5SX?Gf2U_Er7h z=Zlzf`|&-(?Z+Fk#Zx5AD|!%W*HU zt6@fa&~%rzL0gem6Je|pGxenu>Sgc|^a@m^E1$|z~Le!Mbkh6hVS zT&x7X#xr?7o|$y#AK+oihx`{g7)tx``?OIvBUsj;X_n$q%r88bZ9{q$|A>D9*m=GH zbgfkZyBPsElszi8!w1xao#i~$8P#eg#;~Dm3>&5Hx6N=wHp8b1EAXM-MLgJa=c?OS zCJ4sBo+TK+mx+(@?Ayg6Y|ZAEu9D4CU}+9DF}#FLym`JKG8C~&b9`z51@-3s8- zvIp-8L0s@m$JW$6D~iXo(9W7^{nbF53v_8untAIxa@7%H-SHe zE>{jqRHh4EqdQVAKEHSukwA_172N+dT>cW?GU)@@G|YTpvYU`gQh2k0Nv2p7oH-j2 z(O%5v$yh1Bo%aVP?IAn~pN%Dc2gA|^eh(t5y|@=0eH(j@w^y^d`zjb`bC3Na{>3lB z_1~igZE*oY`)s@i5(8zucx720!g}#ou?#Vggs0odDCO|#IH!nOayD;-wr|b`^1-6F zxEd;l!0-%FAesZ$8$4g*XwHU&2=Lbu||9`5KF<1D>R(f zpw2glRpM!Om)I@#ij5Fa#NHG8AmnlQ=m~J1f+IZlq0 z&*6AUz5yD-ffN4tP@a)7c!;-OT#!F&%)`QAf5}U-u5$3?EQg<$|3D&FbyQo`RdrCO zsJhqlj;fpLr9P5yq+G!^iGf%^AFRfy1#s+GwMooU%kbo6zFMFbsjK)BRm8qvX2@Eq zZcs%i)4o!tSHajFpt_3RqHa~2)H!*(+M{U5dP42T1+9yx3PpI7@h2*#V*&$Vt zy{uk<(wEd>T)&pXgS1f?&(GqMvN#MPbfHm%`R+-K45X-yNZ~o+O7xLLHU+WMR=DCE zuY~S;j@MN0^Lb*SxG3&aPsks6FI1|kN>}d#_qtrGdP4aXB3spEW7IhW_c`vK!~Ay) zEmBjyD?a6Q#hqdcTgF}h>RIuP=)=0PTz;c^RQ(`gRX=gFnlAEGQ&wI53r_~=ksNLt z`5Jx&8UQa{;Kq>5*o4&dpmVw((f492fF(R_V?aZEIJ+8j>rQ#_`g7A6>gi@I{QrX5@Ot>Ngwr5iQ91MP5 zx1^~#DJEsctXI`*z!}Ury$;2T^wMB-5uO`v=U(m8q1tf3e(?A&teDS%u|BKyzEolh z8NCMA8>IXloZsQJ8&lpv01$Rf0209(iH6?iFm-tc?Pmjk5X&Hq1QF>dBUzVi*5-W? zCiT^ja${J;O*z^iGR{|C1Ragx^(HzzNbWnlGJP&V!g4TIyu;g-yoeU#efm?V13Z>` zHdLq5GHnHg$+cpX*ZXX!rdR!JDAt>MHdHrt8T%bAO|6ahobZMQZRWg;Jxfbcja{rf z=$%l0{(nyYord^mBOdBp{|&F9KSi{zW{WVj(t>_L)gv$xY!3fSIA5ht7b$CdG)D-o zGkXo`=Srt;q)2R$lF1oS2L7M$5&8%(Ex3hH0bfE{no@GQ!@dZ)&*ZcJr!r#;&?Sii z3w(B8E}7Ty>rgH4-mgOyy~3|U+4cGfANjW?^ojkHu*^IBb*O6!R<}{O0FRa)((n!r z^~%JSG=>ooEiDN_-+@Io8p8-)dc$x+FRCTh{8OWTg~k3BByB}8m{N`StKiKNNB8YZ z%80tpV^5jpUJNUQWx}QQliw~R)y`ZA$ zA=^E|Tl#BgR4C%s7jO+dm~Zrc`Zd&`q3=Wj(nLUM=^gKWU`#G`;1&sy!2vdZ45u{g}8GB&Z6y8?-X|q;i=O{dMD5+94Jv^Cws35 zr^ndSC^KfxggdQw13RrT20~}rOv$7gP;!dk4JZ@w2x=Wzu0ax@lL70L2s?3t8GI*B zSYNoW*iaGF9CZFv=jm)}sFy39#6CuNgzOW|PA9`;)cZ!1Agy5YT8N<~ zN#1tpw5V^m$*-Sk?;0v9(?MrSz2Bu%qmBmH6G5ABgZ1GkX>WN0l#}mf0!wcJ`Etmg zKFs7ZaT{uOlHlhk^(CIs8B>nH`)f&=xXUwilt%If+kdh~23dWQh$f}CBwpQD_XZWGOH z&cxmX22qJ}O(2TS{_aDY@Gmr$#2aOFj&Kp3*@)BRe1ptyFA;1!;fC4FcrBm_?vM?+ zMk2e`mJK-x^Nl&93D0P?1g9Lq=&V!kQnXWNj1foxA~C5h*wT2d(wq(4#|Bg4^i3l< zw5`*odCST<^fiFDp`6puCHOab|5~4^9NE6nS;G6=tK1Vn}?+q{SqznNI9)6G!=4^6n`B5!$olcFA2%d23_&o6WFjC^H zI*Mh1b>0c+uR-Xq^}a)&eR8A3>l5oFmHS!?Tcv&_m@(i>wu8;{WJM>vHsN>Z-K0J} zan0j9*qhwzQ_)HCGGm>pp&eE%rJCHEUD1iJsY^acBaAEy_YPHbTDI-Sj-hN0I`6iI z;X$f~5{}^hMkQ*GeypFq>2e8407F!k*k|)ogQv5}5vQ--mr_+6gV$*{GN}a&9pz{< z*he{_)V&F5Kt2Hx5zM5)oS`)E$OVxu<32osHM}I1aC8m(E}mafUfBC^%2yR`Rq+=P zW`7g8H#zNC0LJwfm5GUBeILy8q>2AH7OFb%+9DEy&HR|Oxy(ZQ^Hdon^(Dtljs#xaVmOEt2hbp$pGC{)M#|jPIQl!qy#kr z40dNkn5Fme#th;&>Wm~`8c|XH0@9NEpF-;apVXwj5##}57{!u*@omifOPflRyC8NK z&XiIp?XspD3{e~G!`_QkoZQfHkR9i=lW?S7DC8u=5e7g~3<0II5%+N`V;6q}_(yQ2 zl!QD2jG-b3Q5)=oxE>LQ65hh=hNw@Mu%^9Ji zoKd^gn)3+X2{}7)rj(@a)KwrVf=Fb%bjPW~J9@nxr=Gh-t2KhmnaF4>n+9Q;K%a~v zqi`pucl95}*}St)c_YPONM;ZV0pt$@@>z`NNXg_jYoj898QWCG@V<~!n%6HAG?@3P z2jD5oY~scsbIxPs@QO%zLa{tAoZuv9=22Gb zVvL>~RAyCJ2v11jEi4b8sZx6oT}XJ#5}fMZm_|;FmyzyddT%B;xASq{=tN8sk0m%2 z`2=q{UP=S%MSa(O){twrg~z>@T>{ zTHSm+=QGP|5fPC!ypUdp#j;@pNx1+4FhKzZV`vsw(LT4Ki#VH`x^{NUHytssF)gYYhXAp4U@L#|k=MAxOr0JPExD5CgMP z0W~?o5Dgu4Zs`-?E6@3ye#KzEh7*`5jZDJ$%IAZNq!Wd^o>OtYK4;@&ZllJaDNk5p zrHxpO`URj{kM|=!0M=|7S~KE`ufY6z-89pBc0VyYx5i~;+5c>cv zWD(x)TV$DfgK-8Z2{QmYVX&5rgE08L5S=G11x_!0roicq-6%%^l!RTxo8s*D1`DZN zfQRuUw8S#x&1RHSo|K!2902y-Ry}bT_4I))$-rk#S~c+_vZOYeCQ)Wm>+Q<*R%*IwQr}Xukb0xIj~+IO&NnWiJR7iV>>1#@lluWlF+llj9E6E%gdrTTnHrU039|9E za!VYBfLJ4pB&LO4eogmvk(5Ss0z-z@qYKEB0ARe&u5jWo?%T&^7u#?`DV3uFv6pxGz-c|8k2%|K?*a)YyryA9QP2_fGOkXF)qYw1itJ=j~~Pb(807Iu+v$ z%Akz{JDd60Abj3Z1X>!&i$Hy9EusY9MbJ*LF!yuBWfb}R!Ls4N*-Q{b*u~gmFeqx7 zboQnA5Q8&NpPEXSv~HsBDrnafksKr%9-lv0HXJy6@6>dLBwgmdhdr0npK^rXbK-}2BbwOmL8B0xtOq*lnhBkU$#OREd@8DryHq)FZsW& z!v7yNh{g|Lp$Z?*9yv+ZmHfO#^5zyzu+~=Jo%xYw*+m&KkTRB7sj& z)cwGp{a*w=rg}eYW;bx^CEFgQ!|^3MV4_2Lk2Y}Hbi2Ttl)U+nsTcmJoy@jF1Un@c z*J}|kLj>LBQ=g1so8&wY|K;^<>Llt#WADudn4p$6b?Wn0UKXJEE2Tx*POai+8sa83 zY9pvOd%TfT%{$xJ>2Y^sr-k=sW9O45BOnY92XKr;N2Yq3;eHvP57+`6v@O)-~PBnfvNxmvRtHc;zWDl=aCh%Hw zS8rLSqeM5nI?xn%-&-=B!4>HDrO1fc_@S+Ert==p@(wnoN@h8E))5uRU&hc5r#Zgu@n&T@32+oxhSm$V7YU`;4*UUd9`YLG9ch}=5@0&WcUGwgOd56J2 zYeLpsztv#GG`G#~ztvzUN|&1B%c3AWf;BnP#30qs*|S^1M8l~sqPd{?fi_>{e=53;!e7fCjNd<`+1@$j(J8)5iW)}UmZD);(^3P9QO=fkf3K9Mk|TK zg_$fpALr^%qx9o3c{EQXn3pe11 zaMKJW#JVD;WK8vSk!-7r+TY)dt!HepDxOQ2&D6vQk0>)W@oDHq5`X*uQW4h(Zy`%N z{cJ!Sz3M|wH=pnNPA6smtw=O28%> zBB53u@t|AZ#fu4FBXmn|u_fUWY$1O*DNReFXgCS>Sx|@yT1KoaE89GfH8Lv7bbk!@ zg;Jjlio(yvKvbMG?`IA*{oN27R{FHsJO?G#w(=s*W}{!6!NUdlH*cqN?e*E^Xl zP=frWZ>3xs8)E58Z2A}`1(Qe=KB~JH3p88UK}=$Q-~j+lW2>+zl7I8dSWsGEet=K5m3;M~(wv4m(c&wPq%JHrEj9{Bk__6~)9)sJbV;tizUP_=J z{7c~@@rEelFT=yfMK>(2wZiCJ4`0L)^g^zxNj|%Yl(3P?P z=@EPfR}X$H#CI<3MYC#xe#!k;gW$5lu7&#xLxx4 zU~S08Dh9#=)QZ@N;U=*fg2~L*sxq&FT9Lp(e1aTApAh2bd8iZ%iV$*x`F44~9Ez9S z3UrfE?OWk{c2`mL7#>)Wr|5_Gc_j^K2*4)gpmoTxB!HnwhUzBi!{T{Ebu9vtf^jaZ zj)grV#CJ@LuVT;2EZ&q%W>?C=h=^FoV^|HR2thZ( z(?TS@@F8s{ejocmZfE1yNM0_+@z^Cxt zBE;|IVLUfXLd-k?9ty@Oc*0Rhd;|kXc{DuY;KQ>7{Cog?y-#7h5p)OeEnlW|3wTr6 z3B|$q#FyMToc|!FibmpUz&60mgAwtA$U}IU_!m}3)m4S~8YvE93*hv>;Grgpg0{1W z!M84C)Nme!U*G)(ek>0UF?jVHq`bp>s6hyG2gVmdUV#qTZZ6t)FbD?mnmmo4!ME0f z`4m9{^MOeR?l@Yv7d()~$Ep}W9ukA`y-F+In&&`xReY0@4s*uiC2SqIY>8T`dP2!y zeh@*Mg5E7f4gQ;7JvXs8&-i{ZQQ3!DYqy;oGm@2_@(U87;de%T3b>Vl6x^I>Zi zY}}-#$X zP>fLm(I10uERmltQsAA+6j?5c13ZvcvSQRmLhs8 ztj^;b#5BHMq$A$}=18?%MB$ekQ}`a44>@Q$7#PQTVPv64s0F;9%!L_u!FL7PjC?)} z@(&1??7%M=!i*Gr4vjDaGuhb$Z|fFdKpBSiJc$p;(GUoob8!6IqCKd{+$lId#H&%0 zb$fmSPtwrxI#lKHuS6a?tAqH6)y-K+)ZjmZqLmHCkvbUD=_Ygp)aFZy_!?-_7#;1c z_;;cejbE}3ZzQh8k4T%2mk0VDFfkYHdAl6OZ&g*$@p{34x;oldGEg8GQ{d=4-VF^o z49!X&tPYbaA>unB;K!o^gYe@6Q@ESXTgz5_J35tdbQ13(3*;a*9`TS1mMLN{)TATV z0pv6$bis$<`27GF&_j|34x(3+2Vcfh^~%^O#vS;w7`d*X%7Gy%{3L#ap%-M3Z$4ym zB?ftQx2WNwr3S#!J+z~TVKBKHJz#^Jj2{h20x3B<35shX6d%Rsff6aj{a1i?g}-S0 z&%;!4ldqQeml)iD?Do`^F;gC%3Q%0*mF(9_LB@C@~&NeEgjJb<1;m~s5`(L^Ym#20}0 z0CVxdb1X`CgNfp`NY%snW!4HEF9*5maM`VDuN(sAJnmt@PSSC_N9_g2KJ_@h+oXsg zf4(GR#Sk>)7<|?F8h(%_gx`UnS)jU|1&9u_Ax*xmkj=s5`>|vQv`P?4;`7k)UWNg2 z$ff8h)$b!F(9UDHxgf7a&oNz-JV+f+p`obb#UQShGlf8#gb<8@2Ztg^spEA(FPVzC za(Foxe=b&@<)cN+h@Ju$Qea^uME~rJ2HCE!>KbA=ZKTMBc?hh&z>ot?JkXHU7_(lg zhy|uSK93y%BVy6st6+rUwcx?F7(v=IbWTDm?NfHeJ~*fF~sCOVe*x zSV~G1e%GZEW~~^^0TPgFR1bUrRGCvV&~4?$^wr0`qttu_`!FeFn16J$GU4{R2$ z>f&@@ZNyw)JV^6ITez8~S(=O}u4oLQ!F(hjgE0v8M4Ah)q|isSBcX`y0O(?i+)txc z0RoNYw9)usYHIs93@eFR5!F8yU$RfqLf#V+icDao*uYwVjwkg+-6WXW6LCdzV+<-5 zhn=pl8;PON(H5oOTx4mmFoW;au)Q*rqyOW)8PIMpARQeKzqi0E;JTdxs}No(K*#Hb za|#5<<61Wz2L)DpNXUXq3f2>IOq!uiK8;QCPNMBs(!e>irygZL8XqMcNAb2*a~&q zgg{&+qMSk!K^ZF=V^G2z>!Lu`8W+ZC7t***%yczNYHpGPppeEa;Ng|?xFTwV3yrmM z8Ul-ktT;HAY8=Lu5H4Tw;}|r^P{9MAT_!)pvDofT!N2!F%iX-@8&Jbq2@hXhLB#FN%^D)%=4cCiz$Ir3O z$8WQghuPorRCbR4&eC}$JSwG5JBRgCcc`vnn`C^T+Q5It{I?JD?AxyFs>0Yhz+$wB z!2i7PaCn2r$8|COc1Dj_m|St)8V=+6rKI>L`f#`ht{TE&5^l=rxH@hGD%vJ;TCSV| z%t)DohPx7N-%is}ckW<0!r?-R|LZsjWvvtiR&OABA+SgU{mcWUd3Zr@5X6!iqpX)U zm~b?NPDYf3!-FvtPXU$W!;u?_*-cud;}v!2JT0pdLY4SJ`aBEXOLBGFgu}igujY$N z#HXWfH=soS*g$L>bnT8{5}J&_BFO8wUZ&L4=xyXFmxs6~C~f(O`%g6uRV^IuV)F(& zj28^&Phe=>uZPz27D+WaDad^jIepoWoW>NEh&AkVE-WR`z~^E)${Tc*Q@2+*d=|gL zb`FQxn3m8|SMl!>XnU0D4ufcjLcn{NMf66u#o;hDyZ6~VC!t3;OwRD#WoW|TBe0^b zb&8>&ijp(v7O01{G2#|-hPV70r+N?Drdpd{|3XA3b;2pS6KV=MS55%UBuz(JX?P8X z$w#wbc_F`!d)vC>jl@ua(*eJ%?Je)`)Q%&w!eMHwV*H4Kx4giq;k7Jus(5>mt8pH~ z#TW<}hvO?9Mn)i5a0%s&eamU&b?oo-A#rQ^qtK+UQyst2;q4pXbcrKZaa{M2tL6%i z4|LMJy@MS3?-*~*0H-Q~#e1v2({nQStY#R{P8$Q#y!rR;3saTbq z`;gorAJ%B!z=@m;EQ$$-yW{sLU>wz02Msyo_EPY-OO?7%wci+6h9=D$J;sVlj#tym-lY=hhf6Yq}HdCG3I9nuX3|-W~m&m=cv^ z5CvPO;+@yZGn^Z|(=#1(8}FAf@aALP9p&wv>%^u}+tGbTqzB>0Uw9wgHgw_RHJj`t z)ks0v4?c=!;+leBqRJuo_%x@XmwSy9QTIMZ8TUq{F{Bix4vtP5Mx0h~<+(7#z1GR(UA?BWotm*UIE2GALwnn1IW;ik z!?;DWohQ9VuXC!Py}d)%IdzL4o$Yj?5Vs{!&m`{21x~;JiIB#<$+(m#MOfE6G~dZU zWYSWl_se|e6K}_SsHnEs$@3~KaALi-3(*Rd7dgGW_{C0s85kIQQxuI|gx-+45Cdc4 z0*BtF^_DM&6dnJ!Ep!sRkuwn|sD2gi^@WH@P&Kv9PD4AK6}Jbq3opX+^szH>BGNdD z5gHoFClJY(z>?$zPCL(?iq5rlE>3$FJ29F5)Jcs_*QYdLM%sZUOxpa}#(Qz9lTf4d zIOlts{GfYIvpINbYDy%{L@QZB(tJrI)o-)NWsE<5`cx6wL~q7$GrLi!`q4r-T4nIZ zYUpvp=8}WRA{*UN(0EHjw=u`R%!zb=TAVG^RKDS4CN)1RnW2o~g(X+*enleHb4h`j zr_J0=Wdotqh&E-aMZ`=aDnD?EX4)XXM42%>A7++Zk0D38d(<*OkWhi=+dJGZi~}!A6dJEvjOOFUxG8jYu|c|Rx{TjhI4O4 zWR-WFo4pfDG2|^@hVj0Ei&r{8b$Y3jRzKKiB%LlR>38`lPuqAt0Xn>~w>mXqC?M&- ztGu6=IahiMTzvV~a=DX+3Dt~E-7Oca4&RDS^2Pus8r^CXvD~)YseYvq={KZ5>=D$M zK?*2G6!C#;E_AAo!C#pu1Fh&iHUjV1)?DtyxYT0Q{mf8ldJR$2W?IZ|(+EYxsYKyB zf>OUZXvLHQ)bv}DMY9LdPSm|~3ar((x|$?OBO}jEB5_F7Ax7$CfeHlFQmmS%EwbdY zg-p)Ve1^*mwXPKP1Z##AVyx>GGo4)5$EU)mr3B^;S&?xZ?c zE;2G5Ces}Rne62*Mdf@dQ)%NNs+gfNO-b~TOA4xvnWU%!!RgAcM3C06kZ)IHnAEj! zA(%F*1l8FeT_QQ(d%;mU;s)am)0lpwMw&Gh;|>`})uNQ?Y8f|}R&xDNHL+IO8)Oni z2<|>HW>6!NUkGZ9^1UC7Q@?&jQm`5kNk&3GwM!+F*L@6^2DlP8P2%@96FD8A))-3U zy|fX&QortmF}=-KYDxq*4MRCocb}KaJ~icaDOHb;Ki-c-7I~9vxyv5m=xg7@9Dk$NHg3|BDHFf*#xHc%a z4Oa>4x8s^)$W|w=F5O)D^pyTj+znT*+2$0l*%qIZCZ;^>z5Zf+P5gHL4=={2{Vy%$ B>CylI diff --git a/tools/Makefile.shared b/tools/Makefile.shared index b36a992b7..b46cb9e69 100644 --- a/tools/Makefile.shared +++ b/tools/Makefile.shared @@ -28,7 +28,7 @@ all: ocamldep ocamlprof ocamlcp ocamloptp ocamlmktop ocamlmklib dumpobj \ .PHONY: all -opt.opt: ocamldep.opt +opt.opt: ocamldep.opt read_cmt.opt .PHONY: opt.opt # The dependency generator @@ -234,8 +234,11 @@ READ_CMT= \ read_cmt: $(READ_CMT) $(CAMLC) $(LINKFLAGS) -o read_cmt $(READ_CMT) +read_cmt.opt: $(READ_CMT:.cmo=.cmx) + $(CAMLOPT) $(LINKFLAGS) -o read_cmt.opt $(READ_CMT:.cmo=.cmx) + clean:: - rm -f read_cmt + rm -f read_cmt read_cmt.opt beforedepend::