qprint-1.1/0000777000603300000120000000000012444316017012041 5ustar kelvinwheelqprint-1.1/logo.gif0000644000603300000120000006464007250001175013471 0ustar kelvinwheelGIF87aLIϭCBfXVݟRNKGʕȓwQOKGbqoĵyyywwwoookkki.gୈ™{___]]]ƲYYYWWWNKLIIF~~}YY\ގTttsXTϧPPwn^lBf KGv,o)GEČvjg򽼽NLډxlIHbcba}LIiij򚚚LH鸶鑐|Y󾽽b󤤪|||Ša}7õfffbbbaXV֔WWaZZZzAPPPaۆGԜ߹jf_]otqroMKKG, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c,rȑd8Q6zYR`7P,XCnj 3Wtrːt6 3:hLQDh*Pįh~|aU2|kl6ҊkͰfR@O!᫯9C,P2h^`$nB(u4l|<6 0ḵ CE,4KFG-3n{8+ $r=(%7Y0)#Q4Tm1`״2<;XV* eސw480bF5] }LK㑧Q~@֝ -Myv *Lqăh5edC :51n,2k}8,Λ C%¼"^׋Rkm߇BG0!#t0|@za;H0 (5P* фi"taP.Lb`F&!LƼ4CDUpRB}J@P O`1;l 0aq)(FK %bfP iE+ a I0:тC! ƫ*)a !1&HȤ&qrc'Kz'Z &5JtrD('UfR'U2k8" t* p C&p 0gF%)bJ[ %IEF瑃3 %&,PpF4)D# PxB1\O8\ 's6 LPxe)QXg; g((A"̓*WAΆ6S ,| Dڐ 3LY3N%%hMLah;Q!aipJda 6yU NXL 20 0g>2Pv (Hf K;U5FDçĆjP WP-hy&W@D8MB4kX UG@[cUF3r>"@[`Z T;ZثXlcL*u`mЋ@w  c˳c@zpb>L#<X4h2ʗ:!dy02YB a i@֝A鍡ȋ::yHF+L*Oq3P 11oӹ"` '$ &3#觿lv;_. Ōxk(Ypbp]OLȰnĒml9$49sΞRjˎTv 5Ԛ:Ї+"GIijᾜF3XlHڼ^`Gz!4 ؀h` e3ke$`jXKD8gGqvY_pdbHvOU̕eFTzDTn$H8mC`@fBsk[ ٰN+[ 2Y9S2%Mѿ3h7{((%YCXX?B'X&?(򱻾:H'Q.%DV'%6+=#OONg 3} j wrdqA s[4Gdv|} `\0;n=e51 ӳJ HuM WUIa Pt>`o " _Lgiq )+SHx:(&GC0( vS &8X/y|# r`dA^DR3@y7v*O)%" Cʨ % l1),Mj% :ucY0[i߰ '~h 4 ɕ2 k9~bF pI PB4M4V24[\  0$C res" 1Q; =e#? m@ly@ 5y| tr [YF0 I: Zd&.3œÁ7"P%9>y"0b `iw#jpI ؋uZ0f@Fp|  4`DǧE[/>Zo r)k&]>`RC:*z|j@5x؃ Wt|-+!Bj^9@mxh6E+ 4  ` dpr:0o!el *) 7YPk0@xd(+c: f^  4k !.SuչHp+ p𰲪 :[%[zg&?á9$# ZEzR p QFҀf@@ #Zs *PG  )WZ<`ٟ@ P@ - P[ 7 M eY2;v & +jl_` k)p ++I ҇SG j۝h#Y8Wt&@ ʀM9ysU ePamWs xϲ S P )P I ڶ :z`( P4๜o ]fd<PPGH& Ԕ @0V4CpPp& ypږ6p;J\$ |%m/ 2{5`, ; f`@ ~vj P@pp}p 2xA^ ( n@Vs| vJm,ʎ fpr`pl,],ςO0 \e`@ oDj  3 4#v@:Bh!PEjM~={ hЈUE@ىA@f-8R.fzj PX >+a@ :nd   ve[,q9=u \@Cm5iB^P @_pi*眭Z@>]׎ 3o4 0  @аZt)@!6[ Rp 6p<༪r'| m౾P$r7(إ,I0?ΐ=7R:y9 Qp [ B@% OPrl<*IGSO oCxE=[֐ևjʐ;m@nN@% 0tq@z 0/EY$~ `@)%ާp i "pG%խ]P - . xG`ۀ q]35R`  9qFd+tPQ1yj0 ll i$ ]k % [!TP.ZCdJAn@= ! 35OU )@- p\Ĥ'} p PL>1+Т*g( Y`E&1t +9KP VԾp0wJdL`Ɏ`Иav(_ <ρ =P0~΀a2=LQ{Xvrm?v> |t`42&0@d` @ pIɐȪR@vy!xaSS @Q\_^4OYRʎ]|Pϛp  1(^PC sڤmT bMՀ'X HΰMS@=YUWo1c=)aC?Ғ6X-.S 5Kۀ`NOt<ί TXe#s!ȟŒ1=r<ҌSD%M˃>2TlS"ɜ9S'aJdfL$˹<:TJ3K2˚@N*WI2l(Ӻeʒ)3+cOVŌFxNäfKd-; Sc=Mcy/9$ M9TȃT[VkÆ :G֤9{k(XY5 )TGMޭOT|&#aBXӈr?z I4Gw!V̘î:&P&x+j+B -T0 Sw"Kl )Zf@̐aRI3ƎP[fXa$NI$,-?&/k(+ͪԢ2E,Y>q`TC9/`H'&㎙7RjgYŏ_ ZP6A5bԘfܤjwݹC(#Ԕy"*e>LWEoU=F{}t4<<ƥMۻhgEYY=- * ww_f{!_?3g 9*.0Nu+aՄk+@0G'p~OA@=pjrٍPY' pXx3_C**ˠL^:Wz* ;1by 700VQF|S"HY0<΀.瘠܄7PdS4Xal E*6s\6 (o6q&Ԋd(J dM俨45b O6I*I:$e܁EtYX9j)o(2Ie"-BuT0JL@2t]:*.h%mQ S@e$XR!2diFW E#ʷ>Ul ;~mAQ6Έ{dϗYlnv~No]):G /oFTC6^w@#i&cpymf{KslqFE/:[R7K7Ex#Mt/0 *}[hDVJq9Pn.71+;n5ݭх+)kXzTe>E6yLcSV/0|qcǗm0XYz*"0sӣ 8XHpFLLNțM>=f7T^Rs祝*=3o-\]_ӑŎBu(vqNflH=*b1F8f΢ $}>js 0~#ڳ:K0? 5(.e4sg봂S ΋; @K27 S@*`@Ș ̣8 8 BbҼ?UbCy:&Є5$$ ):[ t #*x ؆dB<6T˶6lCBCf L@밹Ҧ)"|^CFja489B:3k kD͢D23f"DYķ~;"ECC:ڑ] XdYDD[EPs#DD3$a 3g8FSBsL2Pt Q$9}/20fP_HH)DY]\8CG_TtZwڣ ($?:AG0B7F+yvЫ`,6 ȉTD[; L8t>#H+CJūa+?ԉP^`f|gh̉i HŜh+-\.0Զ^d_\x E ]ښ$̽%#d[VHީ?| H\iC/]HKJq3>PΉD )< =R:SDތ#0jiPB$,n,;oZ?$G|a+OQ7s@slqf'԰OA t),?$@ :<eتKРDMdό$2(@uP:zr(|j`{BOх*(еҏ`RD<,T9Ir+@ S[1ͺ> UMڙrdp#"̜cBF,hOIlx0fPfd`dR/ϲ<U-jSli iŵBDDGD| 5>MR!ZRI(4E;^Pl2(h0IJE6XvR0)8܈J8ЁVmS #NWEadAF \H }A?($vȆL,f`8#` eh`a I@ֻ>s5Oȝ61!"+6-NvȃTEB `Ȃ_90h_P[@+ۨYY@3= - KVQ%}5ϛP ipd@h&T+3BXڜ8OM {0ݱmV]ݱaVpnݯ&(D_PW% ❢,Q\@0 ,8mg@[:*ա _a(_NMo3 63KZpŅFx |At[LbQH83Jܜ޵A! _ȃ\:ȃZI}blE0|8/f`(" wK6i($jCCDs5P,rL-WS 9`4l5h>8.pi/ZzDc +ȆB(h0i؆ &[+J4h$ c c RrcI Ԏi h`3_I5=PsȆ`ziY$Ѓd֬v؂k0a(x'!fXؒkpm`\xLq1"he!6 I ZEF͠XT- (,P]L:09hhaˆ)0O</L:`DxIHU!fJ=Sxqe}\BfģMixȾc8NN@qDfX1,(EQ϶%_#j&0Q܀cU؅CrpkMk禁UpGSҾ^fx(;ՅohFԉghf Ef&`3Ho*eor(e`͊&((dMl I *ofEpN pW0ᓗj z@]@2ɏRhk|h8@ 4 Yon|Ȅ/ UM#@@Ke,cvh,wDk+r-.:kee\т4,_npsv`Fjžpv8hvx^6/(P( sȇox@Is,X#_@N__nH&3X N(Vuhq*(P8!3G=B==؂ v `\H(g.@}uapO8c͂hoWnk _luxfw F%kH x7vKFYU|+5nُjw S20{FPla6S4-ݐNtt]f#@kG]'ˊַxPR H ' r7o(:px@cHK@s0xxq݆LA׉o8;zV],0cJxR=Ur!:esPod_Űu^߄Ns؆) ' E|qDׅ@  dzP X~YJePN8pmpSH{(hO g `]2Jr'|wI}u|MX5{}xd-wQ̏E&۝e@AcLlu(h „ *(&njQX2iHc!Ȅ ᕜFS)b%̗E)b-U1zH!LR3tyl 򠏌4ecrZDvR3a#P 3lG%4S]¤9 .lxȆEܺ/z'SP |EI6s2j(>t'}ei˄ [f萱ĮE1]o&oح@쀡L/_ǐ<4)RMڐ(2Y4*Tbmװ{KE U=m -&|"=pC3H8vt`yq#0/78"%Hv&萊,3!W4Isa;x"' (" pgﱁ!2pAZYb/) 4KV4#[`W8,2"2i1M:}&&r|LR 3P]MDؓ`tx )P؅ׄg|Wn`jb0)|`tH !!,̝ʄD_ȑH'"HRJr.骻 R|| (`HDz .R*)I/&BC*\DK4M(|ķ+ ,$"7Q KEt2\ ?˯tI9);,aCH4㙵{q2OHCm$4 )Tr .6m. 1F74JZ_w% +@']Iw㭷 "BHxAnGn8DAq 0"I/K=' $ Av 0F3% V!]O[^iQF,,pWLm˜솋[M $k4z{L2Ќ)dp(!`ƹ5&fPU7Vdq`h X@|D"T0N@Pc:Qip5 Q:L!wv(4$&3YIsn#A9#z}vD!pshL:( :0CD" A栥-Y4d“TkZ4q+CHĥ.y9LRZGF.ĂPb h:K#@>$a2(T2Aa|"h*Qȁ\F3½J%c0<%Pbm8  pV@2An`!J\؊ԙX.|jT ^*X*֯V 6mhuxTe4!V^ ]+`UraYZ#Rh]+!a , lX-¦֐FHO'4CxZտbvyi[zc0W 6B(VH*6 ;AIx$, Π GB$0np Ҁ´E; U\ nwe0-0 04 u E[ș8 x2w ҐF4'0c0C,b7O81;dl ]!7#M1s6e28jicaQ6 f#޶lyɨ+ >%6,\[c-[٣-7}p7s%1mWPAL]B i8zՍeXZqn0!OMOI7 nqk!9"bЁ´J#?z.}EӁNC)+t#DnW]qaz.` .HJ7͓a+yۭ߽fMr:@L_BNT@YчwPϗ%Idt|B/Ǖw1HhtV`C(Q8V03"#.R-b\!3LC"ax1c2Jb%e"l"u"I"FPAA |@88X@ :tCDA3@@3@mL$Zm5M^$XlC@TE35A^8PWRJن-ÊVBᤖXMZ94A3D5 B78CaA8%t##=DR*e5%Eb$,eUɜ%eaRZUB\pA&1Ac"$3,d|(AA$9DF\ h,|Ă9|(,d 8,[y,CmCH%3p|V3Y!&sf)TX2Hp C*5<2xT7dAIr+s 5y '8+Bն!+,go4\hf8{,4e #`Ma.-z )2(|~+')Crp>,g4,(Bppjj.p,PL4AP ph.!LA!*Ͳ*hg*X6LZ5\dġϖi -RH:P_,pBP7<3` 8«`B~ rھvEE& _*:8!PÏ8@" :$ҀC om"BQ B x@A.\$TBh*=$3%\B$wB#D1йA' @\c @mopW .`6Hź´`@" ( H*=žA|(.Ѐ 0+H( ^b&<$X5L1BbVB |:,+$5ٱ'4!BP$?c# $ @"'x$J0ج' 5+P,, p+x/l$L>pC  B?CB* 3@1m2GCFb 'B9@`,BAK;/ 0| (,@Ax$2)@4 $Y1 AHȁ@B(/Bd<sB"{H(hm@(B"K'A'(д0\*`B/z6{W6F2S':B$@'9V/$CXE*|l9t(\cں5Jr0z1B 7ܱ {v+ܦB4v.0*4wȁ @ώ֮w{{{6Cnv 4C̶6|g(Eˀ=A7x\ pv6t33*09A#1 *ȁP(2 Axz͊N@C77}#( D2:VOtl-'4,5&ھ552)\ ܭ$0Q90P#C1OC{ײ$|l1t), ۃ8#α6A~A (47r6eJIs$mAGk >0;l T*C)4ru[ @$ h` @$$:|%p(@>KzRZm5HwXt"ŖC/O󯾢3 #@$ _;! B$8̂p( * :Y5M!8,84&fCvLl1q 9i ^)5?P_ *|'9p5|j>]`Gخl., ,5<7 ؃ Cnlo~'O4xs(^ , ؃#Dî2v'hC9J + s=!x8@C ^9#?—?@˕ODk)mDXPĥraܶhʎ9dI'QTe"H0fM6򐊌4-WyfQ*a"@Fy g Y$os=ԇc'CT,Y\:%$$´JpL`Yφ%XI" McB ia.1`m U[ΐD2ta5Xq/֔"5!u|*m}fyUO3ڰyH9>&h&zru0&j ,_8ed/72: x$㞑#0i Qz)&P)ġ9SDJ)Gp E*Ydi\Xc YFYXdXCA\`I\9@YrTGY1'9Hr*1V\ h9Px$.1H+`8H"pQ=#DR T@<6*pWc,.q X|/q{HH$^PT`-8bQf(p!Xo;܀>mP4q %-D+b38R }F8h ! @0G7AwB/!RW8(@H*( !0dks5y((,}4aq,,Ú"&YGJ*8a*!t# m؀( Tv%Y70C#q@>*Z XB,`Pt8#! *p >P;ء&k|T,hGPQ;29C(P ci9Ї||Q bS@>8)uqʀjT@}CΑ tddF3(\CZ:TiL h( }r5P BĢ l%)(цX ' ԊkxL3)4ΚA@P\$Tn v>*)QF# 8GbUBE#@nɚI!g`4AF 889 g<Ѱ| `aF3ф(Xf@> 2HXȂ4 2d7&$`F7ўswh0nlj_ddh50j| ,+a0lQ2,t E2~nl gTch9&,DMxJ'q[FgT `ɰ*@ hF!Zu(Ä@iD! UF_J ^wa͒L $kqGbu pgKrd, S5`jL* gDcհZ*tTTX2h¨d$ O6p iK Hv2 v50J3Ѩ5ߔF3S,LcX5hҦ67̈4@}Wը AΐN!FGu6…qt$,06tZ)  PFAj; !wF ?\Fh'0V߆|W#&yK0H keHʽ'1 I?kݝ2 e$vFw!o8{Ppy482ҝ3LTvΣ;4 f0#;O6ьf_~Iys G?=}_-ap (MryjϼH 4 `\!R- -3-?2%f0 0q**+/R, `l 6&``J(FA` 2` F\"\&UPr `4(l;G3I! A\P` 4";a> Uԡв^5fabQ?eԳ5$E=c `.3%S6l8&ڀ C7A4E!%.c`΁ 3^}¡ %Ʈ``!d !F RdAb -54t 2 @3j0 /68e* $̀NT;'Ac Pakf!"/X-0K cFV{| Z@#n/T4SB0@q:A@d  b 8{` OC*x TtAFIDNcd @7_%*91 Z b 2`!@jA% u ~A` N@ <& lvq`d37vgU.z!j5apm/]6<* ^ &g-N[I3zVb 0&" uUwuYu]u"VacocQuuww]TOJd[2~T @A^!H$o@N*mzy P*EM;Ӌb1 W{p` aaMaJ7/zi0.}J tzM*QٖX3|7շ7a]E` :DMl7 !qڴ :a @b VaQf{)B2\ὰ3{:1:N`ax`8،ŘL9tN x{x˘x8Ř@ >!!~t!RX!ܠ  : 1./` Rl|s!_/w BA9 W t`%=aP a AͲ|al! "W8?Th+x^1VxTY ṘaYdXW :!ჀaV`( TFYҎDRV+IMN6 bTL Z L@@L@ :@t6@` t :`zٺ<`\%!O#A&f- ly@^`32z3 9 ߒ-S\Nr!dN>`ҖC2+b f! &Y7t@r ``9@!S d @ss!`@+Ml<,da Ρ=(0"B0 1&oɠrV` ,i!4 `1` << apABO`Oanۤ?4`@(`!. f#R= t  4| dh!8nY¥aBG!@Z^i_?! qM`!FMt]A! ./[=, p͑=aBIvv @(`wΡ>,`DR峏K)AzzZ"OA`E`RaBV!@IV b=r<\{ ?4c a[siZAZBMұ" AVNf1D$RDAA~{ ~w@f^UaTҠbeQ!Ar5Ġ^=, u D#B ^  Xm `rA'A#!0+j!b LMm" l.v \h3C⻘ .?!N&WמD NA6D " @YȅץUCɁC %2#%P |m2x@p m # a9<3ZpL9Sv$hcǒ5#FhF[dק]yvM<@MBͣN-^Q2y `X"t"IGlRbN)*;s&JQeU` DtL[v̘"ɠTD@`4q U4J6!2;HDRWjMR>˛_TY'͠4kٲۿ>3GrDqM`!؟$y4b!$)E4 23EGIќw =xV[ Ї9ܕ0o`p$~EJB=p%(HL^.3HB$3 *HB"}ab҉6ڨUX Mt !4PaؕS Ї93h3W]A:5X(V GT;]vx3`]9N!$3`k6"B &` (X M>4҈r&K ̲3NLp2품\@xE%PDKoko# x/GկR[* 025ѱb?^tx60.+}'l 0/`N/F`QP1&l$1C؃*lL7(ƈf+dž,r=|_Cb'$"`pM/89\dj % +3B>ZsOKͬ\ $826&tt#C8Ir8GnӀʴL´H$n?}OO68Xz+.2>r(g.>竲 L23,"Z?( Tlf]54TB/(LYˆ$3` ZtrMxp` ˂+77Lw(pC "$t",@q9 i0;Մq2Qvp6V9Q[QFqAI!Ir%W$D!f8ALx2 TM}죁>-@3j>׾{#3U `;Ӎ zP;23 5 t$@!/x&"` C mk-" aIh2Oz f\A7!Ezp.2m ^4q52]hT j]E<۪xHGX#ţiN T%Ԥ*yF\0Ir:h3XB/*1I3+2 9aOXE"PUP'!6д]m0@ \m(g5JnTMP5bݨAlHGw'+> [] $Yʤ=x;.B=bpB"P((%ݓ vq0P ('TH$(ok!kp?#J0aԥwE1P h38=`%ؤ0lr߀uNab"*pI5|*{$͑#[@X#::A Yq#((pCl(XkO, ~Y:B~kَZ qs!  9[ +)`) a'zu}!nr̢ioTdO @M_ X?ʈF7Z'  Vk## 'bNqtd 钵w7Bw]%V64bN +q9DBRJ:6A2TPe=`xP8šA(//֍γf"!mPGrDf{qYyڿ ԁog0дΣ2(^B!X D+">Nz԰6Gs3&.`z  &t.xEp.dx| "]w5hJu Fp_' 0c x@9 oЁ.N`Xk2 p'``Є n@zT d B N NNp SxA 0 9$pHRR(O4^9@ RЈ~8 | PL:g}@ yD*`uoPF$ed@ *P^@9ЊRRpo 9 r? FU؈ 0 t`0 /oB@`9O4a( N@v t L \` ``%V.  ְ iOpp*P WnP _B e@}*|kH r.) Дw QO`Y@H̀p RxsW`/k @` 0 e` _ vPm4p m0  ccqn` $f   0~ X 9X@p + nP0  p4 mMC0 |@ LQ4D  ʠB `  rp97>y Y lS3@t rP7}(& e  aݐT0X 0J58Ox0.0~s S ` QPPc@N `o @ X` x }@`rp$[y @br | ?_bzS\ 0n )Y  ә @ܐ`t 0 _P Q S 0ǣte*I 7 ͖X  j!9J`W1Ao }`\P;tuH DP OТ р@`X T;i0d tATPp4h  Ӱ ` i` 6+FI`P@;O M-; }ܐU\0)f  e`#D P_`gq eqq ipr ~ `ฉY pr+$$ UPk "rqo P7kYMж` idUYYf @Y@`0 ƫF˯٫b  TP 0 &@@{#̰4pA pd[Yp X]M۹Y@Y"d `  T0+e@! U0 XYd : ;  Q *, 9L ,l TpP0< a l 1Xп 7ܰU|I% ELՀ!; u0 P@ NX Ҁpc̿[ D]S, qie | 1ʠ =00/2.=AKN/ d3wS6S}g9Y0 CcJhj[uMtmyJkP0lP ΐ_{m؇؉͓! ՋMٕmٗɽ\<ٟ٘ ڡ='-ڥm;qprint-1.1/index.html0000644000603300000120000001710210352333724014033 0ustar kelvinwheel QPRINT: Encode and Decode Quoted-Printable Files

qprint: Encode and Decode Quoted-Printable Files


This page describes, in Unix manual page style, a program available for downloading from this site which encodes binary files in the "Quoted-Printable" format used by MIME-encoded documents such as electronic mail messages with embedded images and audio files.

NAME

qprint - encode and decode Quoted-Printable files

SYNOPSIS

qprint [ -d / -e ] [ options ] [ infile ] [ outfile ]

DESCRIPTION

The MIME (Multipurpose Internet Mail Extensions) specification (RFC 1521 and successors) defines a mechanism for encoding text consisting primarily of printable ASCII characters, but which may contain characters (for example, accented letters in the ISO 8859 Latin-1 character set) which cannot be encoded as 7-bit ASCII or are non-printable characters which may confuse mail transfer agents.

qprint is a command line utility which encodes and decodes files in this format. It can be used within a pipeline as an encoding or decoding filter, and is most commonly used in this manner as part of an automated mail processing system. With appropriate options, qprint can encode pure binary files, but it's a poor choice since it may inflate the size of the file by as much as a factor of three. The base64 MIME encoding is a better choice for such data.

OPTIONS

-b, --binary
Treat the input (when encoding) or output (when decoding) file as pure binary, and process end of line sequences as binary data. Encoding and decoding a file with this option preserves the exact sequence of bytes in the input, but does not perform the translation of end of line sequences normally performed by Quoted-Printable encoding.
--copyright
Print copyright information.
-d, --decode
Decodes the input, previously created by qprint, to recover the original input file.
-e, --encode
Encodes the input into an output text file containing its Quoted-Printable encoding.
-i, --ebcdic
Encode ASCII characters for which no equivalent exists in the EBCDIC character set. This renders files more portable when transported to EBCDIC systems.
-n, --noerrcheck
Suppress error checking when decoding. By default, if an incorrectly encoded escape sequence is encountered, a warning message is printed. This option suppresses the warning messages; the only indication that an improperly encoded file was read will be the program returning exit status 1 at the end of the input file. In either case, incorrect escape sequences are discarded.
-p, --paranoid
Every character in the input file will be encoded as an escape sequence. You must also specify the -b or --binary option if you wish end of line sequences to be escaped as well. This option is a last resort when there's no other way to transmit the file, but an encoding explicitly designed for binary data such as Base64 is a much more economical choice.
-u, --help
Print how to call information and a summary of options.
--version
Print program version information.

EXIT STATUS

qprint returns status 0 if processing was completed without errors, 1 if an I/O error occurred or errors were detected in decoding a file which indicate it is incorrect or incomplete, and 2 if processing could not be performed at all due, for example, to a nonexistent input file.

FILES

If no infile is specified or infile is a single "-", qprint reads from standard input; if no outfile is given, or outfile is a single "-", output is sent to standard output. The input and output are processed strictly serially; consequently qprint may be used in pipelines. The program can process files of any size supported by the system containing text lines of arbitrary length.

BUGS

Encoding a file with a large percentage of non-ASCII characters may dramatically increase its size. This is inherent in the design of Quoted-Printable encoding.

SEE ALSO

base64(1), RFC 1521

Download qprint-1.0.tar.gz (Gzipped TAR archive)

The archive contains source code for the utility, a Makefile for Unix systems, and a ready-to-run executable for 32-bit Windows platforms. Windows users may also download qprint.zip, a ZIPped archive containing the Windows executable.

Read qprint source code (requires Acrobat Reader)

AUTHOR

John Walker
http://www.fourmilab.ch/
This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided "as is" without express or implied warranty.


Valid XHTML 1.0

by John Walker
5th March 2001
Version 1.0
The latest version of this program is available from:
http://www.fourmilab.ch/webtools/qprint/.
qprint-1.1/qprint.c0000644000603300000120000003301412444127104013514 0ustar kelvinwheel/*2:*/ #line 70 "./qprint.w" #include "config.h" #define REVDATE "16th December 2014" \ #define TRUE 1 #define FALSE 0 #define LINELEN 72 #define MAXINLINE 256 \ #define ASCII_HORIZONTAL_TAB 9 #define ASCII_LINE_FEED 10 #define ASCII_CARRIAGE_RETURN 13 #define ASCII_SPACE 32 #define ASCII_0 48 #define ASCII_EQUAL_SIGN 61 #define ASCII_A 65 #define ASCII_LOWER_CASE_A 97 \ \ #define Character_is_printable_ISO_8859(c) (((((c) >=0x20) &&((c) <=0x7E) ) ||((c) >=0xA1) ) ) \ #line 73 "./qprint.w" /*4:*/ #line 100 "./qprint.w" #include #include #include #ifdef HAVE_STRING_H #include #else #ifdef HAVE_STRINGS_H #include #endif #endif #ifdef HAVE_GETOPT #ifdef HAVE_UNISTD_H #include #endif #else #include "getopt.h" #endif /*:4*/ #line 75 "./qprint.w" /*5:*/ #line 122 "./qprint.w" #ifdef _WIN32 #define FORCE_BINARY_IO #include #include #endif /*:5*/ #line 76 "./qprint.w" /*6:*/ #line 134 "./qprint.w" typedef unsigned char byte; static FILE*fi; static FILE*fo; /*:6*//*13:*/ #line 240 "./qprint.w" typedef enum{Rule_1,Rule_2,Rule_3,Rule_4,Rule_EBCDIC} character_encoding_rule; static character_encoding_rule character_class[256]; /*:13*//*22:*/ #line 409 "./qprint.w" static int current_line_length= 0; /*:22*//*23:*/ #line 425 "./qprint.w" static int pending_white_space= 0; /*:23*//*32:*/ #line 608 "./qprint.w" #if (SIZEOF_UNSIGNED_LONG == 8) || (SIZEOF_UNSIGNED_LONG_LONG == 0) typedef unsigned long file_address_type; #define FILE_ADDRESS_FORMAT_LENGTH "l" #else typedef unsigned long long file_address_type; #define FILE_ADDRESS_FORMAT_LENGTH "ll" #endif /*:32*//*33:*/ #line 637 "./qprint.w" static file_address_type decode_input_stream_position= 0; static long decode_errors= 0; /*:33*//*44:*/ #line 813 "./qprint.w" static int decoding= FALSE; static int encoding= FALSE; static int binary_input= FALSE; static int errcheck= TRUE; static int EBCDIC_out= FALSE; static int paranoid= FALSE; /*:44*/ #line 77 "./qprint.w" /*34:*/ #line 645 "./qprint.w" static int read_decode_character(void); /*:34*//*36:*/ #line 667 "./qprint.w" static int hex_to_nybble(int ch); /*:36*/ #line 78 "./qprint.w" /*:2*//*8:*/ #line 149 "./qprint.w" static void output_line_break(void) { static char line_break[3]= {ASCII_CARRIAGE_RETURN,ASCII_LINE_FEED,0}; fputs(line_break,fo); current_line_length= 0; } /*:8*//*9:*/ #line 170 "./qprint.w" static void check_line_length(int chars_required) { if((current_line_length+chars_required)>=(LINELEN-1)){ putc(ASCII_EQUAL_SIGN,fo); output_line_break(); } current_line_length+= chars_required; } /*:9*//*10:*/ #line 183 "./qprint.w" static void emit_literally(int ch) { check_line_length(1); putc(ch,fo); } /*:10*//*11:*/ #line 194 "./qprint.w" static void emit_hex_encoded(int ch) { static char hex[16]= {ASCII_0,ASCII_0+1,ASCII_0+2,ASCII_0+3, ASCII_0+4,ASCII_0+5,ASCII_0+6, ASCII_0+7,ASCII_0+8,ASCII_0+9, ASCII_A,ASCII_A+1,ASCII_A+2,ASCII_A+3, ASCII_A+4,ASCII_A+5}; check_line_length(3); putc(ASCII_EQUAL_SIGN,fo); putc(hex[(ch>>4)&0xF],fo); putc(hex[ch&0xF],fo); } /*:11*//*12:*/ #line 221 "./qprint.w" static void encode(void) { int i,ch; /*14:*/ #line 253 "./qprint.w" /*15:*/ #line 265 "./qprint.w" for(i= 0;i<=255;i++){ character_class[i]= Rule_1; } /*:15*/ #line 255 "./qprint.w" ; /*16:*/ #line 273 "./qprint.w" for(i= 33;i<=60;i++){ character_class[i]= Rule_2; } for(i= 62;i<=126;i++){ character_class[i]= Rule_2; } /*:16*/ #line 256 "./qprint.w" ; /*17:*/ #line 285 "./qprint.w" character_class[ASCII_HORIZONTAL_TAB]= Rule_3; character_class[ASCII_SPACE]= Rule_3; /*:17*/ #line 257 "./qprint.w" ; /*18:*/ #line 295 "./qprint.w" character_class[ASCII_LINE_FEED]= Rule_4; character_class[ASCII_CARRIAGE_RETURN]= Rule_4; /*:18*/ #line 258 "./qprint.w" ; /*19:*/ #line 306 "./qprint.w" character_class[33]= character_class[34]= character_class[35]= character_class[36]= character_class[64]= character_class[91]= character_class[92]= character_class[93]= character_class[94]= character_class[96]= character_class[123]= character_class[124]= character_class[125]= character_class[126]= Rule_EBCDIC; /*:19*/ #line 259 "./qprint.w" ; /*:14*/ #line 227 "./qprint.w" ; while((ch= getc(fi))!=EOF){ /*20:*/ #line 331 "./qprint.w" switch(character_class[ch]){ case Rule_1: /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 334 "./qprint.w" ; emit_hex_encoded(ch); break; case Rule_2: /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 339 "./qprint.w" ; if(paranoid){ emit_hex_encoded(ch); }else{ emit_literally(ch); } break; case Rule_3: if(paranoid){ emit_hex_encoded(ch); }else{ /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 351 "./qprint.w" ; pending_white_space= ch; } break; case Rule_4: if(binary_input){ /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 362 "./qprint.w" ; emit_hex_encoded(ch); }else{ /*25:*/ #line 449 "./qprint.w" { int chn= getc(fi); if(chn!=EOF){ if((chn==ASCII_LINE_FEED)||(chn==ASCII_CARRIAGE_RETURN)){ if(chn==ch){ ungetc(chn,fi); } }else{ ungetc(chn,fi); } } } /*:25*/ #line 365 "./qprint.w" ; if(pending_white_space!=0){ emit_hex_encoded(pending_white_space); pending_white_space= 0; } output_line_break(); } break; case Rule_EBCDIC: /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 378 "./qprint.w" ; if(EBCDIC_out||paranoid){ emit_hex_encoded(ch); }else{ emit_literally(ch); } break; } /*:20*/ #line 230 "./qprint.w" ; } /*24:*/ #line 434 "./qprint.w" if(pending_white_space!=0){ emit_literally(pending_white_space); pending_white_space= 0; } /*:24*/ #line 232 "./qprint.w" ; /*26:*/ #line 471 "./qprint.w" if(current_line_length> 0){ putc(ASCII_EQUAL_SIGN,fo); output_line_break(); } /*:26*/ #line 233 "./qprint.w" ; } /*:12*//*21:*/ #line 395 "./qprint.w" static int is_end_of_line_sequence(int ch) { if((ch==ASCII_CARRIAGE_RETURN)||(ch==ASCII_LINE_FEED)){ /*25:*/ #line 449 "./qprint.w" { int chn= getc(fi); if(chn!=EOF){ if((chn==ASCII_LINE_FEED)||(chn==ASCII_CARRIAGE_RETURN)){ if(chn==ch){ ungetc(chn,fi); } }else{ ungetc(chn,fi); } } } /*:25*/ #line 399 "./qprint.w" ; return TRUE; } return FALSE; } /*:21*//*28:*/ #line 487 "./qprint.w" static void decode(void) { int ch,ch1,ch2; while((ch= read_decode_character())!=EOF){ switch(ch){ case ASCII_EQUAL_SIGN: /*29:*/ #line 529 "./qprint.w" ch1= read_decode_character(); /*31:*/ #line 579 "./qprint.w" while(/*30:*/ #line 566 "./qprint.w" ((ch1==ASCII_SPACE)||(ch1==ASCII_HORIZONTAL_TAB)) /*:30*/ #line 580 "./qprint.w" ){ ch1= read_decode_character(); if(is_end_of_line_sequence(ch1)){ break; } if(!/*30:*/ #line 566 "./qprint.w" ((ch1==ASCII_SPACE)||(ch1==ASCII_HORIZONTAL_TAB)) /*:30*/ #line 585 "./qprint.w" ){ if(ch1==EOF){ break; } /*39:*/ #line 747 "./qprint.w" if(errcheck){ if(/*41:*/ #line 797 "./qprint.w" ('a'==0x61) /*:41*/ #line 749 "./qprint.w" && Character_is_printable_ISO_8859(ch1)){ fprintf(stderr, "Error: invalid character \"%c\" in soft line break sequence at byte %" FILE_ADDRESS_FORMAT_LENGTH "u (0x%" FILE_ADDRESS_FORMAT_LENGTH "X) of input.\n", ch1,decode_input_stream_position-1, decode_input_stream_position-1); }else{ fprintf(stderr, "Error: invalid character \"0x%02X\" in soft line break sequence at byte %" FILE_ADDRESS_FORMAT_LENGTH "u (0x%" FILE_ADDRESS_FORMAT_LENGTH "X) of input.\n", ch1,decode_input_stream_position-1, decode_input_stream_position-1); } } /*:39*/ #line 589 "./qprint.w" ; decode_errors++; ch1= ASCII_SPACE; } } /*:31*/ #line 531 "./qprint.w" ; if(ch1==EOF){ fprintf(stderr,"Error: unexpected end of file after soft line break sequence at byte %" FILE_ADDRESS_FORMAT_LENGTH "u (0x%" FILE_ADDRESS_FORMAT_LENGTH "X) of input.\n", decode_input_stream_position-1, decode_input_stream_position-1); decode_errors++; } if(is_end_of_line_sequence(ch1)||(ch1==EOF)){ ch= EOF; }else{ int n1,n2; n1= hex_to_nybble(ch1); ch2= read_decode_character(); n2= hex_to_nybble(ch2); if(n1==EOF||n2==EOF){ /*38:*/ #line 701 "./qprint.w" if(errcheck){ if(/*41:*/ #line 797 "./qprint.w" ('a'==0x61) /*:41*/ #line 703 "./qprint.w" && Character_is_printable_ISO_8859(ch1)&& Character_is_printable_ISO_8859(ch2)){ fprintf(stderr, "Error: bad equal sign escape \"=%c%c\" at byte %" FILE_ADDRESS_FORMAT_LENGTH "u (0x%" FILE_ADDRESS_FORMAT_LENGTH "X) of input.\n", ch1,ch2,decode_input_stream_position-3, decode_input_stream_position-3); }else{ fprintf(stderr, "Error: bad equal sign escape \"= 0x%02X 0x%02X\" at byte %" FILE_ADDRESS_FORMAT_LENGTH "u (0x%" FILE_ADDRESS_FORMAT_LENGTH "X) of input.\n", ch1,ch2,decode_input_stream_position-3, decode_input_stream_position-3); } } /*:38*/ #line 555 "./qprint.w" ; decode_errors++; } ch= (n1<<4)|n2; } /*:29*/ #line 497 "./qprint.w" ; if(ch!=EOF){ putc(ch,fo); } break; case ASCII_CARRIAGE_RETURN: case ASCII_LINE_FEED: /*25:*/ #line 449 "./qprint.w" { int chn= getc(fi); if(chn!=EOF){ if((chn==ASCII_LINE_FEED)||(chn==ASCII_CARRIAGE_RETURN)){ if(chn==ch){ ungetc(chn,fi); } }else{ ungetc(chn,fi); } } } /*:25*/ #line 505 "./qprint.w" ; putc('\n',fo); break; default: putc(ch,fo); break; } } } /*:28*//*35:*/ #line 652 "./qprint.w" static int read_decode_character(void) { int ch; ch= getc(fi); if(ch!=EOF){ decode_input_stream_position++; } return ch; } /*:35*//*37:*/ #line 674 "./qprint.w" static int hex_to_nybble(int ch) { if((ch>=ASCII_0)&&(ch<=(ASCII_0+9))){ return ch-'0'; }else if((ch>=ASCII_A)&&(ch<=(ASCII_A+5))){ return 10+(ch-ASCII_A); }else if((ch>=ASCII_LOWER_CASE_A)&&(ch<=(ASCII_LOWER_CASE_A+5))){ return 10+(ch-ASCII_LOWER_CASE_A); } return EOF; } /*:37*//*49:*/ #line 1038 "./qprint.w" static void usage(void) { printf("%s -- Encode/decode file as Quoted-Printable. Call:\n",PRODUCT); printf(" %s [-e / -d] [options] [infile] [outfile]\n",PRODUCT); printf("\n"); printf("Options:\n"); printf(" -b, --binary Treat input as pure binary file\n"); printf(" --copyright Print copyright information\n"); printf(" -d, --decode Decode Quoted-Printable encoded file\n"); printf(" -e, --encode Encode file into Quoted-Printable\n"); printf(" -i, --ebcdic EBCDIC-compatible encoding output\n"); printf(" -n, --noerrcheck Ignore errors when decoding\n"); printf(" -p, --paranoid Paranoid: quote even printable characters\n"); printf(" -u, --help Print this message\n"); printf(" --version Print version number\n"); printf("\n"); printf("by John Walker\n"); printf("http://www.fourmilab.ch/\n"); } /*:49*//*51:*/ #line 1076 "./qprint.w" int main(int argc,char*argv[]) { extern char*optarg; extern int optind; int f,opt; #ifdef FORCE_BINARY_IO int in_std= TRUE,out_std= TRUE; #endif char*cp; fi= stdin; fo= stdout; /*45:*/ #line 837 "./qprint.w" for(;;){ opt= getopt(argc,argv,"bdeinpu-:"); if(opt==-1){ break; } if(opt=='-'){ if(islower(optarg[0])){ opt= toupper(optarg[0]); } } switch(opt){ case'b': case'B': binary_input= TRUE; break; case'C': printf("This program is in the public domain.\n"); return 0; case'd': case'D': decoding= TRUE; break; case'e': encoding= TRUE; break; case'E': /*46:*/ #line 921 "./qprint.w" switch(optarg[1]){ case'b': EBCDIC_out= TRUE; break; case'n': encoding= TRUE; break; default: fprintf(stderr,"Invalid option: --%s\n",optarg); return 2; } /*:46*/ #line 879 "./qprint.w" ; break; case'H': usage(); return 0; case'i': EBCDIC_out= TRUE; break; case'n': case'N': errcheck= FALSE; break; case'p': case'P': paranoid= TRUE; break; case'u': case'?': usage(); return 0; case'V': /*50:*/ #line 1064 "./qprint.w" printf("%s %s\n",PRODUCT,VERSION); printf("Last revised: %s\n",REVDATE); printf("The latest version is always available\n"); printf("at http://www.fourmilab.ch/webtools/qprint/\n"); /*:50*/ #line 907 "./qprint.w" ; return 0; default: fprintf(stderr,"Invalid option: --%s\n",optarg); return 2; } } /*:45*/ #line 1097 "./qprint.w" ; /*47:*/ #line 942 "./qprint.w" if(encoding&&decoding){ fprintf(stderr,"Cannot simultaneously encode and decode.\n"); return 2; } if(!(encoding||decoding)){ fprintf(stderr,"Please specify --encode (-e) or --decode (-d).\n"); return 2; } /*:47*/ #line 1098 "./qprint.w" ; /*48:*/ #line 969 "./qprint.w" f= 0; for(;optind> stream xڭVKo6Waebŧ$d/md^ %UͿ RPQ|3/﹌ Va6Di,ZU_߫`33QL:^# $qlsnC=Ѽj3iid`7YUЯ6~/Y1N<҉+kYy68Z} AOoZl}n˞zݚ|BAs{~XPڇcX5mFA.|pA)hzoWrܸ=jxN4[̈́MnֶJq+|SQ]{/Ι endstream endobj 25 0 obj << /Length 2124 /Filter /FlateDecode >> stream xZmo8_a> |I [Iԇ4Eز#mzٶw"腛4hfpH>3Տgd@P1$&rCHHL%( ka|:t3z7t󋫓х~>?ΡA1\k%ac *_HSyk^CC|Fcup;YopnȨG_r7J ً(!dyvH}~^FMƻj{Keׯx8QaSz*$?KhG! o7Q\[.\;W*c9n)}HiVCcD}4?ĻeBsf& oRu:%gZɺ ]oVhZI pT ˖ XXdxOܰ!aմCr/4nC;oV f-AizA)$tzm<Nzg߆gN~Vq<_E wV`$ Hzx4nC$CҖ][@jN@j~2XᴔtAo@o~ W'",2EIHmXQ|h4xG5 Q^'o&ۿCJ)~0߇YVl.4o?Iz^(/4\{u(tdVe~N'׃NԄ1"5ЗF8t*1_$El, 8LFo:/HdFU_ʼ0n ڟ!4.iZ:AKjֱ<&zͫ9o-p'.#~ 7g| |/^]~ʢ0Q ?7#Н||3O/mAVFK x@4ʋF!D#HԒy!`N+ٳ{8vl7}=mK,~ /eoulGlQ .kYOl{8$fs  /R@TTCmKca]=c& Q^)ȦrO<<00#D _ЦOGod&=l0-JaEp@!wi껾M>Y:mSݵo0ߙ2RV:nY2p0++|W{*M`uJ^'W:0 Q+n[p",)+:եK941HTE:9&K7՘b)-((%!qh|uEAPQg|<m*l/bæ1py]:ʓ}BךI[COo_0 +%*RM>4Dzj"OΝf??R^48?R5߲nB`nj?tn{_njY!ll+5RvOˬvSI=l4*" endstream endobj 44 0 obj << /Length 1399 /Filter /FlateDecode >> stream xڽXmo6_!l&+K:)CwlX‘D,.~G%Q<'K{xw'/^ԋQ,kOOrx%[߳??a <7ԓ(!_-g%!Ż?gKfqm9H6&AւLP ^ؽ!(pci45ׁ cpviCؑ`8f] xM+#%sv #DCS6 e}_Aй0"RH*}n`p.\|8_|101.e!ۢX!2kʿ *l&Li2VVlt&C1ޗدmѿX  !M:v l;װo3qh#0̶ikؠ {jB4T ps,clbD0$8m$f ]] P] }[Y'z2;w| 27Bѧ%sbeIn1eYZ`W7]HIۥYa ]v"")lg'3.!qDhpk]D}vSCR6Ufz#Z-!Z*m43et|PcF})O} ^Bz|q\7aTz\rb؍A.@X(# EwֽaDԕQ?=W</쾨5~1yWT= LAv/ B.<}8r8cwԥOz'W3"kOG Ydi! hދjUeb]`RSKtx^<+lr%(z;4ĔdJY2WrLKYOE8v*lg1Iy@A?/-6h|3XoSqLHw aZ8cTKaIZmנ܆ bQgzQiZ8mϠq=Q c*&qƞgG'Nv <ZhnQgz8DPNsbi{$е Ʈ)IREY@gy`Gk~\E jkud@;iK]6i-𳟗 fM;y9J3uPƇ endstream endobj 54 0 obj << /Length 2746 /Filter /FlateDecode >> stream xZYo9~h23 87q`tv_V'j:{'xp1؝҄j&LBE{Yv9I) )k[j-R\ *^yrM!X][#bg5rzWI5lܡ[EKL t.p+P& 'Hf}Uׅb<݇˛8L+̮E |Y~tf["gm:o.{{y^+P9!š,F|[maq=sKXG޺Ih-CiJܘPg(9O @W+a E-@4g7 D%_rkG\N6̗gXճqX{\=U\[p1׀#yR6'Vjkt=紎5rc-V-QִxRKe+ԞC=]Q^u$+'dLiC^,aHOŠfv鈤b]qӷ_>4K ZbRgmuZg3kJ0tt! X*ݯ%p,M+\ T^fYit1˳wTP};FwI wn5v7R;u7u Em0B9 :]S#jli#:5 ~r5\עhs+jR˟MYLrl%987 ᮏu0'J %Ep &L#I_4-,]$ˆlLr ց)H|P)bᵽ%Hc`b8iI[98}Sڀ'ltHf8lmp@Bםk6sS3D65'cܙEjG]6ʭ> stream xr6[F 7rVS[$硐+@ 1Er^fHw7Տ$\Ϯnfό[nfWٟ/>_ 0$g33̐P\,;?~z fB"U~~)- Sb! gDw)*AX..+XSRYFr^Zz_,M3Ma՟lQ"l`A730Q+Wz Z J祬LHf/L,ArHIoѦ<9+WN +g"&}&7~eY[v M &!\(oC^5Zw ﱹ3.Ѱpk__uYl;ێT_n"flDp- /9Q]}̜rF 3C9³ 61I?ߘψ4/(bNے F{ ti6<ݸT.׃j16%vPdV?Hѿl@v@~3w+Oj{(3Fh5sg/'ANjݥ /+pW9su`7ݛrtoJ_<"v/ցq-,;5Tg(U!+v_VݹmYVUꮮrqmDD-l;:'.ZAI+LlR4mт& jJω1|(M0#xsL:>jLy0XM7$c0@uQx0@/ש‡dyz(Ⱥ/^x -БZ ^^Pvׅ~<"iG9HVsJ` Qt.`OBzЕrJ7'ꐮQtPdRohkS:SܚDdeJg*#0 O ^S(Qm.X2lmq8Qdg|-fIOц;% 9Ipϐo|аQsʓbc$^5cP|)=G.Z8Ѕf+&M<+@69O)}x[o;dXNlLMrqJ!v'#t 4hEhGtSqP#@P1*'TXvFEjb I\ 9 1H]|#tw!݄=Ԅ(@GUL_!M}by|Q3߃@^HB.5bpi3dF}f6({^#2#*mmH@j zƣ z|/v.>|n0=T흻kvTݖۦmE,pErtoQTܭ-[w\M+e5z? ^h$aGie/u{J͋BiA Z_ΎvOup(b04W; Qd'deZ>%F%GUȓ@|jc'x&zCBATzicIQt}uRً.!݁#7d=#g/z9Guf=6%},f^~;sW"+ao.~LA``"0#(31JvT)L,V4!p`kPhT)x^K.cQSR`$`RIٳLYT"gS(`/@3w3 cg~[m"^?ύ2 :fP@ }'Wi? "g( TN &cV9*N|'`/ C )/?%χ;Q>!y(Uk$wqbc܆4L 4t̜&\\T2;( MKQׅnU94q=Qwl !D\* w? rƭV~F~sg®g0qAi NF(YTH@-nN"NbXcD61q@zTYLBg}_&k&k?ybx4#\Ia'fkvOE;BDĀtSuPpSIٚ]"F350րq5=ŴB/\ 'iÌ350րq05=ŴB> @L 5abZ!.{mT4 CZ'.F ]# -8 X #3uљn SM%m e-}[7v |M*kI&J5T.|0.9)"I:Nqju2xa¡PE_loXAa!偦PŹ  |ޤRAQ!U.r/SMy/殲1Rn˺ogkiBo}C7 Mwuh=h$ r ڋ',q>~vOaP b&Pd9)DLrVLG?rg%zYfH&'yBL,[41YR0K&? >Jps>"eD涓N$RLh/<π/#s],# H4}H! Qq2fM2G BX{?;H~kviY܆H,eӲQ!*Q}57185Uj`tAHHqPc @Y endstream endobj 100 0 obj << /Length 2475 /Filter /FlateDecode >> stream x՛[WnKh5XN*v]]ͺd&oP"E>ZG̜|az߼" ѻo(PR 7XC!0" Ct;ۗݛ\i"ɽRVA&Rx}8][ ~ $\hja82DyU NTv5 [mX|nl 瓅0&Z$i[2L22L/mfcXoY<j\}K[r$2idm󬱥U7mq-2ndqZy*HfƩOhX H moozo>.V`Ƀ{{ ;5 X_j8ekEAA5#{׹gq0Lyj"~(~ZT -YS 779GBBBgr.^Wz`EZiB]!OJx'$2{'mJ-n:t@Лq+;WG0" &aE  (?I? Ka@} ii ;9h}5:Ӆb/òm?LssC:s-OClc{l5:I`76)FR;Eb(GG[%ϠPH/m0.REȁ?pnE uM~WA^O8r٭ ,"ua&#J̵nt"v2hbffL%c񶪨/o7O:y}JCt0āk 0A[_"og>>Q"%PvdJXOE==VUgmΧNo7E{MAkesyQ&'x|RVx$j2;m\)ᝨAʹ,"j6$#zrg/<_{w2ukwP3%d3O{u}feCwi3>J_P([Or,_6rCͱ5a6xzxiLtHA#s`U(*wm h t<NFu`狓 W֐y,O-͛ANkl$]͑#~FNۿߒ\M|%iM$kٺKH=1>{ppOmR;&gGa9R{#L SN@"N jy[/ќ]N⓷R9Y U>ʏY*tr`,gV#{N؆;ay. Ad3carT i-!URWzӆY@}:BV!Y@SzTj/0y,C(#/CT> stream x[ms6_of"xK;ܤ3Ls"K$H $˖Ŧ%X,gw8; Kb8(4+Lgᇳ@#"`(sVz^hbuIQ)bm$~ׯoPJ!߼ LFN{&:#8)-Ft%a6M|YGdrO2 Bw4%7oN.mSIJJe/e_=\ dA>jJ#e"/VZEz(`tz/|Tu-"ӵгM݈kC(gňRb ʗ^gknhexZM:?7d| h;is}ӗ(v >( Zp!A R݇ßpk['zUOIY䗓:"\vMqX*N/s7 <2:oΩiw?,ۭ[Fn/koT?1̂r&f߀qaU5dž 3h윑),!iE3z>^~[(2Nb5%hz~3ӄ0`fԦ?ZZw;`1<[--7/T(9SBx! wnؖI@mI E$ԊQG؛i(ZN,xqWoxz#QpSiYƅnKFs OwWz2,gneơ91Zlp=`gB j$)xd6^2^ f[y>CȩlI؂f X%I@ U2ƗxUz%gm25U"~]( tY ؔTi&ηxu[K|tC7UeytیGos]/lj|&{?dpN:v a' ~ݬ..ԺJaQ ^G 1*N8kdG z8=u>5R=x5@b̊e)W+aJ :(F RL#.=͘z}p} $N+yl !'O6Dt~ָ! ( >h= z;0%)?CZ@!3.r=X Uem*BC!TA- BJQ75܅5јEԮ=5 X2Z_d`H=PElr89u EtŬ ً VD|ؚӃ@8|^]&0c(GJ'u)$ _ q2Ysu V"RtH\;d炖G\ x {Lœp`8cST5=m9Җ1`,y2Y䧭D%K8T,n 1k`߿{؁M1.`c( )`u_I`ΔtQGt& n :9 YWo& R=%Tn:e=dwa'vvf<~7E),"41p&\П*ǂ.0Da ؔǞB;Zv&V(Di2%@Sۮ/PtM;.Iv|qH\rqp.]~6 ʈ=BMIK<<8}˖irG ר%{D{e(v: kMIwotBߤ}@h-hi~7&*wX G"o FJ}[3cI]f =pK] BKJh,\^̓ĸ5۸L;Vn q1| IETYvTqV"RD v SG:Rӧ̋c iS3\J(Zq%gDZ*p #THݧv&!cv WR#VX3@6.#eòI5=q=L8uM4*RЊ([|&RFUuO'6 qw2ȟ$S*!.tR!zsZwߤ[4;Mt٤Y[v|WȎ:½, mpK!a2RPO_D ,m\ 9TGwxNQpG5<9 &سL]:&Dz i#NdZ/)ݯBDUH&zJJv-|ֶOnSW[_ZbmNږ*}b-y:Qcp|ܘww֙{u*d Cr }!.ii> stream xZK6Wf6B=1NuƓCrq$Έe4_n|4G݋Mtя=|+$\'׉QMrL~Iٯ?~J$2$,K#8{?/߾FDdhڱ]t301 Hq42\ʌP#9T9~!9$Wܑ]z6J-E҄%hiSD,nP)%BSG:oiCZ`XrT9S&C3&t\ adJevhrߕ~p3z}_2$:˯4Yqi#楈* 2ڕ'>#O§<[xl:&|"JTЈUCjCr:fވQljz4j4 @PR!ϛt:o5Ԍ傸.|XܳI[pRw~9oqB[qYaˤu{^77,}f^}yzxnJ[XB>QHwS 'GP0 :Is(qkEphiYmlᨅ/nl<_~^zV>azsDUC`KbfN=^WډLUhT t]qHJӺ{4GOjpJj0XE r'HNv>MT#g-x,41 vr"QU b8zj՜ieLǢ+0?GL3yO7?8@2s.괅Rrt#FPfFġ5 ʈtx$bgOz-C]0bFD.w(FXpZW /LUqFCvv;a&@wܵlXUow7D ²N[3SL>`0Fd̹aaNŽXT3!P ?g OLqӫ/)j*sN]2/]Yo뺂'ʤWq칁'mמhusXvŦvxZڽ۬Kb"gL%XhBrLnsF-u_׈+dSV7@@׺h LJZjE7cg~z6N FfSڢ˻rKP{y_c#)U5Fڃ0h/KؙS"vx,]bͶj<*à{GZmb:#wsMS 5h)%<{Tj bT玹ÔIJM8c!.8t5Fp[5|lMhط hwvw eU-txfsZGpѪ5W۴sv:n L| ;50"3OE*^sCbp@a,o2=4_W~<]~v6HN~S3 f)1Qf23)nU~:͉)x2<40g~[Yse@n暭CXm)RwLF4厤rg@|ii;CGʝ1hp/w AVL#Cv*͏gX$\a gׯHQu9LVª/mS n2+#v?QӐr0W'D-dsE@R'#< > W$#cXL=1G);?JW7i2q> stream xڵX[۶~_#Ԣ&N؞lC[,l %5ͿH٢u.ݾq!9wW}D4qp 4OMk3H"yP3Ε@TS$M߮nX˟^nbI.5.GHƂPg$T!sQ<I_ES< /Ghh3(E7,Mۉy1zk:ʢCMGW1 ȶ24 @o3υRav,Jo>6m~h"9edz:"bJwl벬CQP<<߼aXu f '% 7ެ+Yi{'}F>;f6? i*jÈߨE.M0#7cY6Q̃HLD00FMƭw11?v~?d6R뉨zZ+=խ [?ےXP5 [nDjs7Nz$) ħeDV(G;0aa4!rCqa}R)6uQdϫb 42|gwQLEk`}OOhF#xou1T3ԌP]wBƙ . I(\2}˅q|W1MN۪쫔w>!(]ޮ=R@#H\)H w(&,gh%O(щ{}˟^{ gcEG6IogD1%ROn'DK|3.~rqu\k wĄ&'\Z/vyo 5dOX8J׬zBipቔ$ 3N~{bh|$OF; v}bw@L$/&qAJ.$U~Nꟻ{|88 cvgBeBA1+?X 2%J %hBHDbx(MDy;O']Q=yF(Юϲ@/⌕lrw'P gf 2?\ 3&3RS s-2DTH|wšx"(lԤ-!m[atAaJ<]س1yS0vȼ` _$UX|YDmm ylo;=ˡά5l'͞`ŧGl/^gU]A^k wuz߈wefuPWZ8)S'?k^~ך:{\4ո!l@@nAyv5㡈$eIMUemUjeM ~z^)nKl?AB)ދB3v~\qC ,zMܔKnR䐪%QE0q5 \7ii|J ]>v2h EĚ0^`U0.k^QfN;B_aDZz1_{$N!嬨o/·\DyÉ"kgUDpb ,pFtIsM}q][v}Y̟#q:&In'IFyB9> stream xڵZQ# ~c"II!@`-\>mft:5Yokw,#)#)(SE !XB +j TC+al'5~Y2JH))9b&Ak NY1`ap2 j`Nv )1uW8GxL%%-(bW BA B -&U.[k`CͼW`^!B`ZJfY)5B :-¢4(9@( DN mMTR" JknϰâaۡDODc,2M`5 HVH ՊhѼ|ZÀRp萰_2ъd ) IXbМ`R0% UZ%7UbMaTxB.&\>;KEpr^ŀ C]R఍?jcq FpǦۯ`7XN_VZ|X~_Va?7sPlק3ζ>}-ܦKѽ  ?ǖd؋_}x;fzO~nѰXȰ\9f6Rw~~ ~v_>3,w?m6aKtϟ>ČUQѰ5vh,SJey^yeV\> stream xڽXr: +07t"M;IUU%9ԑZ[inB&w@ "I*"P4P*G,P(R2T"E6ӃɻZ.`J .}8̍:VA6RY:Gf*#@yGb…F`B O,<̒rV\~ jWf-͊U-/o\^Wv#/N' Ūu}$&Yz,T7C 1,4 &fC -;;c!="aaV$6Yj޴}uyl~]#QAHQ]uZZ' u^U,'4ҢD&6=bq'xYola!*I<ն`6}?8{w2Ps読{CP%]3bgZ}n#%uHGfx9EۢS3f$cqo3MCLVXfZECi><fwDZcӇ1y_&lZ*i@1Ҁ x,RG{+:id'a'ݙ jn=KǮ]r,E'tHh=-Coo"S0Kg;ҟ"E^=^q?( `8~>nqv͡{7[#K|iw 0 }~>78? e+_=C3SC%LêKzFj(#B{<;^M* )/:ܘ6M?4 Da(2T.-nK|ݭN:žV*4H r,IVd{iE];Z/GFbW_+ysluH$zɂ9\"ek&ʮ.ysVP /P q';I-"Bo 0؁;^P:cv_৑[Ph 3L1/L1Z ߬}xMK{c7G> stream xَF_! X bq c{O) jčD$뷪MfH/]ꮻ?^R>H$d`DlIxe`<:m3@D X< z% EqX>ܼ#Ԁ,"3/}q>P<R D d$d F]L/48~d0hb@zzJUٝ63 kVe:Y7 ejPFJ~6# ʦ*r$%ft=A uB}5Rݑ R!d8夜`B_}|~O^2R͘,ӣGS\B=3 ~2OgY˧!(VYc:ףS64ծU| .M.p>Q.b5s|T,FBezۥry'¢?k33Z3EoU~!0Epߩ"jaq lDSX971+Xh8,O92ٶNB7o__? DH-جA'[Hpe̕mqV{)~פED=)z@ْYmc!$7i-s {XJO)~FTش<͋&ـeC&gCW-$ @PCj sVP>S@䬔]q[:F.+Epx*uᇗsECV(.lC6J/;?ipgi'F@>T`#N)j(Z1GUgz Yv@iRt[֛,WIkmTOM@MݨY3 dÝF973UN6V/[z˾@&Hg=6Z! ܓxf*|r=~&Lt@$%OH# p ¿7# ;j?$[B.#$ Q5S-G#4xP'LB+4 2[>'M:%MbS^J)?cC@~ 03<_z"Q' "01)\QO?Գhc 5 PP !4IC~">Ǧ}~-. YDasp\9э?e]E\ %ɬNQ|Y8M&noC`^oF)-kN&1@$H۠YHd'yXl,R$9yZDЎ`",{ &60A[% %b<ߤ`s: ǠìJp%<X8X*00=fWگx0GaRn%YaGi\og 5F5!,,ۅ+ə^޼zǏ/~Ư|yvƎ!4.)]VEWHe:t\+ɞHA ɓBD(mmCTB *! *ڻu!9ǘvwQ2[u0.Z~pUO͑G$fgUD ܝEAz !K: D3(>y.(Dvgǭ8TP9A"`SJ'P!*b+&|HoB$~au&䑦 ;ZhԂV1dSYyRYr0s>s(N/~PQ!+TPp 2b0Ձ{ A4YhB zҴ)_YJT+eB*~_T`wUn#\8_(ݳ/ N?X2 o-Mex{GtUt9#w89ȞLO='x&FMd= \JP)͚raӣ(8wsˀ*gؖ1@@F<A0#& UPPg}0bu:]y\$xEHL,Å@ʁP2NQ &Ȏ"(zAX`9XN_;˲,ؚR{S[W{RXob@R!@\hs0qv&껅@]rK6zt|XDJDU +67^O-oȅ77ܥb_kwbЃsP bxSI P37c#zDw&VJ=V{&D!d4"8~5ZքBݚ3r[B=LJQ A tN&axZaƱ0CpU` a+lWڙw[8, F6σ;v  endstream endobj 162 0 obj << /Length 3737 /Filter /FlateDecode >> stream xڽZݓ۶_IX A'>Iw4xxuT. lX`۫'߼,Ɍ0̊*j5eoWRlYƑF$Ͳ#߽yqͤՉ~+&Z?=_%JmD Ԁbt0ig &ӡD(Սu+Ryn_>_QkSPvSæ>_~e=l!u_o==*"U3 j-55u.6eST5k5O.?vyᗵ<ɴUE)?ǿԭrs]+juİ.ϛU55wlڔ7OH_*iԃ=}ƶ.ڙY3̠l/UϨo=E$U1J2hSщv쑤d c[7߮N!'WO8 f|&*Ҕ @6b{’DJ{ߑ.Zŀ[tp:`{ h/0"a#~TUDџ,aʆ2=,I֑IjUKsl#kukHMa+UrfL ] ;5vM*T^)!MDCy;<śf l3rm^)?%2=2gL#~/;ap;r)h76[AYY:H`LngO~[U2Q0eğ,ONO2%vw< + ;Y$Dmh6V$c0eԟ: $3FͣDa(yF'3e*`> SiܭcAI8 `V=e֍]}c3>]8dp{N͐-Xr_y"uÐI,Rڠ'^6 rц] 4 q4d 6<Մajrc$K1눌-D6My1D5Md9>Y]^w?xŻX ه&@7л(A)KppcόA~#],'a$\: ,Z-[4?ϓ;_ 5 chB]TDvx7o_]lf#Rm蜊mk6<DE֟}|,OJ8S1;,M |8;z`~T:&I} Ieh@\v(Ĥ2FƓ N)YiJ1er0t>!_NsQ5ȁOG1($Щ4K$"(OS7 lCq\6`Epq \Qh<[P;B86 lkig2(bZ b ;d4ݮ타bҳ˞}$  i^u{Uii[UW暪c!0ĩa/6nW饟 jxs/,OL୩rknx &)cqLy,`9*Q eS7V}}a nIئ,d /-Mk#{ CƖʐٞLhzTØB@Sy _鬸*fv>AaeꍾUKͮ~d;0eD*L`% 3vBQ'_ endstream endobj 171 0 obj << /Length 2130 /Filter /FlateDecode >> stream xY[۶~_Hrx'>`mCǗTߟHi[U^J͐sf/'XTrhhL' MDLBs.<O4#`k+{Gpz_}%W)h,4r,Um y1K4e87|\6ϗnf<[E 9<6V z\Jtono~|LHbe!_67?L%>&[|()7 'TJ\W7|,ˌ$zV2ײ8ph AP1-uf$B+*MA9tV|,Ƿ>u ںC+Ǭ<<:Dz 8K/ȹ{ `i,** b GDrY]Qn8-^@V2MAlWξ2\9T`XA.lm5颢]ac؊\t.mGnxԖ;*c>˺Wbmf)XwN3V*͂3 gC$0!Zqq l, &+$f9|(vjx}ܙWi M˰XKY"2JEک0J:gnG2ƒ:TcWFY 1Ec7X ci+^wCN"VivuĢ8D[/Iccߕ:f&IAll° O#  '~i/"0܊nxH-W^A"=PtO#<0!6]DC__ƶCl(,` 5ښw=ːƔ`4~cvJؔT[ О$W}%.Yo!fpJG-B!UXyU̖m$RzjHE()Ģ8`+R.h K%#X3gQD EC9ܼdȍ5Ӣ}MFBo#D@XfTGdf϶anZdՃigXG #nw*;n!_VU!} [?}5}$ZP$!' c"$wMbQ8m֧Nz%-jUXy\J#yDG'ːI;~tX"j;>z%s'( fiӮl|!ZS85g3%|F?Ϣ͒:'wp ]) s|9uϮp|s4#5'GǗ==in"l"Z4@~`R1>f?%f~}mL=V`9ELSBɞ %$1}eїX"FU[Er# p?-%`8 endstream endobj 182 0 obj << /Length 3196 /Filter /FlateDecode >> stream x[[۶~ϯ05;S!mv^NN'ڬP[Zr.̐,Zj4/+z8!!x& I4ד'7)g\|311$1&Ʉz'OOߢDEtS˿t 0zZHnza-TPa&3ΈIהDL 1}s4òf|-PPe_M^_auVguvU+6^SXEKSEY'΄,W ,!\g3Hj\k3^zw\5k/ަl\A_U9f=yqƦnaah. Pp \Ͱ%oE}dspJ ezSU6"f[,taq; eljJ2+xbHho|]`C,7|V3&O/.l~#-I"X "q ` ] m]-e .]S/ZApW~]gYAl͢T0f[ԧY/l0麋7nl@OKZ0B5F_|sq1t&qߔ^7u7Nq #/!s_u|6f[ j75ĺu1 И>l+l/c8R VM-˺]nR20,@(l"_# Hx3]:|,UO6sc }o st,h-xů"J8ƒX t&\z |>(6ZwRwh3ڟ")U7T=(n\J¨]} g}{#Ӝ0\.fwjQ7Hk.C+ ,W}}ASIzp^-U {[5-LA/W 0<-ȍnAaН(3Z-YǯrBcR9n]D7‡X! mi`Ig&t1@q+E0lɋD@7V=. &pb2Q\[@D"b/~:rp*%F>UIwJq.?ei_ PVޤ}m(cd2Nj.ac3e`a>M$4 >@3I~wלâKOu/49٤%\2^&?M|en%PQ}FgPL4q;(f ̜/{DIS<:˫IozwJcKD2]ax{N0;kkԐeX0=bĈCg_=?RI giu s wUv(VC:?cDC T:?;O<g??w}'1:sxV[աxnG8I%zo9rl} ~g ?k,(؉acFc(=KV`{=a7c4!RmY  ]eא%lZc7.e`}.MR;R,L$%ã`Ad,HY RbAZ/ik=f|xs@*[Y=Yٽ,N-IBDHo7,xw)镻_۬NbP[+_]ex%+I^,p.V@^xIƯN dG3E%Nk%dRxi3V{VL_&:f7<{cy6{<[Hdmt=BL$ 9^C=u=b+N̰u+Þ̜ZoH5 :.kP}D}DßxNRg9nI-f4DSjoе'02BoZu)~e›JBݱdgn/d3XxsWAIk&E Ta'*dŞprB>waڄmFacv;L*,y&V9&‚?AeVK!z`9+?wL rd(x7 wQzGAyu\/ҽ_ 'K}C H\VX](лpz/00ڀ mVyN(Qm*B+jF؆. hbu?$km dс"r0&TC컌{E>[alGwqVFlޅP 7-AO7.&3F*“ޅI %ӥ[\j˅[CVwȆ7J!CpoǓm1^=21J%IÒ ?%a}_> stream xXKoFWn/ry*MS+i Z-6T,):H=ڝ⇟D"6^,XVfZy <Ŕ0^H*$,C "b&I:7e\"&;yYZoWsQ&,҆2YYVWFoۼay0=NX9!wj7l(W:Ӧ!]v%-nhyʋVE}]}쎟]X&mQM3)Pd1'yX̴h*Zm{+30ɀsh)o@r_=:>+71/胬A+.CC%O};b(^VDQM19mqܹcĴEyNynE:)E?\6ma LmVi0Xg괲p:ґwRqq/{TQ%$U'<%dᣔe͚&WQu/2 v|@MnS -!>'ձ%ݤ7ͱi}BS[zw-nN9askeWF 8AD7죢mZ֫S˶!-˛"9Qb ʴUXVepK+#  Pq] ,\jG,ƃ۪(*̵JBm;h(iZEVwYi҇өq1-`wf+ԖTV{.]n25J\ݦ[QsN\Wlh?b{:djuoKٝ/&#X_iZJbb8&5SP/!FxY=\̠I(A M?'ݥ8כPԺB47Ps>Vc.|(jWջPCnfbա^.v?`iy;}O :$ܤgh~O`Ȼ&V6O97o0`T 単5`'NƉ(F:H E c3FO!z4,Ve3w0I1ao0`^ph,-\aQGz $5&Č5nV!|G>x*\Mfzy(xՎaQlR$ξ gXx@{\heC7%@O﹅w> stream xWn:+p!7oQ\$h4QWmFlɕw(J 7m\Ʀ9C8=; @@Kt̂!c)4ak-o^>8b.EbV2 /ΜkITE]ė@(kf{&:PQ!bbJhD\[pETRʉz 4%tG2wn8o岈3ӲI~5Ƥ"0YfTe.MḠ[o8-VoXe aK\tqK.|Cשa +Drp6&Вcb̓jDq~(ZӸ;ǎo].wXa {aW{U/^@jb8G\-&Z@ R¤ܰLYqM)v:H#v/2eA?" }cWy d(z==zu=`7֮[r<C-{q3lQUcrM(FZ|&WN&N#]YՖ~b`HLK~ae<)_”?)w!@)N UnvyPH"<,OE__L3?׌8,`c`e5~{-:ջ!dy6uZ`0tmzYe |xV< (^b>|< vMƳX!z&v%+UR{1$up,t[˶)zc FXnefX;5ӼXvESD҉:-}]Xb!dKH9ӑ}ҳ^w endstream endobj 203 0 obj << /Length 2628 /Filter /FlateDecode >> stream xZ˒۶+TX qAڕI%s{Rwa{AIIJD*$>Hf$و$l4}~_(%$X4^) L/O׿LODQh iHDXD$i%|F,!ٽy?xyfp)ƿ_^]WvNYL =@Ș\FIIqJ8I$,̎Kch2kmHV)m7,ϲ6-rIyXteQI@C׫oYے.ULQ~ptY;muP ilLnPhLue2&qԎ4{\FCĢIgZ#@bML{DrzZoQW3 \R 0pnk^Viꯠnk-)>!$"!<8yjzȾ4Y1ts7|],UY,g /ݙU6k_A g0Z=08/0:!d'լr\ޚUfXuŲddb̞O!q0#1ޤyaL:k;ӎymx)tO|ZgtSe=-;%Q;t2_c= 5ngi `ok7Lت7y6֎1pk`OWbʓ$C?2N`]>5`C[N~.c01s?΄Cf01[vmƍ!5zth9yo|uwR6-+bP~wԶvlf˼(_=,2F1N:3chjY@q/iof3ޙbWyH7(>͗;к2d @۞7ƌѿ:M ͷj _)agb=~QNHl4< ICp܉l~l!J=F 2k_{R=:H"HDC?}t JMܩ\8,Ģߏ _`x(vKMNڏH 85 K`,'&7T= -$13r/8?VGìz,EO,/SOzS7 oDep!/_xa·(z 2mW {Mo 0ȶp'VY1;> ͇*y_ ē!Nn< y)4y9< 䳈5wFGiur/ U DI.2.,[0W?kmD>(}"/Z(ALDǐ ~!C͊rVjqX݌ja{ul֫vsPMZsۺ_Dܮt_F_Z@k`kc:\*u-T ^jtN垦>bAXhrjl1zb<+z]dwSArbu U}?aݒ@-(Q<cu '*,[i(O?jX5&.DpPPHqBI+oOgӣp000ēue,#(SXVW_= elAlm<) 0B "NsS'TNr72Цϩ$I;9?KoŰ=6Y?@ˬɪڗrA~ J_}}^enq1{l"p"#yG endstream endobj 216 0 obj << /Length 1982 /Filter /FlateDecode >> stream xYo6B(0&?E0Y7dغ]A؈-eܴ"%ة7_lI<ݑǻ^Nξ J"y i RLf'?} $J$&JF(Nk_!|WJ.q2zI.\hՄYAR5q;΅ܒ9!4)AUErh{y:G"D oEii렰nzQwa<3iZpLV\cj5cE1rtE8MW+pϋr"L0LK>_S?" AxC)`PHTu6&KxH+ܻmBM3d$[ث {ox,~AF7PpVUtߖu }Pfξ48{59S3+1 X1$C#Z/tkf !7*fȶgQI$vL.=bE7R`{y|Пet6vE6/0h UZtd,e殸&G d b#G[@z2L(tgYYz|) bg}rh<ؖ#0 N8(eKytE(]aUa<2\#lUaZi9dt{"kWH}ɟfvAz8Q 2LJi1dmo&Փ\WjȇDB tvೕ -~j%±;VjŞ"#aZe(!Ɵ'15;4aֶ( m1C2u gbgoK]t?Z :(Oplh B"0tXFj`&D&27R  <m7cyI[Jܷ)".f^=<;N1Q#W/Ͽ8omNVt V !=f0J ͻFtpS\o~3d+dN"b鮉J\de'o~ *8{)DF*'$,>a?гz`SB~f hxؿ!胾D8feìZ:YIFs~STC4Ⱥyi^ W˼yvku#3g. vüӼlm Op1]߮2^9R7ʟ.R-5YijeKZ`i?gH FUȞ2?b&|œ[d*}vm?z"['F6d. uzȄXtTM,k>2=TZzG;XhF#)V1lB'#To@Tyىwm0Ty^'9R\TQ՝41=BSw!/9f f ~tvR{XƮ1tP Ď}&}AvGPu7Tru> stream xZmoܸ_uQD{2⻔(_r!sH҃ ٕ|Ctb'9KqOO$15L$M;_^:5TW_/8̠@[0.~ΝXGK xvo s,ݮզh1̓#G@HϥX,45cϻ}-Ŏ.vN$I:k`0̚8/rEM`=)1j1VxpqvY#P>R Ƚ^@/E_(6SL1zqJ>75`4)yWjK(4Kڱ3MTO 4!<T\@0ذ#z~|rקGNѱs> FrJ:n:v~Y/_!ض341$Z6 擁E]K3M:5}9ʲr78vdBV^0mhaF>t{ƜNEwu"u$j%o07Xi#B]g`%pqh{Ue]AɞBx&fTPϿבctYoe5hZ3z>,`gsu&+K3u=ywaf14vg-X7g/< |@ S\!ԅ 0%-+]vf\m47;> endstream endobj 230 0 obj << /Length 1880 /Filter /FlateDecode >> stream xZSF~_Lf̴:tO)ڡJ!lX# % >a)m廽owoO~;(DxOOrHo<>Hp'Q(ld@* 8O.ώ|Njs]p#QWlbDm3eAAaz>Hl1 9/%nJ &=ʈ°3 hH2oȾ-kA3E+O2}ޅMpB7;QZLDEG9"IզE$v2ƢXKD|#3e  omw8M+& '}X`Z.J_T[(^.2'tn!@ROXp [|"Yiʣ[mC!->X&x3]Y)F;6:=-dyNfk1@@bylgQUzYMR~z qǫ+Cs*؆`TM^H}E~ortSmשׂ8ֺգ投+nAWD i G( qCd# ׾DzʴLuk.2*D VB&faFh9zԟFEeܤ]dfOFL(md4w(̢2(bʻ񳫅ɧl#^ qj---Y}\ժ r6gV{8@6۠DoZ<3}<+ (B(=(?B+hDlSfi/AT/cKESQȐ&FkZgYO(}58q'_=0pʧti2wn! j # V+ EDIG{y׉Jclz@idI繸N-CPLKIN8@[8^!SQUueCw\dr/c N!}뮀3_Gtŷsmڲ Lz f>AR7F]I:B*)ffg(ouN -cH(1SMVhI{VQh3T;bh1 ȸ(DĂvU|]Ӕ<M3VBg _2z.¼v2sR3kNBȮ_ {ޘF@1[lǺkhGyt8 ߢ{ fyQ,OME4Aqژ99b{k@2fٚ(ps#<;7 uу``#> stream xnF_!`Bքs6(,\qzX$ـ(D$3Rr$Y}HH~>yIAz9d"9$rrM?^0=QؾЉD $i!~ywuZCM(Usܾxyv:Eﮦ$.ubLO)y8@f+S9D0S4H(UMј("ͦ3BE}}'IMmVYla|7PFkCX?r폼csYVwQVte*k8\D}CU\D%\T4o%"/nN-fFD_L<)}[ij B~1[eHי}V7uf45 e1 Ф$j{0G$a9͇)[K)zp i^Б-\ӻt~([c` t/cMWvp!&>Fp S"/\(-wX}kJGZ '01yp x/`h輏$㖝qvp ;Ked.^U!$H}w5 HJ1!Α-ۿ9E`魮sH!=-!)(>QPu Y ǪEG{iCyMfB@Gkw|ȜsOx O߾ː&0r&nUlvx'%UT<_OI(]CNד_N^ VXu8Byj1F R7GNrO x$%x"^R?tάX9 }j2 #F ӿ!&ȯm Dtf/AVYez-Ycժ]W3/&NubK{ս\>lgSUVכFtk:2s$ YPmLuO:pJԹȲ Ү@|͛[G,(w>s׌UZ?s=",jieK!:`ݝO-ui9m3k0AԵk0{6 8 R89\jiϓjF%$(_ bDvBItwszG0ڋP/cDؠ ގ1qO;Unjk*/2puq%F}8T HY3-謅mϱAGtDŽG׽StP#~fYIcɅU>W.mf (ߏM l,XY8`5ӅDG7`580A O;M@"+O!l ]&$p ~8YxlBk5F}$Ba &etAۻ÷;)tO,wlFo@1'k<̎F3t]  ul׵6&sV&݃V]۬p=}U!mAPOeĹ6> stream xڽZێ6}b]Hp u c`<$mZ=7XlJbn.T& )5T)d!\j +%p+8s *x䠦ZVYR᷄V3Zfàjf'%,6<+[g1Uܪ k$>0"U߂dps[2lV<[50sàv2*A:U/[M\AaX Vn>$02n.Ʌn9(>7<,(e>QP 3tXSiE o(@NVE lejH])XfMXL *L+âԟa "<܊(&7P]DqP H`1 ,Tފ`եKFEV $t=ԡЂ:մzn߿ajǿv?afc!l`#B*0"/s?wSXv.C XO+d?|{ynInM~}Qj#Hn 0 OPvxLp<oW_w,4Ppi|qu}a?}Qd$סk\>~CԿoAͯvZ";Ew7HtXbyJ;vFcw@C $B8A6(u*N3Gvfpd*bo V|f暅t5^05hT r]1a)f(D&` 뙤*e <E`Xc:Mg&\#IlFRv m!bӲgEj7M4t>vm/bxVokLz<ԨY||Q]\yi io}vm~=Ybz2):+0'Dr9$,\GVU>U,tLPd!8NdD|zmgj` b1&B="=,x+2ZڃjAvdԟRh.mDbbʓ5.IKC?Hmlo-ѥ$C=o3 ev(22⫹fN{pMടZAS)Oir z:Ң=ڍ :/Y4eR#t8*v?Rc,BMڡ&y=UFVr p:S-4r@3F}7 Rst:*I K}bnE-io=WK|Io򹱖Կ&@Ŗ v@mzX-n T{S.Uy\}#ա; ?% _uz-tYm'?$ endstream endobj 541 0 obj << /Length 12738 /Filter /FlateDecode >> stream xڵ}]s7r/7?eږ iݶ9#?t0Ż_=&k `]4`w`uO_}:]ܴZ/ɇ..\_9\8>|1O <~H:Rld滊˧93msQ`PX_]{{~M<s,%fϯ_yWIf;XgtB*XWgb:s7E S<>2z $/.ߟ_"b/M{xX~=&w8;l)`Yߜ/@ӝ?Z?y7_Om7+oͷb8)w~ _2B}wlPyZQ {(. sG`ߔD:[k)@M7緿]= @? 6_ܨPMۺVO@(]Q6la0OrB f7ZnMsnb%j 2$Oǂ۴qNvdkB}lמU>uKfK타0Cb6hVn!`O"t~Ԋ#{lEM4q02mTHjЄ0d"AU͚. @wM$*W &B 0>HP]ˍz@Ŧs!,ARfU9~,VmS\O\)ν~85st:+2*,˘eֵ3tHӼ1+ 2B m&D.w"%d"ʲfrz>kx(rra4kz3b9}:q"+a߷T噀ܘjBZn8]euIc%Z"v,v5;7X"eN게Pp# 0u Q"f fF;dքyǓ-p[Y7P" 똡e4Dxfl j"y|4'cg/_=/ٷ _yuI4v?P~ l'VtyXJ1H "(3-QTӎUe9a:VMUr#5EF%k %lG&-b>KPB銌JT!fc/Npz}\E9ܴ;9$9!7|PSO+TV锷*0/ar0TKUa{IZT99yN[-քC6f<8 %Ȩ[2dUe94nKNz5pGk;VWe=J؎lM(yV>ѵc(tEFtO/>mm'a]a:\ pc V81^bVief"XEVe¾7zaV͚:DJimvt^?>|$63κ%Nk.cqXQ /J1x锸.ty(게PMoWTZ%WI_Ǭ$ެ3g&tEF%VؑЎhE<>ܶ)g%tAF K;/>sV.9`ygΥc9%ˢ995]̹YMgΪ ϜϜUYF9s9JΜi;9~U46FPƻO1A+˾N un=wYf|nGPZeF銌Jjxb4fg5]Ml #Ĭ,\m=VeR mBE3CuњN8َ;JT& csvdkB!;JWdTX\߁2>dҩ婳O~mܑ0/9ƌwzsGI ll]W_>WC2zYYd3{wW'\:|uv~wy8;Oy|7Ӯ >F{(㳒0㥵nmo*!JWdTR+wYW/OH?~تX88 %62pmV4:y+E[cFr5Rnd*|۫S ud: &J^{(Z jn^3JWdT_ltiyk S!;=#]^2;PћJFEnɨ%e2Biq *kOڞģr obMXsc ڛu2RIx2E8ô{Ͳ=\F]F/2+OthGz8cx(nkDƒf?|͌+d`q1 }9E2#Zщ?ѻv5U JdTnL게P+<EPB銌JYVyQqҫu ,\C'CmItRRq @1TmTTAN%72s게P+n]4󊓌^dVi٪u-]٥w`3_wE5-%^axU'X,2/KqO{(PH(`찫d[' 2*3['k$lG&uš~=; 2*'tpCfļ,Q7vlG&S}b|ﴇ+2*D6dr=}-X.+DP梡C uBۜ :ɝq} RQ[D#5ƎuTxxDR[*'v s<fEnׯMa*og?^#3VhC;~ܨ̚PZ` +Š #f\ %.ݙGꞝDʥōYI؎jMtK=6joы">])게P0=ĎR927:s0r;,AF.'O KtӎZzYZdonkv@?ZJ~sq{qu?PRtp_=v,t`_qKJQ"nia2f(auYF( f>v>%.wlƪ*#.pB銌JZ`c#[Jat[{JWdTw3CuњN jlJB邌J0jlǥD+6ą#ހP) JB)MLJ1J,E/ݬc5EX])0P]SQ"RVMm"l+wz)v3PD%0JGIe"H)via2Bils1YUQI3:m3ٚPX秤9JWdT3`P게P:/XCJn1P"R*Ohs kt =uP0¬.i2BltmLW.O6{GOsلo.LF߼TTzI^{ B Mͮݚ{p3nI(E-`Cή(]Q)uLW":뻏tS { TK#:eR Y]\}ҽ953*iPq,){iܺz6StRe̅*D[DbIb*‡~PAz|K"L*Gy+˨e;ay9.s@S{,c$ cYCX>FZ8锸.2e2T7mWS带f 1H3,#`` %Ȩ-%1C ۑ %?S cJ(]Qɧbv^ %.]pezJWdTX+&3lҞͤLC=*R|g}IE/m]Qa*jhǪPܑT]GȨQNۙCVeҎ=;3H׫E:YI؎jM(n̄4C2d(auYF(ŐRv %ȨQߦ!C 2BqI#!C ۑ uöC +2*iS6UEx_#[˺;JdTʊ{+W7:}_~ٛ?' 9-&G[7nׄug0\2JWdT3Lx+g3ٚ0wݜ@V \D즸j"[ @(]QI80똡քfԲMjzJWdT#N ѱ@e Ky5D#'A;;>i>MbZSz6Lܔ@t;eH7+#ݒP=$J1jIF/2+|,4j,#rbخ\ا ""x~q?jUz}q[*Q=ekM'WX{-f繓/t$uIUvº юUU9c#R:F2") Ӊ1# Q 0ٳP viqqNvdkB, %Ȩ-d0c %.+UE +2*)Le %Ȩ~քBO|y߲J(]QW0E 2Ba k%7Z5tGJza}2Ba{ʘc(tEF%%mǾքRF/J(]QI)48T+s+ 2*\-ѕWr*OfU %ح=c.VE'm֦fJUw S ;}^_ Q-{?c3s~v s;56]x(e!p`Klk(vdkBy _]S`ϐe0z!.=;3H׫+,cVVWeXqozfJWdTZp4^lM/4h^208`PIc N(캻R=+2v qx'k^ %.d|#,=;3H׫+7|%ތYIX] {~f(US ~&␡;#[ B8{;JWdTP]`YI(]Q Vz7ُIX] W0qC +2*P&o1C 2BfJ(]Q),]٦Ϸ7cX%+TŠ$<ܘj aZ.e7:5Hf>}8S_'}1 (.6ӫ{5k,E[A\M$wO vD5@َU4}k> dM'EH U&RRZ~>6:Vil0|q1Ν*#7aI(8.im9+2*ɡu옡e08Lb6f(auYF(`g1tGJ',O߼FQak$t=ri~0\3$t=F%WƖ\Tq߼zǷ4X7#Aw@AX7=؆)]p╢uTzaOTJ=]F/2+Xs 'ֹ/Ʉ5:|ErIڐNEnݭômּ_>7m34jWw p{"-m 7J5fȨ}5?o ݱ,'k'#6^Efe6 UT5cZngHF/1+| ݄)D6_4LɁB`= oSJR1xыʢ<scec_ xɅnBKCY+4m^N3P;o%_oඔ|F銌JZ[kP게PX.jCE^dVi `4ChM'bk;JTZ )Jvr,jnAVَlzĤmeȨ!;3#ZIevKYj:VJdTڵz7lyqi~xxxr2Yۏ><(K-yaIW)б*nۃ¤Pޤ\wL ϛ13ae`Gh5$Ż%e6)uae"Hg0VSepk8(]QIgs0 ٙhM'Iّ:VJdTt;7zӭe 0ܭ+GCn85tm7fȨñ4ݰ)aUC/6qODLGD)n$y-jQI)Ĩ;z6ꯢB`_\)ٹ%9cHD/lYVŧӟN_4՞,w\-TwXz{(>Ra 3#2zYY ̍Ua;5a~zU"JdTauYFmݢ˫I UIksrvTkBs03g&tEF̩3ul&jAp锸.+,#lo{ *(]QI1x`NvdkB{<Ǡ;3,#ၿCPB銌J9pk6tpR"}wyuq TYr8^>60Efe.c bǪPXMI(]Q] wYXr}ʝvvq q+ xMkITm3- l1R&"RzQ93T)f y-E[3jr5r2fMMtsb&>|WQ[Da]W3T׬rߞ  D{. =yŇQWgy]K b\g~ ͌Pf|nt+yGJk,ZӦEGa4.%. P[JBq=Lad[ Dr^ 6GP]&H(]QɁMvqcfVey[dn6nR9.㫗ݛ/tic!X 1R t[~F銌J]:,2,#ZKv %Ȩ>Kd%?7SVm|Nsqr8 VpD邌J:afN게Pxxƣ=C +2*93=J؎lM(fXzvfWɻucVVWenmcR9s KY ݱ,#{XY %ȨP%PN|yޛ))5Ư3i!w s<$/e׌W{ۺGM._H_;J}O8c= B9,u[{+2*i|C#[JQᰨY\O7P"o8f(auYF(])[PB銌J0t1;3T鲕[ +m[| uBJ"Tӊ>a;5oP9>zM^dVe#כ:9Օ-V)/]RK"3cE؎lM(0Y5U:ꩍO>l nEWn;|qIT}༖MT{lsi[f}=*,h˻ MIES /}@g u_e݃WK}4EF%>(ۘea6ti>gJWdTRs!C 2B9|R@#ꘕ;VWeRl궞-ld0s2ӋԿh!A,2eAMQuCxMfCWq 5EFՙG 5YF؛UCxES) :}۟_~ŏ{Ux,r`<) O`[)G:0(]Q)۾{a]V5JudWy@m'u;Az=cqTP0b Rj"-ße/[u38bR֍C7JB-T4rtzx42,#BQ]C +2*)kKy %lG&CuLPB銌J,S,Έ;Ve|P7tG銌JC蠡e"*\J(]QIas 2,#_D'u %Ȩ%;d(a;5"*f>]C +2*m2&Y9t̞΃=oY~nfϛӓ?fPɞWMKlQ"B%jPvdkB)k(tEFpTڝGLTɡ(K[j7b)6{b0_7f7Pܚ-eG"Ҏ-P۫ϟVu\+cVIVWh5dݦnk]SdTJTE[^I[mtͧ :!+mYKLj"UI$'JCUDPUHMfՍ*=D4A#&T׬褼 uRj"iwp␉U5k:i;jtw&LjLFLܡfM'_s&Hx3E7PwYI ӱR U&QU} endstream endobj 242 0 obj << /Type /ObjStm /N 100 /First 925 /Length 2962 /Filter /FlateDecode >> stream xڵݎ),VCE]("hy 8oS=gz6.d9B7wf+VTr*&d-$/J5xTzkxcETl$UǯOW.IW^ I{(%,{|&iʀeq*>ywjNV UP/גwB׺2lG9w%wHnWV_46a9 EG*:t꫹Qg͚Fy4z 1b`яs/5Iouᓓ恷 YɆ qV$ x */0uq/!Th-4:40"U iD, 3$%c!EB@hb fhX&8iP ůL јPm;xhfh+)4[?}(t~y fD0i>`c >A * 7LP|hw=|~w>~|>QȾܟ*}It}|?+~/_>{Dd#>}TPvU t~:gpFY======J{*UګWi^J{5kh^F{5i^N{:uioޠA{ 7ho8 r~ Ot>+' q 9?iOhOhOhOh^B{ +G|QGhhh|(PCɇ%J>|(PCɇ%J>|(PCɇ%J>|(PCɇ%J>|(PCɇ%J>|(PCɇ%J>|(PCɇ%J>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ#F>|0aȇ'N>|8pɇ'N>|8pɇ'N>|8pɇ'N>|8pɇ'N>|8pHmNw~^뗯E H]n*pKw~x~Iƍj-":t{ۈ'6LeuO ޫQScձU蒦f-CdQ[{-?+K^XhdYEt&[S9d-*Q~])Bɞ Zv>.[lU\uE[FUjldW1&T[luc۳?L'@EP3 Ex(DTڂd %cPcO,*z-n"(WJ;݋hADΫTca'r WfR~"[3sYyRWj"]׷8Լj,x"bi1. / _ z&[]KkUd q&9S]Э2AE .p±)Sն 8;D ѹgXWu׸ t痸\C5[G<m6U 1:֛OU#rC4bD}XHs:ަ vC \uAbaړTl!V۷$fL,2!;wa GZnDkH2FƱ -U5(Sٺ En8dNJX4Xo =(ǭ7ǽ1 pPaQ і踪v#t%ڮ!ƂibQ 7WIom2{5n Jp ;dLvE xCP֮DpVeu N\g>dmg= endstream endobj 543 0 obj << /Type /ObjStm /N 100 /First 904 /Length 2206 /Filter /FlateDecode >> stream xڵO$) Ԋ? )`XXO{[|=c1eue͡J RwfB ))RcVDR>X'~罌6ejst}i!ăDM\ڥ ٵH7<[ ?2( ;zmQTw͢q0-pW>_`lOB"ŠN5^4;2y ~+|a?.?wF h 6.L<Vz<by>وǭ}c6.q >UKoŴ҅c/t@({L<ј 4؃Q&wS(V[z Г40؜Ą Sb2.Àe81P F c$26lABc[b.ieSBL-s(2'K/3N|%M☺ !d$rEZrV2qŬk̈́7A>9'9ݛ_`vs0dV~i19+!*``^0I"=x.>]~ߟۏ_|vy?v/{a^~o7q-uYg6uu?O/_Z~Z#~.?p* ;ж%k1s:ߨ#L:!ƆuZI\&ݺ!FXVC4?XZ'6f^`O>BITxn U7x6[era+;b/ + IJ:: 1! 'XGԩ[R@-T:鹢X О=1f+QqvV _UPC|Qz5VHj@=tlN*2w ꎜ#jX8XQUq+HA?CGʂh2D5}1uCE7AN 7hqbثL~* #s* ۰tz kf1K'.enR$a7K"B/kY'Z{unYeFUA!R@ lU eI )XrkGO,v<;U s%X D!ޑY`g {YyI1e1!jcñW*vy2A!RY1+81j[T'e9STpCQ!uuǺGi L,/wt6O* YR7aR"̂3΋&bȎn'TpŊC7i;tI5= j/oTG[E6A_%"رc/?m-ęH<?-Ġ(Qar-[^s :_9"# 4uXuq:+on5@CJ@' ?,;4bٵ*C t 6^h1>="S78KAaJHhWeiv}fw"  7(rPd; |*w(2eOw^۪;;9Cv#!)tP3ܻS ϩ;ҹbPl^[ˮ35>ቚy3W#|{)5Sң|:`2ߏ|E yY3Xan2ի/*ZwFHIM[59!#3//r endstream endobj 544 0 obj << /Type /ObjStm /N 100 /First 904 /Length 2188 /Filter /FlateDecode >> stream xڵϮ[ ~ =,HSm].mI1H}~c*ЫIQ#H%VϚ:>55ol7K.=9OHR_"' ob"IZųV4I7P%q-I pEOUHjmqi6 Z {IC^^S D␰2T%6KNu] vǁ)uܬ!P9 hP6bo&OD 5~'< L+l8 v\xGxη;$! wPaºv+sX򩞠h,GPr^0RWʊ$WP&4-Ba= *P) )be0I@:e|*z{DS8ˤLA4BdS04 ຃CaNJ0"c 5pT%Le[[+|}] ƚ0tO#XDNgǁJRxY2ԆSI>(EI91˨vyp^ͪe2P yeo|nr+b؃Nt UU.]e㾠Jlk Ei(Ӕ e+km[2e8k_YM{<%5lP˦jr|tVMW5WZ1uE N<1>RǬ_0feA1^W[ ?qߖ)J4O,Jcݰٜ}nH12φԁ^=c'sa/7Fl |P(|uK,Fbyj\0Y;N)@ysŒuyQRH??'^eh%Q<㕋;Z†vy< L!^l; |} fatyӾD*}A%KgݐG)oP], Ki}jus>΂c_Bo"/rXY!N)^OP6rRsWX+MeDs9dunS t?aU``Qv[cmR>K}C ^lX,JyLnCe յ%vCO{` yKqݰxƥϒlqbyR 0ԔB;8CpIA@nQTNLLTySR󮔡H*W-"(8gI᧝ֵFEmG'S"1*Qh--[:?M1N? 2ƼlBjJaqm+;qR dģvtv?<-hAV&rSB}bpݐ{Wb6D>[]?%@- endstream endobj 553 0 obj << /Length 505 /Filter /FlateDecode >> stream xڍOO1)Jݩ#j*CZ`[UB* HVxNQֿy=HA`'8 W`7^LF-=tnT8 NPEB|9Hr}|ok] (( m\\ɀ=C4?@@ NyT\ ЛxJǯ't\ر Z0UaVRs盏JL+[JjDɹ=nĦ1({86ZbQqtcX"*Vc#ƸJFl;VRm+T_*ٗ T߱:P6,m+ThXƤn9ZBL/\q_w qnl8)mWRN)ѫVN8IXi w+{,c7{<=70aϷc;VR&msz[ǪL'8~XNHj;p#}mc%\4: endstream endobj 726 0 obj << /Length 3306 /Filter /FlateDecode >> stream xڽ\˒+XYqp^ڲOb9֤H 3Vh3xEsDeCܾxy[ȠZ.4[h dzqYkտo[d=E?~7:.[oo7~|o9פ:7#ts2P%ʁ?y\Dr^ZWt9_NWiuumZWon^Qw.1DKC^߿ꉱ=~ l};h˜LtbE*`1*ܕ'qnܗۻ_O?*a, XԢYD ]z)(Gjc(%ss]_1h!]| ׇiwz=L73O5c\8#?Х@݊U(&1dTTaE[G=#E*TH y r?;_:}֫FhY =|F*j].aF(C=Jt+IB1MbO*|i5`6W g Xԩ9eʢ -K4B i̇Ӄnuq' @Y紓EFVYP?uktB1 t9_S- YV,jUNR k-< W̨F? 7PmȦn/qzQj)dY X\>#,:!Eܛ+P>o[+Oˀч/Az"{hF?%.t 4nwB1k/,-e;fM9(+hM+fTX/9 |{x?;nzp!;(֫ኟE ݧ 9]t) *t#XGY/5,XS屸QDmVT4 (T1~^G7G7ObbPFQ.Wڭ0AJ-EnrBh JYtONUf0|(\D~@1pN8 n 5pŌ q8fܕqp]vϏȭDFi.pF4LqJ^kai4Phb|l RJi ;#-nHYceKҋp OnL/(xpS{Ұ(pk#;Mwlx<췇GHND2l㩲WS켇Okc\0#t3߯λ=wK>l?>ol>kh5%/F!.W`nڸ5t[i:SL㩇O"yW8,), XԢpR=^Ԣ3*$PU^?fZj ]^Ј ]e~jh[jQbV!9Q|+rPD 3"-'HRհ(PŜ &1}Y}7/Wپ0||'/}_Qo[3uѿؖMşX`q W̨£e;|t-8>W.J~n{8ޯIXhI`5OKz"d+Dv 4 > stream xڵXn8}xHع bFm!ݒGR{Jb_-kqσAZ:u!D!sZ(3A蠄$L g 0FᝁC)J9GHD&9x|!i_ &Jc0#k8 x u38e=ԍ>9)a&,ufe, [\ 2N陋0=w2΃!C!FKIxR`@ 04RRĮ` TdadВeD#I4x2d 5L 5Z{XzV&jCrF =pR[ d88 X#p9D58ĴC fhB0k"`Ox$: u+d%a1r:0\>.*d2t`JBJ VydBBT m -Ȟ8pZ6$4%4s q ՗5V ;GlSql~UWxJ̯ fF4Ўi p9X^ _^k'>ΰİ=X&U~]֛fQ}u~)e*>HWG`UG _WU?Mv2>WNx|bal~YVf7u,]QL#ol,w#G=7bsK"Që7֊1T-QϜ2{T3. Tm^j]fHQG'P:5ɸ=U.P\1d?f?ǵbU'Ž/:?}u2k.RzYte]TNN{7Zܯ|%vG4VzYVG28rwBsB[uʢ=6PZUY1oڱmq~J<~;bGٯد;=-z.mUnCTCA1_#bIԏn8 m٢!/r!?7][Wh1A;,m\scD/buXcήVATuuuY4Wy>4O43h2jV@7qo,B4l呲ч_f)6Ue,ʪ?;yl; -mDoކ>7>,jh}]VK{>\k>s9yx9w_Su)]Je~. cZi=ZFFFƐƁ(J ~ cZO''Q1kI&kIzfML1@1@.\Zwi:uJ}ZiݧuS+7%)MoJ|S>>՟i]u>>Sxc'̃c'Lyⱳ|7HiPuOաͯ}/3QO:7G6j@љ ~5U?+™49 6ޢ)S<"=K|u:fT@ '(ށj픧堆Ը̹)S53YQm/dޢjQ)TOЗ!prwΊQ_ rg s T3>p 4SQ_O 8z_!ǿ'Tq᨝9| 7zkso$IQOž51SVh\czAY endstream endobj 738 0 obj << /Length 651 /Filter /FlateDecode >> stream xMo0>vIXB#4`]%#c&f I!&HCJ$(6Wm}Ho0PP 8L`j?n4S&Id¬Cr@cfI)I6gT #d&4#Lzw|oMX`p"z$b 9?]9 lޞDzu2tb}b`a9'ƬP/9MO;}fɺ5.U/GW LOs} }51Ǿth/VmP@S}׉ٺs3n1 IDV+ѐ>ڀD^I!S5K4Gb%rр2͞ږ {L6Ь~}ސ>F rڈExE'<ֻXWϮ;ٝy2׃/9E4&, IVoȤP`݈yIw~_6Me1O҄~]Uć=HY?&b^򁺁xh࿔uch7RAG8t!HD1r)=ײ{Cz?FY6ŕ*f)fߌrA"~qʿX!BSv#96 endstream endobj 751 0 obj << /Length1 2072 /Length2 15979 /Length3 0 /Length 17235 /Filter /FlateDecode >> stream xڌP4Npk5[p!x'pgfVS]GUS(19%]Xyb ,ff6FffV8 u+W[p@g+{Y9]?dƮ Y7[ _Cg^@ `tsprtG) Ow`j hjl Ps0zOj~KWWG^&&Fc;Fg Az%@tv P4#@/3!2ڻ|ٛj2%G_S #G +?MM-V@<+=Cc[cwc+[c?n Q0?Sg+GWF+?82fbvv@{W?'n 4kca_dneof 37G& {+'7l>Dp,fff.Nn 4d##O%~>@?+s; `'h迳'@cX|~03{[l1(u0ppX9,,wON2H|TD3YfPtg c`6b?=z vV^g7׏PpkkElNcCD-l.'L!o>Z\p ,Gs6GT?VSJ؛:{}7vv6h|,01;~>('I_$0IL 6?$7Sq4F<&?jd/` ?3Ֆ XL??l@C/Av 6Dl??V[c!GLyGA?_%c/,y\9>]>>bSUfrt\=A_* <ՠ%cWo_gMݜ? P_-/8}X+?!0KNJS|/:ڏ+A}'B紭:=Y0Quzni khTaA]f xh,E7r!ǀg`x¾A k CF^PEI<)+! -ڕ',Z;l"Y,[kӼz:K/.9!4YE1\#+4qIq?3dyf9jN*(`|B)ʤ̓F s~%iu]h&N ts>A1UOKCl(*aT+Pum,|/`` nNowޓD(wIOnS-fa7O+3gzVlQMy ; 0)g33A!9B*hg@hXx( éBA{Ǽ-xn:vL#Mk i0MG])2Cq0峛V=29Rc!U$eTe=W#jW=g_TV҆`³ژT[skijy9dn+~Gˤ !pf2Aw>W6r$O5_ wb _vkdH0ě}); "Yt/`{Ɯ  Kg\jx"t J"ږ]N6yIǖqB|w%[ӟID|Mu.%a:@5L ׾<א'5PVR%v(-ֱ͖` 2P#XE$9ӳھ_̉Lݪգ"ӵ>mhnowc zdӗU;{qgr]$0ЪA\0l ^;_?o \!isN6Ms/jP[-=mP)E.Y6adޅqǀYYh(}m DAL#|eQ>G` JT27qda0\z/hWkl)q':q!ː|uU39db?W8!xXV[zhP T1VOXw8 zG]e!(p<; h&BR+݌eS1~ՇI/ o3Rͭ zy%r) 0|3ݷ>T Ւ<m5jF\P(jTfM3|Y￷r ߿ `F_c0YoC8Q{UmөH >*0ܐ8SH QkvcT+*޽A/O1gAy( %%wfjwM7eUnMzܐeNl鰱HBAiYRޱF=`;j[k ),l7net)NE$M i ekEh"=P%f_ES}_%<ł7;R2⵻L#:u-bt3)+dprZN`azlgZ< awhiZIr'aX=o ׄ ݁.mK[Ȇӝ/iQI*yox`I9dM iQ? `3Tj,7pA$)IWG}JS?UIPQ'=ok*9XD1 a&45a M/ ۾،'ɴ³.BpV &;zΰw@Usoa"G HSο1V'lqiP#]J#7EH"$89F ]tWAqgׄ-q.Ǯ,9 QZ~rхy2Rxʞvo Bi`e@Y 5c2ץy`/-`;.E OJ544C! d*ѤnCdƊ -WzLJ%AJj]I JKC*!g`JKz(7XG1/w)9|K3rZ{nӉUO&,`+-} gY1i1\><"ב,W16 W\7OT# "QU!J ,l> m4Z?O?XSҏ--\n1 6jb~Lr-e`wLx_qhKB=ReN|3W!aO֜=jOBV3`BǮ,9$x`"dM1$}<*њK YVL,tXpuLpn@-P j 9T)ZA<2q<[C(炅3CDMP M G<>C_0tHT$O$ Myw~wX\݀[%ŋւ)rlD ok=b:[]wdC(W4|\6|(QOH5 ѸtlE2fuG?_QlGb3.fmƙ;o͋pwC3CML.[a B>. Y1 ͝!ec:na//S1˔Im\e6_Vr$\ܢ̢q괅nm;CR5̼W9dlNO;,biZ1!+"Sl[M]k|@Oye|(jos՟6,Jy~P֜-bzl#!E`3,!N AQhK~Mʍ=a/XSed$ a6 ݜCX$ T[kVS)Hڕ!~S>shT ԘwoLaTꦱjvEB~}{;ux=SyJԀEeo|RYBBƲ5Ց߼ VXoemOEFCNȚ>#8ٛQo f{eܴ;4RXV5^5yR7pLGW<]hnͣdi;f4v1dhiAUm,kۙo5/o &bR7蚴ɕT4R99'9|gJ h\̅ BS1\*7@$/8T.\;dxF1rr}7zDud h^0 @T O`_Tp`h2:9cƇՂst$'s9Lߏ0Q`%e|H10o I){3>]%78i5NFW:j`]4>WL,?o8*oJa1`*_F-k<|e>xȏbOMu+Xx7,na"0PJaSz3_]Aq"#hzDPRJ5RiLxm0;6 1](zQ!֩̅l٭qv-iH xqu*d`r}& +V7+,\ M(76g_F"G7ks'Պaڌ[%r֓(pW>Kd1͋T!EӬ/RARUyzEJpcS C%~Jp~_ToAZjE2~\ֆ"{1GN[ZgÄqL%:mR<L$3qJ .9|`C&:L'%=jΈte>mճa$GgQ(9!6xe>G2(4SVr{3/Bt[0s Fx*XѥX "/s2a(GBM|hčߧL>kă1L^ κ H;ZqVs +VEH`9u},hҪXzZ?)?OBC0k{85B 2&Q"Vjj{ Qt5<;݊>-!nOJ%[) QQKZ!ct']Le'_UE]?Bc2@ʲ{M{1OmZ~SKKںHym cGBblO-?ƾ_#pSFt)|C#!d˰&qk%-%>Mtb3ώ6 El: J#JӧUe+>A㿛6ԏ/`xE`N_F5og P5:u=]pZrx,ܖ1H#^T P(v3OR(pú?ĔiD׋hkoo.͹sZ0['5Pf,ÿ&Ott|nNId䚄BпYy1Z/9Mt^tL$ЃS58rBjv7;on_$|j`}9dMrkQ8zN'WX@94]Iemy]PjӫCF:9 u7џHetB6UuMOr oK:{_ ~v[h^StbSH9F q"A<x n~oJ'E>ثliW޷bPН}?orޯo%.g)$--i#)/h\ZҌ T]puXISId;VJ ƛP]Tàq˼ ]w%Z !R:[f[LB+"R֊xD#zKEwNH["e%U|Q+8ѐ+$qU'4qGjϸ*DAd Y}!iҶRl9RZ/Hutsx59{s16C/8Z6ͮ|&j50+Fkl+箹=կ MSUM|/N**C"ƕKdw=`wu #^ TQf EϒY>i_$ #5Ӓz I/=zbr! $=˧;FCs[d01I9z6K=,<ge˰1޽gnF|ԽI!*z gً5$A06Ap$!~Z|Q0!e ;0v7 Zu-no"kգbk {=ZԖ:RjSYAauZ;jȶO*dv|YLwı&Tˊ/Q?f ӳT3袄90y* 2vw#zyK~ ;h3jb.qy螓uYCD|DmWh VOmy&,lm]JT`"m΁zwЦۀDH OZo٦mAt{_RX&{ÎX暋-%4j#)/ez%Q18dvf2MVbѶŅZ 콝W˗TƤxZkHfzUIڰ6Ǫ{#CE"Ddy YSt)-@(v ،X&8A֮TlH Ҍܽ.(ɷh5B$xFӰ6gcF"U`y $f%κOsXNO߬KS}G06Dy?3Ut!;_ƣb ]D@C2:zХ7INSYԍhSple_.f/o3l=fnOhitFs:U^(}?$nC%$g\Ux\)oB% [O$%/ANsV!_nx.|Kv5G6{3,ڑpwۍp]ZMoTa.s4&"Z7<͠ B4a-}vfjG#@IPM ( tQL³⣠{4e^zPф>_=C &(jİ1zy7X~vZF-CҎB==cëeI6:Hwb⠥DlQXD"DT<^QFLQ#u;ugB2w16:-PXͧNHc6XobJ&ɤw-6 Dnq}BrFPddRǥ|G JA‚Y>eu ߫C^*s>;e)zH᥽tb1~qhdvUY|k).e":ʸZ=C3*LEB#|QTjXT< ]7!Z Pd)\+^Qr8C"hS^rD(FTVȣy7'woТ^S|d< g)k{%~y)d痂,zy_cu_Jk?Wzoѱ`݈Rbv.1 >-g_MӬ?Ӹ?~7bvKGm/KYa7su4Vr-'M΂P8깹A0)nݽ?Iķ }Nv2m#Trw^zegR'C,R+<P!v7!-{ngInQKbyc46;0 ǟJ+ˠwLFR(7S|to|Bu *%`sV7@)g3F2F>IQ+:bȤq Jll:y #x̱i|hU(&j sm=Ya쑔E q|hUoΑqlrUӨ䞙|ӟړ-)@f cRIv'_H1$ )`PQK6oL"Hc1nCEiTVT H^hG&i:oێo H('<-_\ۍg\vp O@9U^"غt+?̷2 NS*5!u6r_vn pCgʟ*ŽC ?ƅڻx@9ĤՊ6B rIxnk?"9oW7"Rcf3b62H6K#}<7NԔ#RdY `Z`o y$NKV'$7js^\ {W >˜#Gblj{(NN^Xhѽ] CįcĝpDyQ`B#OTll0rա`L${D󙾦hut ^L~E^XMzHޫ ȼt{ch8k :*€sEܻYw/dn^+NQ[cT'?׬d/-'e ?O& 4w݃'^@Euۻ@I}c] ϋ}oLR|lx#P%vI cWSzS9CɎցe 輔hpf𳜢\5TxrdCb{M ϬF}{_z9x GQAxVX򢻋Ր̖f {H(XE" Kt,jfk&7 gXC_sZU !d}v|#]Q>wb\Y |AI]Μvv#ma&E/ Nmtmbl+S&c|s}9=(KqC8cBqx6Γ*z3ltuduYKHtM3 _/9+f/|KX Z Lˀ/Hw"ewe;r" B0udN`2]a}\D`55 |& ;'o9Ͷ쫔֜9<ʒZlz/'-WSWT> xUm!Hz|C> b J(]X$ xںbkݖZfEjHV1c"h\1ovvxE If8Ռ*,ނveȨ8> ӌMi=%anoiJΧh^]9רh i9o>_vaQ+$~;zw 1EHh pOBg>}tٿtPN%1Xy3a}M&W:t+k+}u95sܫQ+ 5&4Eb/5a]^T_z~ q$rwOZgҠfE\SA =-r@aUxS8+i9<"d,pM 6i "7eJi8_~5F{d0@DXRw-9e :fqEuij=3Ubbў3ks>([Ǎ1`}Cţ[ƂFa;|bھ{؊5ޥR: JkUE=V 2- 7/8+ :a7bZmg:=VU2mBa񑰳\L[@Ŏ90-k"ɴ<Dd [Yc@8Vb$x;6:KKvs8~& pL&yQ/{ X&_'%ۑOFaFa{EqR-sץaXyEK]J\gVK7q"Jٲ@iw¢R0[V~MK^Krz| [F al Q0~m|BK*jEsՓU[QvyAa_]7`g'Nk'6DxHbˋC#'d1juXm3=eŲԕOhz=7i7 k _YJDfWxkǫda1ŵޯaOH>A[@Xo"rϱ4 ܩΟq// a iǃ,6d|~P؟yZ/G r -xJ9=؍uYŢ;0GzDHw9r7SQG[k[R26OoJ9ah2J /|r@a7bAɬp5Z :osm.1i`L2lG)߀RXG~kZyeR3֞M? i ulw!0}:w%g'`#%W_3m*̱-QưRNZwJZuyիlv f.tiZ0b7qst_*gQ`y M3 Jlx‰">""q{V,8CSpaq%mٴIY@uxQb^Bظo#MosM$@-%t]%8>%6񸘆Lo=WȆ@xFڏ4~ L8rW\qSѠ+F5p Y.kJ5CBWT,B~P^mk#0FIM*;/moL=DaJ}66ُ=3\{o/HϞ7`{V$vKJs.6+$E xip.S/I2220pjw]ADvǞB.fh.U(zD5!p]eWɻ cUrq V -ySS%0:Fg#>SO(Ek]Zvvc a8~v ,37_}O"!rն|UJ& ׃f3]OI}.dR 9[³d~E "-N ID&U&kK8)+;cAo/F8Tx=?b0gwKrd^s4%\m-iB5%BajZ{C,{O{5V$Z: c L#t{n/9Lo C 1֯@B3* +`ld9s4b+fo6@MD IY<9A܆wXJHNVžfݪlB{5HIZ 3'H UɍxWJC2 Gv&^G|e{lZP{]͜ M0'66g)NZܡ|[˾ʈ^9d<j9V*ldE:zpV ݻҭcIa:4";9!s(_ҷ(}Ĵ#O+6lhnrh.Y*x?3J:'I2iV"T)-b;jF 晇O9oMVfF1gZ%L&WW$=Pa} fwi|=ukdXyϐ'WFӅnyqDbg K AY␥ endstream endobj 753 0 obj << /Length1 1552 /Length2 7048 /Length3 0 /Length 8079 /Filter /FlateDecode >> stream xڍwX>R")LNicm)-%4 H oums}yϳ#}95T ZZj XY `h'_~"V#(B 1>E0Ԃԟ:@8HDbHq" f]("V8 Gc`p@bb"ܿrP$ vhPgLG h`G||`g/i' pzP ;CK 0m`$q8 P&婋  titP?n ܟٿ \~'!3 sœeM^v;|~/ P1 䇂 a4sőW6+(.hѯ)Pf=<\G_- >CS  ĞWOwˍ덀#P_-AAhSm@ \qCm1珄yL_1 8y}|&OwP^  (@:_{a?*Zbپ) ?poB0oNWU"NN8'#hph1#Pc=u9;y@@?02j!N }G~]<, bك8b.QAD>_63j^ nk&`$Ix0ky I`8lH_-&r~Y)a4g)~ݏM"~1(  ?S$!B=OpDC}pǏZ9zw1IyƊ,J+ Yʟ@]?rg=Ox7혭㦯OnL%z2ܟ&m7Ng/Ec=b"&g%yX1ѝLYD=C,KAg=tσV"R3kHv%א-͓1D=[g E+I 1( ެ1/3m'ZRvǦb#G=n{$hW3Fr<|2p#f.'eP:eԛS}XQ=,Dsvw|ST5wZ RWk_}X_Ÿنb?M!_S *`qʞ?a27M0. nxL. @K6efɉUag<۬kMK ErüOFQM#$.Zyħc\s^[,my<6.`yCqjn/;L;(Kȭ,0|r;Mh+tGhNx[wTuAg9襞@t'Րw'WuJ;5YR{_9XgTCA[ ϣ;䖏r8&觾( ${%kH0K6i%5ξ=@Pⳤ1KtdI{~\Chkq-ZDClʵwB!0ʉ[dK7Ϲ{ UOu>fGM")v 9"݄|yˋJw4߆leZR97W*71>uVr[3G`ajI*@+@ae3j80p"; `1gԘm{.hW%%|06aK ~R`OiVu9Гݷ*_'ucbO:OfTzWi8fM.wes672s1;CLGm(Rgl8Lmi(&9X;&Kt-na2yr/)gGH{Ĩ+tRo@c'=&HTJ׽@JZgzCKjG2Mw7N>>J'&xw~klm(I{-ʑKãWt[D6)j,)&Ci\7)O MilpĸS*>ߵN_`Ɠ= " >_tbye3ΞaMn g N8*96bc;ٔhZ-m*>}3d|LJFx٠ChA]儐Wjl3fVT'niu ΦVnyWd--#/&<ڪz~ニˆ$Ѡ&XXj;㌖O,dJ$ņoVd=4vɥE6_k0#hF}˲WdOy6W?;5)7"E#&9/rPNeۛAe^R֟#H'Xˉ5"㾈SgTs&@O(@dD:jܥR}Krǎm9)+G/5d-nt?i fу:O)Tt F#']:y}:kө-q-ݏ<qzVAv@ؾ% ]anөA+Nq>bXO\_r ӛ}"jNr»R Ge^BJс^,WF #K(WVxo:FU6e )魒WeŢd5zh⯤^]58{N %ByC/ ?/t մt|ş)]UUx%*s+ϸ k8pTjC)^=wbP,Ψ*] ݜ}40%Qsqp&?8k{֊ܘ e*KeNYU &IPz]hobe}$Z¾x0da(@Y8uzwڭ++F&-|~DqeC %i>H/_^ƩBEvpn G7o-8x5ˣ ~vgk +yb@ws,z{ 9ϳ!R 'J?h>D2ZlJ)7.Ȝmxݔ4O@as&Dn +QmK;{C/Nz&/%r| K&gp=^!3Rbsvq?oߩP)mehQ\4*w?ZSTE6bW}|i,k{%XDؠMYhw{Sd;}6=jJRA HAB/Iڳo HpӯM kS>$@^z:.a~4 GW xh*U?۫^m4g bz(]qj'3{[Ol/֏ot7ptr٫CQolX/csx{~֫G*n%(JJ48 /}R[?GQ14/]5څ$ OlAR.|PP[ڬZ@ƍ[Pe9V/tkC56 _eJ'1i[=ӿfXQ:Рdk:(DDyL#:v>W5qb[!/N别 Eq-3'RkY]Q h~w5}^njl}02zP!JPtVP'VJoEZIz̡籷A(4;k_]Qv;pF^|k5u/Xz`ScJYB:}O^%)r#>de s͞\v`aŚS%0HA[Pìy`CFw=+rd}ԉ9Tp|& e%9FR̋2/v_'T~^Ry?HޓՒau!J-ȧS WJn/MB9&8+ė>KmAK$!E2%J&DֳD8]%h*IkNK`svd])Z3Lt:nrSc:r20E'Pʣ/jcFu"%Wj̈́z(M)etO!K:a򳫢2!2_^`3y*&}l\b : |AfLZ }W<CrlQ|Ƈݝ;y# N><iS}gCW h 20A(1*<~aE`ϛB4 AϨjB*V2oH{>ڭn#mg]p:@6Em4v(L5<[] 廛Yze҆ o3Y&;W<ֶ'B͠%,j3Sn mbcN6ܻ LhP$=E2(rVT`L-ˡ2 m(8æ{"_ՏD;8xq݄sP#֒DZ 暺=ߒgZdnQBa>=#\ V軂Wݣ+M_[|]a!;:Q?(x}ctAsL* Qe>=l~_[; ߁D !MD eAzO9 ^d ]j MdoŖ̧:X9UQqx6\QL0)^O+xk{6Q7 2FFڋrh9)]#x|ߪ\~8uZgfd=h&LG^bpoD9RΙŸ*.!7 Yo7/l)oir,= dv8yyYd$&qS297SdN_PG endstream endobj 755 0 obj << /Length1 2778 /Length2 23569 /Length3 0 /Length 25127 /Filter /FlateDecode >> stream xڌP\ B5H H Npw www 33$WuoQtAF$D'`lmrcg(21YȔ,TvV @2a@`bffd032rڎ ldn HZ[Ȅm\M@i@iD` ` 3728-A ,JF@``Lo`iOomgKE p6w0(vN@c;#(-W6qp6@ s#=h%(IHlVKm@ g6&z+_FF֖6VVs @NTŁ``eod`na`2r?ٙ8ۛ[jWДE--Vp6f?[Y;[ḼM~5ahàben$-3:9X@[ȌWxeW_J_bP66P@Os `tS_067rMͭ~G&c]Z 1ID/ck+ ADXLQM ZXtl_$}oS%L\p dA\(S_Q$ha/@g!c :ke掖W+`:+Shn/j47w02C(P@Zс3b_* R1 \@!6;B.Q@oerX(;Ao`8 B'A7_` b3A7b0HF]_26446#@8AFz~#P=(oG7F7UjQ@@Ut60T=g;L #PنvFוo9˿_hF"6P0#k Kbi_c0RGu O&fPn ~3ᗏ#rA ?/,B~ ~genhGtYAk4s1ZaA~4?:=~GfZ.0@- =2MiӯVr؀V!+?Ҁ n 4 G?$w 9zK'_BkV=?31D&Ф~WrZllN U-$(iA 3;<MP ? hN@Pepw8P$7ߩ7r-7-6fx>U}xL3qlG-}t,2dzgFd\{fwv+إ'"Tµ} ɲ faQ\oP3^ %i<"X5יϸ*3۷hbC\O 'Hb͹-λ4~#@LLϜRafUU4ƴxߋ[YTgG,QѬPf"ra"d+`QЧve`6[@VZ_3Vw 7b7j@ tdEx'H~L]x'l_=jd֧Q,Qu_e_ |;;1cO JIS/f8[/ä.r%d?#cڙ+stϕCZŖ@}F7_/ucySR"q`zV"8uC# KOF\@؛ۭ.XCceA'"H$5[#Oδdy 2=R=tpc~ajCHE^JA:Pz+^I.mknrdhhbݢLaMN4|2<$aUYf2ev?VwH[D*G:i-0cv*k|!*?aw3&]IJJ'lWƥMI3aUj'\mySm}@﯊L8WDg" D@Yx'TA]%$9 &P F^ G:5~83+>>2h蜩3([\RGū‡ѽo^u<`^?4Xϧf~7wɑp 7 v"i؝8""{Rc#cy2fCYĔ+6싗vS.VޭDS']0\5 { H'w5Y. ہdbqiʓRR?:h B4[](߅JQu11N~+g'%x H ϑ3VJ$:Z{ɔ2wc:$eOS'7S#t"Lr-\Α4>3p(#+:}h|Bi,-Ԑ;(w3;ƟBiK$mC aX2}UUwrr-%G]A??H)g>&F~0-H[4,X!j/Ix7`U`>(ڴUk(~>ζ7b-,g/{O: G+Y|h^vp[ y + vW`IHQڋR;#r_bW'-j4vj(Fw۳}/8 鸝Bp}ny3,pZ.+Lei6cZ9J̆q4FY .p |qv  v Ʀ H~,*^rcXف%E= 2##%/@usZ D?cl?5etDu"D4褛Bz;A/V BeBL$`eägN} Y3~)|<)C~Zn ЛՃV aߞV,QHD?P lu C!vT4Z{sߛ8xVkH3ž+BnQ[6.~/!U_m% ~tYy%H5gX.?mpDZUg!_ߵ8\6d N[!(u2yľ,X/GF?7HLZI#F1iH./_XR9v;,p7* "}t~6%>$NQU ?$@ڮUHMi6jPsA1dYuNn=`g!) CW94 WV+.%Zt9p汾tE̒AJxcSrn6kS"7}T4aeHd@+NޅG<0'S ϒ,:1݆6TShұW /3de=Ih)U ;^MΑX1_nBER.vtKr*ZPO7ja݊?]24Ҹd *ޮ,B}m.C}])7pg!sU?P\ ϧx{VAJ|`iA"ֻ~A .YjٷMiA@N*!*^)zLW:fo$O>B)3v`w]2aEtoܾ ܒl)ڼ h% kmTP2 6a,)ؾZY,'C{mG_ i!Xn78n<_q7&!%vy./%xx ZR&,30ԃki~ TJPL˩&wZ Aft;~^Jv/ly qx:o&40|bV&(qRyӺ?g#oca,'w.VTd}VhCPAao10db[-E/{K_I<+dK['oje1KϥAk zQd Oá-b=  iBu5gϧ]x9O#}Dmar0#_ xF/7%U,.@#-Q%}P~o>q[lPZC$mt`a^#Cy eV_@?7niI~~Ez%NS|{\6HEQ}]xyCi')[6weˤv +p&F]4l^D+:3iڏީЖ9dRs_dv/Q|EU^lǡ0yK׻ĸC6λS5"Uݶtׇ#\|d7X>bXKaMo͉/G?nP?L~v鳤GQn^p}"Fи.<խsdK]`Dr`Y<[gRTf(iEkRleFP*s?;(&uVwv[TDoMܱԧseuhU_;2bјZ1b+pHWENdP;d9ƥ5] %ҭ,UdNl:['篵%m[ ʄזOlFfn›h*cQ4ϥܣ{c=L?.j-z-="Ę]ٯI]d:opߏU1?6,yd@!mB ǜoS:H`VUXi]6qIOilmZ{Y<ȴhEڕ #W|X{J+Jf|[YME"竕P*ANZ9{>‡h6` _UkG(Bk:oXZ&_^46#DR\:"!T=(cjTf% oxT sQK0zbNjc,8n@ /^˯RDp"=>8SaNs"kX1KmFk䏁".P~[мp閞QB 1)l)`9=Sg=Um\?$\IPwitt5i7E`%}gXҩV&p,^u5**.)E!FkyJ:7[%>#JceA%6;jtj}僖m]"%*jR@3T>FhxV.,]Y[އ r,o<BB|=>ݴ,.CSXqG|pVvF(1'EN9:*5DPEdtlf3}Phڅ0 :>Gno<f`.vDmȓ]I1Ze@BVA譜u{1qF.?ܷ}]r=)ez2f]%D,!QqA)F8B/{xIoeM`_m[ݛϻ Ջ(Xm l3"G3xy8!a #) ,;IlO't}vR;3LySC.B<|(>7֖ņo$)|wьf^oiׅm Icp+ph0)|-jcHŅ:º38N@۔~@t/nc60 7!ln-j nыȆu] ,]Y?-y "~{^w<LvK=OoYgwLi|};]R-IDXiT4?nuTV4k>Bs8EC0mĝiՒֿ:a6r; ^{:lg\y*JfQIĈ7$ rVB-]Lѳlg1`4 |}/aKͷWюN^@~E" X!.6/vɎL3@\LLus~YR:1G;C0س`xsC`Rsx_U2f,˵׍p93T9l۽t8\oX^ȗbtݴnbtoHЏPr.I^:O92Wk9nP!xXptI"lA8ˢUO#ܐ6CğY兀kF)"h8ܜԀU{tL9YSPhغt V60 Ws3 cQtxz[ו$<o[L? Eiˆy6ݿCEͥ[(VEon9uA?JˎVyۭ\ n7ֺ?sDphat BTf *C8GaFWo\x /q[2I9O4:e[L߽ߺq_O s5d:yeRndGO6Z%8g!rx8 eWCA2,V@in/v#Ow0W[שqLXDQLǂ>RO)Fy4`!OXrO!MG!!=b/6uT(i1ԁ坯Wwy_L l㊴EE3Vۃ؋TDŽ<::T]=m=ҁN_eBTݵ:q|ԥr#TyÃ5s`cM#UǘPԴ`/ ~X/e=˩CK0QBaĬQ#AIRH m!a035!a P[@RA U浟%b L ocT^=!TزqWxOs;|Ej=vA;Sdue{ "peyp: Pj@XĨַ7_qq^ Dh G,pqЈoՁ~1x.љ׻ ֟T+Qyps_&/ӌOIy(h;R; 1|Ћ)h?;f3IӅ ]6Aq?H*d@ C M!K׀`*;m=ZN<(O:o^S%%z #u#OiuWkzix{ 9>3K%h {sh!y?\ve2Ojy"F Qk▦_ӧ[_]Gn#,!}s)JRZ׋ϡqCP+8(hFdMކ_6ug9?=sM"fӂG7"Zp\X'S'(j DA ^+в"W4k0R)4'gJ=8]pr *gޝHәC/4Ҝn.%.ԐҠc=ӗ/љ1JDR,%ޡSG,Bx" q"J d8"~,xl9Cp!ʼn 0$VUJ ;M{bdk:nFn>K8 TSᬓn? [oU V%-JZhlܹ3<$5G;،8g%;(XI?]rb}m).gD+>gYġWIdm^p,|8}'C-Y%durfuk=gD=nu ~],y>;QJA!ւ]Schݡ͍:=U[˖{.%}H_.禼]K(}2'}VuOTD5sJ8Q#SgMoH&(fIwң2R2/ mQghtpxk[8ӯ0’wcV*钧8-Eȍszc9Mt{*]q>~<RIOΓb/ɖ!?HNt"^=^oi6&2aۋL <ӏ]g !T$m^6و &.ަ,4{QiqU U޳KsX(%U$7UpbU²vƣזp/x _!H,)@="ΕUjX!$ԼUq@rLTFX!Ϗs !rrq/"Un%&X3 4J昪~clC<3|/:Z1-Nv9f3v%wuN GȂ2 V9b'd+89qㄕLrxY婇y~Lo|t_ +a@s6pz7X'|QMqIx˾:HW^S_ pKV]y6,+1˃N,ߨTgq4hu#$fg? Bz毿Y.-Dh17bfߐjaK2Nd09Yeh:#fm)plOźŻ-?7з&>y. f o^(hfƽ_[*FxX*TqCmfoKl( ^$OaQ )꽄f|鲕uDQg \CDU*< ?Gók|=CD0pr t(d} `p2zO6sz-b; >4ɠd6UYxM#P%I5C%d)dbz|<|\3._!XKL|f_̲FFso$={Ye+:=zo x\QOU=L5fc=䎛-Ks|G2e1Ke-ؽ~&yl"͖.蓑#eJGMwŦR7nFXe3[R 97T"(_f z+_>2rLjp\iL߻Z 7 emGi>kvKjmɢzQY阳V6(PI}aNZ_QE^9 grL( ܞbS}܅f򈭾`]|7]f4y,&j UNw$5|)dMꌍitk6h^p6+#&#My6ˬ WukS[*4 Mv/_"w=r/ʴgԡJLKhCW. jұGyn8EP2:\;xX3Ddx Tt.ÉM*ocd:שfMi4?rj%QIY36JpJDqCQĥu2 [}Zfʱ7&]YvSwfgsF_(pjq<͡K2V2L2͇]rQ"V8) [?υ n6U^n: s S!}}_~Cڔ-Pì\Ӄa6)E'Ƈ2xxld : @"Ș)d)V3Pa  i}fG6Vx6:P-:(A:ApDꈠ7KzrNۘTV{hnX7a!&>z˰JO]o\PaaPQ), xăw[SZ^Qn#Ye9ERdZ`YiZ\SBWM/gh9{:QClRZQ];Iw,O_)ո\ ێKWgYy#WO3wh~B<5WM*Qc 33y7wJ̕(>;T,:w4ˤXɛcjj˨h*; vs $lr"߃1#A.x}pv0ګl:{xO~{ϫ\?4K(0Sj%|n}a|TӬRyXL~sxʳK~;'@ro̔B #4Hh@׬Io 1m_~ݧb:eJaL^0_ nY`tk.p _'PHր4W@l'}~KˢN=yҺGPu;W4ttkgA6w W/co|1pId'SkmPjCcKWU:HC᧖g! )j "wpz[ShI]mS'>]aﵢ^j,rJ1ҋ2:EDv/Y@*櫟w<# ZEۧ0 gh]gFg~M8k}vE)L,6H;Y[uG ~`MHǟLJU6]5xODFs1Ij]2ioK d7uQc7^2- 8Y=j1eE3Q$'}W~qyE+ z Cz}MOƜ>f.:mZa&NZR"CهR~o2#/jY/SOJlZu#6"&>KIH\~#t; b=Qdl"I)L̺43vEd{/vMKJ!x:0r2dʦK\s~M zX7:ZuB=A@>4~BGw)ݹ(c\fjG4GF[}j'Frmdc8ռ#~ _*zMSEq~IL+4M!QvE/&HLc|F $) "k6HƹT^msq)͜P+ C}}.>$$!V9jDf33>X-#\IyZD2L}vŁe'T6[:k7^G`ƣn{$QU흪QDEkdG,O`EKKI9F^rqag׌OJp'lcVԭs$<W"#(\VY\ͅ]g?.u%}w/qVi.ϯ8DTtg#'Aq⡀Q u?^s-Ŝó-V"eFP6X;cIH-4.H@e !+g֙Ybs[l}|M]TΤPSO7+ip'ξΦŐ芃'/{.Z.z21k1b́nawF/I7D .*a#WH҃E6> dL/lΒC~݃^sB>Iop^yՌKu,~u)w]k0 Hͪ⵺XYC#1!rZ/wV[=Ֆ8|-wrC>4' ^1 {ŶZAz3мw6yc:XMۈ,?e_^M34UuM?*[#@C"뎜"7lT8;H>r<~+OuGd֥ROJq?fݬ )hv+IA6|=!c[G>Y~_넣KUfjiWr6^l]t"t~Anl*dGfs\zB|&)1cXmYb_d]ff5,'A@h\s (YIE?Fĸ:A.EmLvCtE^CVTs}‡!9^ Q*.IDzzVk9Yj{!f8LMȭh_#odsXZNxFRv'*'LߦqUWgW/ gs R:DUT^S+А!/N(`2|E"~ؾ~16ٌW8uϚ%J0XH= / <\M ߚ^H>'ըrvR7צY@(We LE" E n Qa5+z1(PtDR)dΖ!QV)?b\ss^]@ @DXv\@.J]`RCVMfkh 8g"uت,fӈ"wg'] u ecoM_3L,[V~t%;Y[Lj`:pjo Pjc::6ZNR>" vUmS[c Tg@f-,9 LȩoHyquKΡDݗ}\KYdX/K0E9Hy,8x >LGW}8ӗi6zu_m&(az,jӪ n m=K՞qpbFPDbbE/ECI1Le1eWsM޶-$ާCSc3AnGEoh=R#^qBKIa*fy ! rQ\oLt'1Wޝz"\`o G!wU3yKgT$V Qd 0 `Iv oH ˨Ȩ؛+!g4~5Mܺz`$a3~6xJq D1%]X,%<؇r; m4-G^9AʂQK㥯YKDҒSoa[!DgA>5LdSlɝ]sYL)١a_z[9u2MФp[7-S%UK& C>IMi܅Ď[} ch',Ϡͽw-EnSLuKNz@̊l՘/؄-T0%c;-ю'[{_[яV{0S ug8tQdYE]n]2s 2V%g!x9;jerӨ_a𛦨msN9feE֟DY19E:l4kc&cQʀ,-͆F>F/˰`LҟWŖOڷ!BB:-a7 fVdN@1#PU*jwa~u ;愓uk@[vFx9.礹Z.JӍJ`瑩˚iJ#xCtw;vvBx0)^}ﺐLpEe æjÒJ4P꛲~u 7@t#Rp?0xU#Ko[Qϖt]ђ_XrQ5g U);{OY:R`}IW  :M1G֔*u#9v&=4c =ďƷ/#k?}˯^\_GwZ9QY=mwBْ>15kB%[[kIaNW{;0\%mr~H)5v@=Lq/A4c+:TYm أ'҇1Rmd%9د-t9VRtP:4XCa/:N)eS>-&So5PjŧX̍c#|-e`z*.H%H$ XkFӥ2ILBrg 钃RSֻjT$u2gB%gB qֱ^[pQvQ*CZNLJ 1j.;!lܟ6QeI"Ùֳ] xMC<`l,C8鵉rfWt˱qOp vQy OX垂!̞J?f2$ұ [eڣ%kw[ -8$rӧiKE|0k沙ƊvqQ>?DZ?X BQTvK^eq}YL/$eC٩) Mc4H.YK7pMhX|SJgK 0Chd2i;auLJjط9@PƦeCΏf39g8E^r!dId^ˑSܞm$|"7?fwܞ hJ+o=ӘˈWjy'%,:W$#m}ƀ0=Ŋ}X=dܽn 1 X)$:+f#瘐X{~1 mW`K²bhMt8M6ũSpW+Z?r2ϊQ$V vAy>l'2x~qJ߰#eyXMo;W@J0kwKn̉|)I矬F'JD⪺ѿ&:Yx"sv ;A^o X=73UEp+h4C.Ϡ RL@3u:,[~C@ !L Ok2 7\Ԋ+ 2E$k6r!gS!"L f~̀*ا4%tOt h 37e KA qYG#}JqZ#e,j.a"@h^ ,ie38ނk#ɧ 0a0K ?"k*NFCA-E/Քjp$K2!`DF{ 3Fs4/0$g$i jy\!>zBl/vT~-^wJxfQ&Ll^y; wHAkֹ Yc0]69L=qIȗ2guxX =V5ʂ Wv4;-(gY6žM0<^MX/{sDWݙM 5b/i1R@o5&JL,nY\615۔S8VyGO)MRJ&}XXt,G~ Ѷ#wSZؔIJXe#FǨ3b4 #Fp'pUp)$r瞥 )bwrTuۘ}ppL<4y6& Omu+n(7:ZIo\D$1 @{yO nM:G2Rp82e77amVP|?tUm-1)vCkd^vj;êBӷ 1IY=BC=IM8C Ʃ>V&<@IZR:<Sy +4篮[~fy9~YݣТ]zʫ9 b C"H>䔟xG4AZ`Q,an!Ч)/L{د~| LLV /c4!Zz/Te RiU>ՐXۭ3r0^ *D/-–W%ͻM<t13{3h3Ž`UDubJ\($u¬?,xLLa d^b6_(חWUtSnwik`<52kx-)C&QJ/X 0<;b7P 9p84g>+hlnme?C Na#'r +WgBo#ĊL4Fj c=-zpcFrK Oq^E1鵁Q=\tu yѪnX@aD"D8&zrKBln|HK Si ͹@ Xg=ne]"Ec{SP9>q8t %0v%gSyV .7^ӥVڎ?IGPƁ`z=<¶u.jpH,dUӰ;0v[dbz`n'ak UUK7)F }@HvF3Q1 5ChbYmS?.yT 賥M~8PDK< Xl-uoffo:,`-tB=509|Yn}B[N ܁:W$ 17FRt޲G\!QDB~}@De^\ S= `q LGssA\J-.>sF7ńzvPoO\fD\v:8uYѽR tJeFA%?}`(V>O me0{ۜ}{F_d6b3.p'qjJCخuc'ΐ)\_߆g2HGw˲ѿАˁx~T߁̶{,Z\'%Pz۾-<Z¿T._z4<GsQ{P-(7_/+h*V_q^͙*)MOqD.Mxg csIDu .GWܘ ViG,*[4zwX7Ax? P@W;2L\@+fE`R9|~(Y iu+L2ĆaNt7%+hRAdkqJAP+ ozZ1Ff!ǻQUq~bJY(\u|$X:f(׭'n;)'^Uh\F9BYN=dUd=-D}ĒITfsYL,| zܦP( IneZܻq\6ok)N' Q7W$) ]ƒB9\sϨuʽh'63@lkon%k9.~Zzg![%z| b.Zn#(^įRi+q2>I'BUTGkݷ2:CJɩi6G8G7uSM"jdJ-IpdYO؜1bW ?YR4/^Ov#=Қ&jdWz eΨw<*ΓФ'FuV9*`?MݟjޞІ[[Zo';$#(C&uP8j\u^_C(!";1Q?(W0Yȉ0DbQYɉu*W5l4)#8Y9*7=Y`/""VE_)]$ ^P[H/L1clI0pV< sLri ,C-oɜUE)v1`6ĶpkvOk"!NPc-V ΧU0a+=m` G@[Ǩ&Ya\ĺr4M*?V%t>X:aðZOβ:m"e[éc 4[<+%J|`oRNx|krUK]˗.QsPn+͛Y׈ۨe9ټ;G'AԤK(e.?dL 2xF^5FD4{*ׇH*(!xd|%s<^K1Ht!YA Kx\ĀDm5`|񝟧$($udj1pHO $3ikNm X!ԸL&67#eh(BNcL,?%*{ &'IĀ-ZNY ލ)mx+nP?> onޮlq`绲ǐ)> .zt,a4-\>bqDpmc]=?w}JI#1j! fg endstream endobj 757 0 obj << /Length1 1386 /Length2 6066 /Length3 0 /Length 7018 /Filter /FlateDecode >> stream xڍVT]&;$@$CfAR A:DDRi$;DiK~u޵]Z󞳟9.v}#A%GX G eu @(Je Es((.H=cSGctp@D "!#")D@H+B(bw_$Tk D%~``$dڣ!`" `Ah2B0|O EC`v x`&&D0@QNho{$1AA`8  w##M;? "$w?%ۃ@= w8A=5!Z`whB`n)1d!h 4KV;G``8E|*P$u_mu#pG_=݅MPOʟ?6g0 %`eƜ?pPB? @#=XD`g(3=H{eі# k)kk&7 @VwE࿳/?'& &x>+<@`t #{+8w_Yy<~àn{1?]b]#&3Jpg/RhLz7(@A}f)Aa:cF%U 㯙#Ęcvp:}~ ,G1! @Iba'W?0y"L ' p*%foa\k)|YcsG3l[o" /~&5O}XTBtKXkGi+n#vW~ͩwOmw5$?FcMbBǸ^:d3pYP;:L5V?qvXŒ賳qrcQT;mF #nT-I¹)FBdisB+O﫽߉|M0|I.Erݬl}JssR2`J<)z .qaw|0'/fg6*a>~&o3Hluϫ^o˟S+vqX|pp1OqqN+F/B=D:쬄ɩrʨW Nm+,oE"Qo>aEBB YSYi7&I)hN6!g{m[)?o ,\JRxoP1h+GJ^Ds usVG)$*CԏD-|3^'*)6K&!qR{ι7N그y™(qqm{U~6d?b2|nIU{y91LCF8$^#BC&bCiRS4/G9mMv=jf_5*0Y:9Z-rT'ezqgZ0L)Szt8.gB_lm <0+P.Cs ܲAnj:#ue-30rc@VX4f`VV?+ҵFPۏ|Y÷x/3X޾? +#kZ6.FgZ :_"hU'[\*S*?m~ܳʘ_r5PsrqzA^YG6ٔMzkoV:;41n=PZ7<,\6V=UtOs 28SyOh~8P+ʀF"q';SFeI+`},ZV t}YL%L}en jvO4'z@z#WYzm1sV&XV~ءlEJ̻&osdZsKM]Jǂ7]S\ms2,PrwMvcHdx$i k:*OG܇9~a1) ^h$9/~Ds7odX0mY׹To'pjK]tx;Ygc(K,KXh{mPQ̄d>Fz(r~@FrJP !SWݙ5jBǚx[]+:-5EL;r,gnGX%KU5MHDB8r /蓶^xh{?:qxGŻNmP\IN|mZnǢ]U+U7랐[F`[lϰˮ#ik4Di˩ F~E3; X9gh7{$lze%T$Y,X|)_QYm|] Z=垟%wm WrtvWx9ܹu?r-`O9W"ZwtX+Rex"źnм%~7`7 vjԆyqXgdb'w'Ln&w,z_㬏Y!_|xs/aa#HǪ&Qm3IݒM+kX =Jwx5&xYk\Ƥ8Ϻ߼B1ߺ`htXw(g&=?ctuR~e &&9$֘[:@z~%y=c*2{S>;h]X<48j]_.|:|<VZ$snhL.E؂kZX}ۺAۗ@1/M>ANc"Oݺ籩*ù8ArC^֭~lŠs4 W,rP,Spr=-WAf7PT8^~zHQ,B$~Ҕ4EdFPX¯)r;%%bqN4~?ZtC5J?B;=ξ p+.mkTB/*h+GgQU ztv|xO_uW0鷪h 'oY.t&kgZ u ϴeM}kl)J2{mKZp`%~Ts,J9D<+xo|>i$`xL'¥x'ߘaJ4noX ٳ=$"~dq,rd-HkBEEصf|Ndf3OƶiiyM Ƌ}]nYDOUNM|'TMډn]ۣ9 <πEƵ˘Kw{N^(nb lY]`gC"ϯO&Q7A]$rI Bn0˝f|Pǒ~ gyoc)+i]m1QA.uɋ+׻UKpt3 \!^u{RlceQc L6HRv|QT&'a.1>ɊV.rAh6jjc\9E'[ 뵝.ⅹv(P+K N 6=qޓxNJ-:[W3aK7f^K5y,#Bۓ@] 4z!nt i>D3QQ4X! :)w3>Ӗ;O3濾H78S0~W`Z(6榀w75H(,r% 73/l<lwmRj_3 =j+%ϩ$1&1z}N>"je7R q ҡm:%} ԯ)H{V&FV& Ko0v␶]>|aЛfK؜zK0^QiXăy:XC8J$+~vv:`S2@]$k VƷG%cXG~K_a}1eT`r0]<~.;7ggrE+q$ϔz*RYAEe;\RӫF1}c1.ѓ nn1IvikیjjΘQ#jTfsWFE)GSn?J ڽ_k3]v/2S2 sj8:O] =±RJ0\`廡[Qm6rBuE8ֻ;g=Y|v{ӑDRb傞'Ѕ>@k)[푭.{@g^;/=~yn[2Bƛa b.%jLO;:ddE 䐿SBCSWJ[g+-D_I>Y2j_<+i[쀹Ҳϻwf{%eLq' LTCh>aG-m\ZB'$ukΫ e{;m>,|-T>]rК~ǙH='몕$0E[` E/7UB U+qJ"zY7T ~\f,YES|pr>&%yxGT"կOh䃒zx='pVzH{z hvI@DkES.а_PV>Bc*@}wմklgQû̓"Iڷ 3n6<2rѽP _(k]8~T |)!gWQ#QNmx3gK_^.Aٻ4Jn"ewGр cN Φw+L|$2>r5P$r@ 2p $;2t9&K|4M EBaCB >Ok8a{T6p]l>Υ-7%1rD{o8RfnXgf+JުI7ޟy*8$Il0b74\#}FI-XOm W J~S\vU |ߒ`S8= MOO JJ̈́nTh`.R1SA~R +nA3U鴆M {vE?0s;8?Ygit6yʬ%S(6!/$DWBgDܱ^kY%e]vNd ;75rI @1Ƣ^wZhGXPf=S7[E4D1oި|氺_;d@3. Huv+*Wh],뜔ד3M= `ߦL MH9#3dV> stream xڍTk6L Ht )ݭtw4 1R)H ݭ4z{ ';toO6Qd USS3A0;2i?con<]fe7iW{Z_oB6B 5J@ WAL6C deOm\m<6s?wDoo]l~=3v=횹StSUUR sů:;z<]@9{l 0T>ylD!?&q'??S8lj'Mi8M'N?)3ЯNY >O1,m<\=7$| nr!%(T|'I`Z7aZƵc(;ﵧMg^x-՟ f򹤏[̥ox/zbAJpꪨZ>I\դSS ]L8qs J* fCPCPds 'a̱Ϥ)nBQFλ{n,oTZd0(kxY-Su8N;:-cԁPsrxȏIx 6!2QvI[&Q:.b4pQEkߚ{#m$lt[['W[]Z*0mnsqHSE>,Ÿmsk0=<0iKm*b#꜠ڊ+[FϷ5iF 6b}Bsx<#YH_ӕm'ȣcquyTCV$ Z]"\aZ(3/75S}hhVޫQW(h{ atxt.}_;6'd-6W<4(J 6rk\zl19&cyviZ!&εZ[I{ nunI,Wя-c]ڏ5*jfnk `hh!7ݳA|rpHdH T=d)^S džn^ 3Jd)?gjosD#Y4Jq,4@; õ~ml9 Lj&[ҵ;}J(ŤCq7M/HUdw-t39OǚogfskwCIO^)d)w授#@ta_~X%ˇOth\u$wST%āj' 67e0Ck]*v []d{)fEoWIc]=nxgI?#(aC{ _Rͻ)jȬL`nJK=`RpP&j[ޢ㎛Ş]5k~k@ &qf9prx|)| -|05N^F252*B(5|ۏfe}W>_d˧mjlv~I>?$*$aC!Mj<HW 1]9ŸZVYj a:K3ږ7b[cLEDy":'L[hc#A7t7'OnPJo|e{FIFOJJ ed~~QDTcp?"xt=|"u'9T :UEPe=8-P l!-^!>c-n-)5G x>H,Rq _}mRŮDi2c* 5y_و膛 p.^@~3 &9|-}.8uӱY YhGȪ%gEu8N`?1KV]5[AoJ^D{/LvB8KD2dZs{zXj'I.1&=!\mx$Zg̼#ՃẦb)L>tYih}1=)&avWK]u9f|XVI}ݱT2!e5[~4CƗI'WzW0$X}wv6 O3EI>NO!'e(|/65x*U2gF ?9Uc`>|;ݤr + P]y}g ^3V)eнըBR3:){*U5^X0gb ʤ=&=Jpȥ%<|O&u1Lrk r)RVf٬5R} fCʐxzOD!=yEHHd&7~%|K\?ۺKr*)>׎;w%8`A4F~W;Naie3;}VvMŸT&00/o5KPHY\Aa|CH~M=FU!_]:h}V+o؏}s_rjO`%2D+rQذ5h"kLHz H$/і$`pqQV@R}:H.,2d{XEy|}lZO=nΊ7E6P>AQއ035h4~CyTFʖS]=n% ^  S=+Qe-z\"3ރ[`}]GΠVd6I#-S%Y]پ`8hʆE 'fS㭽nBNfNab.?CKt5'UʽT~Q##`Qy'Gzax+rӗ-dUyx! oEyNlۄ!w.64fI~c.٩eO_,T0u,x X/%(v ~]s_M}<@P"hy"{gQZip.džm>ZeacԦrv* 㯗(B MT y)dy_m+7iާ^FWkƔLʔkE& D_Qx{d4N |\E:֚=#P `vE$dfp,re%Jaݖ ƣ~z~ķ~| ט0AֶBIb&|ScXLAټ:,["n~ng.Ddm3EL Q-0H:mZg?Am5^l-H!cYAѿ7EI#KgcryٳsAϣo#g2mD-bg¦<X4ż_b[rqSHiVHJ ,hhp#[S| w$G\boM +݂89ZbP3eY4"I7IlpXo3d:?:'}Xq $Yn[T5h 0>ĥѽ7?kxi EeW+s~^*QoXBBM%0ɈNfGʻ_pQ')[ns)UN<]:Aox[YS&&>ssnməWVƜ14_@M\I]٩8 귨\fǴĢ4%Ju4.u O9GΜS.cirPܪ;!~!82Ĕm@OˋEu6n7T'WG0QSLapur4gn}E;to(_U$}P\2xGU)"mv|nJؿs"7_S`V2;G;?.@x^QGeE+Oݽi bVB-bYq.5+-I / vQy68Ou8lt/"83=#F]-Ԯ#Ͱ908~xmȖ T^a%3 !,*sF]Ğ!vqn!`zчE`h2 M yT|H19:_b8t}檂~ҟ%'-zON%= II@4&BZ,Zz9G_nX5ٞ断!1D8p]"V,eZ~NA?oj~ |}q.-CekLK7oлs*4KqLbnWO$d!ܔb_R>)-sJeNk=9~CW/ӂˇJt;t0}&qBzd^(v)sC@/Il;>GڊfXј`rWJO]BuX 9ͽKF]O$ܙ]ByāmJ oݐ^m!_Щu3~3tF_.A7~1d9tD H'77.P~XJ1Y~chd߮szV )fuY^Yg+* 󻉋k@9bsq~l&:vʱ9"6] so;SrQ{Q/uF vmsh |;YIk1Z־Jϯr-㤨8Qw˂ӾF6}nQoߎYEH|:=>9=vfkjQN)hrI 3vnwEW^v>@LO/m>N7`[39UM=< js*@)wH\aZ?"m6^`PPDI}PiTӣFmMN-rDif$Ci%ɏe,cẅF'oDTc+oDf)\5 pGUH@2(2zWPb_O^/Xw1awcWzsxjW,5R#謙H m-တΊjQ^Vj~U8bE(tf,CKY2s6]xԝ pՋUAu ̓^S{aX) i C2} XYxv"^/]î]*& @B)O*}hrSk"}Q2:KC0kJ}kZnf]>]䆀on1&ZH Դ• v(Z{s ڱ,c[,V(gV꟥JMØB,U&?'Pdɭh;:RE^IʺzAC2gy4H.c]{JHc}O[LG =iVС&i݆^ $&ibeg_HzuEA?3|ly*[9Z_^ FnWm7hfjaM;E۬T`8B]3ْW2(-HER;#;kAd18ƥ/ZDL;n{ >[5 pJԪ?I< |7s5%\!4Ih|,1TM /Hkv]axJL[X.a۷ra~fUɱUWVJwMVEBzۯ5{>Z{.Co^ KamkG37_G5lGw8F^[Q1OMf} -+j%c&yx]ɷgAyY؈kzw\+k2KMU-B~.ӱWeuac a ˤprր%\0Q8$ ꂐ:L;QkILa:O zm/ Y*U10_.diݴΰިx\*7/_ =`nxڈC]cHI#I6;;jf>NTBB~0唊1^Lԟqř v(:owl`L:]D*.٫~)+h>5XZ>mmJjgJ=/ɐ۶>QTA~~VSrg'难W#&,d!P8:Y Ǹɢu|'$}g dO_RGg_ QC{5.)0K|rCM3X}|}?eAc!#,30ud+W˯)` uhY48PY?ë)Em 3*x\x%TսYhx>&Ƭ}e_"V-m{B0!FsrȰ jo'o^ Jo 2Ϻ_,HdSvPN6`Rş?\0E758\%/ 6{l~&TpEgR^ Ƴ_Mk'xJSrbKC> ;)-xI)a6k8:\o.r^R?MrpgWf94E~fc_PeM T2/oNѳޙ> -LXDRÒUU j.T}W*_Mg>cmOgq 3.2x9|FmzkKaf%|-N^4K6nD{&$!l p:f▽)>fA9MOVfWŎrmE/8I(黿Llc\# .J(X>9,CvƼ\ ŹYXu<g8j˔{Y1 _- ]XcnHY;q<1/T}4~9fKoz^窳EW־]ڼ ⽝1>P`gs{+N"C'Ft&b<1qP>XS0?sMTŎpV3 G\S ^yBC6\#)犝ȃcNR sAv}ޫjAB-sFD=(Pyć$V#,FigUx3ݏm%J3&8|bh#c^h i][MLH2۴o R)0OtDݭF7R~MFMIA?$[;M`QH jwb601K͵(2sN?7"5cA,U&}̊Qcȟ­b8@'ed$۵VYݕ-\d?_O+ºRWWYXrnO@w{|s #rD~M^?A!#<sѹjY'>tc&h)u'29bgTmH^BR gbt_C e?Bq_,&{7ܗb% uTs&T=JL~/ [JJ~&;uTƪώ-0[fZfh[B@bia!3 f6Jޫ&_x2JJ?>߆FֆЂ|Fc4[gNR[Aϫjp@dU!-}zL,&,3xAwzZt^V^GXu]gke \z` cRQ:] T:H t7qRb"]Oqm:E1t98'q&ǬK,GnAw{]޵7QݩX$<.S17!6&5=7"#ƀ[f.=Yt.sFlq> stream xڍP[ cBp0kn ݝ Np p9畜{Yݽ{z{ϐ) m"rʜFFzFFf822U%_V82uƚ~{M=L d `b0s3qp32hc 5p6@82[7{;FT&..ڿ #kbc:O J^3GG[nz+z{S~*Z t;XFGP59ˬbcb`,AF@kN@{;7@EJ` Wh~5&z>l`ddcek`6,qYzGWGZ_6 @nR:#{/ yb"6VV@kGߺmq׳ / N j ;'#Mpl@G###h1\o{^6w @/ 3hd0d7M;orh1>ϖ۟ˠ$Lm\t,:f6F##WmU46?Ml\#3Au/^}eo=N{)rx @nOFټ ANV+hB֦} q+XhdO[6#Uީ]U_J1k#v``oow`z_Ncs `q|?x0lLB? qD .1AL? w>?Oz8w>?OzSX лv?O㿈?迈=egW+7_c_{U& mbd$f﵂ߋ${}zOjlf}}mOƿ/?ޓC;= Kttǁ*.h/L >@#y#@!<q/)TtN0TBC?W(o_<~4+>y>*O-LbO |ħS|T)Mcĉv+ZW<<[.l.R-Bۯx,0sڑiv5{P:8Cs9a}B١ GutCx?IGIhfئU>.97%6$TxzdU1Q4k%CZ8Л%G^T}J;nOdJ/GT.)g0ޯ`Y:ЗpO|+'e{[<G)]cdS."U( Zy$A{*vB&b)`4WU  רoSM芠 B$aS*o%v9PHl[h'%l0ZFI70@V6\ǀp 9MkT^ߪY~k~@ s,!?ՇE;]?zG~ )9Fs) ӑ7n{ַhnR*uG#+:z=*\ ƢA 7kYl#{ŭCXZtG 2d{@7dӀjC~2[q?{9gCZy*"ya!֡"KxFb*t4U>[)̶PxɅ+ 2OY2Fnߌ!"$5y]Fx4j`ುͱAjjv߮1ŝqox/]J8)B*S ힲ`o8. =~֑cMyFyG6M _rH*ɥmg4*n/Ff9ySJ-@,qOhzDM(AjQƲ-ۈhSnj+Z5])欑 P_5v}B!R'fh2Š0؞Z r\8r6qVWڔ`5<.֎ؖjNwd2֙4kNKeS$ѶIdXJi+ũnX# +[.K  -!/1^('Gs? _fJq^Tm=5G^='2O;ąaA*HFA"H7lIc\JFl-|jT`ku:rbiRo8kkj۾gR\hu'xI͗;'{mܶ8'S4qO-|bg3EMS~-7u+m)AB#9 ^ ox8u/:Bv >Ɔ 1ńC^'0e$SUבCMJ )'vmvЪ755I?T&89 /|?KO+o+dpjaG?s"OP`pg}RnEw%Hd{unGTNէe:slV0MYMZzt0#&ɗ>e4o5Zl!^vV";rܦY'=!{A{KeH+I<ܬXhG.2>ߺ~yDl/oiЬAnG(DqN4O{:]J%?*7UXĜc%ClY:5*OUT.B b,m&~؃jnV b?I'}MGB^2Z":­!N1[r[T8 mLΑA1载0i׮)OhL,rtWm0c<ᅸX7u4RDFV?2|osxcs}^bü߇~)_F0$dBsҊ\W;'prIӁ^0[JZE%! c๹~gJ?|TG8 (l՘*-ؔr˨vMɥsIO Q|gGh7Ut0ȇ&G4ҨAe!*& hv) 6- =^ezE>γ:.~FJ{b5*[vq&hv0 PO ukx4@>CT^#Rgԑe.DYh[%B/ їcQ\OAw%M-=iR\+܄9M dVc]-&d9~˫ݘGͭlLc=Gr n Aa:R&cY#a(@NhjEN/5:TJ(MaGlw+SyƵcV"n9i=@J#0k}mXi%ţ]˺y"a`2O枲 Go6cᕥm_\MUr#Z?H?69#tl` \&8:MN]͙vYnxwn},P|ekEۈł|mQ:'jJkK+~s\ (t`σ7s3ps٦q]7;=ڔ>XC0LЁCxAS|kmc V-JYӼ#C`N.{ဢfX.MJDvྌ:UoG IH~g4kՔ~SZޮYaM+^͊*ѳ :mfv.ę`\9vudUN̈|>jx',DVn8\Xovj\1 eNO!žtwNuA sT*y1HNŤGMf!đfӤ1=[i/4CLM:/ ߖ4@&̸5_iޝ0 bj2{U|38h'`9Zl^ vbgx84/P2tͽ"ё 5 R~Y \c^ƣ4Į9EvhebgCk7VōM˘`%[vn!~$|?^XݷU]mϥ]nYEm֨xIF_kx"v١϶=BʾoibP/d͵&ۺ?7P$B7!(Ǣ 0N"k6^hL|Ta̽QhWC\%%K cJ}rG%:J\XT-~wc󡤞:6ki _1"~}N'72e5#N?>,M n3] #$D^W16_~G</g|,*!E6C/4+_0Fs}$<ua|jxmvJ\@zzW® POMy- 83=~2(0osj!z.PP6aUZjw݃)^d;ԐI?˜.yBQvYw7Y!:%*P諿FU>j,N>&&'Ϭ@$'x8-зlG) !tCnҾBTQG9ا;%I.<uiH LnL4HYg}h?%&y-tGy*L?MDn-6O KfJ+YB͌E7t|10Jbq+%"3ޜrzа@#X;@߫hښƢtIg'pA&` Qz~8i2Jߨ!xE ܣ1&P,<)ܫóԸsM˔WG_uLv#OQzlHlD]pôV'3X[yhEä|ЮOkzP}5FfvDyĩezBw!=,X+La,[\Cl*nߵ Ն A]QM*9Ӓ{~k*^Eaj=tѶeQ3չ%0M;Reŷo;R hT @s F!\3dO0+=ݖy*̑2.!γBdBwVjW. {]gf">')Xɨ}>*_qjD;TcFKbJJy]5'S 6$*Jš9*fڼps~NtM_gL Ro;;*?h  "yMr_zagVj ,߷E\?ìUȽNFe왼43[x&$ XfƠB~4L^k~7G/uw~)_Ns rehrWyqͲbII7 =B.7&YIR*;4 5΁vG6XYXŎ5tvd蛖+9X"EvJ s {UcNejDŽY*OfXl ej G.ܹy8>68݊o޳yٖ<[w#LnRiaQD&MbPxiV]2r i4䯂eTf8Yo$|t{@ޓ~xtc600x+uO .ɟKy1\8?CKD/xb`ENj3;g]ة>f,#*oCXۇߗ=kjtflu[CJAMZ=4"\<\mbSP=⺽(OX6Q66| A`yk]O9ӿ0ڴL艳)B`;!}fKZ93 xi[K&r]]wLMQxJG]QqM$ /o3 g_S6bl(Z3E(߮~yI!#.sӺ uyk0^+|,Kyw52=R40(IMcB8edbV%_i#x1TaWý7 CYYq> dbSoZ\FCewbv, x "UKDkr=)V}zZ%Mag#4GP^&7aޢpK6볠@'7 GRmbJPǗ%;͊=)7/,?' WnǺ>#'|`{ IpltƖfgK7r ZZx=է9O$r3@-՝/ T]v[Վmb$ʎo!I|;;/2ĭu9A8t6{[Ɓ L[ Ç:=`XTG4yB\ĹN"|$t!s^O:W| ;- kiI DHg!a,}^ȡ}/k3| N+E|ߍ'}I#)rdawC:mVFB:3=DCNԉtO;E`2+\ơU9Х6XeiϾhԁ V13RGqG!Ps€ m$bS3!4?^֒#t:Néɪ.55&lmuPnOCՓA]y~l {LVE-VJ ?TkJdÍ^f2mvJZ/[-L_MJVK5Ll|m=i4x5g+}SfwջV“cḤj-uLB`O0et%wV]p t)HI㴳ݫ<")G#7$ద"l*FLdV$k0XPč@|id'/GR+T}D,t0vCq-u>nW3 ඔeG?.6 k,;z衣,hih-&tj%MΒgR$Y-o¡j( / &Ɠ2]`i>BOǸݕ$KAM;p:ud²|T6##Zδ\ C'a[NWL{'&sUiG` ,3$.bj"NWt-8|qa')m`p8ܖ5Sfcp \\فppYg *cCYdE1&G[6YZPT4;%2˟#jr"  kVT;6: IYp םºvȴ[gg]Ivrd/!HycBF Bzқ G9M$%Pd{LDgGnL:O=̯H=N (hLJFAѲ͗ƾ!P[-\ |M6̀z.6*:Uplww$gt*șф{CV<0phC;a' SAPl=&8H N\%6ʊTT;}%,p#2bto90]^T "me W p46@gn+A#[Ij,f$b)斗P®Ϲ=7BRYŝ gx!WbIx1#+6 :k3p35bqY eJNv_ nMM!w2m?T9QwKsxJts< 4HX烑=iEf C0Dn2*UQ38u߶_Xi= uEW|dL.b:r%˙ i':CC3ȬnFΩ0k? ?bNLyS%K ċClN N.Ԋrg1TzT3bݠh.C%$ &D# `.bf?n=Z| bYzA[E9g%BO~xҬSCg&JGyyyze/:65Ӷf=u(!Tg s%C "Ԇl]TӵPKkzӬmT1ߺ1(.Nr(0Klldm~EԈ@'+lErYP;WdGhsQګMwn#Wآ)TVύH_?شˤH4Ze<5!UKwwwxl8J'rȕopt-5i IƵlglO(@!TǓa`K.j ū2t`8 B4s $V<>Wt-z AA[!L蘆[_ o WC&B  #/I #HknC^ TaJ&`^ D>PHAv*.UGzFj BEEn;b42QoVj q+<.b^X;ݍ.'jynQ`aaS*@Js<3\k%^/HX_VI-Ṗ/pQa&U/-{zTŲSTk'k,:Ppg3U ~_VHB^v PD!( :`{FT2E$gzO4+=- 1ڂ <2'ZU 0ԟԻܸso5p%^0*iHS.u gE`ߣA;ͧj>{GW7K#,|^d䩶1#;|T>vySmc.7c!G/pB{ YKŴ d;N,xpWC`*tHK!5&tǩ)Q7 :hKI"kmȊTݴ0hE֥C#o,T|ܼGiӓvI QJN6`*DOV)vjС{ߎ_`NJ&nB`!py)򍻾f%!hs#iY_߹,RTY$QwJS(:>Q&& Nr2GU#a۴c`-:O; rIxb2燓ڏM0% )4gPxHbZe'fDXAD|b~XԇQb7 wҍxH WJ([kJĸ~CU2o֟Ѡ.]I+%s< /=̈́5K~W?_`DՏh@N-pvX~zZ1Q[IJ~䫕%૏1NivCJ=:d vLU5mbzqړ&&yms"&JL6BӁ1!WPeˑ(:N(NwL /m A.U]M ϛׇ$h'|ܛ/KR΋A@~X522XNC?RGo'{*g*?Kq D ՐsPk%˻5抈̯O6xƑ߆ElߩfUp]% 6}ZDp>OWNST8&saq(zHƒg+ӑByОCPQTf4YM)C ƸmƨhsN,!<6{`țǾ݈镑r Eo|Ii8L1ޭO@A>7"$ߎ^,-5"mtz9{8(`w>sӍF Yy69:^ 4{{c'NK3y`}Sr{#4I}$Ao^u|bbf h!cl̝ny.Bɡ cf"zwF[o t?MSdǭ>lvabPF AHûD>ܡ(rxnRJ D#c3KU?@9`p ݌Lug"x [SֺF>);8igukupkvuKSH n$*ڦmB=T?ؤ6ס.j^@;uZ8R/]gW)S{G3LLS0/#p&g-k_ۉ8j[O #EŮejǵes`\<)9TKkvf{ԯT Y*ۅ2ъ+ 6U쨅ǻ*TF̺) BKGm85}L'\0%;lBE)8/8eND'?O0,c. ܏瓟, MbrnݽF+ ʸԋMV몣#Zٖ5[<%Pys_jLmkSnaB`R̙_[ŝqhHg1_9 XK*tiyx0_tm0eE:/eN.$5\#hMW\=ivk3On  Y 6z|FX~;o|̯b4y$3՜[a06IE #\k1kgp?:=X``P8G,1U 1\(^X#Tbdr]nbC( PYJ*eC} BD+h2Ξr(}{GՔr·Kp?3M3nB΍+'Q~ixctė{!⭌(#K`j}*\X@7Tptۺj;U5nkC4<@+?ЮhqyҶKT ~_=6٫SΑӧ,8$َP'Lq%u.Dαe5UTi8^Kì"zMf xwmkS5M23H Cj} Vř"mg8Rf@JL>l/ <BHիUIM[&f`̈́*gU,5aSx@淐N y1K]UcǷׂ;emj 2gc&?&mysB17O#" 934#ivFgIr2.ƬAL!V+u6_ќO9uWd+YKzg2C7ޤ^M.,YoI]d:|_K7moj9RWdQj>WhHyiNvbR;4sڕb&[ZF~R͐9/Dxp/H[_(`%5y 6E 8ONDs;QeuFv{!3[ʗ[9Wd0jo.g5E[-][3k翈@$M#x:"B|u7o$|>U7a RHZB%wT%Ԗ)}G2?a|m,MxkFNۊX2:93؇47_3gN]h̴w)"Z- 6;gEoAsY Z ᾁD[RJIiBD^ændCf jEuܿ&޿ഒӇCY,;nfʴ.4E~dܞ:ԫ/r Zm#ȋ[%g›]IДre TMQEz(-D endstream endobj 763 0 obj << /Length1 1777 /Length2 8318 /Length3 0 /Length 9451 /Filter /FlateDecode >> stream xڍ<?n crfMw3qǹncLtax~{<| z RV0K< ) Q6prsrrc_8& KBdG`p* Prx\\œnNNaY 7@\0e``[8_oL@fou T- G Ap`98-\a6lw0r9BY8 c vІY-AAP+ @xh+A?U`;e l-`  Up6ꗠзpC,,nX "3>3DV20~`gwO?kC:YVֿ°ruЅ\A 0)9@@[_t<A0"_oG#l B`zXpgW0V` ` C1Aw{9)ì`P?K̡kg0sn!s!~N?@@_;g?o/Pk@ +?;ϱa׃ ?o DaD&›6(d3b b/?:;#C y30H]MpeaՏq=|p7޶* NV$s3>,.Ge,ȅ#K?yDe#HX?פ57~h̘?s"ɳ~˶>PtGBڐn>`h8UGQw58B5qL/z{RyN*+B Hz) &g)}pAb;)M%-teXF1XmqQ xj7#ӹ|Ba1!–*N |  Vq^uV\ra*ɥytF<iD[i~ 㠵h2@CEnu=rDNցΰc7J‰8|Sz,rjYXslN줟VnC "FBsczB\M@) vYaS ^ljZ!Jih#~aPܱ-w㊦R؋doL.b ҧ{>-0+}5jJ Ik4= >-{*EalKS@Qb'ӣ` 7iX(I!uDȲN⥟ֻ-2 )pqrzD 㨚ɚmZwfI}i}L,Cudyk)_AIx*9z<ᅾTIgŚH-͂L =Xm[sADgmHRV8[pzqG ZnZ2s4em1Iq&%rpE[ZC/5^"զgY)g^y\QEhj(Z{+`}6l;8p;jt=GըB'"(4cE?i^:Z[bU}DG`7YbE .uD<:͡2O͢&u:w[8! XW Z^o NOw^.n{I'^up[3ʜz.U|/i L 81n=PW#>+$,Aؾh^/o#OÄ́y> nOX_Ru'cjQT{g9*)s!(7/@2unj߶i}sIuD%lW1m4M_T(yT&kv(v@X;j (bj'J="XmP2 i}@*ܡcC$UTjػGᵟWI6>!G^#xShDԽJc>"/P]bxT : 㤜 +ғ?yu-^(nuo穓UзJTiů<9ӋL=*Sć}R}]zI9N'gǷ'E'>+ }&7X)R^z9Y}j*}\?b-RI~` x_k0 5p4aPE+7a g؂TMW2^r'^׼3i$Eݗ[caFNOuî|2R ޷׍s𽸙@|SBq^L㻱ȂIj(VIǮ_?P 4VQJe}.| 9y g~ \+k9eKFڎ1xM) V'YUpov'5SI.MwXH.(N |' Pd{-otFTI6A\ꕎqzHo\5I0ޝh򟭷Rq.(6+Vk}u4YDž}.yp(o^㡤%KӓUb$iP qluGh 63IϿ6Iv1(:|y+n@!}@rBO;'b2[pʞx:U2K" }VWkR4 c&Vkߺ7L֓FN3gJ"ᮑ0|])HH5NvX~o5 S ʓE4]w7@ȑ#rf "LU4q䞒;Ӻ'Sq}r7t{Zɺ1X`hn?wF['(t #RnRQ볦յKgL ex4TY .+Mg劣_ɭlԕ)5]Ո=%8%g%d3)#KٛFgQ}AE[#"cv5 ٱm<>^{80ą|x&c.ˌ:?z*j3f}m0SCC&RKwT0 ytCc]R֜ $,|S2]-rW:?LJ6XZûJZ]3ۛ݉:Q2|7 6khx|CtaQ >U푏^%Q(ۘIΫDSu\a#Cfh"铄œ;G82H<S{1p`Cė8D/8$<8 ]'0JR {XڳSYK . 0hqNK߫c5lhVb)mLq˶%4OU("tfФ!>9P'ši몏{qe _时!T2|,"%-U[TY-c?#'2g4H"b>V@{n%czДF;^Nl akCP4Ô;jw#n:M\FdNWh6MtdvHϼƷ3闚ꥉ(皩̧0:V} jrtnւs$>MT?;@1,!e %>C`c̥E2Fm$q[FObqPFH?T] l,mfZ@ʄ#.V46ݻ"8#iy"i_nq⬶eqβg+N GbodQcBwJ"?L {US)T2*gDi_?Q7.g2` ސKi1ۃvMIPc|A3= !G*E{F<]4\<͞X&dj:~oP#.LN):FԺH/}x~]Rr=A,eyr6d3%T31OH1UoMkQUT"2V D}!}8 _xOtʪhmΝuTC* +`>cD-O2c]/2`If=D|~wkQc% ?ӗqXP8lNj-]CMJQI~dAkK"_R?x^&, ()xakΒBMQ=6׽Kgr);9@6Vq6 ʹrC Y(/FK"‚h=X;{GAy*-قՠTL5mMaGْzs½Ow?`rK&]SwaC&G[JTa@_{`xQŝ;fIanS1 @)<睧Q ^ڇ$5a#z3D)mOf0/ ؚoz/ZA/f/[yg*$%'ަoD"W|,- \Pp~s!gKf;6`kJ۳mY=xP+nֻ;4i>:͍෽yz%+;H)Uaqm7[V'VnXh$CEތv5\ݛ+zz='x$B/~]:ijvɝG7Թ|}lp`Jt{,sӤ)2mK?csٙW;&$g.xS9X&Q~~1r.{}>XR5E{OdTPMRmxÑ8d#-XKG"]pQ4Q9-5V+u):oʓ=F*Ț7ޟobiڑ\WX~ 8BFO֜Hy}4ZQpX_d(֤p<4Y5WC .>r\ϋw;qZMu$ Q+EQo8ITACEUvCx#l-mAŌ1VAuDOQlVR9ͶREʡ Lνٝ9QRE3_53J}ONbw85lf"0t'\8vR>VҪ@a1w\ t?9519 {oJɅ]R O1hS:i<lF̆[ʏ{W-lsޑM%F uukl0RUL_*AeE `.Rd:JYU;@afZRtet8p6Dg}iL6?눟Y>1Ƒ`b7\Ƭ:@V]BjqpCzE #k{Sow#hy /VY򔵂!KY ԋ 속~4A̕ɗdC +bj[_oz.%(Qv5 1YŦKV}9rylRW1[I&BZN>nu'{҂^m}j:]+gH$uYJ <5*EOn$kVkj8ٯh1^"3\ `ìNDC fZ*>^gj8֍LY8,[ƊŦ‘q T++gMݱzrx M `eƴG36jT,τz_O1UQxcy|.y%\_Y%δט,FJLi'h O6n AP ߗ9<?/h+3 gW{lZ/@6l8.?'kH&ZLĈ4ƽv>]>h>\sd@dwaTjZ endstream endobj 765 0 obj << /Length1 1393 /Length2 5904 /Length3 0 /Length 6854 /Filter /FlateDecode >> stream xڍtTk.]  H"!ݍt C0t7RJI!! tw"(9kz}|EKGaU@Q< ^>1OMre&bӇ"]a EB(MBǩ#7GH@0k:/@"0[;߯'i'(` v" 0(_%8P(g1 Ãʋ@Jr>xPv+ ;A %b\u6(0 @a("]e53'XOC_xA)WB0d0prý`p[  TPEyp_`GW:9o(Hkhs a(W^W/_eS["p+ѯPz^?u#<>l`pk_ ݜO07_!h?6[( HXXPu@=!v__f4?g3 |\P ߎ@ 5 XAmapP?g0O { ߯F _ <>< !#!ď~]?o A8_e( A~x}!7Gn v9z - uZ5:^e-i-< A^>?vjCAU{8P-+_> 诊+za]PWAXR0D$2z7 G)4F? Ik| J7$@[P'B43< m^!>,ި;R>N ⸋u)`cS \G?},񫬚&ɊnQ٠Tc+BPLvܻWrbiXڨWB7 ?ZAQBk.N5T3# gGjgOYs xM8" B6dعF~ OMHy' B^s(gEdp'2&j JUKiO~AG/¯zi|ڝJlúCYݤO>~&cl>+%L\:[l&xGTJ 6% d_gh.l1T-KHZ0d`a8N0WqPDJ HNiġ})I+VEġ>&@K@JB{wx/rSf)>S3)05@?/SiwǒW:T!Gi$O?87|-B zNGe80+nUX NL%vw QC&{[6̘X1^nCA>} |y!%WV}WaR6cl/YJAkQM\]+^n1Ǎ+vTg|vI1x302'r\l]0?_"mR[snT菍) \ȠYγoswsa]C{,So3't8sĩzP ,`,^ʪ OoQI^wyԸ3t$]S*aLZhJXD.؊>׳s} zIϓS3c{"JGb 1 zBXܟGdMNP+X3+`d_.ђwN yp Yҩ6 ;/+C"}e#b-"E1[8JT>^֪^~](11}ԭ#@yjRlGv+?0^$l6"K}.)yb ݴ{%' ܑM_[!ief?`=90~o7*<;rc5[yP z*D^ #~ iIU*!|d2D0k}w+De!=_Q).Vn|[aq0NI,$kfNqJ@wJ;C>?9ݐAK7uֿ+MUkǤzo5_\҄WXuE\LfS]k5^nM;OO*Gn8bFjxfM1G3TwNyJnjZ{yB"V,Z7LbN-7=)S8~*Z72YT廇CmsLt$K)X̢R+?a ;.OSnGs[\#ˣ[Hqťv5 Vߘ"u1I]oP7CXO#wk}45^~>3d݈=S:!)58EbÖ"x-Ŏ_$ &-󍶒ZXƯ+&xE&wDWHycgB LL.Rk&i>~l߹FwfԆsś2_v[,>5bê_ޛk)I.@9*r 껖v嵝nQk!/B|uK"KxT>*DbglzcƢ. Ҭc$%*7۷l45wL2WlV} dhzel1iݳ0,U8U4JVʂJۥ陛gOqV|fSeiX}IeMqmϸPs"d$ f ] m!g?50K⊪oE,h(V´z@Y Ibi?bu,V%ܣ]x࣌ƹ׫gkWS⊴Jy*_UP[$\ff;, Tgܯ^gTF i9[c}f+d"tIYqiPzYz8mޢO&!npMԉ搘"?WdK #zAPIj *<:\ZOXZsuNA_便ba_g>$:Z;ՠ<1a_KRemٻ=k޳[S"'1|:& 51?g9c|/3%\FAnDY9ό`3HN{Eysw"Ay~3&;{Jr0bWIN=HaSOpSWm_2!&f.(5͐ǔ F2 1^RsvC8j54?Up*ոu ?ƪGX@oē|F;8do =rw%ffEKȏg9? 13Q8|L…-N5L+F^VqOso\A $A4AzGǚ#P`7oGeeu#:+?5vɼ`\ ș p\g4=}M%:{(V1p]J9»$ʃ|GBHCe|/#>I<e&sN$618G}kl` 犌,Ou*m"Zb@I\#^=mVs.S˲X W{0[^`g s2椁F ߤñ7m"^#3Rܤ #m ghg" Y l+V fRz%g3j,.[WRruI?n.>kd#}cYk J1$uHt#Yn:`B)JYl}UFdWK63Pvrk=r?Kر,o1r|UBoɣ!Tr_زٜԺw]:+7´abd1ϰZꋼ~nbF:zC=$eϰ Uq|l|ʨ`!X;ӭ3~'ݏlԼ4!~D<2ܡC i7/f:?4 s|ٱ?9*+ຆ*6%0{NTd_[O㷌lr v:MRmkFlfGKԷ/_D 1R#eֺĽjj#%'\7Z|,CnɞzXPќ+J@ w?2ö,eGq 94K'bpSI< Vi&Z<[Ƚ'q4B"9u,*S1xbt.XqHkk(h~L'zy|kخ UC&^fR8c%Rܞ+f,&A^ȯ"LQTz$6F:}qW;iϾk|21օr--RZNȏYs<%fU='970(GTvy Ǻx7 " YOVd'555_[#Й܎ ~Br|fѹLfï}rֲD5 ;Jo)sW#l"+ٴTJB_F'~7䒗‡ķzTS ?w߼(`4)l {knbu-,gZ2P:>4PZ=3Klj:مxR{%Tl+FiNn<-ZobdZd],9o>.xk36#RO" Bo$tR"i|*6EHJ%;% /pnO>WWFiD4Z]S9!T@3> 7fTcVkY\5Ã-{e-=?+:lS&Y(P endstream endobj 767 0 obj << /Length1 2772 /Length2 17756 /Length3 0 /Length 19321 /Filter /FlateDecode >> stream xڌT ݝ2H-0twtt7(-)ҍtt;{zł߿s :)H !`aagfaaCҰv@Z;:KDdI%rvVv++7 .| ks"3@D%bmiv߯Z3:+//7_Q{@ dhfbPw4y Z+77'> ӓޕRifP\<@ILA͍ ae &Y\: =@]VrWvK`am(K)0y1L ع:M kha`n;sw';kgwB`% 9@^fV.4@1YY:9:,-@$_Wo"$VVdi: @<?|3 TVfopLl/;_;TEU1;up' p߳A׃#xA?byR7o I/ڿ%Lϴx?[E@jEʺDRZJY{U̬6lj0xlG+]@_f `b16NN/+xSA^7VX8 n*'(AJA?X@? @? w?]{W񀽫A`ػkAJhAX p,8/8?gY[YCgefmgSnnM pb&fv&V2/8eS3_dοYl ry^G?xKMSS4s7ww#2Fp43W Yoo`?6|8"XUJp'".pNv\?qm[;K|vԉ,nopt8y?fFOy8aM:/{~:\DY;pAXMtt) / o 6VV`+'LpgY_5@7+ПJO6 ׫w_翖l_O`U\ϙm_+@/y̐4︫%dʠc]tt@OYwMXٖY"{=jmhKVm{2JTmGZ6Qt$8@H¤!l Uꓳ;JgW@h^-Ul݄XSԾbir?|!'˿q{ݞ}LĴe2㯝~羚pXsqb Uo,tn ]9"I؎B{knoyp~px%<8pXO}qsVz #ÒP>e?}/wWi33ΎkJi9z=LI9tDe u~d*%L"h^D>fsgq!Ғg11j>_g&%9ܗǡR!vQ=_ўҒrKO j{<,xe_GDp~͆A (ИxXMxblwF?bHg2c姖GoG-l_)t8,^] \XHQGxv;-|xetV/ ihfjr;lj#5ڢy&)6(d}2XA^k ~y:G(أOOӂs,~'="c1ڧ*.z3Qbju΄l߼8067BϾSJC5)s)Õ ,^ViVq\ i2B{L,gak{+5uѻdf$9t4"bÚH2[: Cʹ/ *9.tb,pOF, _طhc`ҩ*}q'Z0n+]>4zǏ0L9ɉeC,/|B6zfb}+5.CQ͊RAF] w'1?o'(=#7VB ʯOf_Rso&+b33LPodJ!0W~ҺZg^;+D h8^>Dʽ& "Fu&:虌ͺ4,$AO^<}5jbYŇq+!;E: WJN:Wp نd~'+m1T?$"SGPlJ/!eW"+FQsHB I*(]z v j9bVZncvXX #t< |wz9B9tzȭ;cфR4儠6Uy«=8WPQ/I̕0X߈^R:<1B0[;c>:bV:F>R4|#òz穀"N>n` R[d<GB9,DMh }yPl1DMMcJ=6k@śdpX`I|JX?!^5NT^m+)I 4Kd*%Rhi!(sW +!I'o|mC M.$$N0C_t {Կe}iyưӮmK`.^3;h"?wTo@hgPь<() @鹻ĂFq0ب>WsUbޤz- ۴ܓcD-ait:\#[&k:&)؉{:3(! XĻa_Qaև?0mf2}I~&gzP>xrļfvT47c9tQ*&47L"mPK;篿fZ5gaྒS_4tLe!Gdh?jN"0s*R~rV'8A0"@\mvIjP]g>A SHQZ:6E2 FSajve8O!nb9~hA=M2ܔR,$IRئfsM$ab}>oG?}3ܺM8Rip>:s勪,l$NKI݊f|sd0 46r..;'^jZ}K[px{M @O~I.P*^1p%Va KU>`x@SαR3㭛cR!/SMueڨ>+=7IZ6v`ϡቴeLGuM R!0fyXc"'7R\:lG\dx>Ldj%,Tp'Р]*(@HnKiHuܝh k܆*勣Y{K$G@Zv^Uʴp 'U&!^7T4$q5mگdLrQM1W%~45uߥߞ?K6GL>m5jV9{F82K9; 4׭w9t ,e.\o@n ?} s,弡}?n)I"uqd+:Iz?Q\|ax P?Tvw^~O a>ٕE_x6SDAoOqE/KvQ@ uxx&ݲ?Ndݑ}_Ұ6[:haADĔX QV~s jHys v[fԯ\ *>5: 3 2x5[ɜ<Nj~5l;(İf P1 "0T*2Q}m*Kwd%]r&Y?bF,`iςΰLtpg@v1> DEzVBoRS7$>r#-'iޖ\?v4nyDP]#\U`e]@h$󁖺r:D-o3"WI[ S,AN DyLL^z#h()&7w/=l& ?Qk7qe/kw|بhfj-(#a&aQOA#Q!g8g#{$۴6GDQ̷?E.Z2eJn [Jp$bEƥBC?A.gj8p年4*;0I-.@%騭no}Z!)Ž\ȃ EbPWz<#K&b ]6%c>t4FS'ZNJ%:l:cFǘD dnu4:dAj;KV*X>-&K4 r o##J ۀ" dw1f1.do>[8 (kx "[%ïӟ^0~/\~dbsZ c]}RKO+~}ou^o | ?}k_I,?"\M`՘&Ke X2AKe6MbVmXVm;V{HWSn^(,dǯ΁ۯQ#O]w6z;zz o쯓q<'g 2#Qi,͌7aK,v?Mlawې4{p$; sxDU@³!8/<,gj/">;B{CK>q{ 2r\QZxctrFyx_MPzx?ʚ8O٪( kno2^- E Q|yO3tzp*gBÎf&jF+U-S T^RVnGViQG i0B8.TgO|RՊB-43C]nH NᑑRwIw|½bpRi T4Bq)B& GyjÆvp'i+g0 *t >ZX*2lk6K5t]x6w L 3F}yHQ͂V`j{Um +ra|#fY^94He`}{]S#i.PJbvu2՛15[(GPg mQ'8ĝ^ y_hqMkg -*6Yh,o?I> /;f+ߑ )FDZK5Am# L 5DK̚ EbHxY\VmE ]ܷ*g움Oo?.{awi"`/#`y~.#<ξ('WĂdSzrP'~L̐PP l\,H e?WL#sa!~]b71pI0ZQ6ɶΣ0UQ=m?r-)d@ĮÕn,dN<}Ψ0nXVoN$*sna!%/*]Ҋ~n1X߸|Ս?YZ@J]bAyE qdE/FO䉏YJЋWqR4皛nB+16eup_3BW,{pJFm+\K<8ڙ*#ZꨀmnՃ7)Iw{o?o.Pf%R&ٖt WJA&& HV^ʎ LS~[Wh"FlyVb~1~W#OoՃUOVsi-Nԧ_>ґ z=#jq>Vh҂˜ELQggWghZ>] ( ][O! 1X1O]V݈)owXM><}\5hQ8UDkD l&̤%F/G1,lz۝es+"M_6hCw+Y9?o/Ӻ2vp#]^zƢXi#?ì h+w\̣(uhȬ'NcIqiLB)BcT~;U_rj NexPkd6qE!ƖS@o]A0nDn]{#Ծ}tM{Qs~{)?"{ɉz?ّ}*z_&OO@c"6I}ڝY9Kg 2xW֏jDdUƺ&/ǯVJ2I 9kqSп봐-MVe26OP$DxIRF4hʹ6GU*#uQ)A!t۽D$$ 7K9xF HQ޺WH7w(̑Q"&/vwB!OکRUr:#H{q޹hGA?F}#b[s?k_i?fD~d6M0A{]wԹpHO-P[8m@²(-nSzBMM_E44Sf ZM_x6^ H?ݗn)(B'3anAy(!RO0c?lؑ{uzɚ#dwEM$ Ml0%mz.8 7|ya#Nz̖I-r8Y h1FzWRZYi-~"4+~1%9m|G=+#*^}Itf0E8=x&RZ>9`-~GP>H8TC0a n!Ơp<_:g*‘A3Y+3r1s z$gBm"3dȪ㲔8r|]ukmBwR i(;r߲Lڎ8PMpQw.óLڶ(C)e <NEfe<@VkKk}* QhQU0vHOYt | !(JC[Lx$Y0B$?)IF zHacҧ\&*}rytFEӍ=4*Kq& c3\*VGGGXBIg椮|N!Z| Fh#^M+}2N*)Y3ٲϩHh]i,DbH^MSީY'$ ~$]E?nJؾ028 H}̣}ʅF\a+)\RV"M1+~f 6u#!_cQ̯D/޸"}(LaG 86~19 󃚪`gfU. `G=}[UK-a{ QjJ$fqBLޣկRl6ZxdDŬARnװIds]DNd WHwU/ A!Xlp5BqK* O8ti.|&g΂w>} LӾwŹ{O&DFB#c0~ZhB,eQ9ЄyB#Pי9Z֎ GJhwH 8}"G4ݻ{%ӆduܔXf,ajXNVf `2NW€IG9&6]"N-_!Vj=X1%6@*Ӵ~2D8g)F $pF-{d3V+Y?Wi4DDIoK< 큾`iկE.9{v 5Hé*#m(3/a_P5_e,McIzE|U9B3K0ʘ/#L!u^aϞhy0МXM52p ū`5wBAIQ51a0NxY\<̎ޝ^x\ hMidBfsXklvC˹֦vmbdq3WK6ΘM}_ &=oGvV`ˋ=F82CaLsϪA6l5.x3)ճPd\_d":BXԋ\Vnj` mJ%EE#i,f 0 .W"ī׆ۀQ|یb,(8A*w^Nzh*2| D,,Ỡ:w8 /ׂ}JxVUE.h%Ec#)ծw}<ɖ?8d}U.m čL_jf{r&H$!jU^/m7[i@꡿}6Ӹ|Ig@a ~ax`kH.q*#K1JqhV mll丟s|v:wtYƃKGO]Rh{uz˝Δ06%3&Is*`ljlGJTsC/dyv`X;n=8ԥD:8FL G 2'wVJ P~h9trz8 nDDiG = 4j$%wqeϕQ:{B}^tOn/ŋ:y wbm_Rz F>'j'd\m,w1]y1}$ b sK;䥀ۜ%bӖH{T1BEw~k]ڧ\8#r~{%0y/0ot_KSU weti|3th+kُW)$1- ed0$/w$ nRӯgG ۡk = }[%>C~ -Hn{SD$ C@j"h}b`O_a?[61@^iIO,&]ݷ4] Fj;Merf^@m/,<^-w5Ў,ӹxDG?F?s%*݆#Rݕ}O,m%͏\!UrPTH%捩x5ޠ A߭gNĎl 9_Kw'"#D8Aũ&kAyžx[hc!0 bqXn@cJl,Jx+CT `8|/p00P EKY0~~|8,7 4{MB{=aНZ AiCh8"/?jf#S}f"8P 6cj+]N,a~"90OG@>*<<)^'~F_rHJ&i[Ksd=RsSEv˕ acfc %|p7ѱv 8Ra4C&~;|Ml= MgwS./3"/}!L]Y5T|PfSy/[vɹK}1 m}5V:,ـ:]8XBٴgB)Ԑ!*7BOv"&T01u۽ b=ϖg7VZK1?| Ip/;ʩl ;Z3$LsH<*|}80HESoZr8='ȆԈy fou$ )ޭO䮫s6)2R/IW/f60bA[ R**dn*ʺQ>XV53;k;%r1@B+:LeO!8`_7bK՝g.HS)BJ cbLL@$&*ɿP8N獪3hwGڌ}sMt0+>&p~1-_VFSx77$ʥ]ŧHxfGYuy&"tKdl< SF-(л}۩u]&CBӲLf y,e '̚S>RJ;qKa>GyViƸw^\oh#WmPQ%2MkF.ʡKBX\W|> OO~!c?:e0`5O O'>RzpfycMv>̱eTw,~ &6ce6*5NI7S[χ8d AE+_: ;FXLZ38^13 c~4QOs8GAoFH(V!Gw' YRnLw[I ~Z:ڑ|[yxH.52lB4c8䨓;1lzXt ٣''ZKפqÚ "ʧU|!h~ _Ff[{4&*<4CdRKI^DwiD aFGQ-C !I~?uuig}A#ԭ^A9=IZ>Õ9AN |ƹ)gOEn~_Ȼ;뒨B-oH?\$SDp\ i1Uh$a.i#<[ çبt՝QoE[YEP^X{ht*,H9DdAH{-)&-%D>hE> 11Ty[w$HWcZlɆ`Ѳٙ'{<(cphr3,c>/ڛY-ò+7 K-Yz̛G&Mm r;ϐ\Ӛlj>do ;W(RC 5}f뗦%Yf).WOv րgy6Ă.ie:[NLjQ|7l{B1ǂV6.*!oY:c@ݯ5b9ZoTS:"tXm֧TLajVaQ5Ĉ]T_3tyh#4ƾW M,\AʩE{ (u>aee+h=-!z\z >_D⟱ /KcYomKbA%qeCi#zvܘvj{HDH ZulpQz/}hWe/GptşJclhR`vl:L GXe9i)CֲUЇ%O@jJ:( D4 \Gn8 %Mw).:UûuW5.^1^k۱Zoqn;S"h> -āw;tʜKXڨ;֛aOA ` `ni#]TB2LȒOx)wV;Kʡ@bY51|={Ų؝o 騦qOy9Yv%GRt~:)>߅4+&8׭`gYO̟R^#*+cյijʳb4h7z*}͈C$oҫ3p5T\{> Z=i7u%:I!;:ͺIc {aY'7Cz1hi+hyʸYiUZ2Ǧ'_/=|\2>6j { <>cX٭{SpXIkS*^~;  ާg1pkaw)Oˎ)DdA&<6קw$z fq>Z{©J0:r u6Ek[t=g#M^Z03ݟJ_kÒfUUpgZc+?3#x^Js¨%^}a׭ĚX]C &͸Ż'TIW-uNݼSA7 NڝLdB2烳*aN^+.Ĺe@i ݒ~ɲw[.d5w|;ԟF5@ t4y| |+&]mMa0}bLyRk6x92]]pƔ1*W*&؄khkuM.ԗULT)nM Tw9Xss01^F: FN% p}C VH0hw'n<)NmW"GSiw{۪Nv|ϟ/fqgӃ[g~Ԗch$|^7H]h9V^~磋m2j|Q(KzA!2}Z@&^I&6jPJ|ƠCE|Xf2݅1}bqf DÓDփdڻ*D;Moȸј.eαW+tX]_ P(eHf?4! q D^B֝=I>%A҉kqs<)=2~Yr$Ud^wM׎LTP c!TR8 92Cj٦KZ~H#JMNO\lkꥤγ;dς0|X=iF}j\KI}t~ीdϵR(_,% BߏR;(ߋ пE,źǜXX?v3Gv@,#T>i>3:Mu.jxpk; R[g.osq 5>~Y {uwbg 26v%ސ~ѡu_\7xXt,0͂t~,<A|Ӭ^ #;="%S/%-沥ǁM8C8̝m o_Xm 6BX;+eq$ݬ`BIGz0h /.X"7yNnxgWA59%nZ!k'MsޤsH) wRr6nɨO_q<=$`~E._pÑSyJoᢩFg?~J8 :VIn@ϜfP-"W7=}i2,0Jb] v_7IF4WyJ(=W;Z|eE4dvj2$XgXG Yj#0~c( i':EC0`}K%]a3w/u~PUvd%h.7.C\$W!$7}.*6U4МQ_Q s zVƆ]ё.`WPJ& aa@5h`DP"A?E%P?؜6^f$ùa;TUcu\<*qgپk"fE{Da:HgNS׷flx2LFj4tA>`G>*Ǿ}v(H 8Xwd$/e{>y˸b?t;Y z Tm" [S75̀9?J&?H&<'`Hgێ5h$  +"Z,6][0"%ȑZw_ OݽqͩLY;5;UY- 0DϴUEQV8Ǖ_cp.!,tcd̹1ve.h`*K;)@hLmMJ+C D=<6ĺdPsb3 ǻ|0i댢j3',ƞ}Tڣʽ@^*w>aޅ te W[x}3 c1=%"n:>Cۀ,Bf܉^+GX< kaph:HkYÒ*jj3#^]qVulr;/~ßjVpr=nfRhtxV R ]R6џP. A${ #g-Qv@;1#>ˉګ~a[;-uDLbذVdk<-4Bb4RK.>~ ?Ns ۻ=2S $dO|ᚓ MCAC^b|LJsr ]Q‡> !8~FǎuQ zJ!9 JJ^^8wA rzPq%#=n+ %h`Yڕ=!ϮW3PVpKUe8)Hwb=4C|;GgeXY!"%};$C H:8Ӫ'ދd0h,Pncɓ`>p~C! fnl@'[g<rd=0|׺ nSv;]s@o47eڟ(Q/Jn^D85LƶPXoVFf``]ʢD"wjt{UՆGyCC{܎PHь(e)dWkYKz>y,&!Ĺ]LyլYя1c>AJHONP N;1-tN\Kj!vfn}9oxAoڿ_vnX kGuC"Clw&`EJq"y*&TQT\aoD_8WQWk f@. s M v'o<[nw f:d갨g\ Ec93ll\Rq> z)8|Um(b?Xt&i:p o*`,9F"Ȥ)vA*l7Y/%-[%Jn ki$pͯrb9-16͢'x/ZdF?.|ǧ+ǭ~‡K&t}׭^zԬZ_ݙ֐l#P?HǑPCڏp>=9cLgUlwI!?4r׷B7 ?̯!^FXk S#U5B]fz"K8zd(<KQ,p] η;eOwҙjb販GțEî_?r|T&myklf$y2'/ [OsvCUIW}VʻPX0hgi\B"IHlQ= \M|fHJj5uc:\ۧQr<,lm ԪgC_Tt#1qߧV ו׵q\ܭ'L.{P~ #.RKQRͮɲJ{pH @fnqMc6;27i~WOr@p_gR6qtb{B\3 ɖ8Hׁ{qtD-z:sOzJK>"vD]FEL:_:^Ҭx0}޷9n1r,pvlyiKUEr+A6suQt[1Q/"l0C"SLJ*q2^*B)j;~o~U5\Ul:k\Rƍ.Lt9U2FFaX&jf<3> stream xڍtk nضFdLlhƶ6f9Zfߵ}{{f?) %lmxrL&&V&&rrU?rru#ֆ_@Cwӻ ೳ`ab@dc|:"ڹ;̝@eL ` l t ́ * 3wradtuue0vdu0@G e5oj Us_ [S'WC ]`288ۘ*Ҳ;_Ʋn#OgCcc[k;Cwd(H289 mL04r}7t1YY!@BX `o~ ;'GGfqQ[kk#}wgp-ml]ma&6VyČ2ʢSRD Igag0387;J AW6Hw?D\ ׆mguؙߘ?/.f(+pSOd<;;_S _ -49[_ۘ9=3_r hr26ks9@6@E[Gλѽ~dymmMXAv;#v'q#ӻ 7Ꮓ0! qEA\F7Q(z)qA*E AAQɿ 3_N=?Ǟmnb/`4d0yX |gb|UF2ڼl ޝmG^ݿ{u{}GkdWKsr{u\ksW߽û gFޯ?/;t#,Yt5a2NcWe_)@5?rQkv/aRRo+5{{:㱣3˞LgY 5ůCI>J3Xʆ HQ\\HAU"3dB' ,et࠭ԏGGd3pLfw{qbۂTIy3w..w͚7!S E7cI7ᅳ݌(xi:JZ"T =X)z%1%%1dxO:&eΤҍc4(\y.0OÏF:DD w|`-&j zQ?D\<xqLIrrRƞ(jO{Msl癯4F#%z³j \dI !UKqB.[<(Jfn2 ¥VѦA3/;oA|aϵAoV)ojcqޓQztBIa=>gU:]nA$du _҈՗X.+X9ʜ KF' }*wo:֒2_ ~$Aj<.;K"C}1,`(#_OqprB'ɆǤME6q8O1Xuɦ \UߐSs';\ǾbJҍEQNVœyeUѓ7*!pvcNXE;[nkgj@5BɍĘk򆏼ye9әrXMhӋe$8Ƌ[9%r`-`H&5 ֳ=Z2*9d/DhE/Xnr܎ p4 /(pY%ɏb-so^4a(2`,y 'HԠ dwޠn/ _`QT qB|atyX cZOᦴLJDCMMGIa}iVꜜU9ISaU''#rdE2g[_XV匽 z. ^S%KuͧmtI3A8qSdٻ};oMJԷtJJiƳMC}T2K+7uL&i&- ,k@vwp+zf* ^3^LrSZ88yUPHYoѢitO:G\+Bn/u"!pMnEaV.BIy ;y-w>/6f~/+vgÀ>~3R8 B\}*|$ c}]yoⰋ֥Ú8.GBLV_*XVX(TFN+Cp?lo\W^{}OqeTUY|e򉈠i7󫕽eA@ rr'\ݲ¤UBK94K4.b<$x'1˧C]B %vnF%]ӓV%+|G E@Q7Di uQ/eD] 0Zg&D],)ۯZf#e<:5(Zퟒܵsƙ yUmM~# B̫VoV~alqCWKz1c`Ov‹DT[d/𰊩%MyPk5謏K-XV}Oa=bX<-\vY㯺jl."~A1 ]~.ip?%\y0xt$Wtd,$'`(W#Fk\K9gX?FŕE?;&4ξW^ЩWfz42}*T3Ĩ>gRUC* UG(}qJ }c)|SaN\ Ӏ=@xyRPfY2/I+ɲ\T_լXx؃[Ls-oE.Kg%N.Ce1Rӗia9,9=7]HP}޹*H t`^`8CfY( c Ðu;R(z3~|*5jՄ:qߧP`8fG3nGȟ$zsgW]\ < _\ V'=(^V^hhqHiT,|[6w3V:}ϋ~<$R?JO&0v ,c>gԼyӦ6?8F JɴSr.Coֵ10p Akp:]WJ)YR8z8`_d T5jfy8jKHrCP+9 N[o#>ռTQ:E,nD(rtfk54]Ӈ:}lNT $ˈQ!f ͔]'L%f [%Y-']5aXv˃yE8Kk" ך!a1:ŭ[6ۇ"PаR ]gBPʇ7Vƹؿ4 !vOS^aGGx^gP!>qxJBwV27)vI߆}wyUL/߀נJ9 Rl)X..5&^;x'ƺtN&\n[\,'6eB \{6yKh5ǍDFMʕ3\bد)Dv@C `ʢ,2FPF#Uh`%֕f6\t 580kV/_5фqʃ[Y & m'3}aK=W.g}B,hsb+ȺWv8v˸Hq:R ^JYH_]tuX*uN.5 g뫏D>K->EvihOyB9?C΅6Yd:!;m 61Y˿m7zVm ͥr{qt[4lES,xΡhf-;%v6?/r"(l>ž=d90Z/Ev+`S(qR|79}e3FتqkE331ul{NU, z`޳|Q<#a)F0T.2݁m^ilMI5nh3!KU g<3فI7ej{-׶ʷŀV۶LқՃwr9.6M\q] 7Uo|HZ+̌L`5@^$Ct~ݗ#)i 9]!;xpch]sRf'dCC6=X >&#0PFӐ.ɕyڏQ}g`aYu`9Nb]TJEW]J-qhͩ 挡tԯd:5-+]z I+r5v'ò;!`7MXgCk]&b5pR:&+Ԭn6/V,_jkeL5iv; n-tvBcz(K.!a:ddងUC6y2gˮw')]DdYU/Vk>1"lth]t\0VyH_n~^Fo>gL\YcK+K>RsȢhwDs.w *SڮT6̀_mtGr>6 t2UÑ@S+B Q[.5Jc$90s8mkݺi|ўӚ]Q(*s\@MХFƧ9fN) @T5qJV-lf:+.pV`dagcOtV`.qVg|LuFH0N"^!iz[s]m~Cd8O e+`(j*)ݣR>taP! 6m#xY{ n!rc#Nȴu~:@ŃY2D%O^QJ5.c1#o>b;O:*AYrm\8XW6_pȒA ÛR [: V^ DqYody,+1az%P f,$n@ AL\tcw2$픗QgxnX.{t/.]j:69paBu+!AYWԲsb˨=?UT&lt`Uo#oEM%poFW OD?-nuÈ/Y4Mkh3_G'2jY: u0p_>*U }^SYcƌKz+Hɩax+xDR~V}NxCz[՛E@90[=_:&L5$օALVks s$&h˙L̚͹mu&atҧDl HxMOx5-sh+eL66,/y <1g3ܗgXk;j, ym;7 V.e'Wd`SajOXkTVPYYN"XG"?r a-[cI1RVN,_yuu|Q!W LĒelpQqzwXݖ:Mh'+%$ǡq+s:7.;fg [ ;χ!';=Fy0r{~?yS}9R]Nrĩ )o͉C|y\-L@SuawF(%X,_1[QΠ/T-cyvd-0eh(,vc-$xCeȞ ggATOKp}iUtm6\5~,o{/Hp_4"I^XfI2R8EmoQgDqȘ -g>n9"5ͨh fT&lB]MjI!$214#`@ x/2v'쥬DJv<ɀ:B2b!*8dd[HKWU86F#.ĪP|XT1) >ɴ?_`z8kΔ <SžQ^ Vc(o^aEpd '\WՓ[5EY_C X#1[ <; C T(K~.IGNi a < ̽<]p~NA蠚os%;|&َ8,|γ5 73o$G2Bv[ 6E !ZhH̲dzdW6Z@܆S8,.67[w)󏵯VÓH#L7QLzϾ ]&uzuJMOaB[9DMVPKtOHF"bƯZÝgdfp4p!0us2{7B !` tcŪ%F2R\$zѦۂBamp'`t}\`y`1vvHk8n;t#lգaw`wK.bq];r#RĽT\be*R\D=ZaL3v+7ng6KWpO%u2w3qNw)6`pi}Fjvm,2]%I2vT7-Rȋ"| Ew -X93W Ehʪ+bIWr!q,K-!.4iLW',-@XҩP?XyA-bpg%,m}׋]o;kmW{lx?V5;$} 'e>BnHi t(7b#RHq[lX9fZWj#m)M.>])tV2n #"B0?vL| ea1F/fDl"n7 GLl85Jf,9*IzmY*Qh X5$#& h< #a- w^Hȵ`~ h^WxNYI\;Wr!I Y;b+iښ H! NUQsbBD8 A]m+0ĒL@$ZKY(~#8X=XFaaCS xTRI =/OXd O0_ ;=ӑԘL1d_^"epr7Y$saʥԿXi:e4%[ijd?CR6 i &.iVhSD CM}S7gDHɩ K:U6m8==.~b*תV m:$e `g{,j @=u!.i=dKfl/'@ސt@(E(|xɟ'xuIN zu|!68kգnzd]h;SFv>雒9z.mٓ@ԧb,Ks뼊DnbayFV!_~VP1ƉżSرVPsnZ-ZX H$Դoq{zK=،`w{ٮgBOKVTZWqV!)u>: ; Q_<:ͰMHƺ‰(|wV`,V~s!Ary[4~҈È޸iO>)iIKr2:)W22N7mC>Q GhbQ ;ѫ@4]W`zRGpASPɴ~f XϷ[& jֲ#7j"rH:h.G\K.} GBوGs4+} <5` F>p#|R7+5ƅo0$Anbeݹ~\=Y RF .0gz`WZ[/a*]=c }L/ĭ+j+pAUUCEStkV&i'n-)#$tsFV,tםtŜ ;JqW71@Ԗd eĩݏ_;|\IJ4&b ;9/}ù}[[]/?i$]tOPPk/s'Z* 1bƭ9'$"ώRiRw}9e}1bD=3(IrOH;+\OH!W:oPw$4skg!GKܧgn't[U{@ )Gq(x׏kĹׅF-d|Z`i9Y96G^鷷;9-VkA}8bTudjAN+6w}ZntL:rl0$ ?Fy,vd=DRv#by( oD#5fJv}nr6y]!fqm|϶t]y6w@C˟T' Ag׹1-]z{S_DD]^Y ƖOHW`LUI(p~7.Pu+Ч՚OHtB]'~Paj֍&SnbjwI^j@N3-&Yz-I +CZ#nE{/2ޜV'~KF8"* XAn8sauf\E;g c])iLc,a,7k֠b0iu9`wdRӰIq8(%%+|j  7"R4K M9-3i4TX- BbOdsj"I'*h%Nu+7SܣҐg1CzC:B"UsVL~; 1'?Tޘg/Ȗ[O=~ySYs'H^3/k.dկ w).r@71.lʎey":SB.q oKoaz2h}TUFe\|\ ٯ@c\⊥`Y1,l]aYzNc:K}<|CZ4O'/eӝXd#{ָ<^?8llfrDZ/ JqDUVLo.LD'mvsfncX\3",7 G*d#!TQ.hhg![8z7q"U縮':$ϭLBcw*ן)6EC bYzڥ~J8XJ8b;ߙ."f1d(Mvg?'(A4~PE&4HOos\6q#Mz!*r=ثqhՓ!ۅJܠ82 =d.O< 6-Q+9ahc䥍+Gz/k-f5*)-sߊ k"mmjL]&[I'0S7Z*tFn 7gp_^U`!yRZb8`$F3_^:g0O>V⧏qP8{-a0ܝ#BfEq|q<پ[Z0{&tsilJG*vA MltԘŸFa1/-umL u1ja3>n|TI`7@u>kk2}j3h*0O\l\NWQNsat72 CB2U8uݷJzSȹ*tZչ%'0OѷGf&s\ZNMTlqSqԁGNxBqB:> ؾEize/KF7%%4ϐ^|{Ma!ԃdR^qԯjMΞ P˩"(fsߡUczx~ш;FD&MUI\s^so׋Is_lɣ50vP|4j䃯.Qy! g>% 3LbU*EFX@ `d-U3Z;" m\Mbk-4+ 3X[i~5+݇rdü.ڱd\`y8`$FOaM2o!+3U(Nz;jbփtUQ-8:p/a}bneH񚰏s2 Qb95iR}EvIU%Vir?\CqkPe6e nnSe1UX-x+1.QÎ>b! -jkZ+74rP, 2F4 F>#ax*C}(nqG Cebح.+&W &=}sJ'"(k)+IZ|:w# kc?,r[قZzKw f+}MQsnΈ6&IȻ\(??*{_=?kP:л0+N;A<+FϵxrG,=m 3ey$?C70bқ:)874'͟\Oq*il/߈ Z}`0Ma:̪7xUiA`M9 ]!Fa"&24WMT Z+_Whn2y2x؃XSX|rPf| zBIӬ[#Kԃ3J$V<]יK&3 (LJ.|Bp­o0ֹtzs36X_-{ND!>9?ԫ%Dy{Ģޙ*I1-^:nȨhiZ:hG sQA FR 2vu i xQ_uۄ Nb"Szo=wʳpk>S)tP:k:vmYL00Ի`%Emt8CG Eu BBz*PG ?1"e'O?꜊M7a$GrI:~kɍC=:^Wp;#oTl[7+klQfb:Qkr.gJ3x qm1Nviy|[/)ߵ=oT3@E(nܽDOX "JQwzJǹ) @'|.SYApO-2p/0OLxT{6CM*q[Lnj>]']"޺osT-5aIOlܶM^3x{o\ZM˺G: (b4 WyЧZh?{_:m^MlQYP&UfX4!%"5sdz=OVMw!kf>2 Ctdoj vH/X2y`z*M2,^x/,z,+gyTg}Ck Lܽ].0Np=V4\NU>`S endstream endobj 771 0 obj << /Length1 1685 /Length2 10147 /Length3 0 /Length 11245 /Filter /FlateDecode >> stream xڍwT]-NP,KqB(.!+RkP܊XO_޵]Y+y>sf33 =69DޕK rsx9xPW[vtgb8C@O6YQf p p pqx&:8dAP @N/ v}G-,,r @ [ qLb֮" ;g+qf6q8C,%AvqP? g` C][@OT?ɪpjb`[,*+douqxZrAmAO?R^@O v:p@mk-d .:CO徱w,eX9rC JqLڬ ~...!^ [s|ZB~a. w ߎD (`ڣ ?ݿ3`T~ߟ*_W̩# ʳ%'` kê doS-`iS5CL?XQɻgAvP[OjOaT]ȟW!RV$E Є)-=o\\{j9𛧙tY O;ك,~ Bz/~~G- 6i I/ 8~DN S_ T 8ABOL7տ/pA‚Nп)? 8!@0nr}򹟤 OC.O~J Pӄrq7O>i0 OW7c B 0¬X4ئ&U)-4fv؂s 6j2sefЪT`M9sE{ASjXs⫖[;xɭ ^ 4rvϽ7MNnBؚɗ@ ׶POMF1]5fqsST 5?99~Aj|>#Js84NfAEy%y#iB*^IJxT6el9%*"WK-ja;%yV57/w" @Su# "97 jwzF?1F+at\^`E}GI!v|cnXIO$}78tV)%aR\kn4NL{J3s#Nl٧%#݉ U~i#S^CQ5a S{p x[34-!׾mݓYaEh>))O3D#X[eq0.ҝ,Q}6k B-)oU*ӈv& đ+0'v=/VK)RgyUB? Jn54#8DcVXz٢5 W6zrsnT_>8.I+})Xϋ :j+Obyvb:up(ecT], t}"!!D3LDY\^=H*}Y??+YC`'T1h~2| 7BgyB~2;UnKnU z/'5r gl(ihAypcF](eFtz}e9WZp[diuHw+=Ҡdb c{>hokC2dO'6jy:})/g L=2(A8XxdL+ņ׀Mʧg^dkIM澞^& #15bh3/7($dR/LK:Dr?dBH!.6b܃tB &)s0/4yH,& hXMi˂Mٱ8%\Sr#]  #xnܚ:.,BWG [R(gMdƄH/1`i_:R,6TR1^8ZhV^k㽚p5wSe#_\z_e;̓Et}y-fHQ[]fk&(]@`R; g1ݹfx+is+"JUlHMru'ˊ85nf `&^C訊vO^v| i>OS~܅滈=l -6l͇WR/8UBh= gȨNnճjIm:n-88P~7 Cѹj|pTRaR/&\6)$þ}2L.2.rKQF > C(a"PwHMJe9/'=( xM`M_bCBepU"v{dBu: h V'A] pm0>wB7p;/F$%ì q#g.KAћ1sẀ.\XPtZLlgbJUoݗw - >L:7<:TZ;u Jrf*HF9=7RbC|2-$:N9=-8Bҏ%#͇ ;nɛXUb0dΌ҇3cTgB(VcH TS2>HcIE$L}+dHj?0.Q @kӰiOm}QZ y13R6:5*-gj { ZeUn" | | ‘WmMƉJ 1+[x~J[3.kA˄}g͑#o^m[}Oϋ=zg<%y]n$H1 3Abp%IJ$kT^= 긬*dyA #m:04~i̯/n+`ԛlSi: sV 'ʠC]iÍ@4;54C5hAj dX5Z|>Kc_3Yr7@m Td9ëvnYc{r@zܙ&?ԑiRLccc;*v260]O( Jn Zht vҍ şV.gӣSШPym+!G[Ϭ%F\W4&dҰg"()&~!7(JM g$ 2M]^䍙Jм"Kp L㾬e>DI *~jřْW>oJGJU`)#auo8[ԥTڱإ.~+1?k,uL#!N \k `]Gl@:۩yI!,T󀠴qKŒiSV$<fYlj&\Un|i&˫T9- [6an$\$L_"r:Ufk):҇ A|'tfS5 yRx6Z'dg휑}k~*\Ӌ);?4}c*R0ꩫC1 P6MJܹ";Hs9@²Q2u/nSw޻L V`G/JX-ae(L>r|f .KJ"o~W@4t NRB# 'o1\֬_E&WJS^/c{$,47lՐ>%[m+(A :S$phdrŗ'J+Z !-J oCwp s!Hj.⓪޴-sF3V"fxS!(%xs53/_L! fp2)U0Zcl91)ljgU%F J(d;!'a[ *X&~khmkbv M^V\u4{?!ceJ .Jƨi3n}Vw[:r!I++OIgMśWާ;oO |fE#b˴f׌ BJ.Q"<H-_U$s}q~O1-S5{7]j75\\%v$#80 L릐t~Ʌ{O/ШBa 3ؗvU0%nhFKd|lh3LE,{)T*"m0R-Kg:u_Y̗*5 Y  nK$ &_ (RvjL+s|趸bC^.E ZKU=}e/|i^%Иx1|$82bm?*N65( {4!YLg?ZF)6r̲ՌS"UaHURݗ:YGw2,Cy{L7"yVC ~jV8yls[e~ KK˺_:Owՙ!c֞We`~{6h__)Xv c0$6 e23ZU'&ZŃw_q,_OĦMsNW!r:# pdB =fΙ2 P\#o_SeArj 2φ\ ؿ <#ӌ^1п5y:1*Uqؘ/vK~CBaSeޜNvktO4Yj0m-,὆/`, )TsnedXR,?EfҶ#DTfn%`-N/U~THH>r0>Ü؊+ d|*C"2^54;* J/Bk\!RwTndFsdbE|1Q-S%=/nv8Vg?J.xӋ*xw0t\tFueX:6f,N;̎7$Kk9En#ڊҶ]1)Ԙ;%X%4oh 'HMqLLt5(}7ڲG鐔 *.K=N%†.t-ʃ=0IJ3rvHRRqŅQ_LfQ9XoNU@dkt~)X,Kp6_Ql0fCPAKꤷ~ ie?N7)}I&*$F`ڸ'4x(QbhU o\*auˣWd!LyNadeO:'.WԻh19+e>)Ҋ2RN>>2Qnk~dOn|k,Ug¡Wfa(Fb %>B PO3#͊'{wn,MVF氩^(K>|wlcFX h~I4?qpv|ȏ.1C[}4՚}@eD~Q4 BrW]<̀C)%hL 53E)P$w|z ͗u?22\sMX zjk+T"Z1ĖW1$bWUH>XϥyO˞BE?MM+&SK|4C22nӗ#RU_J~R{%~"!Y`G-E_2vꆆ{Σ4n@IYL & ^?f՜ !}8>b8GZ{O41;S0'g#Q>T6  aM\S4nʽyJsGo$6 Fg4fgVZ*a^#-y" 6 ?6:SY;@\إjkƁlc ˉͩ%0+a,:7n@ރ_fB#ۇ0^h cR|tyْl:z E1r7}TVȻ24mއ9)"?` 4?a~q,_.qЗ'>{dCEХi 4w᩼1/R%yBuESZ LSgiV)@%/ÙY~L+)EE IÚzb6c0چAݍq \FD S/[W/y@p\e GD 9fQKvKq̉㑦*I-MҶRra J{Tl}C-FXj,;_sEȸ5JlNj9ci0X+S%GiT7;3}Pwe wJV ܂2GgࢻHXߩ; 470Y1Z )X/的B) ;͢c3⎅m%V߶^MWKLK|͂ ڑG_0>;mq CddVN3iJ!4&OϴR1)6W•SCZ|QcZx銬q.&H$mٞgw qXۍf hf/ ERQD}\oXqPLj=9ǶGSEu>rH/ [Lg2#raR1@o (&F}W 1\DvԇQۻn*=eZIRe]9=FH '*Y-f]l2y_-}/t`=|4YzJt3 &.GvazN]?Jزߧ{/:2_UZA6(W,`&Q} <[[*α.<M@ J"DȊG(heu(уر,l~sRWJ!p3{6:)OWxmXHᒼ=ߍԓ}< -Npw֏+2WykI|j{7DuxeMZ4# ٻ*V=rYE&e*8I&ƆGQyV]0٧:3*-Gt]n\ߣ(X=QALƄ(-mrYt~UTm4QT^b<]kI_6{%uRS;}RST,׎{u/,;֬k̃F8Ld_$wL\tMn#'}bQ2!:V5"0'h",5 endstream endobj 727 0 obj << /Type /ObjStm /N 100 /First 908 /Length 4394 /Filter /FlateDecode >> stream x\[G~_я][c#066`̌AhF $ ן/[-$F0VY^JVJOUi+>Me\RtUD竨.T[U)Eh}t *VށA@iv@;D_וV}u'A@c#hA=n! 'P#'xM&I _Ye:*(UYMАּ'AYRHllTNR-(%X9Ƿ@5؀\$P.Bmr%V^96 IЭ$΂2$XD"I DNb*DT9IR;StƐ; PZOhGJG($xQCvYE5bB GߡP+yPÈER:5iBMGUF@M<`'oSZZ"B #l֞\15%'EkhV[][2kbglBָ !2ױFpTHSS^֔3 u\P5Y`:DeaZ U- 6,,, C_* MV--}Mpu G̎ڡFdTCPՇ5s 'kzu@Y NNT?-j+eExp8tf.vdmQ[YbQ=$$MgPJIL|/dk5(iP% JQ:DÅy]tF q`#]9ԴmZ״+/l섕vzL;X(l!-IMCm$  Wiwv%({prDqlY!9F5oPQdƆ %# mm)b\va'BJՓaߒu;쀤kةhq\jl66RI`c:CC,$: uí@BecG 5Vaj:*<W':C5;Ϟ(+P1!tp/>VzCs.LVo?@U7U,=DAvqi"EOY>+J7W՛Mq7'jY$r~7K>dt:T(boh)YKQ9wPN<igͷQx& et{}{P^H*%_[Ty@jQ-6{3!Srzzk/S!ݺn Ȗ* ϧUg=}{zҘ%}trrz .%Kdc*aDkIkgAm"D5U #+$. j >={k^s]pd9{R*4eHT)SH66W(*G~߿4Qv_PKKk.w"$vU$+󵒊RXfdz5wm[swLi|喥?mKY"Ky$rDʊIPgN>p6Fqc#ɹ G<ט-M}{l~ʼnǽf gTn[NsK \ҙRyʨ̊|&a,ν>`ui?n_ypY0y$FcPQ.JBSm$slXDZ'$ĢK ȉ*}lI("'9Tε̶)}Mqdm<ڷɶ(Ovԙr]F _lӿuRM*?Wi<6j-m.JL%r)67\0Yڑf<[;h2 Ӕy҇w)TC\n6<V}eo'K^gMQv܋z"iƢ0D ENsIM:79-9^$%՚B]}.Oh~"_fN_U#0^_gr.\Yqr[C;bqȕu':L9M+GN3Ag9;Y^<]v۽ xb^g=ݰ^QL63hr8-v> _ޝ-3:ǾbRnvx:);I5W_ncNhof޺P9,&.ɜg{ F5Y.GiyOS'J|Z3n-$NECi0aQ峎 ըkvBm{*smߏ>?^%6}iBFy;颓r|X$ wx~v{O_*ee3)oqi +o:ZxAD}\ѫ'`E7F0٪zpeybтGŏx(C[1x'MS#ͯ⽸񗘊+1ɬ뫷b9y?s1YLb!b|jfb9,Vbuh\\O_[Y7+lR~ASE/(RcVi=XWW#xhFfMr:Z^nl?={#D~Ob+[eĝ W޻_KFWo/Fp'78px ']ABPdb4YMw`'$N糢ڵs6 R4GS|OGW=pʼn//}lp/3QazfUsvE~y0/Ih<--3Ny 2uzȯre ߔ(#ѯ>~$ %ҡZ~ JH[gp*:Wha&ZJh_i) mC %Dx#BPtX tYkhֽG%?~ųWBN՝DB3 J$c^Mfr} Wեx;Zp0mZhMr -WKN\yzyh~2M)vlj󅸚࿳ckfL68*=}yϏ{r0POڢbFϙ”k I錄6}=xh׻__/|?n0BpQr2:7chօ_\y[ӹ"ڇA?X³uBSv ljrfY\3S=UJݳer]ntYEE+UVӲnlYښKvsxp.۟k'_ҭ2i/7 endstream endobj 779 0 obj << /Producer (pdfTeX-1.40.14) /Creator (TeX) /CreationDate (D:20141216231506+01'00') /ModDate (D:20141216231506+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) kpathsea version 6.1.1) >> endobj 775 0 obj << /Type /ObjStm /N 34 /First 289 /Length 675 /Filter /FlateDecode >> stream x}Mo1s[*"NP'C$VU~f337gۛ\ 9H8(L,K(f-B ZljiҴfé(FR.*^Uօ@bL'|;}J uȧ6XA< ghJ#$ZB'XtM)LM+6Ё6儨 AZo./7v@՗[= ?oqZ4ge{\NX\JUr+'jyꕻ^br+W/z-/^b%-/^b%-/^W/t`ꅮW2^hyzW2^hyꕺ^xW^aB9tY[^!V4NXKrdytYްB*Xx,-U/B1x <56300D0AB33498D131554712EB6668C9>] /Length 1749 /Filter /FlateDecode >> stream x˯w (  E" xG%4MM4iڑMLځIMYtQn:/Xɓ]~9˲,?-k ,;em^7Mx꺫wՖߵz=a la'ڲ鿋uW`; wm`tu ݰnpw>-~Zm{7u'=woˮVn8.8Ax#< Qxm>qxڒ|2"4< x~ rs* P~߀3m9m]%x.x j߁kp.#>Oձmnn˿~WWׁrM-W[d6$5335n mlsVR cfhhhhhho?0voe EA ~aD[~u,!q11111s2VbTq`z<ޖ4$0zϵ}gT[I=oEPɐŐŐŐŐ ~8l[@*ÏR[z[=Q ddass}U؇ !!!!tն^_ՕyRI"IIJR%TI'ŐI%I6RF*'4FR%idhR )Ha)C)47R>)Fj#HuR%iF6RFj#ŐIETPHmPHmYzII##ŐbH1R )KH!&C M$>O^$E'I|VFЪݳpl-nXV`;쀛a'`7[a/p'`? 8}`Cpa8<OSpgY8X W<\u"W9_]m]xއ*|#>΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8΃<8$mϯ_6Quttttt_ (b,2صѷyjH!]%}w]*P%]4}惞z[z}vP\_vWtڵsϽ[&nۻmﶽ~-j,tA SJIYpRb;GQj핊{)sLgma[Wtj'K`k5ٚlͲ`:ijl$wbuߣdYoНSPM[2k랴P8Q>ϲpBuMf|BUMg9?atf%P⟷P:Sa쟴P;S쟲`:MYO[ͮ YIEwgRΝYi,MΧ4K>˯?MY~Y ihMڡ-m LYLYRLYLYnr͇[{2vl>d6 ٬3拭zTk_QW/ummwur[;Ǻ:֮|SWgo~^Wosmwիm}:֯~ZWƼB@ɀֿlc#Jͮ endstream endobj startxref 237442 %%EOF qprint-1.1/configure.in0000644000603300000120000000123712444122766014357 0ustar kelvinwheeldnl Process this file with autoconf to produce a configure script. AC_INIT(qprint.c) AC_CONFIG_HEADER(config.h) AC_PREFIX_DEFAULT(/usr/local) PRODUCT=qprint VERSION=1.1 AC_DEFINE_UNQUOTED(PRODUCT, "$PRODUCT") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PRODUCT) AC_SUBST(VERSION) dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h string.h strings.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_CHECK_SIZEOF(unsigned long long) AC_CHECK_SIZEOF(unsigned long) dnl Checks for library functions. AC_CHECK_FUNCS(getopt) AC_OUTPUT(Makefile) qprint-1.1/getopt.h0000644000603300000120000000050407244227276013521 0ustar kelvinwheel extern int optind, optopt; extern char *optarg; /* We do the following naming side-step to permit testing our local getopt() on systems which include getopt() and declare it incompatibly in stdio.h or stdlib.h. */ extern int Getopt(int nargc, char *nargv[], char *ostr); #define getopt(a, b, c) Getopt(a, b, c) qprint-1.1/qprint.w0000644000603300000120000011651412444127101013544 0ustar kelvinwheel% % Q P R I N T % % by John Walker % http://www.fourmilab.ch/ % % What's all this, you ask? Well, this is a "literate program", % written in the CWEB language created by Donald E. Knuth and % Silvio Levy. This file includes both the C source code for % the program and internal documentation in TeX. Processing % this file with the CTANGLE utility produces the C source file, % while the CWEAVE program emits documentation in TeX. The % current version of these programs may be downloaded from: % % http://www-cs-faculty.stanford.edu/~knuth/cweb.html % % where you will find additional information on literate % programming and examples of other programs written in this % manner. % % If you don't want to wade through all these details, don't % worry; this distribution includes a .c file already % extracted and ready to compile. If "make" complains that it % can't find "ctangle" or "cweave", just "touch *.c" % and re-make--apparently the process of extracting the files % from the archive messed up the date and time, misleading % make into believing it needed to rebuild those files. @** Introduction. \vskip 15pt \centerline{\ttitlefont QPRINT} \vskip 10pt \centerline{\titlefont Encode or decode file as MIME Quoted-Printable (RFC~1521)} \vskip 15pt \centerline{\pdfURL{by John Walker}{http://www.fourmilab.ch/}} \vskip 15pt \centerline{This program is in the public domain.} \vskip 15pt This program is a filter which encodes and decodes files in the ``Quoted-Printable'' form as defined in RFC~1521. This is a MIME content encoding intended primarily for text whose content consists primarily of ASCII printable characters. This encoding distinguishes white space and end of line sequences from other binary codes which don't correspond to ASCII printable characters. It's possible to encode a binary file in this form by specifying the \.{-b} or \.{--binary} and, when appropriate the \.{-p} or \.{--paranoid} options, but it's a pretty dopey thing to do; \pdfURL{{\tt base64}}{http://www.fourmilab.ch/webtools/base64/} encoding is far better when the input data are known to be binary. \vskip 30pt @d REVDATE "16th December 2014" @** Program global context. Let's start by declaring global definitions and program-wide variables and including system interface definitions. @d TRUE 1 @d FALSE 0 @d LINELEN 72 /* Encoded line length (max 76) */ @d MAXINLINE 256 /* Maximum input line length */ @c #include "config.h" /* System-dependent configuration */ @h @@/ @@/ @@/ @@/ @ Because we may be built on an EBCDIC system, we can't assume that quoted characters generate the ASCII character codes we require for output. The following definitions provide the ASCII codes for characters we need in the program. @d ASCII_HORIZONTAL_TAB 9 /* Horizontal tab */ @d ASCII_LINE_FEED 10 /* Line feed */ @d ASCII_CARRIAGE_RETURN 13 /* Carriage return */ @d ASCII_SPACE 32 /* Space */ @d ASCII_0 48 /* Digit 0 */ @d ASCII_EQUAL_SIGN 61 /* Equal sign */ @d ASCII_A 65 /* Letter A */ @d ASCII_LOWER_CASE_A 97 /* Letter a */ @ We include the following POSIX-standard C library files. Conditionals based on a probe of the system by the \.{configure} program allow us to cope with the peculiarities of specific systems. @= #include #include #include #ifdef HAVE_STRING_H #include #else #ifdef HAVE_STRINGS_H #include #endif #endif #ifdef HAVE_GETOPT #ifdef HAVE_UNISTD_H #include #endif #else #include "getopt.h" /* No system \.{getopt}--use our own */ #endif @ The following include files are needed in Win32 builds to permit setting already-open I/O streams to binary mode. @= #ifdef _WIN32 #define FORCE_BINARY_IO #include #include #endif @ These variables are global to all procedures; many are used as ``hidden arguments'' to functions in order to simplify calling sequences. We'll declare additional global variables as we need them in successive sections. @= typedef unsigned char byte; /* Byte type */ static FILE *fi; /* Input file */ static FILE *fo; /* Output file */ @** Encoding. The following sections handle encoding the input stream into a Quoted-Printable output stream. @ Procedure |output_line_break| outputs the standard RFC 822 line break sequence of carriage-return, line-feed and resets the current output line length to zero. @c static void output_line_break(void) { static char line_break[3] = { ASCII_CARRIAGE_RETURN, ASCII_LINE_FEED, 0 }; fputs(line_break, fo); current_line_length = 0; } @ Procedure |check_line_length| determines whether |chars_required| will fit in the current line. If not, a ``soft line break'' consisting of a trailing ASCII equal sign and the end of line sequence must be appended. Note that since the final ``\.{=}'' in a soft line break counts against the maximum line length (|LINELEN|), we must break a line one character early so as to leave room for a subsequent soft line break. The carriage-return / line-feed at the end of the line {\it does not} count against the maximum line length. @c static void check_line_length(int chars_required) { if ((current_line_length + chars_required) >= (LINELEN - 1)) { putc(ASCII_EQUAL_SIGN, fo); output_line_break(); } current_line_length += chars_required; } @ Procedure |emit_literally| outputs a non white space character which doesn't need encoding to the output stream. @c static void emit_literally(int ch) { check_line_length(1); putc(ch, fo); } @ Procedure |emit_hex_encoded| outputs character |ch| encoded as an equal sign followed by two ASCII characters encoded as hexadecimal. @c static void emit_hex_encoded(int ch) { static char hex[16] = { ASCII_0, ASCII_0 + 1, ASCII_0 + 2, ASCII_0 + 3, ASCII_0 + 4, ASCII_0 + 5, ASCII_0 + 6, ASCII_0 + 7, ASCII_0 + 8, ASCII_0 + 9, ASCII_A, ASCII_A + 1, ASCII_A + 2, ASCII_A + 3, ASCII_A + 4, ASCII_A + 5 }; check_line_length(3); putc(ASCII_EQUAL_SIGN, fo); putc(hex[(ch >> 4) & 0xF], fo); putc(hex[ch & 0xF], fo); } @ Procedure |encode| encodes the file opened as |fi| into Quoted-Printable, writing the output to |fo|. This simply reads the input file character by character and calls |emit_encoded_character| to write encoded characters to the output stream. This isn't entirely squeaky-clean in that if the character we pass to |emit_encoded_character| is the first character of an end of line sequence, we may look ahead to see if it's a CR/LF or LF/CR. But since the code which makes this check pushes back characters not part of a two byte end of line sequence, there's no need to worry about such detail at this level. @c static void encode(void) { int i, ch; @;@\ while ((ch = getc(fi)) != EOF) { @; } @; @; } @ The |character_class| indicates which rule in the RFC (with some extensions) governs given octet codes being encoded as Quoted-Printable. @+= typedef enum { Rule_1, Rule_2, Rule_3, Rule_4, Rule_EBCDIC } character_encoding_rule; static character_encoding_rule character_class[256]; /* Character class (by rule in RFC) */ @ Fill the |character_class| array with the classification of characters in terms which rule in the RFC definition of Quoted-Printable encoding governs their handling. Note that in all code which initialises this table we must specify ASCII codes numerically rather than as quoted |char| constants, which will be incorrrect when the program is built on an EBCDIC system. @= @; @; @; @; @; @ Initially set the |character_class| of all characters to Rule 1 (General 8-bit representation). This is the default for characters not otherwise specified. @= for (i = 0; i <= 255; i++) { character_class[i] = Rule_1; } @ Rule 2 governs ``Literal representation''--characters with code it's safe to represent in ASCII. @= for (i = 33; i <= 60; i++) { character_class[i] = Rule_2; } for (i = 62; i <= 126; i++) { character_class[i] = Rule_2; } @ Rule 3 governs handling of the ``white space'' character codes for horizontal tab (HT) and space. @= character_class[ASCII_HORIZONTAL_TAB] = Rule_3; /* Horizontal tab */ character_class[ASCII_SPACE] = Rule_3; /* Space */ @ Rule 4 applies to end of line sequences in the input file, depend upon the host system's end of line convention. When encoding pure binary data, these characters {\it must} be encoded in general 8-bit representation according to Rule 1. @= character_class[ASCII_LINE_FEED] = Rule_4; /* Line feed */ character_class[ASCII_CARRIAGE_RETURN] = Rule_4; /* Carriage return */ @ ASCII characters with no EBCDIC equivalent or whose EBCDIC code differs from that in ASCII must be quoted according to Rule 1 for maximal compatibility with EBCDIC systems. We flag these characters (which would otherwise fall under Rule 2) to permit optional encoding for EBCDIC destination systems. @= character_class[33] = /* |'!'| */ character_class[34] = /* |'"'| */ character_class[35] = /* |'#'| */ character_class[36] = /* |'$'| */ character_class[64] = /* |'@@'| */ character_class[91] = /* |'['| */ character_class[92] = /* |'\\'| */ character_class[93] = /* |']'| */ character_class[94] = /* |'^'| */ character_class[96] = /* |'\`'| */ character_class[123] = /* |'{'| */ character_class[124] = /* |'|'| */ character_class[125] = /* |'}'| */ character_class[126] = Rule_EBCDIC; /* |'~'| */ @ Output character |ch| to the output stream, encoded as required. If |paranoid| is set, we encode all printable ASCII character as hexadecimal escapes. If |EBCDIC_out| is set, we quote ASCII characters which aren't present in EBCDIC. If |binary_input| is set, end of line sequences are also quoted. @= switch (character_class[ch]) { case Rule_1: /* General 8-bit representation: encode as =XX */ @; emit_hex_encoded(ch); break; case Rule_2: /* Literal representation: character doesn't need encoding */ @; if (paranoid) { emit_hex_encoded(ch); } else { emit_literally(ch); } break; case Rule_3: /* White space: may not occur at end of line */ if (paranoid) { emit_hex_encoded(ch); } else { @; /* Flush already-pending white space */ pending_white_space = ch; /* Set this white space as pending */ } break; case Rule_4: /* Line break sequence */ if (binary_input) { /* If we're treating the input as a pure binary file, we must encode end of line characters as hexadecimal rather than converting them to the canonical end of line sequence. */ @; emit_hex_encoded(ch); } else { @; /* We mustn't end a line with white space. If there is pending white space at the end of line, emit it hex encoded before the end of line sequence. */ if (pending_white_space != 0) { emit_hex_encoded(pending_white_space); pending_white_space = 0; } output_line_break(); } break; case Rule_EBCDIC: @; /* If we're generating EBCDIC-compatible output, quote the ASCII characters which differ in EBCDIC. */ if (EBCDIC_out || paranoid) { emit_hex_encoded(ch); } else { emit_literally(ch); } break; } @ Procedure |is_end_of_line_sequence| tests whether the character |ch| is the first character of an end of line sequence and, if so, digests any subsequent characters also part of the end of line sequence. Returns |TRUE| if an end of line sequence is present and |FALSE| otherwise. @c static int is_end_of_line_sequence(int ch) { if ((ch == ASCII_CARRIAGE_RETURN) || (ch == ASCII_LINE_FEED)) { @; return TRUE; } return FALSE; } @ To comply with Rule 5 (Soft Line Breaks), we need to keep track of the length of output lines as we assemble them and break them so they don't exceed |LINELEN| characters. @+= static int current_line_length = 0; /* Length of current line */ @ In the interest of readability, we want to encode white space (|Rule_3|) characters: spaces and horizontal tabs as themselves wherever possible, but since we must cope with transfer agents which add and delete trailing white space at will, we must ensure that the last character of each encoded line is never significant white space. We accomplish this by deferring output of white space by storing its character code in |pending_white_space| and emitting it unencoded only upon discovering that there's a subsequent non white space character. If, at end of line, we discover there's white space pending, we must encode it as Hex with |emit_hex_encoded| according to Rule 1. @+= static int pending_white_space = 0; /* Pending white space character if nonzero */ @ Before emitting a non-end-of-line character, regardless of how encoded, we must check for pending white space and, if present, flush it to the output stream. Since we're guaranteed at this point that it isn't at the end of line, there's no need to encode it. @= if (pending_white_space != 0) { emit_literally(pending_white_space); pending_white_space = 0; } @ We must cope with all the end of line sequences which may be used by various systems. We apply the following rule: an end of line sequence begins with either a carriage return or line feed, optionally followed by a the other of the potential end of line characters. Any other character (including a duplicate of the character which introduced the sequence) is pushed back onto the input stream for subsequent processing. In this code |ch| is the first character of the end of line sequence. @= { int chn = getc(fi); if (chn != EOF) { if ((chn == ASCII_LINE_FEED) || (chn == ASCII_CARRIAGE_RETURN)) { if (chn == ch) { ungetc(chn, fi); } } else { ungetc(chn, fi); } } } @ If the file being encoded doesn't end with an end of line sequence, we must emit a soft line break followed by the canonical end of line sequence to guarantee the last encoded output line {\it is} properly terminated. @= if (current_line_length > 0) { putc(ASCII_EQUAL_SIGN, fo); output_line_break(); } @** Decoding. The following sections handle decoding of a Quoted-Printable input stream into a binary output stream. @ Procedure |decode| decodes a Quoted-Printable encoded stream from |fi| and emits the binary result on |fo|. @c static void decode(void) { int ch, ch1, ch2; while ((ch = read_decode_character()) != EOF) { switch (ch) { case ASCII_EQUAL_SIGN: /* `\.{=}': Encoded character or soft end of line */ @; if (ch != EOF) { putc(ch, fo); } break; case ASCII_CARRIAGE_RETURN: /* CR: End of line sequence */ case ASCII_LINE_FEED: /* LF: End of line sequence */ @; putc('\n', fo); /* Output end of line in system EOL idiom */ break; default: /* Character not requiring encoding */ putc(ch, fo); break; } } } @ When we encounter an equal sign in the input stream there are two possibilities: it may introduce two characters of ASCII representing an 8-bit octet in hexadecimal or, if followed by an end of line sequence, it's a ``soft end-of-line'' introduced to avoid emitting a long longer than the number of chracters prescribed by the |LINELEN| constraint. We look forward in the input stream and return EOF if this equal sign denotes a soft end-of-line or the character code given by the two subsequent hexadecimal digits. While the RFC prescribes that all letters representing hexadecimal digits be upper case, conforming to the recommendation for ``robust implementations'', we accept lower case letters in their stead. @= ch1 = read_decode_character(); @; if (ch1 == EOF) { fprintf(stderr, "Error: unexpected end of file after soft line break sequence at byte %" @| FILE_ADDRESS_FORMAT_LENGTH @| "u (0x%" @| FILE_ADDRESS_FORMAT_LENGTH @| "X) of input.\n", decode_input_stream_position - 1, decode_input_stream_position - 1); decode_errors++; } if (is_end_of_line_sequence(ch1) || (ch1 == EOF)) { ch = EOF; } else { int n1, n2; n1 = hex_to_nybble(ch1); ch2 = read_decode_character(); n2 = hex_to_nybble(ch2); if (n1 == EOF || n2 == EOF) { @; decode_errors++; } ch = (n1 << 4) | n2; } @ There are lots of ways of defining ``ASCII white space,'' but RFC~1521 explicitly states that only ASCII space and horizontal tab characters are deemed white space for the purposes of Quoted-Printable encoding. @= ((ch1 == ASCII_SPACE) || (ch1 == ASCII_HORIZONTAL_TAB)) @ Some systems pad text lines with white space (ASCII blank or horizontal tab characters). This may result in a line encoded with a ``soft line break'' at the end appearing, when decoded, with white space between the supposedly-trailing equal sign and the end of line sequence. If white space follows an equal sign escape, we ignore it up to the beginning of an end of line sequence. Non-white space appearing before we sense the end of line is an error; these erroneous characters are ignored. @= while (@) { ch1 = read_decode_character(); if (is_end_of_line_sequence(ch1)) { break; } if (!@) { if (ch1 == EOF) { break; } @; decode_errors++; ch1 = ASCII_SPACE; /* Fake a space and soldier on */ } } @ On systems which support 64-bit file I/O, we want to be able to issue error messages with addresses that aren't truncated at 32 bits, but we may find ourselves confronted with a compiler which doesn't support |unsigned long long| 64-bit integers, or on a system such as the Alpha where |unsigned long| is itself 64 bits in length. The \.{configure} script determines the length of the |unsigned long long| and |unsigned long| types, setting the length of |unsigned long long| to 0 if the compiler does not support it. Based on the results of these tests, we define the type to be used for file addresses and which format to use when printing them. @+= #if (SIZEOF_UNSIGNED_LONG == 8) || (SIZEOF_UNSIGNED_LONG_LONG == 0) /* |unsigned long| on this machine is 64 bits or the compiler doesn't support |unsigned long long|. In either of these rather different cases we want to use |unsigned long| for file addresses. */ typedef unsigned long file_address_type; #define FILE_ADDRESS_FORMAT_LENGTH "l" #else /* Compiler supports |unsigned long long| and |unsigned long| is not 64 bits. Use |unsigned long long| for file addresses. */ typedef unsigned long long file_address_type; #define FILE_ADDRESS_FORMAT_LENGTH "ll" #endif @ Error messages during the decoding process are much more useful if they identify the position in the stream where the error was identified. We keep track of the position in the stream in |decode_input_stream_position|. We use the variable |decode_errors| to keep track of the number of errors in the decoding process. Even if the user has suppressed error messages, this permits us to return a status indicating that one or more decoding errors occurred. @+= static file_address_type decode_input_stream_position = 0; static long decode_errors = 0; @ We need to pre-declare the function |read_decode_character| for those who call it before we introduce it in the source code. @+= static int read_decode_character(void); @ Procedure |read_decode_character| reads the next character from the input stream and advances the position counter in the stream, |decode_input_stream_position|. @c static int read_decode_character(void) { int ch; ch = getc(fi); if (ch != EOF) { decode_input_stream_position++; } return ch; } @ We also must pre-declare |hex_to_nybble| for the same reasons. @+= static int hex_to_nybble(int ch); @ Procedure |hex_to_nybble| converts an ASCII hexadecimal digit character to its binary 4 bit value. An argument which cannot be converted returns |EOF|. @c static int hex_to_nybble(int ch) { if ((ch >= ASCII_0) && (ch <= (ASCII_0 + 9))) { return ch - '0'; } else if ((ch >= ASCII_A) && (ch <= (ASCII_A + 5))) { return 10 + (ch - ASCII_A); } else if ((ch >= ASCII_LOWER_CASE_A) && (ch <= (ASCII_LOWER_CASE_A + 5))) { return 10 + (ch - ASCII_LOWER_CASE_A); } return EOF; } @ If we encounter an equal sign that isn't either at the end of a line (denoting a ``soft line break'') or followed by two hexadecimal digits, we increment the number of decoding errors detected and, unless suppressed by the \.{-n} option, as indicated by the variable |errcheck|, issue an error message on standard output. We print the escape sequence as ASCII characters if possible, but if we're running on a non-ASCII system or one or more of the characters following the equal sign isn't printable, we show the hexadecimal values of the characters. @= if (errcheck) { if (@ && Character_is_printable_ISO_8859(ch1) && Character_is_printable_ISO_8859(ch2)) { @.Error: bad equal sign escape@> fprintf(stderr, "Error: bad equal sign escape \"=%c%c\" at byte %" @| FILE_ADDRESS_FORMAT_LENGTH @| "u (0x%" @| FILE_ADDRESS_FORMAT_LENGTH @| "X) of input.\n", ch1, ch2, decode_input_stream_position - 3, decode_input_stream_position - 3); } else { /* Characters after the equal sign are not printable. Display them in hexadecimal. */ fprintf(stderr, "Error: bad equal sign escape \"= 0x%02X 0x%02X\" at byte %" @| FILE_ADDRESS_FORMAT_LENGTH @| "u (0x%" @| FILE_ADDRESS_FORMAT_LENGTH @| "X) of input.\n", ch1, ch2, decode_input_stream_position - 3, decode_input_stream_position - 3); } } @ Another possible decoding error is the presence of a non white space character between the equal sign introducing a soft line break and the end of line sequence which follows it. In order to cope with systems which may pad text lines with white space, white space is permitted between the trailing equal sign and end of line, but once we've seen one white space character following an equal sign, every subsequent character up to the end of line must also be white space. In the following code |ch1| is the invalid character detected in the soft line break. @= if (errcheck) { if (@ && Character_is_printable_ISO_8859(ch1)) { @.Error: invalid $\ldots$ soft line break@> fprintf(stderr, "Error: invalid character \"%c\" in soft line break sequence at byte %" @| FILE_ADDRESS_FORMAT_LENGTH @| "u (0x%" @| FILE_ADDRESS_FORMAT_LENGTH @| "X) of input.\n", ch1, decode_input_stream_position - 1, decode_input_stream_position - 1); } else { /* Invalid character is not not printable. Display it in hexadecimal. */ fprintf(stderr, "Error: invalid character \"0x%02X\" in soft line break sequence at byte %" @| FILE_ADDRESS_FORMAT_LENGTH @| "u (0x%" @| FILE_ADDRESS_FORMAT_LENGTH @| "X) of input.\n", ch1, decode_input_stream_position - 1, decode_input_stream_position - 1); } } @** Utilities. @ The vast majority of users will run this program on ASCII-based systems, but we must also cope with EBCDIC systems. When issuing error messages, we'd like to be able to include ASCII characters from the input stream in certain cases, but we can't do this on EBCDIC systems without including a necessarily incomplete conversion table which would be absurdly excess baggage for a little program like this. We compromise by falling back to hexadecimal display when running on non-ASCII systems. But how do we discern this? The following expression tests a compiler-generated character for equality with its character code in ASCII. This will fail on EBCDIC systems, permitting us to generate the variant messages. @= ('a' == 0x61) @ Even on an ASCII-based system we mustn't include non-printing characters in error messages. Once we've established the system is ASCII using |@| we must further test that the character falls within the printable range for ISO 8859 Latin-1. @d Character_is_printable_ISO_8859(c) (((((c) >= 0x20) && ((c) <= 0x7E)) || ((c) >= 0xA1))) @** Command line parsing. @ The following global variables represent command-line options. @+= static int decoding = FALSE; /* Decoding (TRUE) or encoding (FALSE) */ static int encoding = FALSE; /* Encoding (TRUE) or decoding (FALSE) */ static int binary_input = FALSE; /* Treat input as a binary file ? */ static int errcheck = TRUE; /* Check decode input for errors ? */ static int EBCDIC_out = FALSE; /* Generate EBCDIC-compatible output */ static int paranoid = FALSE; /* Paranoid output: quote {\it everything} */ @ We use |getopt| to process command line options. This permits aggregation of options without arguments and both \.{-d}{\it arg} and \.{-d} {\it arg} syntax. We support GNU-style ``\.{--}'' extended options which aren't directly supported by |getopt| through the following subterfuge: if the main option letter is ``\.{--}'', we convert the following letter to upper case, which permits us to discriminate it in the option processing |case| statement, which in many cases will simply be a fall-through into the same code we use for the regular option beginning with a single minus sign. If we need to further disambiguate extended options, this must be done in the case processing the extended option. @= for (;;) { opt = getopt(argc, argv, "bdeinpu-:"); if (opt == -1) { break; } if (opt == '-') { /* If this is an extended ``\.{--}'' option, take the first letter (if it so be) after the second dash and translate it to upper case so we can distinguish it in the |case| statement which follows. */ if (islower(optarg[0])) { opt = toupper(optarg[0]); } } switch (opt) { @q Note the idiom used to properly align multiple cases @> @q falling through to the same code. Keep this in mind @> @q when the case comes up again. @> case 'b':@; /* \.{-b} \.{--binary} Binary input file */ case 'B':@/ binary_input = TRUE; break; case 'C': /* \.{--copyright} */ printf("This program is in the public domain.\n"); return 0; case 'd':@; /* \.{-d} \.{--decode} Decode */ case 'D':@/ decoding = TRUE; break; case 'e': /* \.{-e} Encode */ encoding = TRUE; break; case 'E': /* \.{--encode} or \.{--ebcdic} */ @; break; case 'H': /* \.{--help} */ usage(); return 0; case 'i': /* \.{-i} EBCDIC-compatible output */ EBCDIC_out = TRUE; break; case 'n':@; /* \.{-n} \.{--noerrcheck} Suppress error checking */ case 'N':@/ errcheck = FALSE; break; case 'p':@; /* \.{-p} \.{--paranoid} Paranoid: quote even printable characters */ case 'P':@/ paranoid = TRUE; break; case 'u':@; /* \.{-u} Print how-to-call information */ case '?':@/ usage(); return 0; case 'V': /* \.{--version} */ @; return 0; default: /* Invalid extended option */ @.Invalid option@> fprintf(stderr, "Invalid option: --%s\n", optarg); return 2; } } @ There are two extended options which begin with ``\.{--e}'': \.{--ebcdic} and \.{--encode}. We must distinguish them by looking at the second letter of the option. @= switch (optarg[1]) { case 'b': /* \.{--ebcdic} */ EBCDIC_out = TRUE; break; case 'n': /* \.{--encode} */ encoding = TRUE; break; default: @.Invalid option@> fprintf(stderr, "Invalid option: --%s\n", optarg); return 2; } @ After processing the command-line options, we need to check them for consistency, for example, that the user hasn't simultaneously asked us to encode and decode a file. @= if (encoding && decoding) { @.Cannot both encode and decode@> fprintf(stderr, "Cannot simultaneously encode and decode.\n"); return 2; } if (!(encoding || decoding)) { @.Please specify encode or decode@> fprintf(stderr, "Please specify --encode (-e) or --decode (-d).\n"); return 2; } @ This code is executed after |getopt| has completed parsing command line options. At this point the external variable |optind| in |getopt| contains the index of the first argument in the |argv[]| array. The first two arguments specify the input and output file. If either argument is omitted or ``\.{-}'', standard input or output is used. On systems which distinguish text and binary I/O (for end of line translation), we always open the input file in binary mode. The output file is opened in binary mode when encoding (since the standard requires RFC 822 CR/LF end of line convention regardless of that used by the host system), but text mode while decoding, since output should conform to the system's end of line convention. @= f = 0; for (; optind < argc; optind++) { cp = argv[optind]; switch (f) { /** Warning! On systems which distinguish text mode and binary I/O (MS-DOS, Macintosh, etc.) the modes in these open statements will have to be made conditional based upon whether an encode or decode is being done, which will have to be specified earlier. But it's worse: if input or output is from standard input or output, the mode will have to be changed on the fly, which is generally system and compiler dependent. 'Twasn't me who couldn't conform to Unix CR/LF convention, so don't ask me to write the code to work around Apple and Microsoft's incompatible standards. **/ case 0: if (strcmp(cp, "-") != 0) { if ((fi = fopen(cp, #ifdef FORCE_BINARY_IO "rb" #else "r" #endif )) == NULL) { @.Cannot open input file@> fprintf(stderr, "Cannot open input file %s\n", cp); return 2; } #ifdef FORCE_BINARY_IO in_std = FALSE; #endif } f++; break; case 1: if (strcmp(cp, "-") != 0) { if ((fo = fopen(cp, #ifdef FORCE_BINARY_IO (decoding && (!binary_input)) ? "w" : "wb" #else "w" #endif )) == NULL) { @.Cannot open output file@> fprintf(stderr, "Cannot open output file %s\n", cp); return 2; } #ifdef FORCE_BINARY_IO out_std = FALSE; #endif } f++; break; default: @.Too many file names@> fprintf(stderr, "Too many file names specified.\n"); usage(); return 2; } } @ Procedure |usage| prints how-to-call information. @c static void usage(void) { @.Usage...@> printf("%s -- Encode/decode file as Quoted-Printable. Call:\n", PRODUCT); printf(" %s [-e / -d] [options] [infile] [outfile]\n", PRODUCT); printf("\n"); printf("Options:\n"); printf(" -b, --binary Treat input as pure binary file\n"); printf(" --copyright Print copyright information\n"); printf(" -d, --decode Decode Quoted-Printable encoded file\n"); printf(" -e, --encode Encode file into Quoted-Printable\n"); printf(" -i, --ebcdic EBCDIC-compatible encoding output\n"); printf(" -n, --noerrcheck Ignore errors when decoding\n"); printf(" -p, --paranoid Paranoid: quote even printable characters\n"); printf(" -u, --help Print this message\n"); printf(" --version Print version number\n"); printf("\n"); printf("by John Walker\n"); printf("http://www.fourmilab.ch/\n"); } @ Show program version information in response to the \.{--version} option. @= printf("%s %s\n", PRODUCT, VERSION); printf("Last revised: %s\n", REVDATE); printf("The latest version is always available\n"); printf("at http://www.fourmilab.ch/webtools/qprint/\n"); @** Main program. The exit status returned by the main program is 0 for normal completion, 1 if an error occurred in decoding, and 2 for invalid options or file name arguments. @c int main(int argc, char *argv[]) { extern char *optarg; /* Imported from |getopt| */ extern int optind; int f, opt; #ifdef FORCE_BINARY_IO int in_std = TRUE, out_std = TRUE; #endif char *cp; /* Some C compilers don't allow initialisation of static variables such as |fi| and |fo| with their library's definitions of |stdin| and |stdout|, so we initialise them at runtime. */ fi = stdin; fo = stdout; @;@\ @;@\ @;@\ @;@\ if (decoding) { decode(); } else { encode(); } return decode_errors ? 1 : 0; } @ On Win32, if a binary stream is the default of |stdin| or |stdout|, we must place this stream, opened in text mode (translation of CR to CR/LF) by default, into binary mode (no EOL translation). If you port this code to other platforms which distinguish between text and binary file I/O (for example, the Macintosh), you'll need to add equivalent code here. The following code sets the already-open standard stream to binary mode on Microsoft Visual C 5.0 (Monkey C). If you're using a different version or compiler, you may need some other incantation to cancel the text translation spell. @= #ifdef FORCE_BINARY_IO if (in_std) { #ifdef _WIN32 _setmode(_fileno(fi), O_BINARY); #endif } if (((!decoding) || binary_input) && out_std){ #ifdef _WIN32 _setmode(_fileno(fo), O_BINARY); #endif } #endif @** Index. The following is a cross-reference table for \.{qprint}. Single-character identifiers are not indexed, nor are reserved words. Underlined entries indicate where an identifier was declared. qprint-1.1/qprint.10000644000603300000120000001060712444132156013440 0ustar kelvinwheel.TH qprint 1 "16 DEC 2014" .UC 4 .SH NAME qprint \- encode / decode file as RFC 1521 MIME Quoted-Printable .SH SYNOPSIS .B qprint .BR \-d | \-e [ .I options ] [ .I infile [ .I outfile ] ] .SH DESCRIPTION The MIME (Multipurpose Internet Mail Extensions) specification RFC 1521 and successors) defines a mechanism for encoding text consisting primarily of printable ASCII characters, but which may contain characters (for example, accented letters in the ISO 8859 Latin-1 character set) which cannot be encoded as 7-bit ASCII or are non-printable characters which may confuse mail transfer agents. .PP .B qprint is a command line utility which encodes and decodes files in this format. It can be used within a pipeline as an encoding or decoding filter, and is most commonly used in this manner as part of an automated mail processing system. With appropriate options, .B qprint can encode pure binary files, but it's a poor choice since it may inflate the size of the file by as much as a factor of three. The Base64 MIME encoding is a better choice for such data. .SH OPTIONS .TP 12 .BR \-b ", " \-\-binary Treat the input (when encoding) or output (when decoding) file as pure binary, and process end of line sequences as binary data. Encoding and decoding a file with this option preserves the exact sequence of bytes in the input, but does not perform the translation of end of line sequences normally performed by Quoted-Printable encoding. .TP .B \-\-copyright Print program copyright information. .TP .BR \-d ", " \-\-decode Decodes the input, previously created by .BR qprint , to recover the original input file. .TP .BR \-e ", " \-\-encode Encodes the input into an output text file containing its qprint encoding. .TP .BR \-i ", " \-\-ebcdic Encode ASCII characters for which no equivalent exists in the EBCDIC character set. This renders files more portable when transported to EBCDIC systems. .TP .BR \-n ", " \-\-noerrcheck Suppress error checking when decoding. By default, upon encountering a non white space character which does not belong to the qprint set, or discovering the input file is incorrectly padded to a multiple of four characters, .B qprint issues an error message and terminates processing with exit status 1. The .B \-n option suppresses even this rudimentary error checking; invalid characters are silently ignored and the output truncated to the last three valid octets if the input is incorrectly padded. .TP .BR \-p " ," \-\-paranoid Every character in the input file will be encoded as an escape sequence. You must also specify the .B \-b or .B \-\-binary option if you wish end of line sequences to be escaped as well. This option is a last resort when there's no other way to transmit the file, but an encoding explicitly designed for binary data such as Base64 is a much more economical choice. .TP .BR \-u ", " \-\-help Print how-to-call information. .TP .B \-\-version Print program version information. .SH EXIT STATUS .B qprint returns status 0 if processing was completed without errors, 1 if an I/O error occurred or errors were detected in decoding a file which indicate it is incorrect or incomplete, and 2 if processing could not be performed at all due, for example, to a nonexistent input file. .SH FILES If no .I infile is specified or .I infile is a single ``\-'', .B qprint reads from standard input; if no .I outfile is given, or .I outfile is a single ``\-'', output is sent to standard output. The input and output are processed strictly serially; consequently .B qprint may be used in pipelines. The program can process files of any size supported by the system containing text lines of arbitrary length. .SH BUGS Encoding a file with a large percentage of non-ASCII characters may dramatically increase its size. This is inherent in the design of Quoted-Printable encoding. .PP Please report bugs and documentation errors to .BR bugs@fourmilab.ch . .SH "SEE ALSO" .PD .BR base64 (1), .BR uuencode (1), RFC1521 .ne 4 .SH AUTHOR .RS 5 .nf John Walker http://www.fourmilab.ch/ .fi .RE .PD .PP This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided ``as is'' without express or implied warranty. .PP This is version 1.1 of .BR qprint . The current version of this program may be downloaded from http://www.fourmilab.ch/webtools/qprint. qprint-1.1/config.h.in0000644000603300000120000000132007247456555014075 0ustar kelvinwheel/* config.h.in. Generated automatically from configure.in by autoheader. */ /* Define if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if you have the getopt function. */ #undef HAVE_GETOPT /* Define if you have the header file. */ #undef HAVE_STRING_H /* Define if you have the header file. */ #undef HAVE_STRINGS_H /* Define if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the name of the distribution. */ #undef PRODUCT /* Define to the version of the distribution. */ #undef VERSION /* Size of "unsigned long long", if defined. */ #undef SIZEOF_UNSIGNED_LONG_LONG /* Size of "unsigned long". */ #undef SIZEOF_UNSIGNED_LONG qprint-1.1/configure0000755000603300000120000043256612444123013013754 0ustar kelvinwheel#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= PACKAGE_URL= ac_unique_file="qprint.c" ac_default_prefix=/usr/local # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS LIBOBJS EGREP GREP CPP INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC VERSION PRODUCT target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" PRODUCT=qprint VERSION=1.1 cat >>confdefs.h <<_ACEOF #define PRODUCT "$PRODUCT" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in unistd.h string.h strings.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long" >&5 $as_echo_n "checking size of unsigned long long... " >&6; } if ${ac_cv_sizeof_unsigned_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long))" "ac_cv_sizeof_unsigned_long_long" "$ac_includes_default"; then : else if test "$ac_cv_type_unsigned_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (unsigned long long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_unsigned_long_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_long" >&5 $as_echo "$ac_cv_sizeof_unsigned_long_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 $as_echo_n "checking size of unsigned long... " >&6; } if ${ac_cv_sizeof_unsigned_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"; then : else if test "$ac_cv_type_unsigned_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (unsigned long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_unsigned_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 $as_echo "$ac_cv_sizeof_unsigned_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long _ACEOF for ac_func in getopt do : ac_fn_c_check_func "$LINENO" "getopt" "ac_cv_func_getopt" if test "x$ac_cv_func_getopt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT 1 _ACEOF fi done ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi qprint-1.1/install-sh0000755000603300000120000001123506750343512014046 0ustar kelvinwheel#! /bin/sh # # install - install a program, script, or datafile # This comes from X11R5. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. # # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" tranformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 qprint-1.1/COPYING0000644000603300000120000000044007244207775013102 0ustar kelvinwheel This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided "as is" without express or implied warranty. qprint-1.1/getopt.c0000644000603300000120000001137607245742576013533 0ustar kelvinwheel/* Date: Tue, 25 Dec 84 19:20:50 EST From: Keith Bostic To: genrad!sources Subject: public domain getopt(3) There have recently been several requests for a public domain version of getopt(3), recently. Thought this might be worth reposting. Keith Bostic ARPA: keith@seismo UUCP: seismo!keith ====================================================================== In April of this year, Henry Spencer (utzoo!henry) released a public domain version of getopt (USG, getopt(3)). Well, I've been trying to port some USG dependent software and it didn't seem to work. The problem ended up being that the USG version of getopt has some external variables that aren't mentioned in the documentation. Anyway, to fix these problems, I rewrote the public version of getopt. It has the following advantages: -- it includes those "unknown" variables -- it's smaller/faster 'cause it doesn't use the formatted output conversion routines in section 3 of the UNIX manual. -- the error messages are the same as S5's. -- it has the same side-effects that S5's has. -- the posted bug on how the error messages are flushed has been implemented. (posting by Tony Hansen; pegasus!hansen) I won't post the man pages since Henry already did; a special note, it's not documented in the S5 manual that the options ':' and '?' are illegal. It should be obvious, but I thought I'd mention it... This software was derived from binaries of S5 and the S5 man page, and is (I think?) totally (I'm pretty sure?) compatible with S5 and backward compatible to Henry's version. Keith Bostic ARPA: keith@seismo UUCP: seismo!keith *UNIX is a trademark of Bell Laboratories Further modified by John Walker on 2001-02-19 to accept GNU-style "--xxx" options. The original code considered any option beginning with "--" as the end of the options list. I changed the logic so that only "--" without a suffix is treated as an end of option marker. .. cut along the dotted line ......................................... */ #include "config.h" #include #ifdef HAVE_STRING_H #include #else #ifdef HAVE_STRINGS_H #include #endif #endif #ifndef HAVE_GETOPT #include "getopt.h" /* * get option letter from argument vector */ int optind = 1, /* index into parent argv vector */ optopt; /* character checked for validity */ char *optarg; /* argument associated with option */ #define BADCH (int)'?' #define EMSG "" #define tell(s) fputs(*nargv,stderr);fputs(s,stderr); \ fputc(optopt,stderr);fputc('\n',stderr);return(BADCH); int Getopt(int nargc, char *nargv[], char *ostr) { static char *place = EMSG; /* option letter processing */ static char *lastostr = (char *) 0; register char *oli; /* option letter list index */ char *index(); /* LANCE PATCH: dynamic reinitialization */ if (ostr != lastostr) { lastostr = ostr; place = EMSG; } if(!*place) { /* update scanning pointer */ if((optind >= nargc) || (*(place = nargv[optind]) != '-') || ! *++place) { place = EMSG; return(EOF); } /* Test for "--" as terminator of options. Note that options which begin with "--" remain acceptable (for example, "--help"); only "--" by itself terminates the option list. */ if (*place == '-' && place[1] == 0) { ++optind; return(EOF); } } /* option letter okay? */ if ((optopt = (int)*place++) == (int)':' || !(oli = strchr(ostr, optopt))) { if(!*place) ++optind; tell(": invalid option -- "); } if (*++oli != ':') { /* don't need argument */ optarg = NULL; if (!*place) ++optind; } else { /* need an argument */ if (*place) optarg = place; /* no white space */ else if (nargc <= ++optind) { /* no arg */ place = EMSG; tell(": option requires an argument -- "); } else optarg = nargv[optind]; /* white space */ place = EMSG; ++optind; } return(optopt); /* dump back option letter */ } #endif qprint-1.1/Makefile.in0000644000603300000120000001513512444132650014106 0ustar kelvinwheel # Development tree name for this version PRODUCT = @PRODUCT@ VERSION = @VERSION@ TREE = $(PRODUCT)-$(VERSION) # Utilities used in building the program SHELL = /bin/sh CC = @CC@ CTANGLE = ctangle CWEAVE = cweave DVIPS = dvips INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ PDFTEX = pdftex TEX = tex XDVI = xdvi # Utility options CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ # Targets PROGS = $(PRODUCT) DOCUMENTS = $(PRODUCT).tex # Installation destinations ## The 'DESTDIR' variable allows you to install the program into a different ## location, e.g., for packaging, without affecting the compiled-in pathnames. DESTDIR = prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ mandir = @mandir@ man1dir = $(mandir)/man1 man1ext = .1 BINDIR = $(DESTDIR)$(bindir) MAN1DIR = $(DESTDIR)$(man1dir) prog: $(PROGS) doc: $(DOCUMENTS) all: $(PROGS) $(DOCUMENTS) # Build executable program $(PRODUCT): $(PRODUCT).o getopt.o $(CC) $(PRODUCT).o getopt.o -o $(PRODUCT) $(CFLAGS) $(LDFLAGS) # Create C source from web .w.c: $(CTANGLE) $*.w # Build TeX documentation file from web .w.tex: $(CWEAVE) $*.w # Create TeX .dvi file of documentation .tex.dvi: $(TEX) $*.tex # View TeX documentation viewdoc: $(PRODUCT).dvi $(XDVI) $(PRODUCT) # Build PostScript file to print program .dvi.ps: $(DVIPS) -f @*.dvi >$*.ps # Build PDF file of program and documentation $(PRODUCT).pdf: $(PRODUCT).tex $(PDFTEX) $(PRODUCT).tex # Test programs and support for same wretch: wretch.o $(CC) wretch.o -o wretch $(CFLAGS) $(LDFLAGS) wretch.bin: wretch ./wretch # Build auto-configuration scripts configurator: rm -f config.cache autoconf # Installation install-bin: $(BINDIR) $(PRODUCT) $(INSTALL_PROGRAM) $(PRODUCT) $(BINDIR)/$(PRODUCT) install-man: $(PRODUCT).1 $(INSTALL_DATA) $(PRODUCT).1 $(MAN1DIR)/$(PRODUCT)$(man1ext) install: install-bin install-man # Uninstallation uninstall: rm -f $(BINDIR)/$(PRODUCT) $(MAN1DIR)/$(PRODUCT)$(man1ext) # There are a variety of levels of cleanliness # # clean: Remove object code, but leave C and TeX extracts from web # and generated documentation. The current build configuration # is preserved. clean: rm -f $(PROGS) *.o *.bak *.shar *.zip *.tar.gz *.dvi core *.out \ *.log # # distclean: Remove everything not present in the distribution. # This wipes out the build configuration; you must # re-run ./configure before rebuilding. distclean: clean rm -f config.cache config.h Makefile config.log config.status rm -f $(PRODUCT).tex $(PRODUCT).idx $(PRODUCT).scn $(PRODUCT).toc # # maintainer-clean: Remove everything derivative from the # master web. We don't delete $(PRODUCT).c # because that causes configure to fail. maintainer-clean: distclean @echo 'This command is intended for maintainers to use; it' @echo 'deletes files that may need special tools to rebuild.' rm -f *.ps *.pdf rm -f wretch.c wretch.bin # Create distribution archives ARCH_SOURCE = Makefile.in $(PRODUCT).c $(PRODUCT).w config.h.in getopt.c getopt.h ARCH_DOC = $(PRODUCT).1 index.html logo.gif \ rfc1521.html rfc1521.txt $(PRODUCT).pdf \ COPYING INSTALL README ARCH_BIN = $(PRODUCT).exe ARCH_CONF = configure configure.in install-sh ARCH_WRETCH = wretch.w wretch.c wretch.bin ARCH_FILES = $(ARCH_SOURCE) $(ARCH_DOC) $(ARCH_BIN) $(ARCH_CONF) $(ARCH_WRETCH) dist: # Make zipped archive of Win32 executable rm -f $(PRODUCT).zip zip $(PRODUCT).zip $(ARCH_BIN) # Make gzipped tar archive of complete distribution rm -f $(TREE).tar.gz rm -rf $(TREE) mkdir $(TREE) chmod 777 $(TREE) @echo "Copying distribution files" @for file in $(ARCH_FILES); do \ cp -p $$file $(TREE); \ done tar cfv $(TREE).tar $(TREE) gzip $(TREE).tar rm -rf $(TREE) # Check for lint lint: $(PRODUCT).c lint $(PRODUCT).c # View manual page manpage: nroff -man $(PRODUCT).1 | more # Print manual page printman: ptroff -man $(PRODUCT).1 # Test it check: $(PRODUCT) wretch.bin ./$(PRODUCT) --encode --binary /tmp/$(PRODUCT)1.bak ./$(PRODUCT) --decode /tmp/$(PRODUCT)2.bak -cmp -s wretch.bin /tmp/$(PRODUCT)2.bak ; if test $$? -ne 0 ; then \ echo '** $(PRODUCT): Redirection test failed. **' ; else \ ./$(PRODUCT) -eb wretch.bin /tmp/$(PRODUCT)1.bak ;\ ./$(PRODUCT) -d /tmp/$(PRODUCT)1.bak /tmp/$(PRODUCT)2.bak ;\ cmp -s wretch.bin /tmp/$(PRODUCT)2.bak ; if test $$? -ne 0 ; then \ echo '** $(PRODUCT): Command line file argument test failed. **' ; else \ echo 'All tests passed.' ; fi ; fi @rm /tmp/$(PRODUCT)1.bak /tmp/$(PRODUCT)2.bak # Beat it over the head with an aluminium baseball bat wringer: $(PRODUCT) wretch.bin @echo 'This test performs 13 nested encodes and decodes using' @echo 'various options and compares the result to the' @echo 'original file.' ./$(PRODUCT) -e --binary wretch.bin /tmp/$(PRODUCT)1.bak # E 1 ./$(PRODUCT) -e /tmp/$(PRODUCT)1.bak /tmp/$(PRODUCT)2.bak # E 2 ./$(PRODUCT) -e /tmp/$(PRODUCT)2.bak /tmp/$(PRODUCT)3.bak # E 3 ./$(PRODUCT) -e /tmp/$(PRODUCT)3.bak /tmp/$(PRODUCT)4.bak # E 4 ./$(PRODUCT) -e /tmp/$(PRODUCT)4.bak /tmp/$(PRODUCT)5.bak # E 5 ./$(PRODUCT) -e --paranoid /tmp/$(PRODUCT)5.bak /tmp/$(PRODUCT)6.bak # E 6 ./$(PRODUCT) -e /tmp/$(PRODUCT)8.bak # E 7, 8 ./$(PRODUCT) -e /tmp/$(PRODUCT)8.bak /tmp/$(PRODUCT)9.bak # E 9 ./$(PRODUCT) -e --paranoid /tmp/$(PRODUCT)9.bak /tmp/$(PRODUCT)a.bak # E 10 ./$(PRODUCT) -e /tmp/$(PRODUCT)a.bak /tmp/$(PRODUCT)b.bak # E 11 ./$(PRODUCT) -e /tmp/$(PRODUCT)b.bak /tmp/$(PRODUCT)c.bak # E 12 ./$(PRODUCT) -e /tmp/$(PRODUCT)c.bak /tmp/$(PRODUCT)d.bak # E 13 # ./$(PRODUCT) -d /tmp/$(PRODUCT)d.bak /tmp/qpdc.bak # D 1 ./$(PRODUCT) -d /tmp/qpdc.bak /tmp/qpdb.bak # D 2 ./$(PRODUCT) -d /tmp/qpdb.bak /tmp/qpda.bak # D 3 ./$(PRODUCT) -d /tmp/qpda.bak /tmp/qpd9.bak # D 4 ./$(PRODUCT) -d /tmp/qpd9.bak /tmp/qpd8.bak # D 5 ./$(PRODUCT) -d /tmp/qpd8.bak /tmp/qpd7.bak # D 6 ./$(PRODUCT) -d /tmp/qpd7.bak /tmp/qpd6.bak # D 7 ./$(PRODUCT) -d /tmp/qpd4.bak # D 8, 9 ./$(PRODUCT) -d /tmp/qpd4.bak /tmp/qpd3.bak # D 10 ./$(PRODUCT) -d /tmp/qpd3.bak /tmp/qpd2.bak # D 11 ./$(PRODUCT) -d /tmp/qpd2.bak /tmp/qpd1.bak # D 13 ./$(PRODUCT) -d /tmp/qpd1.bak /tmp/qpd0.bak # D 13 # -cmp -s /tmp/qpd0.bak wretch.bin ; if test $$? -ne 0 ; then \ echo '** $(PRODUCT) Wringer test failed. **' ; else \ echo 'Wringer test passed.' ; fi @rm /tmp/$(PRODUCT)?.bak /tmp/qpd?.bak # Default rules .c.o: $(CC) -c $*.c $(CFLAGS) .SUFFIXES: .SUFFIXES: .c .o .ch .dvi .tex .w .1 .bin qprint-1.1/README0000644000603300000120000000260312444131354012715 0ustar kelvinwheel Q P R I N T by John Walker (http://www.fourmilab.ch/) Version 1.1 December 2014 QPRINT is a simple command-line filter which encodes and decodes files in Quoted-Printable encoding as defined in RFC 1521. For details on operation of the program, please consult the manual page "qprint.1" or its HTML equivalent "index.html" included in this distribution. For information on how to build and install the program, see the INSTALL file. Win32 users may, if they wish, use the ready-to-run qprint.exe file included in the archive. Source code for this program is written in the CWEB "Literate Programming" language in which C source code and TeX internal documentation are maintained in a single qprint.w file. CWEB programming tools may be downloaded from: http://www-cs-faculty.stanford.edu/~knuth/cweb.html but you do *not* need to install the CWEB tools to build this program; a ready-to-compile C program is included. An annotated source code listing is provided in the file qprint.pdf, which may be read with Acrobat Reader, which is a free download from: http://www.adobe.com/products/acrobat/readstep.html The latest version of this program may be downloaded from: http://www.fourmilab.ch/webtools/qprint/ Please report any bugs or documentation errors to: bugs@fourmilab.ch