www.digitalmars.com         C & C++   DMDScript  

D - TestGL tiny OpenGL testbed

reply "Sean L. Palmer" <seanpalmer earthlink.net> writes:
I got my tiny OpenGL testbed app working in D!  YES!  Only took one day
total, and most of that was making the windows API's that it uses available.
I must say that if anything it looks cleaner in D than in C++.  It's in the
attached zip file if anyone cares to try it.

Walter, you should consider adding these win*.d files to your windows.d in
phobos.  I mainly only got the ones this sample needed, but they are some of
the most common windows functions.  Also I went back and tried to make
unicode support (using version statement) but haven't tested that yet.

This is a rough first draft.  If I had GLU32.LIB that worked I'd put in
texture support and better error reporting.

Walter have you ever considered making printf (for Windows native mode apps,
as opposed to Console apps) to call OutputDebugString?  Windows apps don't
really have a stdout, so printf just goes into the bit bucket.

Sean


begin 666 TestGL.zip


M]Y/SV8STT)-?]$A^+<D>V",J!594LJRA-B!,44J%:U!2G]:0Z RJ1L,GVOH0
M<N;!ET6(LR*+4ZGCMCK 7W2E=(BFQH SSO8?^\V812=%WL+M(=KX[VW85B(N
MCR8UEK-H-Z5:X:J%*2^=B9)IGQ>0_$^LUDMA4Z+.U<MSQSR8TUPU`YJ#QF*U
M3/),+H,35AI')\X>'JGQ%? ":AI8KH ";=^K:W:6.DUHC+< V=UD[I%S&.V(
M?6][Q\"D/X/!H.F^0;KR5E_/"*[; &D,,/8-?OA4)"6X:9*T36HOML;BE:[,
MS)F6V+ESEJ&":6'0;VANM^ P'Z6[YKZ&9C7MC^QD]VS._ !02P,$% ```` `
M% J[+ _^6T\M````, ````X```!497-T1TPO<G5N+F)A=$M.48A)R4V)28DI

MJ[LLQT^09K06``"'1 ``#P```%1E<W1'3"]497-T1TPN9.P[[W/;N([?.]/_
M <E,LW:BN$[:[FOKJO-L679\]:^SG:1]O8Y'MFA;+[*DD>38[F[O;S^ %"E*

MTH X'AD$U&MWR47E0L/7YM'S9R]?$L,/]J&S7,6D9)3)Q;MW[\XOJ]4+,J:6
M1[ID:+EK&I)2!*\!>_X[M<)XY3K>7<6C<9DQF:R<B,Q]FQ+X&U*76A&UR=:)


M*LAU9HQI$#KW5DS?X_-5IS^>U/N&25:.%\70?G7;;Y+5UK/QN=T=&<2F]\C<
MB\G,B:/ V5$W>=]J*\:1>IOU\V=_$ +6C.DNWH1 2_NWZ/DS`L.[ _\O-/'L
MQY:+>$ R ['Q%X("L'\ L[D/ I#YR


MMTWC!+5\I+>[T_Y :HY& U$9\1 M444_3H1B /?'&C#ATA

MJW%S,7^I[EY4W^Z.M2 5,V^T8 EARF[F,1FU&W7P41K'U/3B<)](MYGM8TI"
M;:G--$N0P)2!,2<+!R+#P
M#AP
MHPP(.!O^QHLSI(:_#L _(L?W#GKMK
M9N=A'18]+":..FX Y=H*$FLG 4";!4%-CMXIL:W88N_Y03XE$(IKR(T0YKB?
M'-<MJ>Z WH/D90 ]0$=37KP-Z&43YY4X`V/7L^YH$PA^FB4^ZA[=<LF_;D]7


M6"] VF!3B[D2T0F*C2\ER9N1"E>N( &$KV3,A/CQBF)O)'#HG*XI1'58Q"UF
MJ62:!-;\#E8F6

M`86/Y\"*EQ=(P/P\!\]X>J[MRR-MB;<?0J6_\R:84Y6MGJ K(2M=*"M!X"ZZ
M4/8T59"UHX<D.!_TMZKO(%3Z5.*+7!IS9\UC1 5>I8$#G;XNI\ZXJ 1^Y,1 

MB!:AOTY\'OV,+],=SXDG'*&$ 31R_5A[PM-U$1&R[IHHSZ-<;M%-?,^!WDC 
M0T<TC-3($X&K4AYX4#E
M';E*%:P&T#ZKB


MB0NKD<[U/MN?1MM:"I=<=LAEQ[ALD<NNG"(I? I-C0-YPHS]]=0^._M64_%/



MGO+6J[>GK4YW8HX0VNWTS?KH5UET^ <L`#CLU8
MK/\E\DF6/!D"48AB1/!^ ZS6#UG^ A.*;4S Z$4^!( HAI25+/T8LA>;SC9+
M%BXJ4 ZV0EPV<T)46:?MQAM81[;P;R4A&AO2,0RFV9PVODQ,S4G7F)<OE^ZF
M ;/CLMES`E "HD/M,FR?9)KHNP I9%V;Q0)6`P3-*CP59]UFJ\T?LLQN0JJ6
M7['X"I7B0';1LW 88&67JQKN'I 9K%BV6-"6KN&[?OAZ4;I\\T93_ D96>Z0
M4"C%< -!K8TW1SN,1P;XP?"JKD$1/AWTV92['J=PD5I D>U9P V)&EVSWTP;
MFC2(5STKNL.V5KT[-LLU-)#M1$A!OI]S*Y%MZ,0\DV7>"RD6S4C6Y 1/=3$9
M72<]4.^1#H0

M-TS'N4&7CL>U[]3[[:XY5 *VX4.]=[DH52MO6MI%I=H2;3>0RM'=JT5I1XA&

M1C:"`OO>H;C)2P*)P1F!OX3.KN?;S-C#T> _3&/2&?1%1YC7=[#F=>)]20`'
M8;SR2^=,8L)^\\%+?ACD_ `N\%4=QW-(!D%W[0((8!ZBN&??,;?V232'M8")
MJ6YNUHKD[ V:9O>F8]X6V,2 Y3>T2NGH/T+Z ,:Y_M,.1K ?$*JV5D.0V&8F

MGN%V^49E)_=HL?C+:<6**=Q])W_^28YL>I^DK+EZCE<\+K5P(Q;B*!0W-F0B
M$&O4]1R"+** Y9OF<'(U;5RW6N9HVNA,_ 28,> .1 JLT/Z/)P(%TH/,Y.2$
MG2"HH>N +2%738.L[#EN-S>-$B-(6L9;*VAP/4J D41E'S*SI=N"(C9:E<J$

M`PVL+AQ57<&!5=PBH7]A`R/-$5)E:G]-G'-\=;XI\9P5MNLU> BU^:;9? ,N

M''11=W&/<P6*BJL)]]5IO=?H8'W!N7'!A&X0ZF+LG9]705(,'A))4T&\65DV

MR94I:Q%E563"=_KM B8^WWMUJ$4Z]6X!3^8C$Z4_YCXL42E5-?SOHH!M?S#J
M02'V#U.TP9B

M10V?5GSG-(WK+ AB[$LD9ETCD-%\J&)LY$39] A19-Q12GR<523=HX!X8[ .

ML*CGY\*(MM59#S6RTE
M=A!&+'?I0P:Y6L,"X; 1#A,C2T[3XXV%24 $29U/.K^MR29"O[7 O(%KX>:]

M9 &8%A'ID#ENMUDS?X/U, [_ 3J7)5P9[#D[Z!]V/IO=%KK8I&F.C5%G.!F,


MO[7XC^*$^ 4N0%G!#I8A
M<0=>UP& O$MFC/),K^XNJU5!CV5*$9./3_&X>%NMGF61SG,\#D1D-9 BHGPO

MD#CG.1:/:?"Z0(%Q3+VYXRHJ*)!")8IU4* ^/LU&ZJ% G1\P^E5=ZIM=DIN*
MT9" 7] D)?KX))-T/"32>9[+SVMQQ"6PMRW76D8GPU9SVC;[D!,94QY&R[_ 

M=:-K\KHGU97D0API5E)T=MOI-P>W>6JTMB$U_/&THADV/ZMH0O171<\8]]=%
M'U\/AX/19#H8FOUVM_R$S#GL!V5^K*=VL_.SW2#J+_61F0Q/V5_!A9?^Q*B/
M3+6[GZ!3T0_'+>O $B-9/?.AR&$K.MZ'.&*1*'W/^AUF$!<%ZXK3M?8T5.CE
M^R$]]UL.AC1/5 BLQR2K ?I6$QKM7KB?6;&K,4!9Z9H!/LKT)C_W(0ERI#W2

M*CICP\V9J)&46 &_4J>("1D ,)VO*&3A<;C'_/L \97R!W KYZ 9DS:"F9K:
M+]%UDBF"<EGI8;' <]+*L6($56JY.\4W.97NTZP<F.#D+C^5 B?*V!4/[TWH
MA7 L`4T1;V M VI"OY" Q)-TUB7YDQQ&%8F:.H".6),O0Q-/PNHU(J<-WRZ+
M`440*2GL3-YO)>D/&T0*:RRU$VJVT2;)1]1FQ.)EO'(6,7]KXZ9JVLA>>;.D
M;K ;FF+ FT)?=X.5E;:R5]Y<E3HKR6'ZFI&)07*B<*),WPR4]JCTD";0%[^K
MEDD-I&X]2C(UZ0NRZ0MN%P`9.$7$D=C5XI?69N>XCA7NU5W,;&1B`]NK=_K3
M8;?>-VM2A+4%U:*+:()H)NYY*;K86\8)3V1T_G[C1,[,I0JD:>$Y*0-(,1EC

M IC$-BQ<O#F_"8BUP"K_ /Y?G1/_]Y/U?V76(3>, 9&_B+=6"+Z/^]P0M/5T
M!QZ'0DTGR DIR*7)R0D?&4*.'L%6<V9U/ \%D->_E6TZQ\;K"GBW<V6%]I;M



MZ]K!6+'==IYQY48,C;7T8S'Z^L':C4J2?"X*BREN$FX"MEUI^QL(;<F)-/0D
MINWA3T$M4E-%-4)J,5G;7;:51'>II-RTVZ7+D*C!FTORL(;-/7'N]4!0LW"V
MSQF]X)])9S)RP*I=( ;K9HOGDW?4V(0P^Q(;8==/]KT&*C+G9)F><UONJC W
M)AAJ])Z\P",2C7T7,F8?[N"6/6\L9\TX`J Y,A^B$<TYJAMS-.X,^ ]VQ%KE
M9>Z#D^R:A(JS7 :!>5*\0UWHEV#SG%L^=O10X.%-ZASZ>*621I&"4VIQ,%C<
MC .>FU:YX4=WUYC3<PJ&T&1?"XA9B R2-B%I.K=(M-K$[ :I4H<`A2[C2&9R
M*BKFS27C'PS,G$:1>0_R1=)(O7&;K"-^%Y/OT)>&E-[U`!-RDM()M&EXPQ(R
M]MM^LTRX8E7V_["'YU5F;W!C9J8Y\P>8*3_!)*U #PZE"9F$EA>YX'4J(V&,
MIA,%6 ,=MJE5B#I'P*PT]$JW_*.Z,C\PX&]H&R8;6?/S7O;="A.;'2\%_*\;
M"+.AB Q5U\4!.V#K


M0:]7[S?SMW:5&U/\& F)K'N>\^$/RY.V^*%+===JM:IEE'UL3*$`-,W^N'YC

MA56].R%W=$_6U-L\8L*'[CHG!KRJCS+CN0UT'<:T=0$R*)U90? K'8D>AE 6

MZ7&D(Q OX75Z\)#N_!)YZML=X!>&)?!([:HC'LN%&MET86W<^/UA6S9]1&=*



M0[R"P22&Z&ITZ^,QV<[Y:H/?$8/X1.<<C?%T #BB

M"Q"K*12H#Z"KCH?'Z'/\#D)\\)PTP! "D%U( \=ZD YTFIUI?3CL=HQZ>E,/
M\2%KB""R< K^DM(8L*(,QN,4>Q8VK/G=,O0WGJU6%N!XX]B?W\$$WT0K<+BY
MM0$7X^?VP29T_$U$VLW.JTM"=W,HJ/& /2$LX,M2/6 W8%\.E/IX?:0QNAY?
ME5.S1M][$%GZ,(]509(F-J63-CG?&0)+$$9TZ4#I
M6%!4+F2$%9<N8CVLQ'Z0E/')Q0M]6Y-W+73^^5G=_N<F2GR8A;634/N?1JYF

M['P.#C0AI9X
M=UFHTLE;B& E">Y[T 2 "\TN%7')?G%1W.L6^P\_1S$-1XH'"J!SG(;^F8AT

MJ+ &YG"JO(%TA([1J>P%Q.\+A.8*F%*(2)0?YJX#S97*]#P6-TSU,.%'% I 
M"?RQ!4WO'GBN9%2MV&F/EVSK']9<;1_NE2C&['9K9F91";H )!MUY:4B_/IL

M2?F#VU?(N==;MNJ6IT3X:OMQ_6>%2C7?Z$&KI)),X7;M("MWJL27_ !02P,$
M% ```` `<W&"*$^PVHC25 ``-F ```\```!497-T1TPO5&5X,2YB;7"5O EX
M4W7V_U^6[FW2)<G-<K/>[/N^IUF:-EO3-&W:-%NS=]];6DK901 4Q 5Q0U$'
M45105!P4141%E$5!%D511-R7<9SEZ\Q(_I\4G7&^O]_S?_Y_GI,\(;U-7N><


M9.HXE#W_.SM#R)Y'_MNHV?.TN0>T[#EP`)0]A\\?^1Z4/3UG9^8>GV/,'9-_


MS;W+^?]E );Q.W[*G O `?Q_'#G'#Z(!_#J'_-M'\/J_O?*O_/DCS\X]`YX_
M08H?1C*'D/ ^)'F(G#I"21XAQPY08P?(B</4]%%J%D3X.)0Z"F4`ZMLDX'7J
M&'CP&_!I)'N.\FLDS_Z?\+\W_)S]OQ_S;_M]OO+OE??BG7P<>O/1^!W_24+F

MGB?]]B[_WZC.SL7V_Q__;_8>R 5USIVY<)V:RQ2PX_CL<7KF*#VV'XD\BD3W
M`"U1(D]3$X>AS%L ._CL*6+V%/6ZR+/O4/)> RR_1YKCA^=< .>,,J<3XG]C
M$/-'GI[[W9/7 S!GYZ\[\G]FA/R[:%PG9_R.'\Z^2\]G_ R<>7VN^JXKX7C^
M<>0`$GD(B=Z'A+;1V^^CA/?BNPY!R=> Y.MPZG5:)I\.*/4Z,7L<GG,<4.&S

MOSU#RYX


M\M 99.PT-7L4!!R*O `Z(:YE!Q1X%&JY'PEN$T4W:\/]?$^288T2+;UXRQ!D
M&83LLSC7-!18 <0>XL:?842?)\9> ..'*/'#H

MQP"]XM?F>>;?M3,GN;-ST3B15PY(0>A9C/<NI.UV=LML+I?C-K0RZMP4F1$O
MKR?J6B%E4W6 J2;6+LKT*KK7(\&;(/=&JO].R'</Y-TN&SLB&3\J&SLF'CLI
MGGI7LOB,9/%9\:)W11/O",9.\\9.<4>/"L= IEZ' L^ QHN$\R4&=;U"R+R-


MQ>Z\4SO\F'WI\X[5+SG6O.I:=\2^YG7[JM?J5[UJ7';(L.2 (/9 M78$,O8S

M?%V\QQT[+UE\3C9SEM9^%](TQ6D,\)SMP 6JWD73-Y"<VIH.-BI#JUD,0TM 
MRF(J<YQA\8MI3&&-A(^5":N)- )35 :1\6PA0^/ -\9$GI2F<U 3Z+5FE[O&

M)17(,J^<]%N_6Q;/_"]^:(X?R%(P?EHX_HYX\B2CXQY&\W*VO95=[V?.98%I



M!<U-, X4>PH8$MR.>)>R+,U,2S/'WLIU= `7,'5,5!"NF8+)BVF '[4$K 8N

M=8WGNI;DXHMR76.Y>.^9;M\MG1:O5L?A2&$RJQKFH_F.:I$;)_=#ACAD2$#F
M?JAA->38"-G7X.I708[-D >4VW8PZC!2A\G)5TF98X2Y8LDW0- E)LX+IL]3

MM$FJ)2I<-FFZL"&16SJ1&QS+949R7?VY1&\NT9]K&_M;XZ*?'!-_]HS_LWT\
MMS2=N\>?6^Y[NZ7E3J6SGZVI9XAX/#U)W5:C#E2JVRLT\0I%I$+L1ZMB5?JA
M*MT N*]M6 /Y;Z6VWDKU .YQ#P$L3]<;^,A[P 7FV'E:8!O%M82FLS'J7/0Z



M,*O33O"MJZ&V^Z' 'CAU!,F^A>0=.4EKWTYSC(.:9=O]B,TG;(XQ.MSXJ)XQ
MP 8N$*= 9)P!+Z+\'AXW^>N#ZAFX=AQ6=W%7-UM>4W5^S$Q]RDI^RLY\SNKY
MBMW])3?[N:CW*UG_UX:!'YQC_^J8RO6.7UN1R6WNN+:LXZM(]-6Z\"YI\X/2
MIKV6CC>#T<\F8M\O"9^+AIZ1!1^AMNZD^1^BM6QDAOM%O7%>H .O4PI:(.]-
MH$8H\4-(YC"2!5X<P7MN(ECZ"7P936UF&.R\9C_2V42*ZM C+,H$%;B GX&O
M5_%U9OPH3!FC8A;/_1=TIUZ8YF.H.<+E4.,19N02/_N%L.=S8?=G NQGG,QG

M=<5_6![_:6G\K*_KC[S0'HKO489_.]*RB>:9 &TQO%+'-.+MB\!L0 5C6PI,
M!4\CB:<H;=M YS11JF6:W72ME6ZOH\5<W"XY?Y %P [  0O5<X*I70S73L'8
M:9 P"==,PZ 9N'H,9 089K[$5ZNS8]1!HFF2YGA>%/V;=O ORH&KPLRGK-15

M71J,_[0F^?5PYK A_BRE]0FJ_WYFRQW,II6T^ &R08\H\?8)8OO#UW<NI+9[
MX+9[R(%[2?9AP,^N;V$8&PA.%2%CDF2$DF$.=8J*G>L\^7(&+LS T,2ORL_;
M)$S(P$PGTT'5!&%+)]760;6VD*V=%-LZ7O,Q3>(GX^!WRMXK2.1 _[+G^U9^

M^C"2.2*./ ZW/4#U`OZ;F<Y9Q&:3FA'7!!+>B<0/ )E9WO^$HO?1O!?.Q22Q
MBEGGHBI-I XML5NB&N0+QUC4*=J_:8$+_R&_7L(C<%VO\.'6]N6BUA"G,<IW

M7&8B=VOFEUM#G_K



MW +&H^;[D(9M/-=N5_N)\<AW-R:_7-3_EBVU$^B;V'0OU;V%YW?$LO*NC?S4



M*7<_'PU^NC;VI[7]%R+#SPHC]T/>>TF>V\3MENY)1?)F<?9Q9F(ODCH R.Z7
M9!\A^6YE.,<1G86N,2/6)GQ&S5O$9BS^W\'_O9 H">;FI/?"DL'<3<NN;5V2
MVS%Y;=?DM:>6Y/8ORSVQ]L=U:V]LBC=KFS+F0)^IK=^??&CW$\\]]_S3]]Q_

MGS9FOED\^D9]]V.4MNWXI V*#EW_
M#KXOQNE7
MV[?RVLY-U[;>G=N\X\OQ=1L\B8RA]8&MVW<]]?2CCSVQ[P\[QWLRJXV>SW0]
M8)GX4M_[/YW+<L,KK]T^DML3^<<]K6<:  \PG;< YMOXKB>;6C^_(?[3^J&/

M)7,"02W^O_"#U8HX2A?&^3,)!W A=^^2:T^,Y%[NS1WNS[TTF7MJ>>[N&Z^M
MN^7:TENN+;HY-W-+;FSC.XMO?N3V>V]]X*$G]CS]T)8[ASS-'59K0F'=*^JX
M(N^Y%IC)]:W-+5U][9GNW-'FOTUU/2\-;>78MK ;'C(U'1L(_G5S]Y]FEKSO
M'GF&W)8E:,31)>KLK>+L3C; SQ[.=Z' O7#K78A_%5EIX'O"DO" ,"['CN05
M_GMRL'B!01KT?^802Y>6^AJL!X=B>1?>Z+GV2E]NWU3NP577-J_/+=V0&]F8
MR]SPS\C2OP5F_A58\O.2.S^_^Z%'G]U[ZQWW)DVMO0V!/J<W66_O$)J6,SP?
M-PSF>M?_,K$VMV,\=R+PRZ/12_Z>7:*6+2SK5D'CBZ' MQL2_UH__4W7[&N2
M1)2 % 3&5)E;1,D=(/Y,L/ F_HB$[ ;U"^9/ALDA]"74L1%)J[QJ_+_ 02% 



MIDQM$B9W<+/[6=G7F-F#PL1VJ&4'M6&<:6CD.SIT[AB<8?POV4"3%.H84[B$
M+5K"T?2+VV/:B91Q+&W,M%J.C _G7>C><*USU5]=T]]HARYQ4V<HL3> SI>J
M6 ]4>/<7V%[M6?[FV9>_?NSQ"_'%BPV^KKK6;D?;0'-3UN*(".PNQ+)(X?LV
M.YG;/I [%?[EB<PGL<%'Q:U;2'7;.-;78AU_73N86[GV2N=L'8T/B2V:^!J 

M8_K1C&XB91H..)*6IK"LZ15GWH4_&<<_YG6?A6/':]M?*F]ZNLCYX$+;'07&
MVPKD^[*S[WS\VLG''GZ_??J"O?L!7RII"Z1=+8/>II3!$>4[?$Q;D&O?$^OX
M^4 L=S+SUYFAYS6Q;53[S9!QM];WY5A?;O7*+[I7B"F<&J9&$5TGZ=O#RQ[B
M=A_A9 ^(, _7M.^'G+-TDX/E\",1,7KBO_CEX_SUJ[PWW.2=7><\^D#JVI[X
MVF%SNKDQ8_&E%,V=/&<'8GN:U0E<.%'5^4JY?U^)ZP]%]5L7&C8LU*XL4"TN
MX.\>7'+NBZ-''[[_&5WB`-M_N7UT?^= RMZ:\GC[/>Z$PAEF-W:R[7&U=46R
M[J4[7+F[^C[P]FU''!NK]?<QG>=2\=RJ)5?'5I!A!IJNI+I6,*,/(?%GD>SK
M2-<^)+"IIF,?RGX;P]9*"IG %*-V^%?RJB4P?0I9O]9WX=:);VX!37XF]V(V
M]WK?.VNZQZVM88DGQ';X229/E3I0I/A#D1VX\$A)X[9BXPV%ZIE"U62A;+" 
MFRZ [AA==.F;8Z_?=]>=K.;;RO4'%)V76\>/)\86!P+99G?&XHH*'1%V8U+1



MSA1R8POI[?/)[H*:K8,C/WQ_XJV[[EA%LLX4B( P]HH"G[4-YU;-[)[L2KD=
M76I73 "L,6NRC45U8QF=WZBSD%031,-ML/7E^K;WTST'$WWS:6Q(5(_3]A+]
M]Y!C?P2;2CCT..Q:`SGOA)PW% =;<%$)(46!!LF4889B4/C TN31&R>OW7]3
M[J%UN0,CN3<RUQZ9S,VLR?6L/],P$"$83<5BVWR^91[/-)\KF\?0SF.E"Z7 

MM6\V%3$X0B)70N!,:QJ&`\:)'EVOW^AA&[35`A=:N))I.^1+[FV.E[$$!'4S
M9!R'FK?F%]_42TC77G;;&LC[$!*[LS;L 8-R2HS.C+,-":DJKM UG;ZP857N

M%I!<163 0ETASE1(T!5 [;6<QV]9G_OF[1=OO2E3+8T5,*8K53? C;=BS8?4
M[;^L7Y1[?.6Q%2.#FN967D-*UMCGLDQF]"-=QDZ-N1XGTZ%XQAIAA&OS2RRU
M3"Y)VP[99R#WK4CV);#S
MEWNWY9Y=GSL^GGMQ(+=F-I=>_9?FQ1_J^EYEA)Y'-R\JK+/,YZKG,^0+:(+Y
M%,8\(F$>FKR 3%2(!B[(%V)E!> &+&OO;>MRWYW:=]-:7SG378!/+^1,U:B6
M56ENQY _\"=R]TSG]JSYT]JUMUL2G6)[MZ5^+&9:U*//.LU>JMY6+;77RIPT
MO9*MPC+8L"E%L,]"KILHT?U(]C5N]J \>Q_4LAN)[ZB_X;DDS>10:V,VUZ"C
MH\_>^41F\F^/WYP[,7,-\-\RF8NO_)MWR96ZP3<$\:<PS=M*G3O+/(DBL7 >
M13"/PID/T^9CH?GE9?.*JN>7,A?F74 *4':1\MG'MN7^_,&C-VTP%)'T!37>

MTK P*B=9QV>(:KDJO*H-LL\2O+?F/Y!,'P+\LNP]D.\12MM-X>DGU^+<"8ZC
MVQ08LH>&';$UH>2?GI_)G9G*[5ET;7CV'TW+OK*.G56G#Y
MUY?J&Q:R6/-)R'P\:7Y5[?S2RGG%I05%4&DMEX0`%Q0FS6-/;,O]\[L=V^X6
MU)!$!6AC`;:MF-&-%O87BM95&,^U=.4>'KYV8":W8?,_N]>_YL_<V-'8E]!.


MW5AJ6%5J7%&F'RR1*1=02?-K\?-1U04E%?-+*] UI7 ,6 2AM=C\E/?PYMPO
M?[OCH=MK97 ZA2 OQ%D*('\)(UK$&2B0[F8Y_KXNG3LR>FW'NMS(YESWLI_7
MCKRU)1P.R?L\3K"ZM1%,#JR:S941M5Z*K9?F7DKUWTJ,S7W5V'4(\M^']3V*



M<.VUJ:G<(V,_OY7<-N!+JKP=%*L#K
M!^O;"37?EFI?]$7[S%I;K-_4,>R*+(YWS(YZ-PVW_K!V^N_>Z:OJX??U/:^)
M(KM)+3=5F)>5ZB;+U<.EJH$R6:9,DBSCV:I ,J:VC%I;R*PMHE<5TZN*** %
MI)(**?;.!^\`'NQZZCZB%2XS8&IM%*:8("U%:0NJW 6$_GG"/;#G^]%L[HWA
MW+;5N:$-N>&EU^Z8SIT9R9V8>+EG>)SK-9:)J8B0;  AC>.(_Q9BV_VDKI?A
M[$DX=13VW0&U/5YK7Y%L3.72:W9Z>H?,H9'FX&Q?Z_*QYE2KY^GF[.>&_H\T
M Z>5F3]R _=A'"O*]8O*M1/EBNXR6;)4&BD6=$!(4("P)=1"-K88J2D!1J\J
MH:$+264%V(4;;M_X\\]_RW>D5GFEMK;:3B'4D87T6NG"2GU!=;B ?E>U]4HD
MG7M^X-J3T[F1F\#XG5NVXMH?QW/O+,H]=,L7X=E%I 8"B4E0MY%-?63W6E+[
M3D+R-7SZ&!0["'FV /C7.C:.1V?^D5EW(;IDO#XX$6Q;.MHTV]<\X&KI%KM/
M*U/OJP=?D\8>9? VHZS39=JQ<E5?N3A6)NXHXP5A),1!&D&%>065&KB$45.*
MU)0RJLIH5:54U#QB>??LS/OO?_#FL1
MQ8I3NE#NCK[<TT.YJ1MRR8VYD0VY'<NNO365>VY3;O&F=]59.ET(*5P$ZQ"Q

MVFCF6YC>(T(0_+9M!.>*"L-$&8"7Q<H% 7)N ,X,B)"  "FNYU,"8IJ75RTC
MEC(PY4QL.0M;BF!*Z37]RU:]<.3-EXX<2"]-`A>(5BJNGDXSD*6<:G$M2E^ 
M2<_C/$IN^J8[D[N_]]KLTEQR0Z[_IMS-:W.O+;MV9'UN\^V7W9,4I RO\9/M
M0V"W2 [MIG0=I&>.TF+[:>WW0<']:,NZV=;AGY,WY!9OOK,K/-OK!BYTU[6D
M),UM9',:JGN2%=I-]VVLKE]2IAXJ5W25BSM*V0$JTR=CM,B0!AV/[161_0)F






MH D(B #B7DMKNP>)/4,/[Z6T;4>Z]B/1/5#H`-JX8K4M^G-V;6[=QO_9/+ZX

M(Z1B1;6<3B6O5<1KYC/J&1 1A*+7".MDNY][]LB)=Y[8_\>9=4O)1B+B9-*:


MG'"V=TG<G<SZ-D)=4[G"5L07+.1.EJB7E*NZRU31:F%0Q/5J.4X-S::FUFD9
MPC8E,U7'C6AX;5)AFU34*I*V">DF5C4/,?B<=S^R\Y6W3^Q]\:507V^M".(U
ML5E>'LTO`2ZP1& E#Z





M<VNVO= YDI%ZVBGFYEJ-LT1D6<!3+N"9"]G=I;(42MK)X[<H>8U*NDV%R U4
MMH?#C1L
M5)R4S73PN2$5W2L JVN!"XTPW5Y(3!?P;BO1GQ%[_F;/_M*T,M=UXS]6;7YR
M=FAE.!HV^G!,'DGEA1VSY,!V>F0O.;P'#NV^;E#V"A3^XOZF/_YSZH[<S);<
M[.U?C]S0I_2UDNN:J]2.$I%M(5>[ ,]?0$L6(8M SB*8,0)3ZJ5TDP81VA%N

M7$C-8[?)V>TRL995Q\Y_R^-'\U(%W'5%ZB-TUY?B^(^&B9?J!\/6P'0D,AV,
MQHQM6(X`UK: W18CN),6V4>-[*/$]I/!+C*X$YFX BS]_(F>-_ZY8EMN^I9K
M$S?G5FR=M48"-*L'I6 L$] 6</4+^.XB2KH0NZ(*7J6P+.(K^HBPS,3 -?&$
M`:DX:91EK:J,694T:C(>8T^KK<?K[/>W3836WKMZS\'G#APY=O_>YUS)3*V,
MBY6+:J5\4/;"B,HD%=L8W* \_VE>9P%A5:'ZCS7NW9!O`')VP(Y!6V J$)EJ


MI^AK`/S:7F?=<- ^'FV<C/JFPI$5B37W;WGAC2/OG#VW_?%G=<$L3JTC:!6U
M<C%<+Q>%U#JUP$V1]G']RRV+  MKY_$GB V18G,&U=A+;!J6=TPV1R=<T:BA
ME231TJT9BG<M/?0()?(4-?HL)?H<K>L`;8Y?M/[*N_<>^F7Z]ESONES_^MSB

M V[#D,<R&;)/QJZ;:S(677];_]:G]QTY_M7E2SN?W"=MZR$8`T2C`Z=5X.N4
M'*]25R^)DZPCU:XE[.P2W31PH6N^L;NHH1?5F,38NUE-(PWAL89HI]9/4!CH
MUC3-NXX6W(&$'F*$]S!B!^;X]R#C5W0W7GESV=/_&MIT+;[R&E %)C?MMB2"
M.+VS1%Y?+ #Q
M4['?^).-BQ<%U]T>7C^Q8_^N?_[XW<4S9]W9?HS.2+*$\>9VG$%%KA/6ZW1Q


M,H%O`2=4I8BBA$$4IP7%"<SQ^WD<<:M(V2$W=.FLXRWVI3'[HCG[E;_/,=73

MG-";8:6Z(3=P(5"I:Z[5MB'6+JFGOZZS3>DA2-2(*<APS3)\-S' $ RPDX>0
MU.'\%WD35Q 35]Z:>.Q?P15_]BW^9WSU/_K6[3<F^G&FIE)Y,X \$$PUX.<`
MZYBS5C3'*Q0HHUI3NLZ<M9I[ 7(Z?B6?RMHGN^V3*>=4++"\)[YI\L$7]WYU
M]0J >G+_$S5U:IK=Q&[U,[Q^Q*&66'5&OB:*,F50KB2<3+.B:6XP3;"  UW5
MZE:&)2YO'K2$6^5. EC), 00SS+$?QL2> SI.O K?W2N?L=.O!ZZY2_NF>]<
M4W^+K/AKUXJC^M MD"%<"*(M"Z'$72#F%6QP'T1Q`7\+FFU3*0QILS%EKDLW
M&+-N0Z_?#BS/WV.?RN3UOSCEF^U9MN.VYXZ]^MD7G_W]?_[^XK$7!2$WTU,O





MO!MIH5TT0)X^DE=1QWVTL8^1L4/'6Y9\KA_ZTC;QO6_Z6T?_%X;N3Z1M=U,E
M(S7<-(H=+L_+IK,H[T((JTRQZVQJK=&I'%2SQ *-V<GN0&_2T>MWY%V(YK.P
MJ OP+]WURG.G+IW^\-REKZ]\]\-W9SXZO^P/#T?6S&HR?FTOL) V&;<[_&T$

M"B/U^MSW+P\BTU\A(R^?<$U>4?9];AW]UC/U;0/ [_M$'W];(%N-I VBF-TH
M)FB>P#KS52

M-T0-)$CN0)6UI3S/G]+Z 0M-, =1K,SS&]IHC>-TH)_DJXS,T;S^0P\AT]\ 


M4Z?V'GDCN_4V[60<P!OS_+& .P/ K=52%Z0)4JW==%</U!RJJF]9H&HCF7M,

M;1X^S_\NDWM?-7DEAC..8O3BE8-S\"D4IP]%6XZJNK^Z;)_5N$](66^5AKO<
MKE_UX[</YOFUHUVBWJ$GWSA]ZORY<Q]>O'#ITEMGWWOZC;=F[[L'P-<!>&")
M6+/!4X\26S%R%T$39%K3K#Q_N+(^4&[HQ)G3.G^_)=0D=^8_S5.:Z-8XO6&<

M[BR*/(AA+2=*)ZN!"\P1%&5+%>:^ZO*]"LTS;'C&;>B,^Z[KQ_&;A "D>-5M

MWC35$R WMY37A7"FC*X5],]V11,L5^==J.N >]?"D6<H\4.4V %R>"_9?R>S
M^SG>R.Z71=GWJD-?FH>_;>S^RI `\!\;.H]+U4>(^*TLR3HL^2X"<C^1O(*H
M6(.AKT,1-A.8>V'<PS3&8R12KTO7$G5=%X_S/_P)ZPU;;WGZC>/GWC_WX:4S
M[W_XUMGS3[_Q^N1]6^;TG^?W=/B;^%832F2%)"W,NC3?F^%[HR1;`%7G*S>%

M_-HX>DG1>$GAOZ *O,?3'B/BGR; _\!C/810GR+CGZ=1;\235F)(ZPB<K3C"


MX$OT`)YN;$/\F^CA)_+?OX0>SY]YU;8-2>Q&VC: K>ZRXKHDI+ 71MY 24^Q
MQ"=P-6^6HW8CA'LES%M4DCN%C-T0YA9LS1067HZ%[X)J9S!0'T1(0X1 ?9TS
M^V_RP+]="*Z[^;$C)]]Y_\.S%R^"^GWZU3=O?OR)Z;MN_I4_$_.9_%Z4SH*2




M:ZFM"_-\/=K J#T
M?5%+H6(E5OP"1'B9P3Q.A-ZNJ3A A;;HQ(L:C!,-QI5UJA4*^3(6;Q0BC$.$
M?H 401.:(;(;(OD,\N9H4^.OLOF-?R 3WWS'*Z=.GO_XT >7+[U]X=(]S[TR

M:[A%[2%*5&2IBFKMI0<?9G0=`%L`<N09<G 7$GV"$GP`<2]K7BB_D2S:06/N
MX H?1YC'2- ?!,QE5LUX Q'85+UAM42P$F$`^.%J* &QVK!T;PVI":+ZU.I 

MD++I>O/D>>-T)]"_NUSCJS6ED?SW^Z.ZP( ^$E'X\5(U+%923%'0,ZF19VBQ
M_:"$R:'=2/0I)/(8XNYKQFO64D5K^?+U(L4.#N\^-OU!%F7:;KS.#U*P5LA9
M22(`_717$4)H0DLUXD0SO!"K4R!L=5L]R?](*)^+;)35M>J6W2\=?__BB<M?

M/-\P^[6)41VP<%H:X/$,,$B!OA5VK::!XNTZ0 $2BNREA7<A[;?1&GJ\9-TP




M2(!^`/Q4 W&90;Y6)%S"X/7 " D,H05+=Z$18#X

M<?0 W 3=`>(/X)O+-1E6:Z]NCE\5&)($970%Q.93=*TT[PUP\&&XXQ$XO ^.
M[$>"]Q.\&_&6+AU#LY L6R;2+)-J-O*E=PC96S3"I3;MX ;CXGK]$IUL,5^2

MYUQW'-;VCN1=F(RKIA>YW/%&H0TLO V0LH6D2[,:P?K51<^/"J!^6\H-&59S
MGRZ1:4B.: (#ZHA6
M<J)P%5\Q*S.LY\MN%W&WB=G+K1H0_!FK;K%&WLV213 </V"N8GG19 #OF./O
MINM&`X% .NK^7?]4]?9JQ[8V/?UC[Q>YY;G<^%>YYON/:R=GM6/=VKZXIC?=


M5 D"KP7-`N:K9KFK68 ?6$LM+TE5^3R-]AZ_)_,K/%C.-+VCYAL/MK_X[<CW
MN;6YW*(OK_D>.:V=7*Y*AQ5=+<H.KT5J,J/D%I3,C='DBY>?AP_1ZUMJM.YR


M(HME5J 2?OMO_,94BZ:WQ[KEC8Y7?ASZ+A__H8]_:;KW=64F*PLWR<)^2;U5

M41LD.U=1 KO([0^"O0S%.0M%#Q!#CU

MM%_2X3$LN[WE^2_3'^7%'SWR7?W:[=)PISC E;8XI$8]JYJBJ6!;4*)63'XP
MR_*\:8$7S/?>*K6S7!FH-?5P`OVJV* F,2;JG&9%4H(`3JXC:#O YBW$_(?G
M#Q+=ZXC6(2CU!B7\!-TUGA1*EU'X:[E24+^K!-);I>*M"NZL63-N,_89=-TB



MMZ#PTP13
M [:/)LWU3X:Q"B:3&30QAV%U,1P-_)8Z8:N5UVSA^GR\X$C ]CV)(]]%7OZV

M46UB1)N89 46<6,I51N=KX;D'LB]D9C__/EQDG<CR=J+9$\0HL]"MEZ:PAA&
M9,NXBFF989E0?J-,O-:H7-1 `.M7M]'0Q90$T?P46CB!9H+)AP7!5 S57$VE

M-+Y2Q\2+J94$`.]$R<($:X;=!.H7])\.$A ^M8YR98A</R .C*H3HXK$(G9 
M5!J.:?UBM8/IBE,#VZA
MW2 5KJS[=?CI-AIC3!G0#PC
MR0CK^!23C&*48E2<Z-:[VG>_X]CRE&]FND:.P!H^62BF4V3T* J -Z($31AU
MG&!-L_/-$UB0"(8?); XK6E8&AJ5)T9%L7%1YX R%->UJM4>>KV/YEMSG9_>
MOHWN6P/B3T\>0KP3>+G.QI+.<N23,N.L3'>C5+C4I/R57Z^/T*6=:'Y/!6\0
MC=1743D$EHS$D4,<#A:A8RB,6BJ91H,U#I+!0M+QR 8AK.$2=/S..[<['WS;
ML/JAQI'^:B$5SV40J4(2(7^:DQ!%,Z!X7K!MA^O2G(8Y_N:V_/"I<<]7QFC.
M4<"O3(SR`N.\SD%C.*[U&^1N$")&TR0E^" M_"BUXSYJRT9B]CB2/HSXEU,,
MUC8RLC ??S!":%>JY"M-JFG ;S%T*U0A C"$%B1*1$,HIJJ*HR*(3'29 2A6

M% `OJV:I4$P9"G%AE$&&-<BW1L7U +\5:\K'?[XRSG*/2O/B`?QC_(Y^<ZA+

M()\&\YM1VTT71P BP!\K$76A!&:TR(97NA!C(ZRI(X -.)ZZAHT8`EA7%"?U


MLTAT%Q7PAQZBM=U*SAS+Q]^WD:PR=8CDR]BR:0G UZW5*E89%4OJU)-Z;98L

M]RI_TQO\FU_GWG24M^D8>]T1]L83`%Z1V>QB&<PHMJJ"*:U `/X`VQ(46;M$
MUK2X&?"[RY1 _8I 7:.BY" S,$9N&Q$&>LVAI+K5RVR &!S4IDD 'GIL'RWT
M,,U_$RGS-I(Z3';,DM56KUP_"?J/2+-"JEFK4RVQ:A>;M9,*13=9V(GF!LMX
M\6)1>PG !SL.70O3TDHSVHEJ+212X/ER%%7<L4JP_1/^`U?X=WTH>O [X1_^

M!O0?P*\-8IM'2;$QG&^,Z!\1MO>9PRE5:Q/5PM [J<W+ /[IT;WTR&ZZ?QV4

MP*]HQNO:$%L;K:Z1I-7BA'*<4(;CZQA:77*S:MTAY<P3LH&[..U+*?Z5I/C=

M\^M'T;YAFG]4V-%G"264K1Z&E:YW43PS</L.>G1//OZ^M?CL26+B,,&]AJ2Q


MG:&"+2ZD"8NI+K(:%&]&YL[(FGM$_A"Q86[]TK06:;I1];VXI &.?T03Z*MO
M3RJ;W30KHG?DZQ<H/_($M6,[U;<&\,.9HX"?HK8PK"TQL7&:IUXC4$P;YG:.

MD:<WL-0*`H]/TN!X^5.+$:I%44&Q$:1A26-"YVMCF;4E;/X"LK"0TD!4=W*M

MP8?W0OY[(?MB.'N*G#H">]:0A"J9SA81&U>PY:L%RAF=#L#WFHT]8E4*IXZ 
M15U%HB (?J'2BU*!H2M ,?O(> M&(4/SA&A$4LLU4A0.KL'!TQN96C66QR'7
M`?AJ<1PAJ!45C :B,BIS)C7-(&N:0A9_/BPJ)-NPBHC(E5&T]BGS_)V$>A=8


MM>3C;_:0-,8JN; ,X953Q34<$UGAXIJ</'T=36NL8 )XE'YY+2_(PH 598Q&

MUYWT11L>><#ZQ"[[JLW:\#B


MKU;/0WCS8/%"BH.D3<B\/>K L"[2ITYTU%H;YXOJRD3U*$F05!?CNUNGEQE>
M>5[SZDN:G;M5O<MJ>.W5=2N MCUY^-;=&.=6*/ <UKL#I> K)JAXL&(QB7<C
M0[1"I%L,]&\Q]H#XRXP
M,4E6S:FG:?QBDU^6__-;6R6/17:42'JKV6VL*I%Z(<5#U"85WKBTR8M5J KH






MBYH6B%Q%"B=:[H&U'C!PU,HD)5SV0CR_&-;5BCVL/'Q0I_,R]0U8)9W9ME R
M`!$;^(5452&MF6Q,JP"_TUTE5Q<P^//(LF*:FVI(2ILRV `HX2BEH7&AU%(L
M,I:*ZLK%+E_:?-<#X LGD1\_1_[T.?O2.?[FNU!(4Y5U'<Z_&VK?ES]STG4G

MU7(O0^5%9.9:F:B8PUD`"4LH1IP,P(=UII"NSL\V-9+T%(9OOB"-)] %\\F:
M8D8;HZ[;U!R7-7I0,A!_? &L**4WT8TQI2>C:\DHO>UD2WVA6%?"TI2)ZA 6
MP\I-JN?VL[_Y!/GY6^2'S] 7W^-NN[^2[D09EV)!_PD^B_,_5FV_.?\W\L %
M[RZ<9SNZ>:>#WASCU'<;G4/USKXZ2[?>F&(:LFA1K$87KM5UH44-H#G42GP"


MF\O(3U_D[2]?\8^_*8B/HA >P(_S/PKBC_7OKG9LA1)OX!-'0"XPGONJ?0^[
MR8X(TY+5._L:G'VF^HS,&"3I F 9T'^^!$!D"L4VG"R 4K1K91:\5%C($BW,
M;T9L.&4KNRZBS_,'6"8KW0[QXO/Y:3C/C]&6<4)">W^C.RZUN<L4N *6<([?
MBYBC"E=&[X[)ZAVU2FT11UX"^(6*X66"UXX /WV)_/T;Y"]? O +GWV.UQRO

MNG:TM ,TM"*1HU!D*!+4$Z7!.D7(++.3%9+B_&E RG*V':_N$-7%K<:0KKX=

MD<E6*LK'/\_/EZS; ESY$/G3U;QX?OZ6>_&<\(DG6;&!"HH=I9_%>!^Z'O^J
M^DU0ZLW\13 B?ZSQW ?9UGNQ=1%J7;?1UM<(Q..(\8R=>7Y-&UKI*1*9"_FZ

M%:",U?R$WCWH\G3Q+,Y"J6X>4S*?JBYG^IB6J*(QH;=V<+6V4HFNF WX93*G


MD!5QQ NHVDJ^BZ+M,ADR'EVGIB%(UHN0EB+)6 4G2JD4\ LP9KPT5><9<'JB


M8XP1BB6CMPTWVS(*1PPVAK!:P!^H5CJ+^(9"KJY4Y* K8XY\Y)T4C:*(+2ND


M!Q*J2?9Q<O[,PR?([3O([I5SUR!Z!XKLQ_G_P)(/^["F$&SIJ;,.>^LSXL98
MK3%8HP[4JMNJE(W%`ETA5ULJ=+'RG\]WV30.6*TH9,D6TLTU4A_+F+0;,BYC
MI[2QE:#A
M=9$T6 (LM;U8K)0X^(.+6,\^A[S_'O*W;_+%^\,5T(78)XXA.Q\A.'TXJ1YO
MG\"W/P1'GB*U/TQRKYV[1LHIR+<#Y]_)%_>W8(TALA7P#SIM*6%CJ%(?K%*U
M5:F:BZ4-13Q07]HR$8!/>G0QJP8,_\J%+&41RX91 %U)JM&0=IHZQ0UNHH8J
M#A4VW5KENY5$-G *RAL1;7>C-VMUMQ$,]?/X<C"_+8 5%4 3$_ W)DSF5I;:
M5BR6M638=]Z-G' ;^?P26+. \IG?769=?I\%Y+1].R$:(XJU(/YPQ\/$T.-P
M<!?LW9B/?^H-R+$>LB^5T!U^K"%$M?5:; /V^B2SOK-,&RA1^$L4WF)I?1$7

M$WJY!<5.CJ''Y<U:7&V0WCJ/*UE(YRPDRP$_8HZI&^+&NE9$9:88N3??CKSR
M$G+V'= PD1^N`GC.YQ_RSIYBO? "?>,F*!HC\!5$4P8&X _O)7<^2FZ^"<F>
MHD6>)M5U8:0F)4'6BM-'&/9!IW6PWAYG- 11^K92N;]8[BV16(OS\*9*A4^ 
MS31I(G7J1IQ*O9"C*N':,*J K*Z[V9BPFSL8&IZJM[A^>7G3QHK6+5B22K2P
MNDE ZG9XTB9W"U9KGL<2+Z0Q%Y!DE4 3RQS3.!(F2S--(;AI*_+6:\C%]Y K


MV*BQ8Q5Y_92RK1AEA]24;3+%K-96`I?7<D_%])6*V%-5VGZXE"0J)?JDYCY/


MO#DN= PU6WHU]1'(TEZF:2M5^$H5`-Y2PM$7\<PH>:M(FW)J0WJU%2N3+43D
MI2PS1A:0&=->8ZS>["4)Q-;ET-J_8)=<(?$CU(*%8C2M16'I\31U:5S.&J5Z
M/H-="%,+"4(4P\DVAO4.^[)EPNT/("?>Q']SF02 O_LT;]]<9EW]`+E\CO[N
MV] S3^(2\1H"J08B5PE:<>YM^2L!^AZJ,<W"R==HP5T,C5%,E7M0\ Z".:UJ
M'&FU]*CMT6I3>XG:7RK/M\H2H3G/SS6AI7ZQ-NW1=NA4QEJ1:"%57,XP8J5M
M<F.FQ1BVUC52-5J<1BCMX?"BU&(*L:!25(VTJ"S=+G=$V6BOEDGG4^B%>'(1
MQ$,QZIG =>HMRV:$XU.D9_9"ER] 9T\B[[[-.?**^-E][ /[D'U[\-OOQH5C

M&T*5=6T+\ZVRN4S66"HPEK"U1>PZM S$/]VD;9)(%2 NIQ#FE5,T&%&+4I]J
M,788S/4T ZJ"(UE $Q32R LA_((:00VC26E*-#K:)1832L!?2(*+L,02+!M-
M-5!E7JG!)9)Q$KU0SP`FU 7=<3MRQUVR1<LT'A^$)>&K:1"66 TQ2 CJ8K*I
MF%Q7J1S&M3P"A5\$(T2U?1.A"PS/6PD,CJ&(VXH!Q=O08W8.M]BZ%0VA\OPW
M(\V%4G>IQ%;*TY0P5,4L`TKD$VFZ7-HFN51>RV84$9!R6($1M& T2;\I8* S
MDU1 42 OK$(8O[ 66UC%JZ$[9=I.J[5)H >3$FTA#E
MQN"K2VO+2FI*RG&E5304AEM#E-02114X;CE14(7A5]8**W ME?P`2A3&-&[.
M7TPR=C _,[CN)(:? MR;8 S-5B)LPQG"='N?S3G<5)\6Y?\DN:5 T31/X ![
MNC*VLH0F*V;HJP1>D2;2J&Z4B'AH*ER()5<0I#B^3Z=)^$U^C<F DTE+&(*%
M9&0A!"VLP117([6PDLF1LQ &%L: B14H0G$EIK"RJK 2O:"\8EYYY?S*ZH55


M+*9HJGD>D:;#JK *^:PJ,KZHEEB!$^.X?H,FW6II4YEU."FO D4II=664RI1


M-T&JH+B445\N\N-U$4YCOR,?^2Z:M6VAMJE 4E_ UQ4P184PIQ3/*27)JSB-
M`F6S4:KEL"AH8FT)KA9- B$V0F43B=3*&EHIAE.*$Y1"DE*BLHRB+:,92ZG&
M4EA7`NM+*:8RFJ6,7E^&-):QW!7<EG)^H$+862F*`D.)NRI%716B6*4H7 $>
M\#LKN
M8?YL_/[&^BZ*K6VATEG KRM RPJHK *(6H2CEL'<*H:$PN6QN'B87XHF+Z  
MS*\DS4.1YZ&1!1A!$5Y11-0`*\0K"G&20JRX""LI N3%1%TIQ5+.<%:P6BIY
M[2AA!"V.HR6)* G8E<: JE'B,$H:1ZOZJ P3-985M9X[<<$G"?%7B+WGH/ Q

M9/$M4+ *>+H"A%5 PLVOK2S&E);ABRKP\]"4A3C10DA2B)<5$Y7%`! V%,&F
M(H*N$%(50LI"O+J0"'1B+J8UE"+N,K:OG-=1*01!CE<*NRH%490 7,D/5O("
M*&$8K>RO,<[66C= F[838 ?AGG?)`Q_"XY_#XU^1AJZ0!J_ $V]7B5OQ$E,%

MO;"VI()07(N4$$0E5%T)S51"-9=0ZDHHEA*J%5AQ_MY6`E 9CC*69XZVO4+0
M62$(E0O"Y8)HN2!6SH^4\SK+V($REK^,UUFI&$+7K:ER;*L-/(WO> U.ODV,
MGH2[+Y*'OJ",?$T=_Q:>_I&\Z$=XY"MB_^=0\B2*X\;P5'EXEKQ*F2!D+_UZ

M">H2H 2R`<BXG&$O9WLJ^?Y*07M>`-(X2I9$2Q,H::)2`BR)DJ91LDQEWM(H
MU6"594V-YUYL\#DH


MXG>B17&T.(F6I*HDR2J 9U$4+0JC9?$J-9#Q9*W]!FS3-ES'DX3TF\2^\Z3!
MCXF#E_

M5Z()11CF_!K6PEIN836]G"S,:YMD+*4WE+%;0/;+!9%R(> /"6"5>8OG)<T/
M 7H$8D8K>FI,RS#V35C/=GSG\Z3>T]21*Y31S\G3WU.F?X)'OR&-?DL<_ K?

M&$I=K.UXI9+3B&8JJA!I+4]78QS' U!TGR?UG27UG88T4RBVMQ L*&AL(0I;
M"%:-*GP1&BJ!&$6UY*(:<E$MI:B&6HQA%D/"4HJNC.4MYP;G9!S,R]B\MMIU
M%S9R&)\Y`:??A1-GX>Q%RN!7Y-'O:&/?TQ;]B3SS5_+TW^&)'TE#WQ '`?]5


MLK"\JK"\NK <75B.*JI %]<02 G,4IA?QI"74865DO8:UU9LYPNXU'N$ODOX
M[ 5,XAVH_RII]&O*P->4GB_(?5]1AWXD#WU


MAK6<:JB *,M(DE)8489EEQ)9Y0Q).2*O8*K**9S:^J6$GK/XP2\)0]^0ACXG
M]%Z">CZ&NC_%]WX&9S^E]EZA]'Y!Z?D65"*YYR+<?QX>_90T]CT\_ 6(,R[U


M'JZUK,(VW0V%GH7[3F%L-U30%15407[A8*M15!:F80T1U.#PM_C^KPB]5_"]
M'^$R'^"2'X!$DQ+GR%UGR.G+Y-ZOJ"-?4T8^(PT`&7](&/B"T/\9/OM1GC_U
M/J[[8USW)5SJ/)0%G%\0ACX%`8<'+E 7?T9;^ UYT17RHD](XY<)(Y> _HNX
MWK.8V.%REK62#K8
M`H2.,OPE?>9_L(ZM:*:Z LJO1.35H'<A7+QG(W' "M3S.39Y"9?^!.H&2!>P


M,I*PG"8IHZO*$27:- [BC^\^"_>?AOO? 9(GH)[W"2/?P:.?40>^)7=_01W\




M7U)ZOJ(,_D ;_Z[&M+**J:YDB,':G:\ ,E+;L $7?P\;_Q#J!J_\&3;U/M3]
M$0%H>/ J:?AS8L\'8/5'9K^GS?Y '+E,&+Q$'+M"`BUE'!P`:O8]7/I=;/)D
M;>QM3.)X;=>;F/1)J.\T81A(_0I^^%/2Q%7RS/?PU-?$L<]($U? J4^)DY<(
M0R?+\,R\>.  AM*Y_G.*E'T'SKP$)Y_%I<Z ,$(]5XE]GU%ZKE)[/R=GOP!9
M( _\0!_[MM:XHHJI0B'B2I8<A2C*">0:^P9LUVEL` CC4ZCW"E .U /X/P-&

MWL1DWH7ZSA)&/L4/?4H`G7_J<\K,]^3IKXGCG\&+KI*GKQ G+N'[WR[#T2O!
M\$:7 OFYVC)#R)XD`4L=),7W_3]02P,$% ```` `Y*F[+*Y^(V0^` ``O P`
M`! ```!497-T1TPO=VEN8F%S92YD[59-CYLP$+TCY3_XF*PB[7US8H%TD9(0

MGHK9R! 9>;E-\>Y._HQ3'!?HM#O$[.,GM%A'0>C/NF&KCH\,^,*!D7&DX"8C
MX_O(0,B./-]&[X O:5*F,,<IK.(,S/'#TK,W"P<=U,)48 DDE.8RA8B4:5U+

MJ,44H2?YJAZ0%G =TS] U'PV4?EJ./R$>8A)D H081M%1H4ELJKOJ8C&M=$T




M_M(,76_U:SR9Q+**AI*Z*VS;F1IEHW]9VN EVD:OU7; ''=E?U/]]:KK+YPS

M.$%>R?.2V[ M]X% 2?:M+Z]:4^'ZSM.6M+\IFIK^>U(/UX=VME4:&KKV`\>I
MO_T5W<T+W9]^`%!+`P04````" `Z:[LL?N#E

MO+:WP4!A2>RK[KMW=OEC;-9Q*A5%E]PP\V.8G9V9A6Z2.&7HC4:+^"U[O+RX





M\33LJHYN>Y93NC>V' VAR*7?R6/C_\\DS6 <"9$F9(NW?NBO,B'I33T,;R8\

M8TTA;*L&0;YIJ7*AQ'\AESI<8"3^B1M2?S22L/6QT&4D"FC8HN3;7KY<P (U
MU\+P=R0]6HNY0S*2OI+%P3(*S9&?O1Q(GVE&YR%IR35_XZ\J\8_'.O5E*76-



MB%ECJ=']2:.BU$N-'MKN/4'U=+P9=)X3[MVUHUX96="!!H;,J-LV&F 3.[HZ
M*V(M,[IO&YD8:S-;,;#G8=2X]D8/)XS<*41^=&!;&]W=2MYIK- S/%&'BCEH
M/JHVZIXR4BU[B ZOVNC^E!&D(W9F12ZY1T8/$J,J>HJJ8 ,[BH>U`R-XI=L/


MTE<H,*]%.T62Z_J&<SRL#DTH48.I>&#WF!.$?I;1)0U\]BYG:#G?^% A1%_0
M?<T9QBG]'D?,#U$&O9['?T/#D

M$LVAWZ($_B[ZCIPC*GGI#N?<MSE)Z$>DY<81QWP:B8%9L(#SJ\2?-,_6`&)K
M2*<B&];^GEMSH!;NX_, \8=$)R%-SDAQOA8U`?+PMLW9^.D+7^QS_O S UOZ



M1S5TN\FIXZR&-$EHM#K+*CB.PJMQ20).'6>8AN?A1SPJ.(IKPZEN4HB 'N[C
M3*(55!W('YXX$S EKLYSIC6G*^=,/\:93"O.O9RSWB4Q3/^\4<HX(H.L 2AD
MKAAHT4,=(2->B8)8E,$;& 6BN$ZDI 9G*CB_WY[A'(\:>X_XYJK&'5ZB)7L5


MG"'6!T-/<.X..<.ZB\E!AQRKWW>Q-^&<[B''3F&J\>% AY24^&C+J_:*1N]R
MIISS^5W.3LYQ :&; [ZBPJ W$>]U+S N,/BF7_H!+Z1;=.J2<*:"\XN,LWN7
M(^8%!_=AZ8>EF)-X&A6%.N6?2%ZKP2$E2\B!-4I]2)YR_]4>22^ +& &_7U7

MO9%//.WKP)MJ-./>/'2DP]0)9_Y7;WJ&!XL^,$?8Y(<R[LWOA3<VK Q)>5OF

MRAL=T"MN\O,`-Q!+J_I)= 6W.EQ<W"^_DG(=E\7!BS7_BP3LJK[/[34Q/<R;
MIYN:TD&Y^/?$9X\]I'5 *A!G[5S"6D8?>*0(BOOF)^7GI:LZ(N)K,7I;A2H4
M`4942%B(]?Z^L(3;&D2T<9M;%0H]RS*XPLA_(>4&+-RJ=<0"_ M02P,$% ``
M`` `X:F[+!:9MKYL&0``'7,``! ```!497-T1TPO=VEN=7-E<BYDW)QM;]M(

M_=[5S2;ES<S.`:L!)C+KZ6*QNKJ[^H5:/3UO=WOGVVJSW'XK+]Z_6\D+GQ=E
MH5UX6*[4W_<?R_URM<473D_AI?7J,[[V_MWSR^?UZOX_R==B\_+T_MT_WK]S
MG'EV%]_X:8B2Q!\Y]'/IM%Y;_!.><"B)DUGBJ ^!!B;D38)P9$!=$YH&43 -





M8=3U&TH8%?^&$D;-O:6$JD89):3*N'?(Y]+F-U7#M \S<:-C>X,A1O-\NT.5

M;W6P"T'<X*9QEBO3`3B (/(\/\G'V/N9";9;FL8411F[NPFZL.UA=#H


M(&EJU%V$.57G9F\KP"Q'>>!5G>Z:(&[*6G571A6%VKM,/11^K50ZN%>"0C_/
M?76_! 4 #M4EVH"PPM^(64:JY>'Q./5'*9)/(IUSPN43N]P5\FO_UKO)H7G,

MZI7<"^-,3^M(C0MYAF[\89!GFGR Y,/;W$=A<!6QVJ-R$ED5N:Q_EEL*^548
M#U%(GU+J[S+Y;V9B/+V+9B K,CZB!9QPUL--+E</9F/; AWY&6XCMTVL*] I

MLDDP`OEJ5\JB.)TBX.I+W4+)57,OW5H)CG'-X?[*]R,=%*9+\.<XGNH6P^?0
M,-UX^$BB#YKB 3$/;FKB -= 7]&9GX]C;Z:::Y4^$W5['81A':RU<LSZ$8)S
M)QN+3I0-1I]388> )<.?A92L)]BKP^S(8$,_NLHG=M87;(*"R*Y5LF/9)K6^
MQL:V9?O]^\Q/;_UHE/E9!N=O &TK-J S0;"NIC=.?%VCQLKVZZ<H\X?75Q&<

MEN.,Q I?FLI4$QGY-SC)]6N*T5O(\!2-#R<`COGAK S/,4Y3[(9+5H9G'DSM
M!BA6AJ>'(L\/B<FU[!BXQ)NE60QF^ ;KRO"<QK/,K^E=."O#DZ;1S2P,SYF?

MN65PYJP,T2S!69J?DF2STG5R5H8HZ06#W)]6M4I6QMK41]DL]:TX9V6LC7R<
M5-I1P<I8N\'Y4QXWLBK6)B ]P,)8(R%?!27;D;%V=9AM`[V3.,=&U[,NT'N(
ME5TA[39QA5Q9XH>S,AZ\>$KRTH:ZZ)RKJ*2TEZO9487NRJ=C'6$29[3YZT4X
MV[>SVDJ28,] V\"3"5N[!_0`VIS<CE".&F 9Q:P'^J]XED;(;""<'2K-<DW 
M\N&TC+< 2F9YB$0GGOJXDL1J`6-[K1K6HK<GO9Q[*+6,>)"5,:2FWK6LC"'<
M8Z:6RH"L'$Z9'\8D#ZT
M8A1D28AN&T;&,UESN.75],.2A3W%`99.]X3?O/J)#Z=E/4=>_<2'LZYB/3Q/


M7['30S:<5=AZ&P95O;4V -$#CU[C(+6&&J/;:DD`LQ9;:UF+K1H+\CM4-W0(


MI:VFK]B"*;+-&Q7;!CZNQ3GK<BLR3U]4(N*Q6/7"0JT'8\*V$L*-7B9TE1!N
MIC)A1PI)AB\GH4S8E<(D]6\,84\*M2D_$_:E4-L-9<(S*9Q4A0/PG*2[YL,]
M$YY+(:Y1E0E085MY"*6I&J"94'F(+W!!H?)0CK+K,."1PH3*0VQQBRR72J'R
MD)9E,Z'RT, ?HUF80V$?/">.N3AEV2D3* ]INQ],J#R4^3 '1WDL]Q'&8B$&

M^R9K'IT`K.S+")?A>:)GZ<XX.X9L<Y^NU W(%D<:C*RK 9QM*P_C*35=5)IF
M5W#W
MPM(]*JM>,++0SJ$F*Z"TJ\;Y^KRORM;G?9)M&ZQU0.:L:^JMYCN2E357G_=)

MTD0C62"JF]N3IDR_GIXZ-XOU2^%\V>Z<W7:]7FT>G.VF<);%OMCLE;($7?G6
M#HW<^ O_G!!]V3W10Y4\+QX*L&ZGG1:H*&FY? 0C'5$8Q\F=?<'XTC$P6T=(
M'U+KK01>U4;NK-A/K'>UH((56<R<K1DV]MMN&ZQSXIS'NCX$:-5?H22?I?99
M.V=EU..&?TBOC'HZ! _3&"?#E5#BK

ME?.6P3;T*^= '"5G6>J611 -5O9'0>VR"&?; *U=DN"L"U MO;2P'<!&C9MU

MA O:!J9QT[#W
MF;- 1X:.3!-R2J9.LUI+8J.8CVRI"F=!C^G-:G=$&=T!1R7BI&;%6;+2B 3W
M??;XD:S*2+&UC?.#CLIK9GC JD$%J_(:/QKY:</:< ?D-91%9*^>X%H5<E9&

MKKTA\T$$#BE
M MJ=GHY::^%L_8C?45E*[8:78D&6DJ0'#C=TU(R1LOP85 T+YBC8UA&>N(]L
MTQ1&]V3\"-:6PG(6K%*A\:?F%=%.7WH.L\TK=ITSH#GQR3$NNW)&#U2=4-:N
MG+/09LL)`4 /P)&P<K][N=\[Y. <.3:&^/&P&:BIDIS,O:"ZHU&2QFS&N'[^
MLIEOELEN>T]EJ\U>WN3^L[<N_=?];F$1X4)*- DB/ N-/!*^C\&FW"\V]P67
MJ%65Q^!^NV%7P9&"1^]E5VYW[/HPG67\<,WCY]UP<?_+PV[[LEE2:9AXN"]R
MN-WE_TZ+S4NT>"JL0F^]*$LNQ2Y:K%>+4OGG Y/([Q<6:=0L#C5QQ?WS?U?W
MSX6+;>[7A(;[31_.007,*QZ>PPJPBD--_/[=UV)7KK:;HY?-ZGZ[+(YY!1CE
MY+<+)52*U%< !G: [P``EH#O[*F+=5E8+4&-EJ #EJ!#EJ"*)=B6UWVQVQRQ

MDP$7\%)HN<1N0ZN,_#U%UWX81U='Y(_U"64>CYU_.+MB_[+;.$?KO[#E &/G
M5^?H\:]_;?>/+QQ\:W8[6IY]K=-PORCW1PPY5K?#X"-3%"I%X6%%88,B[D$J
M8M^;53'&JNOTE#HKGL?IB"D!I85+`#D
MEYO5;G_AZ)_34P>MRRTV=;TNEL[^L7"^K!</I?-E5:R7M!>+:5[S2_']`OQY
M_[2\`/TMO1UIK?3+!3"$IG^XPYAY.3=G`DYT/RY9=SB,U2S]B[]C;Q8Z3 IF
MV;O[9($?O(JG1;G?[HJJ(-C<SYZ7BST7W:JD:_?P&9<J=E^+Y7]WW/^!3P+L
MQ5T7^.O"2D2'D=! I&O8I)Q=%R-)F-S$`<_BUL_>KL#F

MY+/\YK]F7)FL',UCQ+/:A3K?HG]'WVHY4'-R],_[%IF^9=E/X^"K587VUX6"
MC!HS_KZP#Z::(6_3C*R:5?[&3L>%R"/;J*)C8EG<NM \[!\OU 7:'X*_R\?M
M-^^)I4I)3"X][Z>K3;(M5_L53[SD]<6K=IUU:+O[:+M[6JR!2&6NNFDD?=*O

MDOF"?9[W\%FQ3?CY\/\OM"M1]5+(+VGOQ&3S._ 6!/E<BM=&YO3H.'R30[XU

MD.OTL>A,NQ?8NKET!D)D+KY>.N>P%-R&Q]YH 0=SX(?+B!1G#O%ZZ62X-;!<
M\^B8OC^\V"SI:Z&D:HRM&%D[^(YW,9LDRU?'VDI$YC)0Y"J1_BJ-]+-0J#S-

M4L0,4:JCE9I%LARSCG9)9"L-)V8OB[5S77PO3YP,#SS+Q0Z[MMAK\7YS+39+
ME3]?^>(DEJ55F2MD[!BN`V4=(9M6RW7I+A^V+(IS!T\F]ZN'E^U+Z7Q;[1^=

M) #OJA(ICUNB5=OXH3+I)WUIFLJDGQ(T,]X';$L_>2 )<J3I["IK_ S+07O%
MTB&P%2?&NEY7VIJD0:Q[P)6VZOL 5"9M];434U0F;9W$<)63RKI"IK_B2V4]

MA!+<>G, DU&#TS _U>\WDG;2EQ\TF2]]IAWFIC*V2$=:Z/5="_<:NQ?R[=S!


ME[E0YNJR#I1U=%D7RKJZK =E/5W6A[*^+CN#LC-=-H"R 2X[AS(9H5,\+ 9)

MD(U%]4C9F:R_L>N #Y7

M1T48RV&-2,^E1_4C+53&-MQ//V#B`T'"#WB<Q/^F'W +7A=?] X>UIW=ZN%Q
M[Z#U_L3Q]KLUO98]KK#T*T\"?L%)P$>J9%862V>[67\GW<,S2;*+/<E ]EOG
MJMBC\OOF'F<,.%W8%SCW(IKP976%*8FVSA9W,SL'CUX.3GUXHH.'\O7:6:[*
M_6KS\+(J'TT3B1EX/HH[HQ4>]Q??J;93_OBA-O:2QT?2-6E5)H,MU,9E*I/!


M/3ZBW^F4BG]G7U?'QV))TZ+R=VE\_PXG>R59T26: U% !HTP\) X2WZIJ>NX
MO;9+UHC-4A-DY"9FJ8ZM%'V!*P"9J%FJ:ROE?_)"-&VPL&<K13;RTR"[KKU7
MWU:*;.K%5W*KOEKJS%H*I9'8P[TT;;8]49K*A/!2^M,"DO=>4_[HE]IC753K


M]%Y90RFKYTDI!,=!LY35\Y%^UJ5::F K1=)7\L(,;TF54CUK?1EO:%9+T?HB





MF13K9V?XLM]O-_(AHMC^2SFB]$!["/)K!ZE/?I6RLKS3TGZWC'F3K-J2HWO7
M.!3NXHC-4T7N*6#QS.8/ZNFZNYKNRB_&Z?! A\T? ]- ]=N=OY$91.6(`G$<
MGNOL>!]+$MAO7\OG'?[R!;&^^H1M;)U\7=RM\9S%6>P>R+^D[S8*S'&!.2\Q

M4.WMI(,,ASK<H\['CQ^!&TTO.L*-BCODNT;7437X`8QGNOC=#FSPWYOO>=B+
M?"8YW+XB>FS&>9QOEL*7SOHYQZ$-_O06=+[)#M<X+_GWYT+Y6NF:&[KFAK+Y





MH<9M"F!YNRLJ=P0W:ZBF/^1FR'XSZ=M,5M/?7XH7UJ#O^9625XJ$P9(E^IU1
M(ZZEQ=/V:R$M-&\S_]?<YE"CAFNS?[0!]FK3GIG?C-W'N(6AW7RR0\W^__7)
MT!_S9+0I\\.NH^(+&^'(`78M]:'6T;OQHT+LE) X0<Q/!_&.P:9M_J/:FCH0
MVXU^X#XU;5\WGVFDRH06:&93U_/GF8G>;J;J(+:E&EQ^L)),1?^*VC;O\8=Y
M4+/[QZOYS[#O_YJWMMV$81CZ/FG_T$<T]2<"0UHET!A""SRRM1N=N G*M/W]
M:CM)<VG2=)K0GD")?7QLY]*T3H_\) F6P8+RTZ54I/!A=/Q55B,(K]B/V.)Q
MFLR+]_HT5)RPF)0-U.6#NWI1JXUB,QEQQ;D2YZYX(*<ND >H.0Q;=G5C_MP$
M[+ 8.\QG1S[]84^V?SO44T 5&*OR8OU$(R_20)OBX,0,QP[5+M/L'M?G&JJ[

MQ.,L#KWM41N8
MJU1PE30U L2LH6-$/; "QT;]]W/FG\6<73WF:LW+SN)=B/6^1'0"VD#SV> <



M`[Q]%NE$-0275FBQB:?5FQ6+9871QP^<H P7 KMR!S):Y S=SJR9RJ&<&;C1
ML/ZX$#TC*B:94*;BR/3BPF*YR+O9H$A7LSN?$%%*RY&#T)DG&R*4*0>]![ _
M1I*H$26;5BAG\;1ZLV*QK'""W=[\`%!+`P0*``````!KJ[LL````````````
M````!P```%1E<W1'3"]02P$"% `4````" #UJ;LLK5%UD"P!``#K` ``% ``
M```````!`" `MH$`````5&5S=$=,+VUA:V5497-T1TPN<VA02P$"% `4````

M;BYB87102P$"% `4````" !4J[LLQT^09K06``"'1 ``#P`````````!`" `
MMH&W`0``5&5S=$=,+U1E<W1'3"YD4$L!`A0`% ```` `<W&"*$^PVHC25 ``
M-F ```\```````````` `+:!F! ``%1E<W1'3"]497 Q+F)M<%!+`0(4`!0`
M```(`.2INRRN?B-D/ (``+X,```0``````````$`( "V 9=M``!497-T1TPO
M=VEN8F%S92YD4$L!`A0`% ```` `.FN[+'[ Y6HD!P``UA8```\`````````
M`0` `+:!`W ``%1E<W1'3"]W:6YG9&DN9%!+`0(4`!0````(`.&INRP6F;:^
M;!D``!US```0``````````$`( "V 51W``!497-T1TPO=VEN=7-E<BYD4$L!
M`A0`" ``````:ZN[+ ````````````````<````````````0`/]![I ``%1E
;<W1'3"]02P4&`````` `" #F`0``$Y$`````
`
end
May 27 2002
parent reply "anderson" <anderson firestar.com.au> writes:
I get an kernel32.lib error. Parhaps you could send me your version of
kernel32.lib.

F:\D\TestGL>run
F:\D\TestGL>cd f:\d\testgl
F:\D\TestGL>f:\dmd\bin\shell makeTestGL.sh
shell 1.00
copy \dmd\lib\phobos.lib
        1 file(s) copied.
copy \dmd\lib\snn.lib
        1 file(s) copied.
copy \dmd\lib\opengl32.lib
        1 file(s) copied.
copy \dmd\lib\user32.lib
        1 file(s) copied.
copy \dmd\lib\gdi32.lib
        1 file(s) copied.
copy \dmd\lib\kernel32.lib
        1 file(s) copied.
\dmd\bin\dmd -c testgl -I\dmd\src\phobos
D ALPHA Experimental release
www.digitalmars.com
\dmd\src\phobos\windows.d: symbol HICON symbol windows.HICON conflicts with
wing
di.HICON at wingdi.d

--- errorlevel 1

F:\D\TestGL>run

F:\D\TestGL>cd f:\d\testgl

F:\D\TestGL>f:\dmd\bin\shell makeTestGL.sh
shell 1.00
copy \dmd\lib\phobos.lib
        1 file(s) copied.
copy \dmd\lib\snn.lib
        1 file(s) copied.
copy \dmd\lib\opengl32.lib
        1 file(s) copied.
copy \dmd\lib\user32.lib
        1 file(s) copied.
copy \dmd\lib\gdi32.lib
        1 file(s) copied.
copy \dmd\lib\kernel32.lib
        1 file(s) copied.
\dmd\bin\dmd -c testgl -I\dmd\src\phobos
D ALPHA Experimental release
www.digitalmars.com

\dmd\bin\dmd -c winbase -I\dmd\src\phobos
D ALPHA Experimental release
www.digitalmars.com

\dmd\bin\dmd -c wingdi -I\dmd\src\phobos
D ALPHA Experimental release
www.digitalmars.com

\dmd\bin\dmd -c winuser -I\dmd\src\phobos
D ALPHA Experimental release
www.digitalmars.com

\dmd\bin\sc -WA testgl.obj winbase.obj wingdi.obj winuser.obj opengl32.lib
kerne
l32.lib user32.lib gdi32.lib -L/map
link
testgl+winbase+wingdi+winuser,,,opengl32+kernel32+user32+gdi32+user32+kerne
l32/noi/map;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

kernel32.lib
 Error 43: Not a Valid Library File

--- errorlevel 1

--- errorlevel 1

"Sean L. Palmer" <seanpalmer earthlink.net> wrote in message
news:acv118$ndo$1 digitaldaemon.com...
 I got my tiny OpenGL testbed app working in D!  YES!  Only took one day
 total, and most of that was making the windows API's that it uses
available.
 I must say that if anything it looks cleaner in D than in C++.  It's in
the
 attached zip file if anyone cares to try it.

 Walter, you should consider adding these win*.d files to your windows.d in
 phobos.  I mainly only got the ones this sample needed, but they are some
of
 the most common windows functions.  Also I went back and tried to make
 unicode support (using version statement) but haven't tested that yet.

 This is a rough first draft.  If I had GLU32.LIB that worked I'd put in
 texture support and better error reporting.

 Walter have you ever considered making printf (for Windows native mode
apps,
 as opposed to Console apps) to call OutputDebugString?  Windows apps don't
 really have a stdout, so printf just goes into the bit bucket.

 Sean
May 27 2002
parent reply "Sean L. Palmer" <seanpalmer earthlink.net> writes:
You're probably using Pavel's windows.d instead of what comes with phobos.

I just got kernel32.lib from the dm\lib folder, nothing special.

Sean

"anderson" <anderson firestar.com.au> wrote in message
news:acv9il$11a3$1 digitaldaemon.com...
 I get an kernel32.lib error. Parhaps you could send me your version of
 kernel32.lib.

 F:\D\TestGL>run
 F:\D\TestGL>cd f:\d\testgl
 F:\D\TestGL>f:\dmd\bin\shell makeTestGL.sh
 shell 1.00
 copy \dmd\lib\phobos.lib
         1 file(s) copied.
 copy \dmd\lib\snn.lib
         1 file(s) copied.
 copy \dmd\lib\opengl32.lib
         1 file(s) copied.
 copy \dmd\lib\user32.lib
         1 file(s) copied.
 copy \dmd\lib\gdi32.lib
         1 file(s) copied.
 copy \dmd\lib\kernel32.lib
         1 file(s) copied.
 \dmd\bin\dmd -c testgl -I\dmd\src\phobos
 D ALPHA Experimental release
 www.digitalmars.com
 \dmd\src\phobos\windows.d: symbol HICON symbol windows.HICON conflicts
with
 wing
 di.HICON at wingdi.d

 --- errorlevel 1

 F:\D\TestGL>run

 F:\D\TestGL>cd f:\d\testgl

 F:\D\TestGL>f:\dmd\bin\shell makeTestGL.sh
 shell 1.00
 copy \dmd\lib\phobos.lib
         1 file(s) copied.
 copy \dmd\lib\snn.lib
         1 file(s) copied.
 copy \dmd\lib\opengl32.lib
         1 file(s) copied.
 copy \dmd\lib\user32.lib
         1 file(s) copied.
 copy \dmd\lib\gdi32.lib
         1 file(s) copied.
 copy \dmd\lib\kernel32.lib
         1 file(s) copied.
 \dmd\bin\dmd -c testgl -I\dmd\src\phobos
 D ALPHA Experimental release
 www.digitalmars.com

 \dmd\bin\dmd -c winbase -I\dmd\src\phobos
 D ALPHA Experimental release
 www.digitalmars.com

 \dmd\bin\dmd -c wingdi -I\dmd\src\phobos
 D ALPHA Experimental release
 www.digitalmars.com

 \dmd\bin\dmd -c winuser -I\dmd\src\phobos
 D ALPHA Experimental release
 www.digitalmars.com

 \dmd\bin\sc -WA testgl.obj winbase.obj wingdi.obj winuser.obj opengl32.lib
 kerne
 l32.lib user32.lib gdi32.lib -L/map
 link
testgl+winbase+wingdi+winuser,,,opengl32+kernel32+user32+gdi32+user32+kerne
 l32/noi/map;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 kernel32.lib
  Error 43: Not a Valid Library File

 --- errorlevel 1

 --- errorlevel 1

 "Sean L. Palmer" <seanpalmer earthlink.net> wrote in message
 news:acv118$ndo$1 digitaldaemon.com...
 I got my tiny OpenGL testbed app working in D!  YES!  Only took one day
 total, and most of that was making the windows API's that it uses
available.
 I must say that if anything it looks cleaner in D than in C++.  It's in
the
 attached zip file if anyone cares to try it.

 Walter, you should consider adding these win*.d files to your windows.d
in
 phobos.  I mainly only got the ones this sample needed, but they are
some
 of
 the most common windows functions.  Also I went back and tried to make
 unicode support (using version statement) but haven't tested that yet.

 This is a rough first draft.  If I had GLU32.LIB that worked I'd put in
 texture support and better error reporting.

 Walter have you ever considered making printf (for Windows native mode
apps,
 as opposed to Console apps) to call OutputDebugString?  Windows apps
don't
 really have a stdout, so printf just goes into the bit bucket.

 Sean
May 28 2002
parent "anderson" <anderson firestar.com.au> writes:
Oh, I was getting from VC++ thanks. I'm seeing triangles :)

What would be really nice is an automatic D installer, perhaps one with
patches or one of those fancy Internet ones that determine what updates are
needed. There's heaps of free ones around and when I get time I'll have a
look into it if you would like.

But I've never heard of a computer illiterate programmer ( perhaps a MAC
user (; )

--
PS - Walter you remind me of Steven Glanville (www.anim8or.com) because your
both really nice, hardworking guys working a huge program/project
practically by themselves with a full time job as well. BUT I'm not trying
to (cast) you as an integer or anything ;)

"Sean L. Palmer" <seanpalmer earthlink.net> wrote in message
news:ad0i6s$2vap$1 digitaldaemon.com...
 You're probably using Pavel's windows.d instead of what comes with phobos.

 I just got kernel32.lib from the dm\lib folder, nothing special.

 Sean
May 28 2002