MSCFt \:I/i   +Y HPRO21~2.000xY) PCSHEL~1.016+< 0pcshell.015Xc*eP PCFILE~1.014> Xc*\P 00pcirda.013ή(w*ѽ pcheader.012)V? 00random.011I* 0000bit1.010LI*gN BASICM~1.009jI*vL 008queen.008z  )l 0000coin.007) (n FIBONA~1.006 *s{ DEVICE~1.005r+ 00pchelp.004.d*m 00cerror.003T.* 0default.002* pceditor.001,PO|MSCE' g dl u PocketCOrbworksPALM PCHPC%CE1%\PocketC%CE2%PocketC%CE5% PkCExample%CE11%.pc pktc_srcfile DefaultIcon Shell Open Command .hpktc_headerfile.app pktc_appfilePocketC Development.lnk@ pceditor.exe@ default.dat@ cerror.dat@ pchelp.htp @devicecompiler.dll@ fibonacci.pc@coin.pc @ 8queen.pc  @ basicmath.pc  @bit1.pc  @ random.pc @ pcheader.h @ pcirda.h@ pcfilesys.h@ pcshell.exe@pcshellv2.exe            Defaultpktc_srcfileDefaultpcsrc&Default%InstallDir%\pcshell.exe,-129'Default"%InstallDir%\pceditor.exe" %1Defaultpktc_headerfileDefaultpcheader&Default%InstallDir%\pcshell.exe,-130'Default"%InstallDir%\pceditor.exe" %1 Defaultpktc_appfile Defaultpcapp &Default%InstallDir%\pcshell.exe,-112 &Default"%InstallDir%\pcshell.exe" %1MZ@ !L!This program cannot be run in DOS mode. $笯ԉԉԉԉ*˚PԉԉԉӏԉRichԉPE9 |  Pp%\.text `.rdataz@@.data-<&@.pdata\@@@.rsrc%p&R@@"Oi @&O "Oc @&O "O] @&O "OW @&O /"OChL @ 0H @d&O h //"OChSi?Fq @4=AF @5~U=` @4x5E4s,ӓd2cg, C6d f&)"b Bdd f!&a Add O,?&Oi h /"OCeF?8a A4"( @4  @4  @4h @4`$,?&O h `0h-H!`!!T,XA,@ /"OudSB?K= @ Ca8 A4"(9 @485( @46 @4wC`v,?&O h ///////"OjHSjsin.a Ad 4" @DhFeFfWehBdI!2c Cd уda A5m"b B5k @ -Zj+W-U+S "b Bd * dte @F .@ H!T,(,,@!T4\!D{"b Bdgvde @F y2c C5vam A5-|k+@nEVR$dg @kk @d\ @dXVeVԓg @`2&B&m&l&k&j&i&h#o n///////"OHSlcmsh[ZY?n嬐UOЦ @4NJ$KcF @4+>гf?> @4 :=: @4B"b B4dDSfF7l7qa`|'uW4)H1ѓea A4-L @4Ld3%A.6H B'3[>A#N2<L"` @4i @4i;уda A5):`32&B&m&l&k&j&i&h#o n !@LX!0"(<"l@dT\p8 /"OCh_Sda A. e1(^"b Bd&O h //"OChSi?TЭ @4Qғe"b B4J\2c C4 d!($G5"b Bd,?&Oi h /"OCh;Sda A\<҃d"b B 5.52c Cd &O h//"OChSd-a A\/"b 9d Be1)&Oi h//"OCh'a AdDS`@uW4a9`&Oi h "O<%&H)4*+ @,L&O /"OCh!?8 1DeP!@`:4 @(-D"xP"|@\H8caa A48\҃e"b B4[(t2u8v5wxX @),?&O h"OH$@Cfcgqc=c8# vab-`.ucgqb-b("v5(< 2$1;$"b7 B6 R @ dL 4DN +mR":5 @ d4@N m;Ќ=8}ef @gT.Ѓefg @tRz2ʍ8 Rj 2%$X12c @e(LG@bW2V5r"taWVrcWVteWVvgWVxiWVj{VfW|mVgVf~o@rVgVfr"aReRG2͉&Omlkji h+T X XX""hI0` $//"OChQV1 YI5uSidb"e @ dH$B( &Oi h c4 F///L=Slml d+ 8//"OChQV1 YI5uSidDb"e @ dH$B( &Oi h c4 F///L=Slml d+ L//"OChQV1 YI5uSiLc2e @ dH$B( &Oi h a F///L=Slml d+//////"OChSijl;547d @\ed @(x e7df @ks%x+:$5,7d @=\ped @9Lgfe$7d @$ef @4k_65:(7Hzd @4\`ed @LULef07d @4[ГePԽQ @4 d8&Omlkji h//////"OGBN>"!`M(A#L92"?WQ A ATt @YUR(":X` 82C @ekR"97 @ ldLL4B[+mR"9/ @ d4mA\="} ԓef @gT*Уefg @tyR2̍: R& 2% X@1D2 @e(CcbCWCV<2r"taVG1UbS&Omlkji h"RhIhAt+T$ X XX# `//"OChQV1 YI5uSidDDb"e @ dH$B( &Oi h c4 F///L=Slml d+ //////"OZ]\[@D `$ @if @d`4&Omlkji h /"OCh?( @d  @Fd @5 @d,?&O h$0<H/"OChx b@,0&O h //"OCichh i@ 9D @ deR$ B)&Oi h //////"OChdH$ @ &O "ORActT=5&O "OT05&O /////"OChSl,d*2c C j `@dؿ=ey: ;`&Olkji h "O]`5&O //"OChSia AdfdeF&Oi h@ %,8DxP\\"OO5毾O `&O "O5栾 `&O "O5撾P&O @aaA,b 1 a)B 1)# J`@aaAB 1 a),b 1)# J`/"OChڿ  濃d &O h //"OCh dԾi9`&Oi h "Oa At&O @///////"OChSkcinql CeP3:P2 P1 P3-E\4&4 @1$H$"@1 @5\4 &4 DM# ,<:~^@;A305 @43 @d ܢ 3 @dע 2+a A  ΢ F ?df%Уe @dâ (!a A   !гef @d *\ 5 @;TeH$ @dSd @5@B,:5 @d @d  @d WJRhAtT,\҂"b B  efgjd @Bws5 @,4~ @d @d qгefg @d@ x @ dj @ennfCb<;:]e @do @d dC`p @d r${5 @db @d  h @d O] @d ZЯeG)JM)*xCf @<4Z @d ^@FB5 @,4M @d  S @d <أi CГfb,6TWaS5R&Q5 @;hG @dG @4;0a Ad ,+ @dӧ#= @413"b Bd #% @dє!4 @4(-2c Cd # @dҁ"* @4)a Ad P @dn#dAIRWIJRhA!$&,!t$ld!\l&XP"&,\H&g @4cX"b Bd _` @dX!y] @dZW2c Cd UG @dM"iJبNَG @edH$Cei= @ hC @dd4j6 @d he5 @SddݠCi9ԣi9,j2،Qv. @edH$Ceml% @ l+ @dd4k @d le @Sdz9ՉnB,:ze bfqW @ei ..Эf)J9*e @gi#,&JIRII&$\", PХ @dK @  I @K G>Ԓ @ ;F @ d; @; 7Ӈ>< @3i3.8 @+i/w1 @d(Уf @ei- @di+ @ i$۳h] df"Уe @d ceгdg @fi``2&B&m&l&k&j&i&h#o n//"OCh9? meL5X%P24P1Ia  @ d @Wc  WJ T( 4 @ 'JdEf"bM B4d5eG @6i 9E @d dC @d廰d 嶰dw,?&Oi h ///"Ol 4-L8L:tCie @d(,$a A  fe @d ee @d @dЂd @5VvgQqdUW @5 @d Вd @5 @da!J`(&Oji h0L JhA8'\HX  ////"OChk;cqFЃj4R%:QS7R(IS:<86 @K8 @T5x!J`0&Okji h //"OChi 4BaP1X% R$i^<9+ @d#d &ЃiP,9 @d d" @d&Oi h //"OShci9N @udfe @7<&Oi h# V  V  VC @P"L'$&h'd  ///"OChnw @es$ @4sTUE @Vio @ek4 @5~TfrUGX4 @5o @4sfj4 @5i @4Z4 @Uf64 @5dfb 4 @5\ @4(M4 @UY64 @5WfU 4 @5O @4`,2&B&i&h#o n:$ C` //"OChB 8 4aCi Ad8Гe @d1҉"b0247 @d&Oi h"O}' @4&O //"O#ma 1* i 4Ch @di @d`&Oi hW4 C`"OTN @ &O //"OCh iA9 @d @T @d&Oi hp | hI ,+ ' @  @??vx /////"OlL:dtChk1(lR"; @ d4k2@aa"()S2;I @ d4@b,b+)`&Olkji h ////"OdL8iltCjQ9p @ d4Dc&&Rc2$ Ch @Sd(2 Rb"$RS2 Ch @Sd("&O h  <\l@*\/"OGئxb("/BE @ }GЂd @EeSd@1 H$uX% Sdt@2 5; @  2; @ /9 @  ,7 @ 0+n+ @<4'3 @ &O h ////"OChSk`& @@t@:`xi1(R"9 @ dII4Ne&Okji h ///"OSh@L:`tBiy$Q9 @ eII5.d&Oji hWRhA(D( ](())////"OCh= @t7@8Ռ4SQ6!V"W @"el:A଀2 @B*cL3tG2#+x9$: @`CbStBG16;2ก: @3CacA3#tG3%& +8yd"!$!"$ H(A`A`A`¨`&Okji h]I*8///"OChq(A`A`A`xxЌ98 @4qМ: @dq @Tp @Tlm @ @kЌ9 @dky @dkx @d&Oji h"O͑?d @ Pd[@G @6NR @ fZ @5R @䯒,?&O "O?R @ ?dI@G @6<@ @ fH @5@ @䋒,?&O ///////"OCh~?n44<(:41$12$ b|)L9Ck Jd|L9#yI8:Cl MdyI:dӌ:Fds`79QRa"b"12 @d+B FG4=W\J[hI)*t\+Dl<m1*S2= @ S2d4@a' @T +C 'Ld94+B DM# v::^`: l      `^t6H 2 Z V <BR>dd4QAd5 QAd5S|3dd+Bd|*T0  @*0+\ *TH$Ce @d?+\H4 @eeH @4 He @4H5PVd2ReB"QOxHвe @4HP6d @5 @d +u @4p @ddf~xddh5dd5g6d @5TL646@2$H$@2 dH$Ce dU @ a( TH$CeO @T Rբf]תd QN4 @I @ddfWUי(d5d?l@;|R"<F @ dLL4BUCk5P3X%P3Ac=c;c1$b+b"+- @d +- @dfd:)`d d5dݸ5#6d @5TL4*@3H$ @3 c a#(5SQ#:բf/d Q4 @ @dfd(d @5dä?< H ,\>*T,0 ,BT  + (,T,*Ѓd @5d @56d @5TL4*@3H$ @3 c a#(5SQ#:բf׸d Q4 @~ @dfdՄק(d @5dL}d @5zЃd @5s6d @5TL4*@3H$ @3 c a#(5SQ#:dբf\od Q_4 @Z @ddfaU^([Ѓd @5dXЃd @5Vd @5QЃd @5TL4$@3H$ @3 cQaC(5QaSC:@բf:&d \df@7(:Ѓd @5d7Ѓd @55d @50Ѓd @5TL64"@2H$ @2 bST*(?B,C-,-*բfחd dfSծ׎4d @5d3@=lS|2< @ LRL"d4 @ `tClS2< @ `tLRL"b2*lSCm2= @ MdM4dR"b(")2$Ѓd @5d @5 @4 @4v @4 JdH$r @4 JdB4rd @5dˢpd @5mЃd @5m @4k @4` @4 JdH$[ @4 JdB4[Ѓd @5dYЃd @5Wd @5O6d @5R5 @4lJ @4G @4,'` '`'` $ "$4 L'` '` '`$ "$ '<` '<`'<`2 Ѓd @5d&Ѓd @5 @4lb5d @"*d @dlb 5d @"d* @d*d=>T*B,Cx.,.*@Ѓd @=cs:2)R"3l @ SCRC"d<4 @ amQ= @ SM2dM4Ba!*d஡@d @=br*")Q2l @ RQBdB,4 @ c<m1S2= @ MRM"d4Bc8#*dml32*Q< @ d4@cd}5 @+B <+A58G @ 6F @eB @T>@B{K8:,:Ci: Hd{Kz 4PBxH:,:Ck: IdxH,( @4* @4( @4Y2&B&m&l&k&j&i&h#o n"OARctG?Ha4B A6  @ f @5 @+,?&O T.4=JPF=*B.D,C0/T//X  $$ C` //"OChSi @ ) @d`&Oi hD"OtcRAQ!SsVUb#QUTRCQ@D @"S#UuQCbaBVgBVf,1r!taVfG3RebS @4P&O D* t//"OChQV1 YI5uSidDDb"e @ dH$B( &Oi h c4 F///L=Slml d+/"OCh @cde @4QAAR4 @&(2 &O h /"OCh @cde @4UV @4 @4( &O h /"OCh @cde @4UV @4 @4( &O h /"OCh @cde @4UV @4 @4( &O h /"OCh @cde @4UV @4 @4( &O h /"OCh @cde @4UV @4 @4( &O h /"OChz @cdet @4qUV @4p @4( &O h /"OChk @cdee @4eUV @4a @4( &O h /"OCh\ @cdeV @4^UV @4R @4( &O h /"OChM @cdeG @4QUV @4C @4( &O h /"OCh> @cde8 @49UV @44 @4( &O h /"OCh/ @cde) @4,UV @4% @4( &O h /"OCh @cde @4UV @4 @4( &O h /"OCh @cde  @4UV @4 @4( &O h`  l x           //"OciCh @de @4y @de @4$UVQW @4$ @4(",&Oi h/"OCh @cde @4UV @4 @4( &O h /"OCh @cde @4UV @4 @4( &O h "O @cdd@1@3 @2  @@ @0 @ @&O ///"OchzCj @diux @de{ @d*&Oji h/"OChh @ ep( @4rfo(4 @5UE]EWTFH 4 @Y(0&O h ///"OchS @CjiS @deP @deW @4GUV @4L @4* &Oji h //"OchD @d ;ӗ> AГd @2u< @dg /Гd @2u* @dg*ad @E'd @2ua#Гd! @E&Oi h "OI @ &O /////"OChSd@1nE\4H$/@1  J T \0  , 8  D At@ //////"OCichIFG @dlA @edH$Ckk; @ j; @dd4l4 @d jkx5 @dg4i @d)"&Omlkji h //////"OCich$!" @dlH @edH$Ckk> @ j @dd4l @d jkx @dfQd @E)"&Omlkji hJI\C//////"OCichEBC @dm= @edH$Cjl7 @ k7 @dd4j0 @d k1 @4k0 x @dg.Sdf @E)"&Omlkji h////"OCh  @cdj? @eeX%Sd6 @ i @dd4k  @d id @("&Okji hJI\F////"OChXRT @cdjN @eeX%SdG @ iH @dd4k@ @d idEЍ @("&Okji h//////"OChci723 @dln- @edH$Ckkd& @ j' @dd4l @d jk" @4f!F @d"d @D j ( @ d @  @d y @dfRdg @E&Omlkji hd#hEJI|P"*GI //////"OCichEBC @dm= @edH$Cjl7 @ k7 @dd4j0 @d k1 @4k0 x @dg.гf] @d)"&Omlkji h ////"OCh  @cdj? @eeX%Sd6 @ i @dd4k  @d id @("&Okji hJI\JK //////"OCichKHI @dmC @edH$Cjl= @ k= @dd4j6 @d k7 @4k6 x @dg4гfW @d)"&Omlkji h //////"OCich$!" @dlI @edH$Ckk? @ j @dd4l @d jkx @df @d)"&Omlkji hMJI\N//////"OCichIFG @dlA @edH$Ckk; @ j; @dd4l4 @d jkx5 @dg4`d @E)"&Omlkji h//////"OCich$!" @dlH @edH$Ckk> @ j @dd4l @d jkx @df @d)"&Omlkji hJI\ ////"OChHDF @cdj~@ @eeX%Sdu: @ i: @dd4k3 @d ida5 @E("&Okji h //////"OCich&#$ @dm; @edH$Cjl1 @ k @dd4j @d k @4k x @dgгf @d)"&Omlkji hJI\ ////"OCh@<> @cdjn8 @eeX%Sde2 @ i2 @dd4k+ @d id-Z @("&Okji h////"OCh! @cdj0 @eeX%Sd' @ i @dd4k  @d idb @E("&Okji hJI //////"OChciA<= @dl7 @edH$Ckk{0 @ j1 @dd4l) @d jk. @d+() @d5 ' @4Tf& @dd4 @d! t @D j ( @ d @  @d y @dfУg$ @d&Omlkji hd#hEJI|P"T* /// HU///"OCichKHI @dmC @edH$Cjl= @ k= @dd4j6 @d k7 @4k6 x @dg4гfW @d)"&Omlkji h //////"OCich$!" @dlI @edH$Ckk? @ j @dd4l @d jkx @df @d)"&Omlkji hJI\////"OChFBD @cdj> @eeX%Sd8 @ i8 @dd4k1 @d idx2 @E("&Okji h //////"OCich$!" @dlF @edH$Ckk< @ j @dd4l @d jkx @dfd @ru)"&Omlkji hJI /////"OChLIJ @cdlD @edH$Cjk}> @ i> @dd4j7 @d i; @di:ГdDt @"e(7d @6`I &Olkji h//////"OCich$!" @dl7 @edH$Ckk- @ j @dd4l @d jkx @dg @d)"&Omlkji hJI\ * //////"OGchXUV @dmP @edH$CiiJ @ kJ @dd4lC @d kiTH$TH$@ @4k> @4j<0 @4g<гef @djTH$T042 @4j0 @4k/0 @4g.Уef @djTH$T 4$ @4k" @4j"0 @4g гef @djT 4TH$ @4k @4j0 @4gгef @djT4,T4( @4 kJI<\ @4j0 @4gгef @djT4T4 @4j @4k0 @4gУef @djT4TH$ @4j @4k0 @4gУef @djT04T04} @4j} @4ky0 @4gyУef @djT04T04o @4jn @4kl0x @dgjУef @djR"2&Omlkji h //////"OGci?h 8VS @dSlN @edH$CemH @ lH @dd4kA @d leX%㊐2!"C ? @d?,ae A4: @4ae9"b B43 @4 10 @4@ . @4,P @4`) @4'py @dW # @df$Kd @7dDB#B,?&Omlkji h////"OChck2  @di{ @dgГf# @d("&Okji h,JI<\@H d, g//"OCh_Ȑ ` @cdf_筕 @d("&Oi h //////"OCjchROP @dlJ @edH$CiiC @ kD @dd4l< @d ki=Уk @4l; @4m80 @4j6@x @d.Гdefg @+"&Omlkji h//////"OCich$!" @dlH @edH$Ckk> @ j @dd4l @d jkx @de @d)"&Omlkji hfL JI /"OChXѽ[л @dV @dB("&O h/////"OChMJJ @cdjE @edH$Cfk? @ j@ @dd4l8 @d jf"(2h& s6o @d1 @dB(2&Olkji h /"O&X(ChSdO @("&O h/"ODChSd: @("&O h////"Och, Cj @4ix @dg Гf @d*"&Okji hJIhilmo//////"OCjci\ː` @hZУm @4lX @4kU0 @4jU@y @deUгfg @d-2&Omlkji h///"OChB. biG2c CdygBГf @d(&Oji h ///"OChcj 4 @4i2 @4. gma(A'">0d @f(&Oji h////"OChck" @4j  @4 iЭa(Ad @)"?>Гg: @f(&Okji h /////"OChci @4d@1@3@2 @@jJ|(0\(\k0d @4d@2@1@3 ;*+**;*VۻZ @嶐 T @dkRy @dfRгeg @dd 4(" 404"(2 "("&Olkji h"O; @cde67 @ &O "O2t4p- @&O /"O+f0 @  ^)Z# @&O h/"O P% @  HD @&O h//"OChci<d @% @4 y @d % > F @4(L&Oi hBC<J\|X  //"OCich{ @4 @4} @40z @4x@ @4x @ddn @5)" &Oi h"Oo @cdeq @&O ///"OchfCj @didx @def @d*&Oji h"OZ @cdd^ @ &O "OOQ @ &O /////"OChSlckCڣi9H @deN @dduP4B @de; @d H$= @de6 @d 7 @ ef d&Olkji h "O(J5l @&O //"Och 9( @4 # @de"0 @d&Oi h ///"OChci @  @de @dB(&Oji h  J\0<|hA \h0    nv/////"OChckґ?("a @di\ @4jZ { @d(^;2cle C4+W(e @4 UX 6NL5 @9dBaD b#`TB(,?&Olkji h ///"OCh?49 @cdi<: @d*1 @4("q,?&Oji h //////"OChcjH?n4$ @dk'9 @d)# @dzd @"i @4  )| ڷ6ld @5c2,aeX$4 6bb"$SBa3)H$)H$TtAT$--4R\TT,,@,04 @4 k5(zгef @4@b@'5w @4 "jqef @4ilpL @4 k(fдf @I`5 c @d _ @dZb @d2&B&l&k&j&i&h#o n ////"OCich?4M @djO; @d+G @4jE x @dfAe @4)",?&Okji h ///"OCh?45 @cdi7: @d*- @4("f,?&Oji h ///"OChY?4" @cdi$: @d* @4("@,?&Oji h ///"OCh3?4 @cdi: @d* @4(",?&Oji h h-H-|T,+,*x0 ////"OChci?4D @dkE: @d*y> @de= @49 @4("h,?&Okji h ///"Oci/ @dj-y/ @d 6 *5d @9dBaD b#`(&Oji h ////"OCh @cddE $56d @:ab$ff54Bc2%QRb 1)H$)H$TtATB((&Okji hh-+4R,///////"OHch?n4G @djI9 @d)CBI @4iA @4m[98<06de @bS"#aDfo4<5Rb"$SBa3)H$)H$TtAT04-"b BddD*a AddF9Ci @4 l[L@546d @:a*bH*fa45Rc2$QBb 1)H$)H$TtAT4# x @de f @4dB#2 -R\4,,\,Z @djSx @dfRV @W䣐eMГf @4(2I @d ⓐ"#2&B&m&l&k&j&i&h#o n//"O?45 @cdh89 @d). @4m,?&Oi h ///////"OI?n04" @cdi&08 @d(؃j.(d9<L6kebfh&Rel7rcV3)x'cdvbf vbfh& C5Ra,d=L6ebfh&%Rel7rc65)x'cdvbf-R\+4,,*,  vbfh&ڋB5Ra- b4(aCeRbd"$QS1a4R!15 @4{5 @4sU6 @dt5 @4q5 @4oVd @Ug0 @4Ւ2&B&m&l&k&j&i&h#o n "OX @cde\U @ &O ////"OchCkO @4jM @diJ x @dfIГe @d+&Okji h////"OchCk= @dj; @4i8 x @df7Гe @d+&Okji h///"Och,Cj @4i) @de) @d*&Oji h///"OchCj @dix @de @d*&Oji h/"OCh @cdd @(&O h/"OCh @cdd @ (&O hW\  4, ( ,4 /"OCh @cdd @ (&O h/"OChx @cddu @ (&O h////"OChck?n @4eݐ. h @ je @dh%7ef @&\d @5Œ,?&Okji h ////"OChck?TЮ @4Kҩ. N @ jK @dNE7ef @FBЃd @5,?&Okji h"OA@9A @4&O x4A7evfrgb%qReR$" x,A7evfrgb%qQUR$" %xA5W f3`Wa$ xA5T f3`Tb$ xA5U f3`Ub$ xA5V f3`Vb$ nA5uT f3`Tb$#`T JR|\4 $ ////"OchZɐ ZCj @diXx @dfXГe @d*"&Okji h //"OIѨCiI @cdeL @d)"&Oi h ////"Och? @dk= @4j9 @4i70x @dg<Ьef @d&Okji h"O- @cdi)@0BD'5 @,4,&O /"O U @cdf"L @d&O h /"OCh @cdexA @4("&O h /"OCh @ xA4G e3`GQ(&O hWJR<4@ L p,X e//"OChnA9 @y d3`B(#`&Oi h\q" \q" /"OCh @(&O h/"OCh @(&O h/"OCh} @cde~y @\t(&O h /"OChs @cdeso @\t(&O h /////"OChci;d`ںa @ +4`Bl @dk]y @dfaгe @d dB(埐5W @Re&Olkji h/////"OChci;dEڄF @ +4EBl @dkBy @dfFгe @d a,AdB(2g5: @Re&Olkji h /////"OChci;d(J) @ +4(Bl @dk%y @df)гe @d)@ dB("/5 @Re&Olkji h "O @cdd6F&O /"O@A @8dЃf @\&O hhWJ| d R\p  |   //"Ochna @dbae A4[ @4O $X @4O0%U @4O@&R @4PP @4`xM @dIxtDR&ES7.O@AB3@'4UVR#aUVbSVUdUVUfWVUhYVUj[FfFel]FfFen_Ff@sFeb#QFfFebSFfFedUBdFD2&B&h#o n///"O9d6 @ )4Bj @ iE @FdG @dH5f @d\s2df @5 @d 5 @Re$&Oji h| Jd R \p @ //////"Ocj 8eKK @ ( 4GJBid @\x G @4 z G @dUmE @dUdC @ Ul; @dUd9 @ Uk8 @dUd6 @ 0j;@B @,4 7ГeV @d 3a AdUVdt) @wTH$b.*2c CdTUVt @wУe @dd @eгe @dd @ee @dd @eVe @d @T S5(> @Re<&Omlkji hJRd    \ p \T  //////"Och:dLٔM @ *4IBk\|VMгe @dmVJгe @djC @dA @4? @40x< @d6d @5TH$d0 @56гef @d4гef @dQ5, @Re$&Omlkji h///////"OCicjn!.82TUDU@ @3cCaUAVA3tR#G2a @dhz @dj`12) @T  JRd p +*T9dJJ @ )4F\yBb$VJU @dVGUd @J*08 @  4> @ed8 @ 1 @x 48 @ed2 @ m S2=x;(e @dMbMT2UB"Q|:ωQ!8% @ eУf @TTH$ Q!8 @ ed @fUV @dUV @dS5> @Re @T2&B&m&l&k&j&i&h#o n d#JRd p +lT///////"OCicjnm.82TUDU@ @3cCaUAVA3tR#G2aZ @dhXz @dj`12)S @T 9dII @ )4E\yBb$VKU @dVHUd @J*06 @  4> @ed8 @ 0 @x 47 @ed1 @ m S2=x;'e @dMbMT2UB"Q|:ωQ!8$ @ eУf @TTH$ Q!8 @ ed @fUV @dUV @dS5,> @Re @T2&B&m&l&k&j&i&h#o nd# JRd p +l*T //////"Oci8e5g5 @ (51\xVRj4Уe @d V1Уe @d- @d+ @4m( @4l&0 @4fUg! @dTH$a @dk @4l @4m0y @dfTg @eУeV @dVe @dS 5> @Re(&Omlkji hJRd  p T//////"Ock(8eBB @ ((5>\xVRiAГe @dV>P2@)de @:6 @d4 @42 @40 / @4 - @dm+ @TUVWQ( @dTH$$b-" @d  @4  @4l0{ @dk @dj @TUTV @gГeV @dVe @dS( 5> @Re@&Omlkji hJRd p  T//////"Ochl @dij @4jg x @da1 @Re(&Omlkji hJRd p  T//////"OzChSicm\[ @ j~Гe @d-& @d|(6d @\}WhS~Ѓd4f67 @TH$ dWhSuf467 @o @dl @d@&Omlkji h/////"Oci:dZАY @ *4[Bl @dda @  kS @4jQ y @dIdeg~O @d娐5M @Re&Olkji h//////"Ocj@ @dl< @4i9 @4h70z @d=dk/z. @ -48Bm @d lKd2eg3* @d^5' @Re&Omlkji h////"Oci 4 @\xk @4j @daA d$мb(B @+$TH$i @ &Okji h $ Jd R 0 \< p H T  /`  ///"Och @d @4@ @4i0 @4j x @dcC b;"Мa(A"\y4 @'TH$h @  &Oji h////"Ochۓ 4 @\{j @4i @daA d$b(B+$F&Okji h ////"Ochۀ 4 @\{j} @4i{ @daA d$b(B+$E&Okji h ////"Ochmm 4 @\{jj @4ih @daA d$b(B+$G&Okji h //////"Och:dT٦U @ *5SRl\z]R @dkP @4fUгeg @dTH$[jH @dlFx @dfLeg @dy5C @Re&Omlkji h//"OCh66cd @\yUR(&Oi h.\qUR$" //"Och) @di. @ 9$ @d" @di"x @de#I! @ &Oi h //"Och @di @ 9 @d @dix @deI @ &Oi hJl d Rx \p  : ///"OChci^ @dja @ ::Y @d5W @djV @4eUJWN1 @ 2(2 J yd @9T2$eK$1 7 @ PTB(2(&Oji h ////"OChciz?n3 @dj6 @ :P. @dK, @dj+ @4e*J,# @ 2(24 #F @4C yd @6d2$e17 @ PSA61 QA0A% d @5 @d2&B&j&i&h#o n|\ :  ///"OChci @dj @ :9 @d4 @dj @4eJ$t1u,v3 @8 0 @4  y @d(T1e @u @TTB(0&Oji h////"OChci @dj @ :B @d= @dj @4eJ$1t(u3v @8 " @4k0 @4j0y @d2c Cd@Tpz @ei~ @T(,&Okji h //////"OChcln(j @4kk @4jf0 @4ik4 @Q.c @d`da AeZ @4U 7ef @4_ 6eg @4 dP @4 B(L @4(2&B&l&k&j&i&h#o n /////"OChckn(< @di= @4j8 { @dk4 @4/efg @46fg @4 d+ @4 B("' @42&B&k&j&i&h#o n/////"OChckn( @di @4j { @dk @4 efg @4fg @4 'd @4(   \ :\B(" @42&B&k&j&i&h#o n /////"OChckn( @di @4j { @dk @4efg @4fg @4 d @4 B("} @42&B&k&j&i&h#o n"Oo @ do}{ @ &O "Og @ dguu @ &O "O_ @ d_m] @ &O "OW @ dWeW @ &O ///"OchM @CjiP @deTyi @d*&Oji h//"Och@ @ iC @deIy @d&Oi h/////"Och3 @Clk6 @dj4 @4i4 x @dg2{ef @d,&Olkji h ///"Och @Cji! @de$y @d*&Oji h ////"Och @ k @dj @4i x @dg{ef @d&Okji h d#0\0<\X4@(|000///////"OChci?n`bUN @4IFVfVddEVdF @4G`2ce C4E`a5 A4Al"b B5>2cm C5,Bk-?+=,;-9+71"b Bd/d2c C ld,a A m :&d+ӣeEE2\2(M,"5A2c C#al A5m"b B5,zk-+ @d e2c C4^ДU 7f @4("2&B&m&l&k&j&i&h#o n!\ l@T` //"OChcij @dgea A4O'eДU @4\C(P&Oi h /////"OChclRdP۶; @:L. |O @deQ @dR02"(a(&Olkji h/"OCh:n; @ ("&O h /"OCh2 @cdd8 @ (&O h///"OChcj( @di&z @df?!ѓe' @7("&Oji h /"OCh' @7("&O h//"OCi @cdh @e  @e)"&Oi hXJRx\ 0   D////"OChckv @djt @4 ir @4 a(Ab"$dCeP13`P3@2@1@3 S?c3`R&Qa`S 6R&T @ VdS @ Rңe.N @7 j( ( &Okji h////"OChckC @djA @4 i? { @d a:(A)@ce>3 @7 j"(" (" &Okji h ///"OChcj'd) @' i#z @d j3a(A).1$36 7 @5QdCb)B9"-b2IMdCeP2 P1!@3$@2(@1+4 Q(1"Xd#\R81 QQ("Q a("QQ( "j @dbQd @U 2(2[e @ b @T(&Oji h //"OChciV @d d@22yQ @ddN @ JIBC02( 2( D?ԑ<4 @FTd4:Շ<5%7Ձ<5B% 4|,5uRdB(&Oi h /"OChT?.cd @ d'`>+ @5  `Pd @5  @d  @d(,?&O h/"OCh ?cd @ d ,> @5  ``"((,?&O h0R|P",8DT+t1`D/"OCh?Icd @ dEӕ>E @5  `\-b"((p,?&O h//"OCh7 @cd4i3 2j346 @%  b"9( IPIdB(" @ " @T$&Oi h /"OCh3 2246 @% (" dB( @ @T$&O h01RD2+ X`//"OChR @cdNi3 2P46 @%  b"9(B ITI4BaeSf`2 `1P3P2P1 D("BQ("D a("BQ(", @dQ&М1d @U 2(2 @ % @T$&Oi h/"OCh @cdd @ (&O h/"OCh2? @cd e +6 @4 @dd @5,?&O hH2R|hA\T + X ////"OChcj(" @diz @d 4۳j @d ЕSd @6 @d( d @5 S2(&Okji h //"OChci @dd @U(&Oi h /"OCh(" @cdd5 @4 S2(&O h//"OChci @dd @U(&Oi h /"OChx @cddz @ (&O h/"OCho @cddl @ (&O h/"OCh("d @cddg56 @4 S2( &O h////"OCich?4S @dkW: @d*xM @deT @4)",?&Okji h ////"OCichz?4= @dkA: @d*x9 @deA @4)"^,?&Okji h ////"OCichN?4' @dk+: @d*x" @de- @4)"2,?&Okji h ////"OCich"?4 @dk: @d*x @de @4)",?&Okji hRP<\\ht4,--0.H.////"OCichБ?4_ @dk^: @d*xY @deZ @4)",?&Okji h ///"OCh?4J @cdiI: @d*I @4(",?&Oji h ///"OCh?48 @cdi7: @d*- @4("k,?&Oji h ///"OCh^?4& @cdi%: @d*$ @4("G,?&Oji h ////"OChcj @d4/ ;T049 @ z @dd @5)<{d @e4 .R|\,-..Fښ :9Cze @d (zAЃd @e ; @d<Ѓd= @")&Okji h //"OChci3 @ddt|@1~@3r@2"F *Гd @$d# @6 Q(" % @ !e @ (% @ @4 @dd @6 d @5  @d @ e @ T&Oi hR|P"2x0 ///"OChciVГd @dt{@1}@3P @djNy @deH @dj(&Oji h "OC`cdSfe4< @7 P&O ///////"O{jCiSkXZp?np89T/ @4/4@$B%d @vl <*m-. @d<'832.A"kFd3 @$49(; @- @dгe @d`#2&B&m&l&k&j&i&h#o nd xp T \8`d //////"Oci$0`- @46d, @dl)0 @4m&@ @4j$P @4TegI6 -:dB @ *4S8#Bk @4j y @ddURB.Уg @ @T5 @Re(&Omlkji hJd \p / BfcWx' r$rUX%R$RUX% aUSR 6R$SfQUSQ6BgsWP7R$ BePaa!QS1SP3SR"$BfbVh& ceSVh&ceSVh& R$QVbR 5b$aVBabR 1b$ CVbQbWx'AAS1Ra4 b%AWrQ4|5b%cB aBVcQcWx'AAS1Ra4 b%AW sQ4|5b%bC a//"OChSi(f`8_USd@c)B9"-dC`Qb#`] [R/e6)B"dd/fP S1?e)C)#dY?fE CR/e*)B"dL/f8 S=dC`%$U @ - R-dC` U @ " QdC`U @ Sd)=e 6. @ @  Ci`,&Oi h//////"OChSm-H(:L:JR l:JܐJ @ kL7$4 @8jefmdiBC4de @7ef^d< @dl; @eTQ4DCeKeS`$&Omlkji h //////"OChSm-,%F% @ l&$74 @8kef#djC4de @7defm @d! @e`$&Omlkji h //"OShciBd @eГe @d&Oi h$ Jd p  ///"OChSi^ @d(Z @jX @eTУf @d eQ @dP @jN @gPdfgD @$&Oji h///"OCh=$ @:dDУf @\6;F(12( @"3`&Oji h ///"OChSiQ!-,& @ j(I @Jd&K @d)$L5f @d$ @d @j @gb%dfg @(4&Oji h/"OChTH$ @ !dH$ @ (&O h  h$ |  0 < H   //"OChi# @)`CbStBG16Ќ4էSS4VW @e`&Oi h//"OChЄT @9y @d @d&Oi h//"OCht @\iQ! @ dS2$&Oi h//"OChSiU @ udVl11e}ғc"bC<1s6vSd<5F B4Ss=&Oi h//"OChSi Vl11 ekѓcaCSd<4s6vF A<5Rr-&Oi h//////"OCkSht ]-&ged"b$2lSiQIsd4BbBf"&66*b$6$dclRdVy"b"& uV=ߍl:UMЌ5 @4  @e`&Omlkji h //////"OzCkch?5=R"8:R88SiP) Rl"<=# @ LdL4 @ Qm=< @ MdM4S*2lR"<= @ dLL4 @ y8ʉ&Omlkji h]|Ix0T+D]*: XX//////"OCkSl,"b"< @ dВ @fh dUX%`d]؂g9OգmReMCf6bby"$bcX#Mbc[#2&Ѭ0e@NC`:d#@;\: X XX6 @ 9d5 @f! 1 @X8b`.2- @ @ 9Q8, @ dHH4 C`% @ d$' @f&Oi h //////"OChSmclsk+ed5i @ded5e @dz;&Omlkji h /"OChQ! @ dC`&O hd#\T;;A //"OChQV1 YI5uSidDb"e @ dH$B( &Oi h c4 F///L=Slml d+ "O5 @ d2 @ &O b%2. @ .6R>4Tc/ @ F///L=Slml d /"OCe UT @uh- .@ADԆ45 @7`,&O h/"OChJ(A`A`A`%&`&O hEd#JR<,n /"OCh"(A`A`A`56 @T @T;d &O h //"OChSi (A`A`A`惀 @"`&Oi h xt"O @Sd&O "O$A`AA`AB`C @AT&O "OCeRaQ A &O /"OChh  v| @  p @TyT r֌3g @5 d 4iq @ &O h//"OCh; %] @TdH$\Z @ _ @Te @T^ЄU @Tē00] @T R @T 2TH$M @ 2`&Oi h AP "OBUX%JdH$JSd @5 JdH$CeR02)S`&O "O8 @BT&O "O4 @BT&O /"OChH/ @TH&O h /"OChH& @TH&O h /"OChH @TH&O h /"OChH @TH&O h "O @IT&O (<4 x@L8< Xp<dp|"O) @GT&O "O$ @FT&O "O @HT&O /"OCht(A`A`A` @ @ @ @ H`&O h(<<<=/"OCh(A`A`A` @T @T @T @TMd&O h L `L `L `L `"O @BT&O x|//"OChSi @ ) @d`&Oi hH//"OChSi @ ) @d`&Oi h//"OChSi @ ) @d`&Oi h ///"OwfCiH @8dhFyjiQ9Гe @d`c4FeFfI3R#aFfFebSFfFedUFeBdVGbr"(H&Oji h///"OChi: @CbaB,1!tG1560)$3FfFei9Z@FfFek\FfFem^FeBd_GVUj[VU\mUVn_UYJ@D @)aCbWV=B,1tr!aWVbsVWteVUfWG1H6`D&Oji h ////"OChSkcjjH9e7d @raR,16*eg @4c6cQ3de @2*bS<2"*6de^ aR,1*&Okji h//////"OChSicjdIH 7$ @5H8#*kA56=57d @4\7ed @6-Lef7d @e4 @defd$&Omlkji h///////"OjYCi]?nHМ1& @.b"bB袠 Qk;: @ d=K4B\CjQ<; @ Le52c; C4+ @4 $  @4w tT,,<=@*=L @4lP @dmJef @40I @4AF @45牐79ef @4 =d @k}+Sb<2"!"S0<[S2;@*4 <4 //"OChM@DU @9CacW-AV3r#taWVrcWVteVUfWG3H&8 @d&Oi h H N //////"OXCkH9aAF(ڃlS2<=' @ d-L4B]S2=< @ Me5 @4"b B4e @42ce C4 {iR"8 @ dH4BbD"#bx2$&Omlkji h0 >+\/"OudSBXH&0T57 @$ UQRc32%Q! 7QefT @4 USRb<2"%S3&O h  //"OChQV1 YI5uSid-Dc2e @ dH$B( &Oi h a F///L=Slml d+//////"OChSja AdUm3<5U4 @Y[Q;< @ dK4f2c CeZ:R":; @ Jd4`$Rr&&Omlkji h /"Ow$tChe @(cCaA3t#G3&O h/"O$tChR("b @ dC`&O h $ /"OCgchUtuW @6R"(&O h ///"OShcjLУetCid @%JDУfe7d @&Oji h//"OChSiቿ774d @5 eVÿd&Oi h "OCe)1 @UU&O //////"OChSicjw *dRF2*ClQ<= @ eL52c Cd mS2=< @ dM4"b B pd 4B*RF2ԉXd`&Omlkji h\+\>/"OudSBXHT057 @U RbS<2"%S8# S72eTf @$U RaR,1%R2&O h  //"OChQV1 YI5uSidDb"e @ dH$B( &Oi h c4 F///L=Slml d+//"OChT4J L `# *nRc8#;9"(aa!2("(e @4e} @4 (2( {eu @d 2("( dH$r"b B  d(2&Oi h "O &O /"OChPdH$\ @ "(&O h //"OChSiW"b Bd 4R @D d(Na Ae&Oi h "OBUX% 55B` &O "OBPB` &O /"OChRP`VdReB(QͿSd1deB(`Q&O h "OBPAa` &O "OBPB` &O //"OBV6kl `# $bΆBdReP4W4)DtVC`AcQa=deP4W4)DtHC` T +@*\BhRiГe @d Гe @ddDt%C`FfBddEVdReFW5 @4  5 @4dDtC` Rea ABd &Oi h\ C` //////"O?W3KI @4 FRC7$T2$I1 7 @ /T@3@2($&8$C=2c Cd j9ӳd2cDiL9b C-d a` ʇaq84ңd"b B{0/ @T`D,?&Omlkji h "O*֒ &O "Oֈ &O "O~ &O ////"OChSkcjsi+"b Bd )οdaf A4% $0H?`?l?? ??  \ HOCHODPS@)#@ #0>P@@#@@ #>Q3bA`9"@)@ =@ "#a.P @)!@ !+5d @ 3 @ e#, @ " @d3a&Уd @Sf ) @ eЅ?W}}% @  @d @45d @  @ e  @ @d`L&Oji h0x??@L@\@@@\ ///"OShcjsi^ @4Z"be B46 d04 $ 744 8 4 eN 5n5S#2$ E5e05P  O05o 5P4 144 2 4 dX 4x4 R@A"SC+#)##42C04c 4 PH) G ?) $R4r04 R29"A"3)#0)##2N04n 4 S)#9! 9!)! dT04R@C;""F 4Q)!&Oji h ///"OChiq: @CbaB,1!tG1560)e89 @9Ca`tRAG3&d#&`&Oji h/"OCh 4dH$I @ K @TH @dH @T&O h//"OChB U @9`CaRtAG3&d| 45d @,;xH$7 @ &Oi h ///////"OChSi^?n\'(a A4Se#"b B4Me2c C4G a A4A4Ќ5 @4i 9 \:$45"b B4 $2cU C4 $ae A4P!$d5[ ++@*@@Xdlz$5 @4a A4e{ @4[R";I4 @Rz2ʉ|,?&Omlkji h/////"OChclskij :1 @ IDEFG) %#! @K *ef d`0&Olkji h //"OChciSd @5WQ37Q1S3 4f @5(&Oi h"O< &O PP"L  A|h D"Td, ////"OChSkcjiO 9. @ dfgtede¿)' @d' @d&Okji h"OCebT@1Sd+^&O //////"OChmd \4H$ @2&@1à à  @  @  @䶠 dc0J 'i @ cia4F @d \$d @FS8#1B'Sm2= @dC ;Гd @{S2;<1 @ idI4BlR"<=* @ eL5]'+ @Q;:! @ d4BiS29: @ dI4 @ d dh&Omlkji h/"OChh ՁdՒd d&O hLAP"J ((Ad4 44Apd //"OChQV1 YI5uSidDb"e @ dH$B( &Oi h c4 F///L=Slml d+`+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ ,`+@ 4`+@ 8`+@ <`+@ D`+@ L`+@ P`+@ X`+@ ``+@ d`+@ h`+@ p`+@ t`+@ |`+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ $`+@ (`+@ ,`+@ 0`+@ 4`+@ 8`+@ <`+@ @`+@ D`+@ H`+@ L`+@ P`+@ T`+@ X`+@ ``+@ d`+@ h`+@ l`+@ p`+@ t`+@ x`+@ |`+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ $`+@ (`+@ ,`+@ 0`+@ 8`+@ <`+@ @`+@ D`+@ H`+@ L`+@ \`+@ ``+@ d`+@ h`+@ l`+@ p`+@ t`+@ x`+@ |`+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ $`+@ (`+@ ,`+@ 0`+@ 4`+@ 8`+@ <`+@ @`+@ D`+@ H`+@ L`+@ P`+@ T`+@ X`+@ \`+@ ``+@ d`+@ h`+@ l`+@ p`+@ t`+@ x`+@ |`+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ `+@ $`+@ `+@ `+@ `+@ `+@ `+@ `+@ (////"OChSkcjsi @ гefg @dd @ &Okji hD/"OCh#$ @d#da!"b(1qF1*a! @dH$% @deu @ddH$"b2c82!B!BCcB,32! B! ԃ`BeSaq$%&O h$X(X"O @ dH$C`&O H"O @  @ &O    "O @&O \///"OChcjX%!a! iya9dH$ D  @  @ *e AB&Oji h  $ ( $X(X,X//"OChSi9dH$ D x &Oi h#($\  D>Lxh>P|l*<hX]]]] HVb6Fpb"L>80`Pn xwvqFI=AGIMT?8NMLE!$J:d9W )]f[Za"#j  _<RbvUuK "3#$4PYyFHklAB;?=>@BA9:8tuklzmnY   Fcommctrl.dllDecompressImageIndirectimgdecmp.DLLCOREDLL.dll xwvqFI=AGIMT?8NMLE!$J:d9W )]f[Za"#j  _<RbvUuK "3#$4PYyFHklAB;?=>@BA9:8tuklzmnY   F$l($P\%s\%s.dll\windows\%s.dll\%s.dllLoad: File %s ^|, ---MenuPopup(%s) [%d,%d]-> %d All Documents (*.*)|*.*||%s|%s%sopenfile:PegHelp.exe%d.%d.%d.%dCustomBoot 1975:I = %d, Begin: %d End: %d Type %d CustomBoot 2000:\Windows iched20Fail to executePocketCv2 runtime cannot recoginize the program Please visit http://www.orbworks.com for the latest runtimeout of memoryMemory Usage: Before %d After %d ***** LocalAlloc: Failed LocalRealloc: Failed ReAllocate Memory PocketFile::SetLen Failed (%s) PocketApp::Shut() PocketApp::Shut() -- Finish Destory Windows EDITBUTTONCOMBOBOXLISTBOXSCROLLBARSTATIC Application Exiting ... About %sShow &ConsoleHide &ConsoleProduced by PocketC Demo. Please Inform Author to Register PocketC %dPocketCPU: Ask to stop PocketCPU::Shut() Invalid handle PocketCPU::Shut() The specified object is a mutex object PocketCPU::Shut() The state of the specified object is signaled PocketCPU::Shut() Timeout PocketCPU: shutdown finished Out of rangeProgram Counter: %d Error: %sNegative array indexAttempt to increment stringProgram Counter: %d Error: %s <%s>Attempt to decrement stringOut of memory while concatenating stringsAttempt to subtract stringAttempt to multiply stringAttempt to divide stringAttempt to mod floatAttempt to mod stringAttempt to negate stringAttempt to & floatsAttempt to & stringAttempt to | floatsAttempt to | stringAttempt to ^ floatsAttempt to ^ stringAttempt to shift floatAttempt to shift stringAttempt to ~ floatAttempt to ~ stringStack corruption detectedAttempt to call non-present builtin function[vmUnLink] Stack corruption detectedopcode undefined PocketCPU: Run Finshed: _WeOuttaHere by Dewey Stack Level %d Ff(D3&! IZ UBb %%.%dfPlease Register PocketC|0ALERTCONFIRMserdataObsolete Function call %ssercloseserrecvsersendpktDBrecdel: Delete Record ID %dUnsupport Database Value TypepktDBrecreadprop: free read memorypktDBrecproptype: free read memorypktDBrecpropcnt: free read memorypkgDBrecpropval: free read memoryLast Error %dcc8d fĊԘؖؖh0dd88dԙx(|{Ԫ `l@ <ܣ(4ԕ<p`bb|mmm`nmn8nb8cD^^^^4_p___$`````aaHgffjdjti gh(i,lL lggX$|x}\h(h$ba\x@t4<$Lpĉxux vTzvxz yDwlkk^kk8~Ԭ llnplors`qtq$p$t8dijH4Ltض@d̷d0TT8d4XD@(pXؔL<4Event KeyDown %c Event KeyUp %c Event Char %c lib_malloc %d return %d Invalid Pointer: %d Invalid Global Pointer %d Len %d Type %cInvalid Local Pointer %d Len %d Type %cGlobal reference %d out of range Stack reference %d out of range Runtime Error Thread is already running Failed to create thread could not set eventEventPenEventCharEventMsgEventQuit Append Resource to Applet Resource Packed: ID %d, Size %d, Name %s \temp\%d_%d%sResource UnPacked: ID %d, Size %d, Name %s Resource Deleted: ID %d, Name %s .ICOString Buffer: Total Number of characters including NULL terminator %d FriendlyNamePort\Comm\IrDAIndex\Drivers\Builtin\IrCOMM\Drivers\BuiltIn\SerialCOM%d:Invalid Handle error=%d. GetCommState() error=%d. SetCommState() error=%d. SetupComm() error=%d. SetCommTimeouts() error=%d. \*.*%d %s SysListView32EraseDelete File.app  0 H `O0*1,0 ` /  $ \  H J 8 .x   & #d   _t -x./|  /h-*8 T R4.       $ 86       0x X l  ( <@x  .  $P` t   u ! L! -! -P" -" -# -#2($2$% & &\l'X(0|(6( h***+`++,4,T,K,$-H-h-- -- - )0. H.0... / /@/h// /0\1nl8{d9uP:5:-;;|< < <<= T=M=5\>.>7(? 8A?AHHBIB',C<CD: E$hE$E 6 \S\]>]/]^D^^^^4_p___$`````a>a,a$b`b'bb'8c)c#c18dTd f:f<f gHglg*g4(h0h2h(i%tixdjDj@lkkkk lJl n|m mmmn8n`nn'n Ilo \$p NpP`q>q r MsQ$t Mt \xu J v [v?Dw _x>xO y Tz Mz \{?(| Y|Nx} `8~ S >x \d [LM88 8T$+ 8dA.p ĉ   =pĊL\ M#@  1$%p%;4 /'Ht<x $X$ؔ4+ԕ 3< 2 ؖ0Lh)#4&Ԙ2dԙ@ 6 9  7 1zZ < `  ܣ  ( c RB$ LQ`:Ԫ% %l% JLt'ԬBXQ P[\ ] H i| H ,Llij+HL%ض 4@d!̷8df07OT4>8&=Bpd9A4X + +D + R@ +##(#pe<{4+ {'Pv D4I$ z 4 2/@(&*0#x F,a 4  _ CT"8%T>8*(<" iT v@ X jl]( +. D&  /H,  4,>H \ p,X l  F ! @8s F$ N` G G I e e5  pB/ G 0"t!  ^@.p[DT|!<\x gX l   O4 0 0  B,d/H) t Vd 1 %T & 0.L $HRD \D@P h ( @ X pefgf fp0H`x         0 @ P ` p             0 @Pu8x(y(z}(~( (T<(bN<~R8ܓ&`y"}""ȁ"0"d"(( @DDHDDDHLHDHLHDHLHDDLHDHLHȈDHLH HLHHLHHLHHLHHLHHLHHLHHLHHDLHHDDLHHDLDHLHDLDDLHDLDDLD@D@DHD@HD@D@??( DDDDHD@H@@H@@@@@DHH@D@DHDDD ((  x"(""( @ w ww(." @.""@  bB(($"$""$"*"" """""" ( ( x ( @wwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxwxwwwxxx?( ( x ( @wwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxwxwwwxxx?( ( @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDDD@DDDD@DD@HȄDD@ȈȞȈ@DD@Ȅ@HDDȄDL@D@@H@DD@HHHDD@HDDHDDȈ@DDHDLDDDDDȈDD@HȈȌȈDD@̌̈ȈDD@HHDD@@DDDDD@DDHDDDDDD@DDD@DDH@@DDH@DDDDDDDD?( DDDD  ( ( @ĈHHHHHH@D@@@HHDHHHDHH@HHDHH@HHD@DDHHDDDDDDDȈȈȈȈ??????????????( DDDDDDDDDHHHHHDDDDD ̈  ( &FileB&About ...C&Show ConsoleA&ExitShellHRemoveIRefreshA&ExitShellFSend ...GReceiveHRemoveIRefreshA&Exit:MS Sans SerifP,(4VS_VERSION_INFO?StringFileInfod040904b0Comments CompanyNameHFileDescriptionPocketC Runtime6 FileVersion1.0.1.1 0InternalNamepcshellFLegalCopyrightCopyright 1999(LegalTrademarks@ OriginalFilenamepcshell.exe PrivateBuild8 ProductNamePocketShell: ProductVersion3.0.0.0 SpecialBuildDVarFileInfo$Translation PCshellConsole WindowIncompatible Applet. PocketC Virtual Machine Exit ProgramAbout this applettoggle console view Draw Window Hide ConsoleSend ApplicationReceive ApplicationErase ApplicationRefresh#TMZ@ !L!This program cannot be run in DOS mode. $s\\\]߬[ E\_?]Rich\PE<   L@ x$$XH.text `.rdata  @@.data9o8@.pdataX@@.rsrc$$&@@"OV @&O "OP @&O //"OChSi?IЉ @4BAF @5喐U@x @45a4:ГdAՃg @6= @d 5=Ճf @d8 @d 09Ճf @d3 @d g,?&Oi h /"OCe) @4" @4 5( @4 @4X4 @t`D&O h /"OShCe @4 @4e` @4  @44 @t&O hP~\~h~t~TԮ  ///////"OHSlcmsh[ZY?n嵐UNЕ @4NJ$JcF @4+JճfG4L4I@ @ F"b B4dDSfF7l7qa`|'uW4)H4ѓea A48L @4Lo3%A.6H B'3f>A"#N2<W"`! @4i  @4iFуda A5):`>2&B&m&l&k&j&i&h#o n/"OCh Sda A. e1("b Bd&O h h~t~TX~8~dDt~x8//"OChSiΑ?Yǖ @4Zғe"b B4U\2c C4 d!($P5"b Bd,?&Oi h //"OChSiIa Ad B\a AdA҃d"b B 5.<2c Cd &Oi h //"OCh8a AdDS`@uW4a9`&Oi h "O&<%&%H)4*+ @,L&O /"OChI?81DeP!@`:<4 @(8a A4 8"be B4t(u2v8w5x @),?&O ht~h~TXd~H///"OCfj`c\ @d(h @5a![ @@Uic`@^v:g3 Q旕g @dQ @d &Oji h"OCfSgKFѢ @d&O //////"OZ]\[@D `@$ @i4f @d`4&Omlkji h /"OCh( 0 @d ! @d&O h/"OCeX%  @@ h `&O h ////"OChSk+޿dG  @djЃeB @d 2iοd $iͼ ) P~\~~~~~~}( Cгef @dd `@ @d9Ԩ0Bb 2"$`&Okji h"OH$2 @ &O //"OChi'56 @d & @4A * @4d+%`&Oi h //"OChi)9&H$9 2)  @4dCh @d @d&Oi h /"OCh @ &O hHX`L~4L4/////"OChSiƑ?nÖO*S @4囐UOе @4岐UKЭ @4H @4Lғe"b B4~Iӓe2c C4xCIa A4r@9"b B4l:5 @4k0;M@:(~592c C44(a/ A41("be B4P(d5( (5 4 @4)d"b B5 Ѓd @5i(5 @4e @d @4Qqd @5 52&B&k&j&i&h#o n "ORctEQR2#*įlt~̯@tLhXw @5do @ &O //"OChSiqa Ader @do xe @d&Oi h////"OChSi8U\:F @4[͕ @dd唿 1kZ( @48eż4482)8P2c C4p Hd @7kDГd @f ;zdce Ϗk,?&Okji h//"OChSi~?P/AF @5R("'/tV @d1+<5P,3(5d @9d @ #4 @QqS3׉H,?&Oi h ////"OChcksj 4i7567/9 "b*K#9 *)-PP~ܯt~~t~ܺЯdt~4XXHM*, efd`0&Okji h//"OShci?d @5<Ђ @dRV2Ud:М6W$ @(&Oi h"O &O //"OChcgSfi],"es9de)) @d @d&Oi h /"OChbT@1Sd< @ de&O h ////"OChmd @5 \4H$$@3   @䓠 Acdp}|dܺHd @ fiZ$F @d Ud @F&S8# SЃd @5dJ @ $eC4W$G3Fwde @4 Rr&Q&1ߍzBs `BEd @e j@ @d, >Гd @z[ 5Ѓd @5d, @ )e4 @d-d @5d# @ d @ d dl&Okji h/"OChؼ ۽dd@d콎&O h/"OCh t @% 0(C3`C3`C3``&O h` ,dtLH /"OChj(A`A`A`rl x @d&O h//"OChSib )Z \ @4d# e e @4 Z\ @4 f O\ @4 O 5 @4eV @4O @4GШ @ eF @d00:i)$d`&Oi h/"OChQ!Q!5Ѕ @ 뱃d6ЁUS1R @T&O h/"OChTH$, @ !TH$( @ TH$04% @ %&O h //"OChSi TH$Bb"`&Oi h//"OChSi Q! xГd @e` @d`&Oi hH@Lx0<40 //"OCha Q!Gd (TM`. *MeX%.05,M-b("`&Oi h /"OCh8 TH$B` )C`&O h/"OCh$ TH$BbC02)C`&O h/"OCh TH$B`JdC`&O h /"OCh TH$B`JdC`&O h /"OCh TH$@BbC8"JdC`&O h /"OChʰ TH$B`JdC`&O h /"OCh TH$B`JdC`&O h /"OCh TH$@BbC8"JdC`&O h ///"OChSin # 5 @4 @4 6 5 @4QdAAR"`-d\04\ @4d(5e  @4 @4 Гd @5  @4`2&B&i&h#o n xT//"OChSi, _ @4UX%f(u @4]d @5Y @4`&Oi h /"OCh TH$HP&O h C` /////"O?C;39 @4 E=8C7$T2$1 7 @ .T@3@2'$%86$2c< Cd /ӣd2cDiL9b C-d a` ʇaq8'd"b Bz0 @T`I,?&Olkji h"O֖ &O "O֌ &O "Oւ &O ذ@ L$x\hd4$ ////"OChSkcjsi+"b Bd df @4 "be B4dfgh5$&Okji h ////"OChSkcjsi+"b Bd df @4 "be B4dfg85$&Okji h ////"OChSkcjsi+x"b Bd \djfk @4 m"be B4dfg5$&Okji h ///"OSjchsi*`2c Cd ^udN @vj0:P @d0LУd @5 J @dPR@9")@=@ ".QHOBPS@#@ #>HOCHODPS@)#@ #0>P@@#@@ #>Q3bcA`9"@)@ =@ "#a.P @)!@ !#5d @  @d#GУd @Sf  @d @45d @  @d`L&Oji h(0h~<D~XHTdt~` ///"OShcjsiq @4p"be B46 d04 $ 744 8 4 eN 5n5S#2$ E5e05P  O05o 5P4 144 2 4 dX 4x4 R@A"{C+#)#"2C04c 4 Puu) i $aR4r04R\9"A"a)#])#2#2N04n 4 SF)#9!L9!J)! dT04@RC;""F 4Q9)!&Oji h///"OChSjci, @4,%B()edde @7P<&Oji ht~lt~ ///"OChSjci, @4C,8)%edde @7P<&Oji h///"OCh, @4,de @7 @Ay1z`<&Oji h//"OChSi, @4z,7de @%P<&Oi h //////"OzChSmcl[Ab"C02ddƿj= Jyde=:C;,mdef @d @RЃdef @&Omlkji h //"OChUG @ M @d G @dHBdH$K @ CBdH$G @ i9dH$6 @ 2)i9dH$; @ 2)8dH$6 @ 2(&Oi h"OSdcesfW' @ &O ///"OCiShmd\4H$@2@1[ O @R˱ddұifГe @dDГh78 @d rd @d--dc~dl@ԭح ~x.t~`dhdq &Oji h//"OCeShȐ 8pSi 9p^X @d(ZV2c C  fededeR @L @dc8#&Oi h///"OChIЃj:=q;փi99aS5R&Qg:S8Ia @K)d5 @R("JdC`0&Oji h "OeCf6bbP2X%R&ZN* @ SN& @&O //"OShci duef @7<&Oi h "O0N @&O $ V  V  V\ @8<}}}~}dp `dhl //"OChn @e @4TUG @X 5 @4TUI4 @Zf$4 @5 @44 @U6 4 @5f 4 @5 @4(4 @U$6 4 @5f 4 @5| @4`,2&B&h#o n/"OChrB( @Ao @`&O h //"OChi9k"b Bd␎] @e&Oi h"Oؑf @4&O "OΑR @4&O 4 C`"ONO @ &O /"OCh KЃd @4K @d&O hvaQAAbeR/RUVTe" /"OCh5v4be @aVTUDUTUDU2 &O h /"OCh)v4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OCh v4be @aVTUDUTUDU2 &O hRl̀؀}< X 4@?`hT /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OChv4be @aVTUDUTUDU2 &O h /"OCh{v4be @aVTUDUTUDU2 &O h ///"OcgjChtUuV}R$4 @|WTUEVTUDU"$&Oji h/"OChMv4be @aVTUDUTUDU2 &O h /"OChBv4be @aVTUDUTUDU2 &O h "OdT@1@3 @2  : @@ 8 @0 5 @ 3 @&O //"OCilXv @cdd& @e"&Oi h/"O @Che0 @4&f"04 @5QAAR4 @&e( @4TUHYTUDU"8&O hl,8DP\htȁԁ A//"OdUX%$" dXm @Cidj @edk @ ep @4bUV @4i @4" &Oi h //"Och\2uX9 @dxN @dgUad @E&Oi h //"OchL2uH١9 @dx> @dgEad @EBd @2ua>d? @E&Oi h "O4x5 @ &O ////"OChSd@1eE\4H$@1 %(XyeVdWR$ @ @did @5dUWVX7Gsj{jSgZ8:Jkk @ @d  @0te @d }l|D\d ~Hȁda @dji @DiaFd @e \ΐ8z de @4" U8z_Q @4S @dS @d6`31F @djO @DiFFd @e ᚐ@ J8ze @4" :E8z? @49 @d8 @d(&Okji h/////"OCi2(،:vce @4#^^ ;^9^ 7^ ) @fe" @d#edf @4 Pxe @4&Olkji h//"OCich @4xe @4&Oi h\}(Pd 4 @LT )X4`//"OCich @4xe @4&Oi h //"OCich @4xe @4&Oi h /"OChv @cd&O h //"OCich @4UdV4  x @ddC` 3`ᘁ&Oi h /////"OChcj @4lTCi4 @5"<  @z jxr @dI xo @4"&Olkji h ///"OChcj"a @4ib @4d z etD C`@=cP3D" tD&Oji h ///"OChcj"I @4iJ @4d z eDc`@=cP3d" vg4&Oji h ///"OCicj83 @4h1z @dd6a Ae"&Oji h////"OCjck@1X8" @4i { @ddf"b Be2&Okji h/////"OChciT@2Ck$TCl @4c3dG3Cl<LKC;b2G2  @4> lX t4\4 @D5TH$Zy @deKfFd @5TL`U @42 @T&Olkji h /////"OChciTClLЎ @425  @4< @4l4 @D5[ @4jy @de:JfFd @5TL`%U @4x @T&Olkji h ////"OChciTCkKrj @42- h @4;e @4k`4 @D5ZyW @de^гfd @FTK`%U[ @4S @T&Okji h /"Oh eChOSd"b B 2&O h /"Oh eChESd"b B 2&O h /"Oh eCh;Sd"b B2&O h/"Oh eCh2Sd"b B2&O h//"OChciO B> @4O" @4V  @4ydeFW @4e @4 @V W5 @4@4 @5"",?&Oi h`lh~t~hd 4ȁ4 /////"OChcin @4Vh&ceS`0p f9'6'vmfCbB E EX%0teH$0CcC0tCctCCeE0xu!ESiCaAI00%cgG5|5QaCjh:J77qbv!%c9'{4 @52&B&k&j&i&h#o n/"Op @Ch&O h /"OChbeԿ @4bҺ--dD2&O h/"OChX[ԫ @4Xҹ--dD2&O h/"OChNQԗ @4NҨ--dD2&O h/"OChDGԃ @4Dҕ--dD2&O h/"OCh:=o @4:҂--dD2&O h/"OCh03[ @40k--dD2&O h/"OCh&)G @4&V--dD2&O h///"OCicjU @ h8z @dg> @d&Oji h//"OChciU @ yVd Q @E&Oi hTldt~~ Xp4VXZ\^`C ///"OCicjUxu @ hpX @4g zVnSd @E&Oji h/"OChdUie @ dbΕ @&O h/"OChdU^Z @ dW繕 @&O h////"OChckUQM @ jVIО @di09IxF @d ?М4 @D5W {V;Rd @ETI`%Ux: @d6 @T&Okji h ///"OCicjU.+ @ h&X @4g zV$V @d&Oji h /"OChdU @ d> @&O h///"OCicjU @ h X @4g zV @d&Oji hMl~Xx4FGIJK //"OChciUpn @ yVdjΕ @&Oi h///"OCicjUba @ h]8z @dg[`d @E&Oji h //"OChciURP @ yVdLП @&Oi h/"OChdUFD @ dAa @E&O h ///"OCicjU87 @ h3X @4g zV0j @d&Oji h /"OChdU)' @ d$P @&O h/"OChdU @ db @E&O h ////"OChckU @ jV  @di09x @d- N|l~X4gМ4 @D5W {Vaϕ @dTI`%Ubx @d] @T&Okji h ///"OCicjUUR @ hMX @4g zVJЎ @d&Oji h //"OChciUEA @ yVd<Ѕ @&Oi h/"OChdU95 @ d1x @E&O h //"OChciU,( @ yVd# @ru&Oi h ////"OChdU @ k @djЬ9d @D5UГf @dTJ`Ux @d @T&Okji h|l~X44///"OCicjUа @ h8z @dg @d&Oji h/////"OChciU@ @:kUX% `5RVh&TWVU @ddUX% `5RV 6X gVU @ddUX%`5RV6 u @SdgVU @ddU5 `5RVh&TW fUz @ddU05`5RV 6X g fUq @ddU5`5RV06 ug @Sdg fUf @ddU5`5RVh& T\\ @4fU\g @ddU 5`5RV6 X lQ @4fUPg @ddU 5`5RV6uF @SdlDz @df yUCg @ddD2&Olkji h ////"OCicj"@Ck<;UX% 5 -V/32 @H -* @  A$ @4e&("b B48 @4e#уdaJ A<4@2$T`D34T@EAb2$TPB(Ca<1T`ABc,34TpBA:TC&V > @g&Okji h`ld~XPXd////"OCicj"@Ck<;UX% 5 hʐkhe @L jf @  E^ @4ece"b B48X @4e`уdaē A<4@2$T`D34T@EAb2$TPB(Ca<1T`ABc,34TpBAb2$THCC<:TFVB~BД @g"&Okji h /"OlWdV7g.6ChSd} @ 2&O h /"OdV,RCh+Sdg @"&O h/////"O@Acb2$X`l34\@l1[lZdU!Ci @ defg @%2&Olkji h //"OlXdUCi @ d @e"&Oi h`l(d~LXPXdfg/"OChiߐi @dd @dD"&O h//"OCh"dU`_[ @ )\2fh&Uҷ.Uй @dP @dD2&Oi h/"OJѠIChSd眕 @"&O h/"O@ь?ChSd燕 @"&O h/"OlW@vdV4u.Ch3Sdt @ 2&O h/////"OCkcl@$Ad4 @th`2$Y@34Z |\$ @ dУfg @e"&Olkji h ////"OChck+.  @4i{ @d#g Гf @d&Okji hl~d~X !L`hijlmo ///"OCh@l1TlURMc(C]j;*. vL @cdfLУg @d&Oji h////"OChck@1TUAMc(C]j4C6 @;*e> @4; @45w. {1 @df1Уgo @d&Okji h /////"OChcl@1T@2@1@3 @`34T@1@3@2 +;+++/ @ 8 @4i| @de  гg @fd44# ld~ в`k04 4" &Olkji h "O\v @cd\e] @ &O "OVѷVжO @&O /"OOةR @  KРE @&O h/"ODؓG @  @Њ: @&O h//"OChci5<4 @%d1G8 @4dXy-H @ddI,c>.F @4L&Oi h//"OChci @4TMb#`@34TMa``2$TMc3`@Ab2$TM`y @dd @5 &Oi h"Ov @cde @&O BCdld~ #~`d ///"OCicj8] @4h[z @dd_ @e&Oji h "OQv @cddQ @ &O /"OChUP @4&O h ////"OChSkcj> @4e?ٓd4? @ doP4 6z @de= @d H$ 0z @de7 @d 2 @ efd&Okji h(c` $//"Och!9' @x @de/!$ @0&Oi h ///"OChcj @z @de @D&Oji h`ldlĂ"4 R ///"OChcj" @4eY@zZ( @4(Уe @4 U X6}Ԇ5 @9dBc4D a`TD2(4y @t4&Oji h///"OChcj"d @4eY@zZ(l @4(cУe @4 U X6]f5 @9dBc4D a`TD2QƐWa^ @(4U @t4&Oji h///"OChciH: @4*TI9Cj @d)< @4"4@ @t&Oji h /////"OChcin1: @4*2:[ @d* y"Y% @4 4( @t~ )4$ @tu U& @ Q @4 jef @4e4 @E UV @4 @4@ xe @d? ,ld,TL 4$Ђ0` @4 jУef @4$ xe @d @d4 @t2&B&k&j&i&h#o n ////"OChci: @4*T:Ck @d*@2$V yU @424 @t&Okji h///"OChci: @4*T:Ci @d* @4"4 @t&Oji h ///"OChci: @4*T9Cj @d)} @4"4 @t&Oji h ///"OChcis: @4*Tt9Cj @d)f @4"4k @t&Oji h ////"OChci^: @4*T^:Ck @d* yUT @4N @4"4S @t&Okji h /"OdT vdUH Y6BJ5sd @8dBaD b#`(&O h /"OdU@Ch5 @ &O h///////"OHchn +9 @4)T, 9Cj @d)@2$]8i @4k'Уe @d%"b BddD!a AddF=Ci @4 XУe @d18x @de Гf @4SA lpPL  d @dj8x @dfV @W УeXf @42 @d S$ 4 @t2&B&m&l&k&j&i&h#o n ///////"OHchn 9 @4)T 9Cj @d)@2$]8i @4kܣУe @d"b BddDa AddF=Ci @4 6Уe @d8x @de Гf @4S @djy8x @dfV @W| Xef @42u @d S$ 4p @t2&B&m&l&k&j&i&h#o n //"Ochc9 @4)Tc8Ci @d(U @44[ @t&Oi h //"OchQ9 @4)TQ8Ci @d(EGԔ @5J @44F @t &Oi h "OdU=8 @ &O ////"OCjck@1X, @4i*8{ @dd5Ѓf @e"&Okji h ////"OCjck@1X8 @4i{ @dd#Ѓf @e"&Okji h ///"OCicj @4h8z @dd @e&Oji hl,L  ܂d///"OCicj8 @4hz @dd @e&Oji h /"OChv @cdd @&O h /"OChv @cdd @ &O h /"OChv @cdd| @ &O h /"OChuv @cdd{ @ &O h //"OChci?k @4ye @difܐ._7g2e5 @6e4 @52Ȓ,?&Oi h//"OChci?Sж @4yM @diNҬ.GO72eE @FM4 @52,?&Oi h "OBH@A @4&O D;A7evfrgb%qReT" D3A7evfrgb%qQUT" ,DA5W f3`Wc`H $DA5T f3`Td DA5U f3`Ud DA5V f3`Vd ~A5uT f3`Td#`T lt~d  ܺ4`$ /"Oce\VTUXҢ.ChPsd @2&O h /"OdUNюChH @cd"&O h"Ocd`L1W@L2$V L38 eH dG\e @Ld&O "OdTE9dH:BD:5 @,4,&O /"OCh. @dT&O h"OdV)C)_ @&O "O# @ &O "O" @ &O "O @ &O "O޿ &O /"OdUChDA @4"&O h`$ 0S<d0~ dܜHe /////"OCjckUDAԃf @4"S8#-ٶм[d @j"ܳe{f @dTD2edf @{TDedf @{TD"гef @d&Olkji h/"OChЖ @DA4G e3`GS`&O h //"OCh~A9 @y d3`D#`&Oi h|q" |q" /"OCh @&O h/"OChx @&O h/"OChcv @cdeja @|t&O h/"OChYv @cde`T @|t&O h////"OCicj;dQؑZ @ +VU4J @Bd dD"5H @Re&Okji h ////"OCicj;d;eD @ +VU44 @Bd b F /"OPA @8dЃf @\&O h`l l%Td~`l `ܜlx //"OchnK @4ePa A4T$@D1T%D`34T@B&cD,34TPHAb2$T`EC<8TD;Ԁ 4BQCR'.PB5,43`'45VfHVgb$qVgVfrctVfVgb$qReRD2&B&h#o n//"O9dJ# @ ) @ iE @FdG @dH4ГfBd @5|s2d f @5 @d 5 @Re$&Oi h8~ld` X`//////"Oci 8dLO @ ( 4BhTITCXyK @dlE|{U= @dUd: @ mUB @dUd? @ jU? @dUd< @ i1$ @4 2Ve @d 42c CdUdVt+ @wTH$a*"b BdTUVt" @w$Гe @dd" @eУe @dd @ee @dd @eЃeV @d @TR 5. @Re<&Omlkji h`8~ld` ̃d؃//////"Och:d:r@ @ *49Bk||V6гe @dmV3гe @djTET@F2$T`xGT-H5 @dTH$d' @5#гef @d!гef @d75 @Re$&Omlkji h///////"OCicjn4[4Sf @\TCh zTCk`3$2 @T `d`  9eI7>R @ )4I|zVBiFГe @dVCУde @K>4 @++9L5Te @6Qx1Ѓe6 @TR*43m51S2=x1e @TMRM"b2TUB"Q|;։Q!48( @ e$гf @dTH$ Q!48 @ ed @fГeV @dVe @d @4S-5> @Re @T02&B&m&l&k&j&i&h#o n#d`l0 d  ` ///////"OCicjnc4[4Sf @\TCh zTCk`3$2W @T 9eI7>S @ )4I|zVBiFГe @dVCУde @K?4 @++9L5Te @6Qx1Ѓe6 @TR*43m51S2=x1e @TMRM"b2TUB"Q|;։Q!48( @ e%гf @dTH$ Q!48 @ ed @fГeV @dVe @d @4S5> @Re @T02&B&m&l&k&j&i&h#o n`#d`l0 d  //////"Och:d^ɐb @ *4]Bl|{VZe @dV`Vгde @=Q@:WVUQQd @TH$]WVUdK @HVe @dEeV @d厐5@ @Re$&Omlkji h //////"Och9d2p5 @ )40|yVBj-Уe @d V*PBc,3de @; QQ@Bm,=S:` @ds5> @Re&Olkji h//////"Ock1 @4jT@2Ch$TCi`{T=Cld*J1 @ -+ @d j4LBde*ЃgG5 @d/5 @Re&Omlkji h//"O@l1WlUdT\cCLd;$|a(A|x @$TH$i @ &Oi h` 8~ld` l,8DP//"OdTDlT@ECFca<1T`l2$U@vdV\apAplc#Lb(B+#|x4 @7TH$i` @  &Oi h@l1UlTdVLa`Alf&\b(B+&|sf @l1UlTdVLaWAlf&\b(B+&|se @l1UlTdVLaNAlf&\b(B+&|sg ///"Och:dBٌD @ *4?|zWBdVU8 @ TH$WVUd3 @ p53 @Re&Oji hdV/|qUhT" *|qUT" //"OchY @ 9  8 @4eTDN @ &Oi h//"OchY @ 9  8 @4eTDN @ &Oi h\8~lhtd` ` ///"OChcjY} @ 986$"v8 @4eTtDNwp3 @4 !m8Xzd @7en T1$37 @5 PTD"b @T(&Oji h////"OChci?nZT @ :MKN84 @eTKDNN1 @ 7F @4@B".Xyd @1eAT2$ @7 PcA61aA0A%64 @52. @Te2&B&j&i&h#o n ///"OChciZ! @ :208 @4eTDN$1t,u3v @8 `34TXyJ @de(T2$ @uj @T"0&Oji hlt~ $4 ////"OChciZ @ :?=8 @4eTDN$t1u(v3 @8 %`; @4j{ @dkXy @di2c Cd@Tp @ei @T,&Okji h ///////"OChcinZ @ :pn`М; @4jJ @4$ 5{ @dd䁂Cm  @403`x`*`aa`#`[{ @4;|:+T`k8 @4eTiDNrt3uv @8 e @T []Xy @dehd @k] @dY @T2&B&m&l&k&j&i&h#o n/H$03`1%QH$D)Cf9&h&v0vmf976vmf`@Dxet,DLdH$Q fQb-b#`Qa% h //////"OChcinZ. @ :  &84 @eTD#N)1 @  @М;4 @!eTd37 @5  Z @d 5\ { @de3T7 @5 "l @Te lt~  $d @4TDt @De%d,+CkP'S0:$R(" T`Le*,dSz3{!+e: @4`yU @6$2 @T @d @4 @T(2&B&l&k&j&i&h#o n //////"OChcinTClX @4d`1CkTCj쁄 @4y~ @de2c C4w @4$7ef @45$6g @4 el @4 T2Rs6qwe @8dBaD b#`^ @4@2&B&l&k&j&i&h#o n//////"OChcinTPCjX @4d`1ClTCkL @4yF @deP2c C4? @4P$7ef @4H5$6g @4 i4 @4! 24ш=?= @S65;e @8dBb$D c3`" @4@2&B&l&k&j&i&h#o n/////"OChcknTCi8 @4dCj@{TCk @47ef @46g @4 3e @4F 04l%t~dl0dH T`\4`T"Rs6e @8dBc4D a` @442&B&k&j&i&h#o n/////"OChcknTCi8 @4dCj@{TCk @47ef @46g @4 e @4 T"Rs6e @8dBc4D a`z @442&B&k&j&i&h#o n /////"OChcknTCil8 @4dCj@{TfCk @4nГefg @4dfg @4 d\ @4 D"W @42&B&k&j&i&h#o n /"OChdUQM @6 S4 42&O h "OdUEA @ &O /////"OChcl@1 dCecP2fP1iP3p@2 s@1  SC &U$Ь5f @dzR2dD&Olkji h /"OCho#`dU @6 5TH$ @2 @1 @3&( $ic#`"f`04l"l#\"!\s3` dC`"&O h //////"OCh@l1TCmM(dTCl vdTCkm @4Migгe6d @5 e`6d @5 z=^ @40&Omlkji h ///////"OChci?n`bUJ @4FOVfVddEVdFX @4e`J2c C4I`a5 A4El"b B5B2cm C5,?k-<+:,8-6+45 @d l3 @d m1 @d :&de0EE2\2(M,"A2c5 C(la A5%"bm B5,zk-+ċ @4e 2c C4^МU 7f @4"&2&B&m&l&k&j&i&h#o nl%t~#l0dX` //"OChcik @4el a A4O'gМU @4cCP&Oi h////"OChdTYÑW;G꽐:. 8vR @cdeW @dR02$a&Okji h /"OChCѕE @ "&O h /"OdU@Ch @Sd&O h /"OChlWdU1sfp.3 @72&O h /"OCh'\) @7"&O h/"OdUChH" @ "&O h//"OChdYlT@l2Me$TMc(CSa;!SdCeP3#`)P2+CeP1+P3.@2G@@1,I ld D~ȄԄx`dpna`4pn06pn-b#`*pn&pvdd3d`@#1d`dd2C`3d`dd4C`5dddeC`6S`7Rxv @cdPӪ>PSQ @M玐e.G @7 d D &Oi h/"OChdUlT@vMddVmb;(B+$D@e73 @ d42 D2 &O h //"OCh`)'dT vMddU]i$ғa=(A$H1."$36 7 @5Q!nS2dCa)A)!a1bMdCeP1P3CeP2P1%@3(@@2/I R$b R$ bxld `R"R$(2rR4 @"U2 "TtDfxD``(D`Dfc`Dfc`DeS`DeS`@dC`\ @T(&Oi h /"OChdTH$@2/ vdTL @ MLBC04 4 ABԐ<4 @FTe5=Ԇ<4$:Ԁ<4R$ 7{,4tBdD&O h/"OChk?dUX%Sd,c>+ @5  `P (4 @52 # @4"  @48,?&O h /"OCh/?dTH$Ce'> Sd @5  ``$,?&O h  40d /"OCh?dTH$CeSӮ>RSd @5  `\-b$,?&O h //"OChdTBCi3 @426 @%  b"9 IPIdD"0 @T$&Oi h /"OCh'3 N2%46 @% " dD @T$&O h ///"OChdTCi3 2 46 @%  b"9e  x0TII4BaeSf`2`1Sf`3`2P1+@P3 8 DcBSD cBS4tDf3D``#1D`De2S`3DfDec`4S`5De@dS`6C`7h @42QvМ14 @U" m @T$&Oji h /"OChYv @cdda @ &O h //"OChci?RГ @4YLR @ OfHg @4R4 @5",?&Oi h ////"OCh"dTCk vdTH$49=Уi @d 6ГdS @68 @d &гd @5 S4&Okji h/"OChdT* @lU&O h /"OCh"dT5 @4 S4&O h /"OChdT @lU&O hl(h~/4t~D @4 /"OChdT @ &O h /"OChdT @ &O h /"OCh"dT56 @4 S4 &O h ////"OChci: @4*T:Ck @d* yU @4"4 @t&Okji h ////"OChci: @4*T:Ck @d*8y @de @4"4 @t&Okji h////"OChci: @4*T|:Ck @d* y e} @424r @t&Okji h////"OChcih: @4*Te:Ck @d*_8y @def @4"4Z @t&Okji h////"OChciP: @4*TM:Ck @d* yUK @4"4D @t&Okji h ///"OChci9: @4*TD1 @42$40 @t&Oji h ///"OChci&: @4*TD @4dC`㈁2$4 @t&Oji h ///"OChci:) @4*TD @42$4 @t&Oji h(lLL(X|d////"OChckT4 Nٓj<:d4N @ 8{F @ddGГe @<5*9Ie @4"" >@Гjs:q9e @d (y>e @4 7 @d854 @2*&Okji h//"OChciTt|@1~@3r@26 $T @6 Q"  @ @4T @6 4 @5"  @4T&Oi hlp @Lt~4/"OChdUu{P1}P3lUdTJ @dD"&O h "OC`cdSfe4B @7 P&O ///////"O{jCiSkXZn?nn89T) @404@$B%d @vl <*m-.& @d<'832.A"kDd3 @$47(; @- @d гe @d`!2&B&m&l&k&j&i&h#o nt~`p|$D~`8`d //////"Och:eRٮS @ *`Ca<1TPC&a<1Cj\@Bc,34]`1[B @4egD6 ; @4d< @ dFR("@1[ xW4BdJU5Ю3 @+ @Tb5+ @Re &Omlkji h /////"OChcl`2$[@34ZY @4e:.g6 | @dd @ dFTD2&Olkji h"OdTH$ @ &O 8~ld`,a` //////"OGdTCilTO@l2$TN`l34TM@Acb2$TLPCca<1TK`Bcc,34TJpA6dT)Cj\4"W :J\2J $;dTؤX @ +$4JVQBm|{Sd @\:lOГe @dLUdVWS4S6R'a @TH$dBUVWQQS7b @(7 @d\42e$53 @Re@&Omlkji h///////"OChndTH$Ci)$2 lUR@l34UT`l1UV@Bcc,34UUPAcb2$US`Cca<1U[pBcc,34UQ@Acb2$UR.HC<6dUH$Sj$2p &:J$2e ` d` 8DP0;d:'n.= @ +047J;|{Bmd8 @\:l4Гe @d1dUVWQQS7R(ac @:TH$d%UVWS4S6R'Qc9b @* @d420R5&. @Re 2&B&m&l&k&j&i&h#o n///////"OHndTH$CiS$Ġ ` d` DPlTK@l1TJPBcc,34U@Acb2$T`vdVLaAlc#\b(B+#<$:daرf @ *)p 4W @441W4 @4jS4 @4$4lZ @Bd$4kSУef @Bd iH4 @4V NГe @d$=Jгdc5R&Q:g @84R?$e @4$4:<|}BdgUV67, @TH$ d3УgUV67$ @# @d" @d4" @4S$"$25 @Re Q4"$$5 @Re 2&B&m&l&k&j&i&h#o n //"OchCf-?n\4 4kL `# ` 8~,d` H8DP Tdή\*<4)84b-g$' @4UX%$a A4 !2c" C4" 4444 444 4 @  @5%2&B&h#o nPh~dh̴8 Hض /"OSh5 @(@!2$ @4@TBb"b Bf@ R("TBaQ A (&O h "OCeX%Rb"R BSd&O //"OChci(9:$;1<$d78aQ AG 4&Oi h ///"OChSicj(C, @4=LN>(3<Uh @4q<4 @),c35L<2&$138daeQ AGhd< @4H\LWe6l&Oji h "OcRAtQ!TB$Q$Bb%RD B6 &O /////"OChSlcksjY(4B( @48U0: @48d @4(*2%82'$1dbe&R BGeE%8W-6X&Olkji h//"OChci4 @4d5 : @4R )76 @U & @4) l%t~l0dtdt~ @444&Oi h /"OChdT&O h ////"OChcjnP  @4Гe @6TH$ @2@1@3 3`Q @4#`c4#`TUFW @4 TU6  @4 $2 @4$2&B&j&i&h#o n /////"OChcinTU16 Y P n( @4 dt&4:5 DM# p.2` ^^^^^BN^^QT(6TԳe @!   bL#(L6e @1   DE(6e @  <=(6e @!  6 b3#(6e @1 Ѡ Ӡ S+(36+Գe @  à Q#(6#Գe @!  R(#6Գe @1  U @4(T6UCTe @  (T6UCTe @! x z %#l0dȁU @4(T6UCTe @1 SV SГd3(6e @ HQ{гe(6d @ 9< (6TUCT @e ), ТU @4(6e @!  恄Љ(6e @1 @d( @4 " @d}( @42&B&k&j&i&h#o n//"OChcik84 @Te76 j @47QPaf @6 4b @4$"4&Oi h]Ce% "OZX @ &O "ONT @ &O "O &O ///"Ocinz?B @4Tt4X L `@# ##@ 0Ѓe3 @6H63Y @4OH$P'Ѓd @5 $Ѓe' @6+TUH(%4 @Y(5TUL](5 @d 6e @dSxe6d @5Q84 @8@%3TUB#Q85 @dt l%#0ld@84Ѓe @6TUFx4 @Wx5pT0UB Qx5 @d6 ԃe @6 @4hX @4O, @dOXŠГd @5 Ѓe @6ꅉ hh @4O4p~hd @5 @4$2&B&i&h#o n /"OChyx @ "&O h/////"OChcjnkP n @4geRdQUH53Q"Aгe6d @{ 2Qe;{6d @. 'P6de @6 P66 @4"*46TUFWU @d) @4 & @4(2&B&k&j&i&h#o n //"OChv @cdd @  i @d d @d D @d"&Oi h ଅl%#t~0ldЈ܈ą"OI捔 @6 FC @4 L`P&O "O;q @6 87 @4 L`P&O "O-U @6 *+ @4 L`P&O /"OCh  $2+  4! ȿ  " ڿ  $2 `  4 42&O hpЅķ/"OCh4 @T @4TD"4&O h  " dUE W2 pElR&4 42 /"O$'4)X%G1bDNH$N^AaEd @4DaBd5 @,4NYC<8 @d&O h /"OdUWChT @ &O h///"OcinIC @4= @4 @ДY @4e! c8y 6d @3 X c2Гey 6d @3 L c,Гey 6d @3 @ c&Гey 6d @3 4 c Гey 6d @3 ( cГey 6d @3  cГey 6d @3  c 6de @3   @4 @42&B&i&h#o nd%t~܅0ldX////"OChcjn @4 ФZ @4ez 6d @! ZPУe 6d @z OPe 6d @z DPУe 6d @z 9Pe} 6d @z .PxУe 6d @z #Per 6d @z Pm de @6 Pn @42h @4 e @42&B&j&i&h#o n ///"OCichnV @4R4 @T4DeD`3P#15D`Df2c`3D`Df4c`5D`@d6C`7F @4@@ٌX @4e# c8x6d @5 Z c2Ѓex6d @5 N c,Ѓex6d @5 B c&Ѓex6d @5 6  =cex6d @5 )"=cex6d @5 c=cЃex6d @5  c 6de @5  @4  @4$2&B&i&h#o n%#t~0ld /////"OCjchn @44 @T[ @4гe{6d @# jPe6d @{ _Pгe6d @{ TPe6d @{ IP}гe6d @{ >R %wгe6d @{ 2R"%qгe6d @{ &Rk6de @!. Ps5 @42`6TUEVU @da @4 ^ @4$2&B&k&j&i&h#o n VdRʐ & ///////"Ocj?nS @Q @4L @4QR,P pLQC<:4e @4$;d;fJ @ +$4BkH @dl9Гef @dm?d @e <ЄdQS7$g @(6U @d-, @41e @44 @4e @4% @4 @d$5 @Re 4 @4L2&B&m&l&k&j&i&h#o n"ORA @T&O ` 8~%#t~d`0ldLD~8DPPP /"OChh @4QXx(TDt!DYAS24 @U`f\4 @5X @40&O h ///"OCh:dJ٨P @ *5Rexd5D @Re&Oji h /"OCh hxӿd&O h 8 ` ///"OChSj~-A/9 @dm!H$) @d*@EBd,4Be\3We2$,5VgVfr*aVfVgbsVgVfteReVBc32$HBpB @d&Oji h ///"OChSj~A 9 @dTd ! @dF ܅d `!333333?`~}Ad4Be\2W"$feb2b"QefRcfedUeVBc32$HBpB+ @d&Oji h PDN?1IN!Jd C` a9pL0!" # R$ a S` D ///"Och5 ~ C<9$yH$  ~C<9$y H$  edY @ddXDC<:Ma`TH$Ce Sf `3{ `28Fl5X%NSf`2P`1SSf`3`2RFl5X%/Sf`2`1`3#|P6FU QdeR)B29"-dC`Qb#`D B S*?e)C)#d ?f5R$/e)B"/fd[ ) S=dC`# R-dC` QdC`SdG=e 0. @ @  Ci`&Oji h //////"OChSm-@pd~ $`KܐN @ kG7$4 @8jefmdiCC4de @7ef^d8 @dl9 @eTQ4DCeKeS`$&Omlkji h //////"OChSm-,&F) @ l!$74 @8kef#djC4de @7defm @d! @e`$&Omlkji h //"OShciBd @e Гe @d&Oi h`8~d`0D///"OChSi @d( @j @eУf @d e @d @j @gdfg @$&Oji h///"OCh$ @:dУf @\}F(12( @"3`&Oji h ///"OChSiQ!-m @ jyI @JdwK @dj$L5f @de @do @jm @gob%dfgY @(4&Oji h/"OChTH$S @ !dH$N @ (&O h "Oc`sfSgePGG~ A &O <"OCDF @ Aќa!C @ &O c53WT9 @ د F///L=Slml d //"OChT @5i/ .HDS6QB,45ż`,&Oi h /"OChb(A`A`A`%&`&O h` 8~d l/ l~x8DP  /"OCh(A`A`A`56 @T @T;d &O h //"OChSi(A`A`A`惀 @"`&Oi hHD~$d"O @Sd&O "O$A`AA`AB`C} @AT&O "OCeRaQ A &O /"OChR  t @ThT g֌3g @5&O h//"OCh5 f @Tb @TW @TXЄU @T 0V @T T @T "TH$P @ "`&Oi h AP "OBUX%JdH$BSd @5 JdH$CeR02)S`&O "O: @BT&O "O6 @BT&O /"OChH) @TH&O h /"OChH @TH&O h /"OChH @TH&O h "O @GT&O "O @FT&O "O @HT&O T`lxD~$/"OCh(A`A`A` @ @  @H`&O hHԷ/"OCh^(A`A`A`W @TU @TT @Td&O hL `L `L `"OA @BT&O "O?ԍ &O "O:Խ &O "O4: @ &O "O޿ &O "O-Ա &O "O( &O "O  @ &O "O޿ &O "O @ &O "O @ &O "O  @ &O "O޿ &O 4(Th#dD~"OЃ @ &O "O~ @ &O "Ow @ &O "O޿ &O "Ok @ &O "O &O /"Of]56 @d&O h "On^ @ &O "OTP @ &O "Oؿ &O La! ) ///////"OYChcksi?n?C4 @QOҳe"b BdP2c Cd  F @dd@5@5\4H$ CeP2@5 ݠ )N#^%? @4wAF @5toU0 @4ig*5 @4c#5 @4 @4 @4d @  mL5 @4 M @ @4ޠP~lt~ <0<8$XD4d41T<)a4 @; ZЭ 4 @Y @4UZX @S @4xP @4G\V@G`4\ @*ڣkrf&Гg @d 1ľ  # @ 2W  W%W @' @4  @4 @4 @4 P72&B&m&l&k&j&i&h#o nPlLt~d ̆~~؆`p /"OShd]%6f7 @H ` @J P<4 @8&O h//////"OCkShGٓlH$k+(3 @e @d8 @4 8 @4" @d) @ # @ N04 @-4 8 @4`X&Omlkji hPdd0dĂ}(X~ܭx ܺX}\R`?R //////"OCjchslnSdR@1 @3jCf`2 `1ڢ N@3iFl4H$@Cf`3<`2٠ Cf`1 `3.Fl4H$)Cf`3%`2 `1@6l4 4 DM# 0Nl   H+A+'5 @4޻d ٢  Ѣ # @eʢ ռ  Ģ f @e 7< @5h |4BUX%˸eH A <5 @dd d< @5 d ,`  jЃfag @e `H`CZ5 @<4jd ⺳d ZUԃfg @e[ Raa!T _dMdMFX  G M @ dD @e~QCE<$ @֠ " b,b("Π l @Ǡ 0cC` . @edH$CeГe @deS`&Oi h`}dH///"OSh" @ i @dd4j @d i`&Oji h~d~` ///"OCh @ hЌ:i @d @4~Ad @4j,: Уi @d Ѓj<:i @dd @4`&Oji h, ~ $d@/"OChЃd) @4d&,4 @ d<4 @ ~ Ad @4h @4 @d&O h,~\`,d@ /"OCh @ TH$ @ TH$ @ &O h8~p$D`G#`F3`E C` #`"$B"# C`/"OCh#`"("TH$ @ #&O h //"OChi @d, @4`&Oi h ~/"OCh @T, @4 @d&O h,~D~//"OChi @d @48 @4`&Oi h0 ~/"OCh8 @4 @4 @d&O hd,~/"OCh @4 @d&O h,~//"OChi @d @4$Ќ9 @d`&Oi h ~"O @ &O ,~//"OChSi @ ) @d`&Oi hh//"OCheRdQUH5ESdH$edEE\4 @ eRdyQUH5a A=df2.Iad:"b BI aaq9c3a A=dp 9xc/a A=d c+a A=da#0a'"b Bdf3Љ`#2c C c a=c"b sd B<9 *ddC`&Oji h /"OCha A x`A#8F1 xha38f2x`&O h///////"OHSjchsina Ad 4| @D5xVfVdb.AVdBTa AeT2c Ce~ae Almr @ ,7j-4,2-0gar Ad ` dte @F  dgXde @F dea Aae"b Bl,{m-ʋSQ`4Edfg @%hN @dH @T` 2&B&m&l&k&j&i&h#o n//"OChSi?=m @4Aғe"b B4:\2c C4 d!($75"b Bds,?&Oi h "OH$22c C &O "OH$% @ &O "OH$)X%H$X% @ h&X% @   @ &O "OH$*)X%'@Lt~T`tdXXdH$X%,,2c C  h&X%&!a A  #2c C &O H$  H$  /"OCh(A`A`A` @  d  @dA`&O hl8pfdh///"OChSj(A`A`A` @  i2c CdeУf @ddA`&Oji h///"OCh(A`A`A`惀 @4 @  jYT"b B eГf @ddAQ!4 @AT`&Oji h|$A`AA`AB`CQVvbbr"&QS1 C`//"OChSio(A`A`A`i @  did @edA`&Oi h /"O^$A`AA`BA`CAUuRbr(" "%ATH$TCh @dR @d&O h ///"OChSiZP 4La AdeGГf @d Bcs?2$ @  jB"b Bde<Гf @ddA`&Oji h ///"OCh3 @4YP 4ZT.2c C e)Уf @d Bbr!"$ @  jYT#2c C eГf @ddAR("4 @AT`&Oji h "OS`5{&O "O^`5m&O t8fDgxfd///"OChSjTtBaq$TtBbr(" "$TH$Ci @d @dR!`&Oji h///"OChSj @TRT!R,4t @DiсSa2e Adӓd2cR C"eЁQ @dR"TtBcQQ32$R2&Oji h/"OCh14de˾4&O h /"OChK4de乾4&O h /"OChS`45de䡾4&O h /"OCh^`45d~e䉾4&O h "OATQUAQQR 1ReGBd )&O //"OChSidQQ1Qe.d )&Oi h /"OChU @4UڿddDR("4I @AT `&O h//"OChSi QQ0Qde )&Oi h /"OShCe8 @4TٿedDR("4- @AT `&O h "OATQUAQQR 1ReBd :`&O "OAQd :`&O /"OCh @4UR"d aR("4 @AT `&O h "OQQe :`&O hgXxf/"OShCe @4TRf"e aR("4w @AT `&O h"OAQQR"eKdcC)&O "OARctّ?ՖҐe4 @6Ð5ʒ,?&O "OARct?廐5,?&O ///"OChSjcim4e4e'4d5.4`&Oji h ///"OChSjciK4e4eM4dռ5 4`&Oji h ///"OChSjci)4eO4e4d54`&Oji h ///"OChSjci4e4e34d5ȼ4`&Oji h ///"OChSjci4e_4e4do5䦼4`&Oji hh~xf  ///"OChSjci䷻4eO4e4dA5x4`&Oji h ///"OChSjci䕻4e4eO4d5V4`&Oji h ///"OChSjcis4e 4e4d544`&Oji h ///"OChSjciQ4e4e 4dۻ54`&Oji h /"OShcg`&O h/"OShcgCfaQcdVx6`&O h////"OChSkcjsi4 @D5TJГfRF"e @5TI`U+d @T`&Okji hAQ ` AQE`]d C` AQQ! L`/"OChTH$ @ 1Qa1!&O h///"OShCjTna @iH`&Oji h///"OShcjCi @TH`&Oji h /"OCh| @4UR/"dS8#h4o @AT`&O h "OAQd&O /"OChi @4UiӁR2c C"dQ!h4[ @AT`&O h "O^AQ"b Bd&O /"OChS @TO"b Bd&O h/"OChK @TE"b Bd&O h/"OChC @T:"b Bd&O h//"OChSi;ce @4VedR("h4- @AT`&Oi h "OSf/ @&O /////"OChSickFdl" @TZ:4 @DleEٿddӓf2cR C"eѳea AdIRd"e2c C5 ЁQ @dR"SQP&Olkji hhgxf4t~//"OChSiU`1PeS`d2Fe1WD`$@`%6u @de{6$&Oi h/"OChFg1tDgs`@`dc`6b&O h///"OCh @Tjӡb2c C-d zb2c C-d TBeP:AYcX3a!C89Sd6F AeR&Oji h ///"OCh @Tjb-dH$a A )izb-dH$)!)S2a9!I&Oji h /////"OCiSjclr @dkca4 ADh`@EfЄfg @efdhуda Ai`&Olkji h/"OChTAWw6ZF2cBd Cl4 dS2c84!DC`&O h//"OChci@e`1`fc`T2;FeWD`$@`%1<6u @df5$&Oi h"O/fg1tdgs```S`5&O /"OCh'e`1`fc`T2#FeWD`$@`%16u @d e$&O h/"OChҁQ"b Bd dR"b(4!DC`&O htx|Tgtx////"OCiSj @dka4 ADh`@EЄfg @e dda Ai`&Okji h/"OChҁQ"b Bd dR"b(4!DC`&O h "OAQU @d&O AQ P AQ ` /"OCh @ 0 @d&O h //"OTCevnx5 @44 944m @tk @4i4h'44d @tb @4`2&B&h#o n///"OChn  &Ve @4U5 @4娰4 4B044F @tD @4`2&B&i&h#o n///"OChnd  &5e @475 @4l4 䱱4$0䰰44( @t& @4`2&B&i&h#o n/"OCha 1d @d&O h"OBd7 @$P&O /"Och Bd7 @$`&O httgx///"OChSjY  Cdd9$H$"(@2@1    #B(* B(* 䩾4@B%de @vd 4B(&Oji h/"OChd4 @ (&O h Ba 1  "OBd4u @&O "OcgBd4l @&O "OBd4f @5&O "OBd4^ @ &O "ORActT5&O "OcRAtT 5&O /"OChSd5`TUB(Q&O h"OT5&O /////"OChSl,d62c C j `@dؿ=ey: ;`&Olkji h "O]`5涾&O //"OChSi) "b BdfdeF &Oi h "OO5恾O `&O "O5r `&O @D~ȇԇd`"O5RP&O @aaA,b 1 a)B 1)# J`@aaAB 1 a),b 1)# J`/"OChڿ  濃d &O h //"OCh۾ di9`&Oi h "Os @t&O Cgp1p3p2p1dO@3@2 @1    @F `5 c`Gt$Dt @ Be @dUl? @dWR$i:гdfg1 @86e @d4Гe @d/Ѓe @<&Olkji h ///"OUchwAQ!( Q! 7Ce<5Rfh&S@B&30tCjSdBcQ3(4BiF @dIde @f&Oji h //////"OCl?Q!8 l`8D4t~P0i9dH$@婐EY K @Dh(eL| G @ mB @dqD @d k= @d9e @~e.^ 4e @5U @d j1 @djeJ fgdm*Уe @d-& @dUe5 @"F @4b-b#`MCeVE\6b1\1t!a`b,b#`3`G= @T$ 4 @,< ,*`,?&Omlkji h`Dt~P8@ //"OChSi?)+FГd @6 cC b@C72@<F @47 f5 @dd5g,?&Oi h////"OChSkN?+۾d@౅ j*@B&:Ͼd4iF,9 @d @d)=8#d"38#*CeE6\6``1\1tab!3`F:de6,?&Okji h8~(lt~8@ /Rth& R("hN!@QC615L5XWx' r/W aV bC2/bS&3e5Rc0t2/a!ChseEc\3cd3\4@bw #B2A b#`1cv3 h//////"OShcmCj:eX%N0L]e75`PH$D<=cWB$O b$[(4R]eX4fbUMB&k" + @fd4DecL3Sb3\`)B #y2]`@1R2؉+Pl&Omlkji h////"OChSkcjiP9 @d)H$?4TlD4P<I @Ud*F?& @d@Bd)$H$X%d{: @dduF4 @d n`&Okji h////"OChkI;dH$jT:eX%& @ K*X%i 9 @d2) @d&Okji h////"OChntH$CjX%W @4 @4 4 @tE< |TD@DHH yMI,yP4L05)@C`)DC` @4ef @40V @44 @t2&B&j&i&h#o n $A`AA`AB`C!2 C`8<BM0_$A`AA`AB` C"OVCT @6P(&O "OOCT @6P(&O //////"OiCmSkslGU @d ?гd @U C @dhA @dj=U @dd dʿim4d$ @ee3 @d `1 @d,Уdgfg# @X%гdfg&' @8Xгdfg @(Xгdfg67 @U @dU @dU @d U @d4&Omlkji h Ff@l8<D̃P///////"O{jChSjn @ iУe @df @dQOP– @d  @dl @dk @d @ Zde @ de @4O~Уef @d{Уef @d {U @T @w @dd u @UOrU @T nTgfga @(Hj @dedgfgX @bU @d]TgfgR @8Nd "TJg @(PdfggB @JQdfg<ѣg @Cгdgfg7 @8@D;Ѓdg/ @(6R%dfg)ңg @(1U @Td( @ -U @dd$ @ @( @dd @ $U @Td @  @d @T @d @T @d2&B&m&l&k&j&i&h#o n $A`AA`BA`C! C` 3 8~x@l8D̃P/"OCh(A`A`A`TH$ @ 1&O h  ///"OChSj9 @4)TDУe @44 @t&Oji h///"OChSj9 @4)TD @de @4} @de @44~ @t&Oji h ///"OChSjq9 @4)TDqУe @44k @t&Oji h///"OChSj_9 @4)TDU @4*$4Y @t&Oji h///"OChSjM9 @4)TDA @4*4G @t&Oji h////"OCiShn:j @4*TB./ @diI-4e @4 0Uf @d 3U @d& @T2.d) @t R(" @T".d" @t 2&B&j&i&h#o n QAP /"OCh (A`A`A`,b"3`45`&O h(x LD~,4"O$A`AA`AB`C &O RB` 5LBQA6 ,b"`L VQRR"TS4\ au`LtVfReb$ Q TDQ %BQRR 1 ) 2/BR'3*b,eX%BQ>2 /"OChV QdeUAdOd&O h/"OChB d5a5dľSC`Ѓd>1&&O h/"OChW @tS(A`A`A`⃀"`&O h "OH$A`AA`AB`CG @t&O //"OChTH$ @2 @1@3!3 S8#/-$ a!4$" 4e- @4 $ $ @4 $ @4  @4&Oi h //"OShBUX% P2P15P3Q^ DTUP4W4)DtSC`H e d@5G5)DtEC`ltL L,tFexBdTEedVG5 @4  5 @4dDtC` @tix @de @d &Oi h "OBVRQ6$h& `1 `3`2 DRTS02)H bX c02 )mu @t ou @t &O /"OChRTH$B@3@2 @1@3@2TR$uVdReD UX c3`bu @4`&O h /"OCgShrT4> L `# 8Jr` jtVGЃdP @cg+ x gx'NdNՃd? @sf w<Ѓdrf3 @qW 4w @sd1f5 @d , @d 0. @d&O h"OBT4>L# &4BPv^ lSd1% @ / .Sd" @ ( Sd* @ ! 'Sd @  Sd# @  Sd @ Sd @  Sd @ &O ,X4ld<Hdt 4 //"OCh{?nQP1Р X%Sd @2 @17@3 @2r @1n TH$@2@1 e( @4 $%ՄV @4 &T@U @6#5 @4㋠2TH$@3@2! e @4TUDUU @4  @4 ea A4TUDU\|lh~,<4T@3@2@1 a. @4+2c Cdd* @4dD&2TH$@3@2 R-b#` @4  @4d @4 dC` 2&B&h#o n/"OCh @t(A`A`A`⃀#$%`&O hlЂLtD"O$A`AA`BA`C#$%{ @t&O //"OChSivu @tQR$S5&Oi h "Of @CT&O //"OCh_t @dc @  dZ @`&Oi h//"OCh?Q @tdV @ 4V VfIVgb$qVgVfrct VgVfr$aVfbTfc`LP`MJ4VgIVfr$aVgVfrctTf`$PeS`ATH$#23 @ /4 @TQ!S8#'x, @df(mk5 @4h,) @5 "4x @dfW5 @4R! @5I,?&Oi h /"OChSdcesfWX( H &O h"OcgEVh&Sd Fse&O ଅh~ąD  "O`5&Sd @ce@&O /"OChtCe%4Ce%(A`A`A`䃀 @4,45 @= 4$A`AA`AB`C `8&O hiXHtl////"OCh(A`A`A`TU9P4SkCjc2c Cd z:dUH5,EX% @ExdUP4SiCjc2c Cd(z:(iT @4 e(Wd @&Okji h///"OChSjci**TDUP4TR@2%6dUS3R(r$Q(qTS@3Rr5dfg$&Oji hBWp5 (\7tAT@7 xSXQ3s2& /////"OChSkcislM @4a)Zz,e+-A6(u @4{9ze=4$A`AA`BA`C 8&Olkji h/"OChcdReH$Sfwv4(v-x @d&O h/"OChX%TD6d R)VdԿ5&O h //ShciAVceBWp6XQ1YS8#R)BV(u`5i h ///"OChSjci*DliXL(mHp @4)d@1@3 9$%IJbd!Re B6xdD40$C3`CA3`BC3`C  `<&Oji h///"OChSjci*Ź4de6 TB)ӹ4ι40&Oji h //////"OChSicj?)àK29J҄T(95QUH5Җ2 T(tCkT@; 9гe @4 \74 $B#`BA#`BB#`Cz ,| U-гe @4PQ4*ғm $B#`BA#`BB#`=C_ MG< гe @4lde @4QR,11)<44$A`AA`BA`C< d4 $B#`AB#`BB#`C- l@=>@A`CDEFH `lL#%')+-/dN0B @,4`&Okji h ~L]]]D^^ ___`CC<,`@5 @47 @4b("`j,?&Omlkji h/////"OChVlW>Уef @d HUbdf(4=Dl4; @ ade4-DL55 @dce1Sf Cd +ce2S Cdzab,11ЉjeT@5ChSic2c Cd y9dUH5,EX% @E `4jdUP4SiChb"b Bd x8dUH5EX% @=E ` 2&B&l&k&j&i&h#o n#0dx`Lm////"OChH"LAp"ƒk;SaBQje A,:bB eaQ Adby2aeQ Ad&Okji h /////"OChnH"pL"Ace3S C5dCe%TAj:bB\Ak;eb#R Bdeoгf @dya1S@tD#fbeaVX6,FceEed-DL5c2S CdeRdzQUH5ESd4쉳ty4܉jdUP4ShCic2c Cd y9dUH5,EX%F @E ` 2&B&k&j&i&h#o n ///"OChH"p"Œ5TQUH5,ESdtCeTE\4DSLBj,:z2*T5QUH5ESdtU=DL5Sf&Тe @d  T5QUH5@BA9:8zmnutklYWf[]_<DL,9B)FIDZB0V"j   commctrl.dllCOREDLL.dllDecompressImageIndirectimgdecmp.DLLVariantClearVariantInit!SysAllocString^VarDateFromUdateVarUdateFromDate#SysAllocStringLenOLEAUT32.dllCoCreateInstanceCLSIDFromStringole32.dll)8E=?: d!$a"# b IMTZLFGxqvwVBRvU"3uPy  Y#$4AHkl9AN;M?=>@BA9:8zmnutklYWf[]_<DL,9B)FIDZB0V"j   S` \,\(8--YP Ff(D3&! IZ UBb($)E)\+@E,BF(CSQQQQQ4RQTTRQRSCdCdCC8UDUPUlU>99HC(X$dHdVVlWcHcdldU0VVXDZ|^0``,_@bNHOP0PPXPPQlJ@@@ENX'' 3<3d34333'(##$L$$%D%x%%%&H&|&&,H,+T0/.x,@.|.moooo,-g4g\febC::k-->$'&FLNGKlJJNG\II??$K`KDxDDEXS<7(87097T8t98701#81\1:hQ ETeeUU< 1D2T4D54(6l6p57556@h@@0?>p8pPppRdess4tXtxttthvvttAw,xxy`yy(zqP{x{n{D|d||}$}D}|}}8~~~PAtOOR Z\\Gl(܍̎t|P(,T4̛=  jh>%s: method or property not found.%s: Overflow while coercing argument values.%s: Object implementation does not support named arguments.%s: The locale ID is unknown.%s: Missing a required parameter.%s: Argument not found, argument %d.%s: Type mismatch, argument %d.%s: Unknown error occured.COM ERRORMemberCOMInvokeDllRegisterServerPalm PCHPCJupiterEventPenEventCharEventMsg\pcshellv2.exeErrorPocketCv3 runtime cannot be renamed to be PocktCV2 runtimeopenCannot find PocketCv2.exe runtimeGo get the PocketC runtime installer from http://www.orbworks.comPocketCrtPocketCrtPOCKETC_MAINErrorFailed to Create ControlEDITBUTTONCOMBOBOXLISTBOXSCROLLBARSTATICout of memory,V,,,V,,,,V,VVVVVV,V,V,V,,,V,,,,,,,,,V,,,,,,,,V,,V,VV,V,V,V,,,,V,,,,,,,V,,,,,,,V,,,,V,VVVVVV,V,,VV,V,V,V,VVV,VVVVVVVVVVVV,VVVVVVV,VVVVVVV,VVVVVV,V,,,V,,,,V,VVVVVV,V,V,V,V,,,V,,,,V,VVVVVV,V,V,V,V,,,V,,,,V,VVVVVV,V,V,V%%%,,,444<<<DDDMMMVVV___iiirrr}}}$4DXdp| (0<HP`px@Xx,<CIntCCharCFloatCStringToIntToCharToFloatToStringLoadSaveArrayIncADecAIncBDecBAddSubMultDivModNegNotAndOrEqNEqLTLTEGTGTEJmpJmpZJmpNZRetSetRetSetRet0PopPopNLinkUnLinkHaltSwapBAndBOrBNotSLSRXorWordPFPRelativeCallRelativeStackCallDirectCallDirectStackCallDupTopDupTopBlockLibraryCallLoadNSaveNEqBlockStackToGlobalStackInitStaticLibCallInvalidInvalid^|, ---Unable to LoadImageUnable to get DC "CreateDIBSection failed\n""Unable to create palette\n""Unable to CreateDIBSection\n""Unable to create compatible DC's\n"%d (%xh)%c (%dd)(%dd)%f%sNonevtStackIndexvtAddrvtIntvtCharvtFloatvtStringvtVoidvtNone%dThis program requires %s dynamic link library (DLL) The library found is not a PocketC compatible DLL library.This program requires %s dynamic link library (DLL) Please place this dll in the same directory.LibraryCallLibraryInitIncompatible LibraryMissing componentPocketC RuntimeOut of Memory !!!\temp\%d_%d.tmpruntime error at %d %smissing string resourceAttempt to increment stringAttempt to decrement stringAttempt to increment stringAttempt to decrement stringAttempt to subtract stringAttempt to multiply stringAttempt to divide stringAttempt to mod floatAttempt to divide stringAttempt to negate stringtoo many argumentsStack corruption in vmRetStack corruption in vmUnLinkAttempt to&floatsAttempt to&stringsAttempt to|floatsAttempt to|stringsAttempt to^floatsAttempt to^stringsAttempt to<<floatsAttempt to<<stringsAttempt to>>floatsAttempt to>>stringsAttempt to ~ floatAttempt to ~ string  0O#?88/#DP8T  p -  $ \  #< # $   9  VlA V  ,X;hL0l#=\)0\ X# 8d  (/ / /H /\3P(&( FD@ \vH 2 5!P!! !n"" # 4# P# h####$L$G$%D%x%%%&H&|&& &$'X'$''\(/($)-))\+<+:H,x,,,%- 5-/-/@.|.$. s/ ST0I0181\11aD2 n 3 <3d33334,4T4 455"D5p55E(6!l6677<7!777!(8T88U09!t999:J: : <=s>>>-0?4??(@@@h@@ /@?tA$A7,B }(CHCdCCC,D2xD'DE E@E >EEFEF@GHG)G \I0I+J+lJ)J1$K`KK L N#LN)N N#O#HOBOP0PXPPP0Q/hQ QQQQQR4R/RRRSb FHc@c.$dHdldd2d eeTe7eL\f k4g_gUh i/ j k pl xm n Ydo Ep8p Pp EpQq Ars&s/4tXtxttttv'hvwF,x;x7y%`y7y+(zP{x{){<D|d||5}$}D}|}-}08~.~0~-P%'DtV f$T\ k4 8   l ̊34T'UP  L(Y܍  i̎ z4(8 L ` t |   -ܙPH(T+̛ 4   (C)#L tIcФ Wl C"88%>p̩/, D#G\, ȫ @7  <`  $:h Ю     4 H \ p   "   , @DH \ p   ذ \  i̼Rp -̽ -( - - -< @'Lv D(T" 44@ *H-@$3$` \ tB,0(&t v` x  .X""","p 2<L"484* @#$, nH(&4 T lx.0 d | x V 2 /l#d#$, @`| 8#&<&<(/ ( D$ML0,:%#45E, H&6<` @| 0!t"8\!!!(!l-! !P!!  .tL ` T h \ .|5/x 2.t*:h. P <<@<.TP,Pp  ( )|  ( Dd *P/< [ {#D P 98 <h  e4 L  i   ^| 0  q , H #(h$/$X$$ M> 0dM(w0x/Lpx`(*|  }DH` R!<|!! D0"\"""V#'# % %!%S&D('i'1`( x( ( ( ( ( ( ( 4)Z+, - $- 8- L- -%- - .~.`//5 7 92l919 ;8;l;;; <X<<<0(=.=H>_> l@1@ A`CDE}FHIKL,NO=PPPPDQ RiSiTjdUrHVjWmW$@X5X5YPY lY#Y Y aZ"Z24[ Y[ l\EL]/]]7D^4^0_7_`acd"dB"D(( @DDHDDDHLHDHLHDHLHDDLHDHLHȈDHLH HLHHLHHLHHLHHLHHLHHLHHLHHDLHHDDLHHDLDHLHDLDDLHDLDDLD@D@DHD@HD@D@??( DDDDHD@H@@H@@@@@DHH@D@DHDDD ((  x"(""( @ w ww(." @.""@  bB(($"$""$"*"" """""" ( ( x ( @wwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxwxwwwxxx?( ( x ( @wwwwwwwwwwxxxxxxxLxxxxxxxxxxxxxxwxwwwxxx?( ( @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDDD@DDDD@DD@HȄDD@ȈȞȈ@DD@Ȅ@HDDȄDL@D@@H@DD@HHHDD@HDDHDDȈ@DDHDLDDDDDȈDD@HȈȌȈDD@̌̈ȈDD@HHDD@@DDDDD@DDHDDDDDD@DDD@DDH@@DDH@DDDDDDDD?( DDDD  ( ( @ĈHHHHHH@D@@@HHDHHHDHH@HHDHH@HHD@DDHHDDDDDDDȈȈȈȈ??????????????( DDDDDDDDDHHHHHDDDDD ̈  ( &FileB&About ...C&Show ConsoleA&ExitShellHRemoveIRefreshA&ExitShellFSend ...GReceiveHRemoveIRefreshA&Exit:MS Sans SerifP,(4VS_VERSION_INFO?StringFileInfod040904b0Comments CompanyNameHFileDescriptionPocketC Runtime6 FileVersion1.0.1.1 0InternalNamepcshellFLegalCopyrightCopyright 1999(LegalTrademarks@ OriginalFilenamepcshell.exe PrivateBuild8 ProductNamePocketShell: ProductVersion3.0.0.0 SpecialBuildDVarFileInfo$Translation Console WindowIncompatible Applet. Exit ProgramAbout this applettoggle console view Draw Window Hide ConsoleErase ApplicationRefresh7~#define VT_BSTR 8 #define VT_UINT 23 #define CEFILESYS_GUID "{3F0C2794-5C3A-11D1-A717-00AA0044064C}" pointer globalptr_filesystem = 0; /* use regsvrce.exe to register the control through its command line options regsvrce.exe also has an user interface allow controls to be registered manually. this code assuming both dll and exe are in the windows directory. They can be at other locations. or you can use comregister to register the dll. change the path if you put the dll in a different directory */ register_filesystem() { // exec("open", "/windows/regsvrce.exe", "/i \\windows\\MSCEFile.dll") ; comregister("\\windows\\mscefile.dll"); } /* init filesystem control, and keep the control handle remember to call cleanup_filesystem when you are done! */ startup_filesystem() { if (!comdispatch(CEFILESYS_GUID, globalptr_filesystem)) { alert("Failed to initialize filesystem control\nPlease register the mscefile.dll on the device."); return 0; } return 1; } cleanup_filesystem() { comrelease(globalptr_filesystem); } fsFileLen(string f) { int dispid = 0; int size = 0; comgetidbyname(globalptr_filesystem, "FileLen", dispid); comargclr(); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&size); comargclr(); return size; } fsGetAttr(string f) { int dispid = 0; int attr = 0; comgetidbyname(globalptr_filesystem, "GetAttr", dispid); comargclr(); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&attr); comargclr(); return attr; } fsSetAttr(string f, int attr) { int dispid = 0; int ret = 0; comgetidbyname(globalptr_filesystem, "SetAttr", dispid); comargclr(); comargadd(VT_UINT, &attr); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return; } fsKill(string f) { int dispid = 0; int ret = 0; comgetidbyname(globalptr_filesystem, "Kill", dispid); comargclr(); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return; } fsRmDir(string f) { int dispid = 0; int ret = 0; comgetidbyname(globalptr_filesystem, "RmDir", dispid); comargclr(); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return; } fsMkDir(string f) { int dispid = 0; int ret = 0; comgetidbyname(globalptr_filesystem, "MkDir", dispid); comargclr(); comargadd(VT_BSTR, &f); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return; } fsDir(string path,int attr) { int dispid = 0; string retpath; comgetidbyname(globalptr_filesystem, "Dir", dispid); comargclr(); comargadd(VT_UINT, &attr); comargadd(VT_BSTR, &path); cominvoke(globalptr_filesystem,dispid,&retpath); comargclr(); return retpath; } fsFileCopy(string pathName, string newPathName) { int dispid = 0; int ret; comgetidbyname(globalptr_filesystem, "FileCopy", dispid); comargclr(); comargadd(VT_BSTR, &newPathName); comargadd(VT_BSTR, &pathName); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return ret; } fsMoveFile(string pathName, string newPathName) { int dispid = 0; int ret; comgetidbyname(globalptr_filesystem, "MoveFile", dispid); comargclr(); comargadd(VT_BSTR, &newPathName); comargadd(VT_BSTR, &pathName); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return ret; } fsFileDateTime(string pathName) { int dispid = 0; float ret; comgetidbyname(globalptr_filesystem, "FileDateTime", dispid); comargclr(); comargadd(VT_BSTR, &pathName); cominvoke(globalptr_filesystem,dispid,&ret); comargclr(); return ret; } fsDirNext() { int dispid = 0; string retpath; comgetidbyname(globalptr_filesystem, "Dir", dispid); comargclr(); cominvoke(globalptr_filesystem,dispid,&retpath); return retpath; } #define SOCKET int #export pkcnet(0) iropen(SOCKET &sock) ; #export pkcnet(1) irclose(SOCKET sock) ; #export pkcnet(2) iraccept(SOCKET sockserver, SOCKET &sockclient, int timeout) ; #export pkcnet(3) irbind(SOCKET sock, string name) ; #export pkcnet(4) irconnect(SOCKET sock, string name, pointer deviceid, int timeout) ; #export pkcnet(5) irlisten(SOCKET sock) ; #export pkcnet(6) irdetect(SOCKET sock, string& name, pointer pdeviceid, int timeout) ; #export pkcnet(7) irrecvint(int sock, int&, int) ; #export pkcnet(8) irsendint(int sock, int, int) ; #export pkcnet(9) irrecvbyte(int sock, int&, int) ; #export pkcnet(10) irsendbyte(int sock, int, int) ; #export pkcnet(11) irrecvdouble(int sock, float&, int) ; #export pkcnet(12) irsenddouble(int sock, float, int) ; #export pkcnet(13) irrecvwstr(int sock, string&, int, int) ; #export pkcnet(14) irsendwstr(int sock, string, int) ; #export pkcnet(15) irrecvstr(int sock, string&, int, int) ; #export pkcnet(16) irsendstr(int sock, string, int) ; /* mem is a pointer to an array of int */ #export pkcnet(17) irsendraw(int sock, pointer mem, int bytes, int timeout) ; #export pkcnet(18) irrecvraw(int sock, pointer mem, int bytes, int timeout) ; #define INVALID_SOCKET (0) #define SOCKET_ERROR (-1) /* PocketC Windows Control Style Header File */ /* Latest Update: Friday, December 12, 1998 */ /* Interface Control -- Button */ #define BS_3STATE 0x0005 /*Creates a button that is the same as a check box, except that the box can be grayed as well as checked or unchecked. Use the grayed state to show that the state of the check box is not determined.*/ #define BS_AUTO3STATE 0x0006 /*Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, grayed, and unchecked.*/ #define BS_AUTOCHECKBOX 0x0003 /*Creates a button that is the same as a check box, except that the check state automatically toggles between checked and unchecked each time the user selects the check box.*/ #define BS_AUTORADIOBUTTON 0x0009 /*Creates a button that is the same as a radio button, except that when the user selects it, The system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to unchecked.*/ #define BS_CHECKBOX 0x0002 /*Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style).*/ #define BS_DEFPUSHBUTTON 0x0001 /*Creates a push button that behaves like a BS_PUSHBUTTON style button, but also has a heavy black border. If the button is in a dialog box, the user can select the button by pressing the enter key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option.*/ #define BS_GROUPBOX 0x0007 /*Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner.*/ #define BS_PUSHBUTTON 0x0000 /*Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button.*/ #define BS_RADIOBUTTON 0x0004 /*Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices.*/ #define BS_BOTTOM 0x0800 /*Places text at the bottom of the button rectangle.*/ #define BS_CENTER 0x0300 /*Centers text horizontally in the button rectangle.*/ #define BS_FLAT 0x8000 /*Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image.*/ #define BS_LEFT 0x0100 /*Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button.*/ #define BS_PUSHLIKE 0x1000 /*Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked.*/ #define BS_RIGHT 0x0200 /*Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button.*/ #define BS_RIGHTBUTTON 0x0100 /*Positions a radio button's circle or a check box's square on the right side of the button rectangle. Same as the BS_LEFTTEXT style.*/ #define BS_TOP 0x0400 /*Places text at the top of the button rectangle.*/ #define BS_VCENTER 0x0C00 /*Places text in the middle (vertically) of the button rectangle.*/ /* Interface Control -- ComboBox */ #define CBS_AUTOHSCROLL 0x0040 /*Automatically scrolls the text in an edit control to the right when the user types a character at the end of the line. If this style is not set, only text that fits within the rectangular boundary is allowed.*/ #define CBS_DISABLENOSCROLL 0x0800 /*Shows a disabled vertical scroll bar in the list box when the box does not contain enough items to scroll. Without this style, the scroll bar is hidden when the list box does not contain enough items.*/ #define CBS_DROPDOWN 0x0002 /*Displays only the edit control by default. The user can display the list box by selecting an icon next to the edit control.*/ #define CBS_DROPDOWNLIST 0x0003 /*Displays a static text field that displays the current selection in the list box.*/ #define CBS_LOWERCASE 0x4000 /*Converts any uppercase characters typed into the edit control of a combo box to lowercase.*/ #define CBS_NOINTEGRALHEIGHT 0x0400 /*Specifies that the combo box will be exactly the size specified by the application when it created the combo box. Usually, Windows sizes a combo box so that it does not display partial items.*/ #define CBS_OEMCONVERT 0x0080 /*Converts text typed in the combo box edit control from the Windows character set to the OEM character set and then back to the Windows set. This style is most useful for combo boxes that contain file names. It applies only to combo boxes created with the CBS_DROPDOWN style.*/ #define CBS_SORT 0x0100 /*Automatically sorts strings typed into the list box.*/ #define CBS_UPPERCASE 0x2000 /*Converts any lowercase characters typed into the edit control of a combo box to uppercase.*/ /* Interface Control -- Edit */ #define ES_AUTOHSCROLL 0x0080 /*Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the enter key, the control scrolls all text back to position zero.*/ #define ES_AUTOVSCROLL 0x0040 /*Scrolls text up one page when the user presses the ENTER key on the last line.*/ #define ES_CENTER 0x0001 /*Centers text in a multiline edit control.*/ #define ES_LEFT 0x0000 /*Left-aligns text.*/ #define ES_LOWERCASE 0x0010 /*Converts all characters to lowercase as they are typed into the edit control.*/ #define ES_MULTILINE 0x0004 /*Designates a multiline edit control. The default is a single-line edit control.*/ #define ES_NOHIDESEL 0x0100 /*Negates the default behavior for an edit control. The default behavior hides the selection when the control loses the input focus and inverts the selection when the control receives the input focus. If you specify ES_NOHIDESEL, the selected text is inverted, even if the control does not have the focus.*/ #define ES_NUMBER 0x2000 /*Allows only digits to be typed into the edit control.*/ #define ES_OEMCONVERT 0x0400 /*Converts text typed in the edit control from the Windows character set to the OEM character set, and then converts it back to the Windows set. This style is most useful for edit controls that contain file names.*/ #define ES_PASSWORD 0x0020 /*Displays an asterisk (*) for each character typed into the edit control. You can use the EM_SETPASSWORDCHAR message to change the character that is displayed.*/ #define ES_READONLY 0x0800 /*Prevents the user from typing or editing text in the edit control.*/ #define ES_RIGHT 0x0002 /*Right-aligns text in a multiline edit control.*/ #define ES_UPPERCASE 0x0008 /*Converts all characters to uppercase as they are typed into the edit control.*/ #define ES_WANTRETURN 0x1000 /*Specifies that a carriage return be inserted when the user presses the ENTER key while typing text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control.*/ /* Interface Control -- ListBox */ #define LBS_DISABLENOSCROLL 0x1000 /*Shows a disabled vertical scroll bar for the list box when the box does not contain enough items to scroll. If you do not specify this style, the scroll bar is hidden when the list box does not contain enough items.*/ #define LBS_EXTENDEDSEL 0x0800 /*Allows the user to select multiple items by using the SHIFT key and the mouse or special key combinations.*/ #define LBS_MULTICOLUMN 0x0200 /*Specifies a multicolumn list box that the user scrolls horizontally. You set the width of the columns by using the LB_SETCOLUMNWIDTH message.*/ #define LBS_MULTIPLESEL 0x0008 /*Turns string selection on or off each time a user clicks or double-clicks a string in the list box. A user can select any number of strings simultaneously.*/ #define LBS_NOINTEGRALHEIGHT 0x0100 /*Specifies that the list box will be exactly the size specified by the application when it created the list box. Usually, Windows sizes a list box so that it does not display partial items.*/ #define LBS_NOREDRAW 0x0004 /*Specifies that the list box's appearance is not automatically updated when changes are made. You can change this style by sending a WM_SETREDRAW message.*/ #define LBS_NOSEL 0x4000 /*Specifies that the user can view list box strings but cannot select them.*/ #define LBS_NOTIFY 0x0001 /*Notifies the parent window whenever the user clicks or double-clicks a string in the list box.*/ #define LBS_SORT 0x0002 /*Sorts strings in the list box alphabetically.*/ #define LBS_STANDARD (0x0001 | 0x0001 | 0x00200000 | 0x00800000) /*Sorts strings in the list box alphabetically. The parent window receives an input message whenever the user clicks or double-clicks a string. The list box has borders on all sides.*/ #define LBS_USETABSTOPS 0x0080 /*Enables a list box to recognize and expand tab characters when drawing its strings. The default tab positions are 32 dialog box units. A dialog box unit is equal to one-fourth of the current dialog box base-width unit. Windows CE calculates these units based on the height and width of the current system font.*/ #define LBS_WANTKEYBOARDINPUT 0x0400 /*Specifies that the owner of the list box receives WM_VKEYTOITEM messages whenever the user presses a key and the list box has the input focus. This enables an application to perform special processing on the keyboard input.*/ /* Interface Control -- ScrollBar */ #define SBS_BOTTOMALIGN 0x0004 /*Aligns the bottom edge of the scroll bar with the bottom edge of the rectangle defined by the createctrl parameters x, y, nWidth, and nHeight. The scroll bar has the default height for system scroll bars. Use this style with the SBS_HORZ style.*/ #define SBS_HORZ 0x0000 /*Designates a horizontal scroll bar. If the SBS_TOPALIGN style is not specified, the scroll bar has the height, width, and position specified by the parameters of CreateWindow.*/ #define SBS_LEFTALIGN 0x0002 /*Aligns the left edge of the scroll bar with the left edge of the rectangle defined by the parameters of createctrl. The scroll bar has the default width for system scroll bars. Use this style with the SBS_VERT style.*/ #define SBS_RIGHTALIGN 0x0004 /*Aligns the right edge of the scroll bar with the right edge of the rectangle defined by the parameters of createctrl The scroll bar has the default width for system scroll bars. Use this style with the SPWuWdWdWBS_VERT style.*/ #define SBS_SIZEBOX 0x0008 /*Designates a size box. If you do not specify the SBS_SIZEBOXTOPLEFTALIGN style, the size box has the height, width, and position specified by the parameters of createctrl*/ #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004 /*Aligns the lower-right corner of the size box with the lower-right corner of the rectangle specified by the parameters of createctrl. The size box has the default size for system size boxes. Use this style with the SBS_SIZEBOX style.*/ #define SBS_SIZEBOXTOPLEFTALIGN 0x0002 /*Aligns the upper-left corner of the size box with the upper-left corner of the rectangle specified by the parameters of createctrl. The size box has the default size for system size boxes. Use this style with the SBS_SIZEBOX style.*/ #define SBS_TOPALIGN 0x0002 /*Aligns the top edge of the scroll bar with the top edge of the rectangle defined by the parameters of createctrl. The scroll bar has the default height for system scroll bars. Use this style with the SBS_HORZ style.*/ #define SBS_VERT 0x0001 /*Designates a vertical scroll bar. If you do not specify the SBS_LEFTALIGN style, the scroll bar has the height, width, and position specified by the parameters of CreateWindow.*/ /* Interface Control -- Static */ #define SS_CENTER 0x0001 /*Specifies a simple rectangle and centers the error value text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next centered line.*/ #define SS_LEFT 0x0000 /*Specifies a rectangle and left-aligns the text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next left-aligned line.*/ #define SS_LEFTNOWORDWRAP 0x000C /*Specifies a rectangle and left-aligns the text in the rectangle. Tabs are expanded but words are not wrapped. Text that extends past the end of a line is clipped.*/ #define SS_NOTIFY 0x0100 /*Sends the parent window the STN_CLICKED notification when the user clicks the control.*/ #define SS_RIGHT 0x0002 /*Specifies a rectangle and right-aligns the specified text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next right-aligned line.*/ /* Interface Control -- Window */ #define WS_CHILD 0x40000000 /*Specifies a child window. This should not be changed after the window is created.*/ #define WS_POPUP 0x80000000 /*Specifies a pop-up window. This style should not be changed after the window is created.*/ #define WS_VISIBLE 0x10000000 /*Specifies a window that is initially visible. This style can be turned on and off to change window visibility.*/ #define WS_DISABLED 0x08000000 /*Specifies a window that is initially disabled. A disabled window cannot receive input from the user.*/ #define WS_BORDER 0x00800000 /*draw a border around the control*/ #define WS_GROUP 0x00020000 /*Specifies the first control of a group of controls. This style is used primarily when creating dialog boxes. The group consists of this first control and all controls defined after it, up to the next control for which the WS_GROUP style is specified. Because the first control in each group often has the WS_TABSTOP style, a user can move from group to group.*/ #define WS_TABSTOP 0x00010000 /*Specifies a control that can receive the keyboard focus when the user presses the TAB key. This style is used primarily when creating controls in a dialog box. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style.*/ /* Interface Control -- Menu */ #define MF_BYCOMMAND 0x0000 /*Insert the menu by its ID*/ #define MF_BYPOSITION 0x0400 /*Insert the menu by its position*/ #define MF_SEPARATOR 0x0800 /*Draw a separator*/ #define MF_ENABLED 0x0000 /*Enable a menu item*/ #define MF_GRAYED 0x0001 /*Make a menu item gray out*/ #define MF_UNCHECKED 0x0000 /*Remove the check mark from the menu item*/ #define MF_CHECKED 0x0008 /*Draw a check mark on the menu item*/ #define MF_STRING 0x0000 /*The menu item has a string name. It is a default value.*/ /* Interface Control -- FileMode */ #define FILE_CREATE 0x1000 /*create a new file. If the file exists already, it is truncated to 0 length.*/ #define FILE_NOTRUNCATE 0x2000 /*Combine this value with modeCreate. If the file being created already exists, it is not truncated to 0 length. Thus the file is guaranteed to open, either as a newly created file or as an existing file. This might be useful, for example, when opening a settings file that may or may not exist already.*/ #define FILE_READ 0x0000 /*Opens the file for reading only.*/ #define FILE_READWRITE 0x0002 /*Opens the file for reading and writing.*/ #define FILE_WRITE 0x0001 /*Opens the file for writing only.*/ /* Interface Control -- Window */ #define WS_VSCROLL 0x00200000 /*Add vertical scroll to the window control*/ #define WS_HSCROLL 0x00100000 /*Add horizontal scroll to the window control*/ /* Interface Control -- ProgressBar */ #define PBS_SMOOTH 0x01 /*Displays progress status in a smooth scrolling bar instead of the default segmented bar.*/ #define PBS_VERTICAL 0x04 /*Displays progress status vertically, from bottom to top.*/ #define PROGRESS_CLASS "msctls_progress32" /*windows progressbar control name define*/ #define PBM_SETRANGE (0x0400+1) /*sets the minimum and maximum values for a progress bar and redraws the bar to reflect the new range. The default min is 0 and max is 100*/ /* Interface Control -- Window */ #define WM_USER 0x0400 /*The WM_USER constant is used by applications to help define private messages.*/ /* Interface Control -- ProgressBar */ #define PBM_SETPOS (0x0400+2) /*sets the current position for a progress bar and redraws the bar to reflect the new position.*/ #define PBM_DELTAPOS (0x0400+3) /*advances the current position of a progress bar by a specified increment and redraws the bar to reflect the new position.*/ #define PBM_SETSTEP (0x0400+4) /*specifies the step increment for a progress bar. Default value is 10*/ #define PBM_STEPIT (0x0400+5) /*advances the current position for a progress bar by the step increment and redraws the bar to reflect the new position*/ /* Interface Control -- Draw */ #define OPAQUE 2 /*Background is filled with the current background color before the text, hatched brush, or pen is drawn*/ #define TRANSPARENT 1 /*Background remains untouched*/ /* Interface Control -- Database */ #define CEVT_I2 2 /*A 16-bit signed integer.*/ #define CEVT_UI2 18 /*A 16-bit unsigned integer*/ #define CEVT_I4 3 /*A 32-bit signed integer.*/ #define CEVT_UI4 18 /*A 32-bit unsigned integer*/ #define CEVT_LPWSTR 31 /*A null-terminated string*/ #define CEDB_SEEK_CEOID 0x00000001 /*Seek until finding an object that has the specified object identifier. The dwValue parameter specifies the object identifier. This type of seek operation is very efficient.*/ #define CEDB_SEEK_BEGINNING 0x00000002 /*Seek until finding the record at the specified position from the beginning of the database. The dwValue parameter specifies the number of records to seek.*/ #define CEDB_SEEK_END 0x00000004 /*Seek backward for the specified number of records from the end of the database. The dwValue parameter specifies the number of records.*/ #define CEDB_SEEK_CURRENT 0x00000008 /*Seek backward or forward from the current position of the seek pointer for the specified number of records. The dwValue parameter specifies the number of records from the current position. The function seeks forward if dwValue is a positive value, or backward if it is negative. A forward seek operation is efficient.*/ /* Interface Control -- Event */ #define PM_NONE 0 /*Event None*/ #define PM_CHAR 1 /*Character Event*/ #define PM_MOUSEMOVE 2 /*Mouse Move*/ #define PM_MEMORYSHORT 3 /*Memory Low*/ #define PM_BUTTONDOWN 4 /*Button Down*/ #define PM_BUTTONUP 5 /*Button Up*/ #define PM_DBCLICK 6 /*Double click*/ #define PM_PAINT 7 /*Paint message*/ #define PM_COMMAND 8 /*Command, check with guid() or menu() to see which item sends out the command*/ #define PM_KEYUP 10 /*key up*/ #define PM_KEYDOWN 9 /*key down*/ #define PM_TIMER 11 /*Timer event, used with settimer kill timer*/ #define PM_COMMEVENT 12 /*serial io event*/ /* Define DRAW FLAG */ #define SRCCOPY 0/* dest = source */ #define SRCPAINT 1/* dest = source OR dest */ #define SRCAND 2/* dest = source AND dest */ #define SRCINVERT 3/* dest = source XOR dest */ #define SRCERASE 4/* dest = source AND (NOT dest ) */ #define NOTSRCCOPY 5/* dest = (NOT source) */ #define NOTSRCERASE 6/* dest = (NOT src) AND (NOT dest) */ #define MERGECOPY 7/* dest = (source AND pattern) */ #define MERGEPAINT 8/* dest = (NOT source) OR dest */ #define PATCOPY 9/* dest = pattern */ #define PATPAINT 10/* dest = DPSnoo */ #define PATINVERT 11/* dest = pattern XOR dest */ #define DSTINVERT 12/* dest = (NOT dest) */ #define BLACKNESS 13/* dest = BLACK */ #define WHITENESS 14/* dest = WHITE */ /* Interface Control -- communication */ #define EV_RXCHAR 0x0001 /* Any Character received*/ #define EV_RXFLAG 0x0002 /* Received certain character*/ #define EV_TXEMPTY 0x0004 /* Transmitt Queue Empty*/ #define EV_CTS 0x0008 /* CTS changed state*/ #define EV_DSR 0x0010 /* DSR changed state*/ #define EV_RLSD 0x0020 /* RLSD changed state*/ #define EV_BREAK 0x0040 /* BREAK received*/ #define EV_ERR 0x0080 /* Line status error occurred*/ #define EV_RING 0x0100 /* Ring signal detected*/ #define EV_PERR 0x0200 /* Printer error occured*/ #define CE_RXOVER 0x0001 /* Receive Queue overflow*/ #define CE_OVERRUN 0x0002 /* Receive Overrun Error*/ #define CE_RXPARITY 0x0004 /* Receive Parity Error*/ #define CE_FRAME 0x0008 /* Receive Framing error*/ #define CE_BREAK 0x0010 /* Break Detected*/ #define CE_TXFULL 0x0100 /* TX Queue is full*/ #define CE_PTO 0x0200 /* LPTx Timeout*/ #define CE_IOE 0x0400 /* LPTx I/O Error*/ #define CE_DNS 0x0800 /* LPTx Device not selected*/ #define CE_OOP 0x1000 /* LPTx Out-Of-Paper*/ #define CE_MODE 0x8000 /* Requested mode unsupported*/ #define SETXOFF 1 /* Simulate XOFF received*/ #define SETXON 2 /* Simulate XON received*/ #define SETRTS 3 /* Set RTS high*/ #define CLRRTS 4 /* Set RTS low*/ #define SETDTR 5 /* Set DTR high*/ #define CLRDTR 6 /* Set DTR low*/ #define SETBREAK 8 /* Set the device break line.*/ #define CLRBREAK 9 /* Clear the device break line.*/ #define SETIR 10 /* Clear the device break line.*/ #define CLRIR 11 /* Clear the device break line.*/ Х/* Demostrate function rand() and random() */ main() { float r; int i; int r2; showconsole(); for (i=0; i<10; i++) { r = rand(); putsl(r); } putsl("Random(Range)"); for (i=0; i<10; i++) { r2 = random(10); putsl(r2); } }bit_count(int x); main() { int num = 0; num = gets("Please enter a positive number: "); alert("Number " + num + " has " + bit_count(num) + " bits"); } bit_count(int x) { int n = 0; if (x) do { n++; } while ((x = x & (x-1))); return(n); } main() { putsl("abs(-1) = " + abs(-1)); putsl("abs(-1.0) = " + abs(-1.0)); putsl("abs(0) = " + abs(0)); putsl("abs(0.0) = " + abs(0.0)); putsl("abs(1) = " + abs(1)); putsl("abs(1.0) = " + abs(1.0)); putsl("abs(7000000.0) = " + abs(7000000.0)); putsl("abs(7000000) = " + abs(7000000)); putsl("sqrt(4) = " + sqrt(4)); putsl("sqrt(4.0) = " + sqrt(4.0)); putsl("sqrt(0) = " + sqrt(0)); putsl("sqrt(-1) = " + sqrt(-1)); putsl("sqrt(5) = " + sqrt(5)); putsl("ceil(5.2) = " + ceil(5.2)); putsl("ceil(5.8) = " + ceil(5.8)); putsl("ceil(-5.2) = " + ceil(-5.2)); putsl("ceil(-5.8) = " + ceil(-5.8)); putsl("floor(5.2) = " + floor(5.2)); putsl("floor(5.8) = " + floor(5.8)); putsl("floor(-5.2) = " + floor(-5.2)); putsl("floor(-5.8) = " + floor(-5.8)); } /******************************************************************************* Given : an 8 x 8 chess board 8 chess queen pieces Objective : To find all 92 possible ways of placing 8 queens on a chess board such that no two queens can cancel each other. Develop a recursive algorithm for finding the solution to this problem. *******************************************************************************/ int up[15], down[15], rows[8], x[8]; queens(int c); print(); main() { int i; for (i = 0; i < 15; i++) up[i] = down[i] = 1; for (i = 0; i < 8; i++) rows[i] = 1; queens(0); return 0; } queens(int c) { int r; for (r = 0; r < 8; r++) if (rows[r] && up[r-c+7] && down[r+c]) { rows[r] = up[r-c+7] = down[r+c] = 0; x[c] = r; if (c == 7) print(); else queens(c + 1); rows[r] = up[r-c+7] = down[r+c] = 1; } } print() { int k; for (k = 0; k < 8; k++) { puts((char)(x[k]+'1') + " "); } putsl(" "); } /* count change */ /* How many ways are there to change 100$ into 1, 2, 5, 10, 20, 50 dollar bill */ int coins[6]; cc(int n, int i) { if (n==0) return 1; else if (n<0 || i>5) return 0; else return cc(n-coins[i], i)+ cc(n, i+1); } main() { int n; int s; n=gets("Enter a number"); s=ticks(); coins[0] = 50; coins[1] = 20; coins[2] = 10; coins[3] = 5; coins[4] = 2; coins[5] = 1; putsl("cc("+n+")="+cc(n,0)); putsl((ticks()-s)/1000.0 +" sec. "); graph_off(); } int depth; fib(int n) { if (n <= 2) return 1; else return (fib(n-1) + fib(n-2)); } main() { int i; for (i=0;i<40;i++) putsl(fib(i)); }MZ@ !L!This program cannot be run in DOS mode. $F"LLLPL_NLLL_lLRichLPE";! p@ , p($.text `.rdata^@@.data2 @.pdata@@.reloc@B/"OCh @@ (:`&O h "O @  &O /"OChB @d JdH$eR(C`&O h//"OChSi"b BdeEu4 ѓea ATR"(&Oi h /"OChX%yde`B( Qn2c C4`TUB(Q&O h/"OChX%kde`B( Q`2c C4`TUB(Q&O h//"OTCchsiPTR @7I 2#4 1L1aC`t@G9D&Oi h//"OTCchsiPT? @7I 2#4 1L1aC`t@G9D&Oi hA4ZC3 t M`C` ///"OCha*"b Bd xa%"b Bd ad- 4xad+04xb-d004_xb-`xb-dX04Txb2c C-d b-da30Cb-df3=Ib-d2c CI b-brT$(`lx8ad 2,9xca A=d ͋ct=da0cn=df1`ta A  aban 2cq-d C9 *ddC`&Oji h///"OCha_"b Bd xaZ"b Bd ad- 4xad+04xb-d004Txb-`xb-dX04IHxb2c C-d bB2c C-da06c>a A=df2.Iad:"b BI aaq9c3a A=dp 9xc/a A=d c+a A=da#0a'"b Bdf3Љ`#2c C c a=c"b sd B<9 *ddC`&Oji h /"OCha A x`A#8F1 xha38f2x`&O h<(///////"OHSjchsina Ad 4} @D5xVfVdb.AVdBTa AeT2c Ce~ae Almr @ ,7j-4,2-0iap Ad ` dte @F  dgXde @F dea Aae"b Bl,{m-ʋSM`4Edfg @%hN @dH @T` 2&B&m&l&k&j&i&h#o n//"OChSi?>m @4Cғe"b B4?\2c C4 d!($95"b Bds,?&Oi h "OH$22c C &O "OH$$ @ &O "OH$)X%H$X% @ h&X% @   @ &O "OH$*)X%'@$<H0\`8H$X%**2c C  h&X%$&a A  !2c C &O H$  H$  /"OCh(A`A`A` @  d  @dA`&O h$Կd,///"OChSj(A`A`A` @  i2c CdeУf @ddA`&Oji h///"OCh(A`A`A`惀 @4 @  jYT"b B eГf @ddAQ!4 @AT`&Oji h$A`AA`AB`CQVvbbr"&QS1 C`//"OChSir(A`A`A`k @  dke @edA`&Oi h /"Oa$A`AA`BA`CAUuRbr(" "%ATH$UCh @dS @d&O h ///"OChSiZP 4La AdeBГf @d BcsA2$ @  jB"b Bde>Гf @ddA`&Oji h ///"OCh/ @4YP 4ZT.2c C e$Уf @d Bbr#"$ @  jYT#2c C eГf @ddAR("4 @AT`&Oji h "OS`5{&O "O^`5m&O $<Կ,8///"OChSjTtBaq$TtBbr(" "$TH$Ci @d @dR!`&Oji h///"OChSj @TRT!R,4t @DiсSa2e Adӓd2cR C"eЁQ @dR"TtBcQQ32$R2&Oji h/"OCh14de˾4&O h /"OChK4de乾4&O h /"OChS`45de䡾4&O h /"OCh^`45d~e䉾4&O h "OATQUAQQR 1ReGBd )&O //"OChSidQQ1Qe.d )&Oi h /"OChP @4UڿddDR("4J @AT `&O h//"OChSi QQ0Qde )&Oi h /"OShCe3 @4TٿedDR("4. @AT `&O h "OATQUAQQR 1ReBd :`&O "OAQd :`&O /"OCh @4UR"d aR("4 @AT `&O h "OQQe :`&O $<hh/"OShCe @4TRf"e aR("4w @AT `&O h"OAQQR"eKdcC)&O "OARctّ?ՖҐg4 @6Ð5ʒ,?&O "OARct?廐5,?&O ///"OChSjcim4e4e'4d5.4`&Oji h ///"OChSjciK4e4eM4dռ5 4`&Oji h ///"OChSjci)4eO4e4d54`&Oji h ///"OChSjci4e4e34d5ȼ4`&Oji h ///"OChSjci4e_4e4do5䦼4`&Oji h<̷  ///"OChSjci䷻4eO4e4dA5x4`&Oji h ///"OChSjci䕻4e4eO4d5V4`&Oji h ///"OChSjcis4e 4e4d544`&Oji h ///"OChSjciQ4e4e 4dۻ54`&Oji h /"OShcg`&O h/"OShcgCfaQcdVx6`&O h////"OChSkcjsi4 @D5TJГfRF"e @5TI`U+d @T`&Okji hAQ ` AQE`]d C` AQQ! L`/"OChTH$ @ 1Qa1!&O h///"OShCjTna @iH`&Oji h///"OShcjCi @TH`&Oji h /"OChu @4UR/"dS8#h4q @AT`&O h "OAQd&O /"OChb @4U^ӁR2c C"dQ!h4] @AT`&O h "OSAQ"b Bd&O /"OChW @TQ"b Bd&O h/"OChO @TG"b Bd&O h/"OChG @T<"b Bd&O h//"OChSi4ce @4VedR("h4/ @AT`&Oi h "OSf/ @&O /////"OChSickFdl& @TZ:4 @DleEٿddӓf2cR C"eѳea AdIRd"e2c C5 ЁQ @dR"SQP&Olkji hpt$<x|طhh//"OChSiU`1PeS`d2Fe1WD`$@`%6u @de{6$&Oi h/"OChFg1tDgs`@`dc`6b&O h///"OCh @Tjӡb2c C-d zb2c C-d TBeP:AYcX3a!C89Sd6F AeR&Oji h ///"OCh @Tjb-dH$a A )izb-dH$)!)S2a9!I&Oji h /////"OCiSjcln @dkfa4 ADh`@EiЄfg @efdXуda Ai`&Olkji h/"OChTAWw6XF2cBd Cl4 dS2c84!DC`&O h//"OChciLe`1`fc`T2GFeWD`$@`%1?6u @df5$&Oi h"O,fg1tdgs```S`5&O /"OCh$e`1`fc`T2FeWD`$@`%16u @d e$&O h/"OChҁQ"b Bd dR"b(4!DC`&O h (04(0\ h////"OCiSj @dka4 ADh`@EЄfg @e dda Ai`&Okji h/"OChҁQ"b Bd dR"b(4!DC`&O h AQ P AQ ` /"OCh @ 0 @d&O h //"OTCevnm5 @44 744p @tn @4g4h%44g @te @4`2&B&h#o n///"OChn  &Ye @4J5 @4妰4 4B044I @tG @4`2&B&i&h#o n///"OChnd  &9e @4,5 @4j4 䯱4$0䮰44+ @t) @4`2&B&i&h#o n/"OCha 1濰d @d&O h"OBd7 @$P&O /"Och Bd7 @$`&O h,0  0 ///"OChSjY  Cdd9$H$"(@2@1    #B(* B(* 䫾4@B%de @vd 4B(&Oji h/"OChd4 @ (&O h Ba 1  "OBd4u @&O "OcgBd4l @&O "OBd4f @5&O "OBd4^ @ &O "ORActT5&O "OcRAtT 5&O /"OChSd5`TUB(Q&O h"OT5&O /////"OChSl,d72c C j `@dؿ=ey: ;`&Olkji h "O]`5渾&O //"OChSi) "b BdfdeF &Oi h "OO5惾O `&O "O5t `&O @ ,8DP8"O5TP&O @aaA,b 1 a)B 1)# J`@aaAB 1 a),b 1)# J`/"OChڿ  濃d &O h //"OCh۾ di9`&Oi h "Oi @t&O "Od @t&O "OC`Sde] @u&O Y IP"OW @t&O "OC`SdeP @u&O HP X/"OCht䩹4&O ht //////"OCjchsin;U65t @;ac4T6Aeba%RRc02)H$)H$$/ @4Uu(u @4䖼4j:jK4d#ңf"b BeJ`5" @42&B&l&k&j&i&h#o n "OCfBdH$ @&O $A`AA`BA`C! C`ЇX\` dB|x ` /"OCh(A`A`A`TH$ @ 1&O h  ///"OChSj9 @4)TDe׽44 @t&Oji h ///"OChSj9 @4)TD绣de4廣de44 @t&Oji h ///"OChSjw9 @4)TDe44q @t&Oji h ///"OChSje9 @4)TD4*$4_ @t&Oji h ///"OChSjS9 @4)TD4*4M @t&Oji h ////"OCiShn@j @4*TB.ٽdi8I4e @4 Uf&d .U @d/ @T2.d/ @t R("( @T".d( @t 2&B&j&i&h#o n QAP DQTR 1 ) DQTR2 ) /"OCh @t @4(4Ce% уd(A`A`A`y`&O hX`  x P ////"OCh(A`A`A`T(U;P4SiCjc2c Cd z:dUH5,EX% @E @4x @d&Okji h//"OChSiQntu @R(mЌ4#S1Q(5 @RdЌ45 @)S=&Oi h /"OCh] @t#(4VBeZ @ U4 @)=&O h"OO @(t&O CU5AUIS7 ATC` CeP1 P3 P2 P1 P3E@2      4 L#  $0 / / . . / /"OchJV(L7qWh7Gsfb5JTEL5! @d&O h//"OChɾ 8 Ќ956 @d (A`A`A``&Oi h,(|D|+ 0D:D9@ //"OCh%(A`A`A`84Ci @dL @dd&Oi h //"OChSiԾ 8x8ye @d&Oi h /"OCh (A`A`A``&O h<F(-D:"O$A`AA`AB`C &O //"OChSi ed&Oi h"O &O "Ox &O DQTR 1 ) /"OCh 8x @d&O h///"OUChfw 5868t @:ac4Vf54Ba%RRc02)H$$&Oji h////"OVChckx 5<68t @:ac4T5F6ba%RRc02)H$Uudu$&Okji h///"OUChfw r5868t @:ac4TF56ba%RRc02)H$)H$TttBP$&Oji h/////"OChSkcjnf45vbfb%Ra$Bc4eU4fBa&Rbc02)H$)H$#+UuduQ49{A @ R")e S6dbc2$QBb 1)H$)H$ۋ2&B&k&j&i&h#o n///"OChSiP2TH$K4eRdQUH52 /"OCh QdHeUdd&O h/"OCh dX5a5dtSC+Ѓd>߻&&O h//"OCh$Ќ956 @d 956 @d4Ce%, @48956 @dD @4(A`A`A`H ()ƒ`&Oi h/d4.x ////"OCh(A`A`A`D @484Ci @d @d, @4TU9P4SkCjc2c Cd z:dUH5,EX% @E4Ci @d\ @dxdCh @d\ @d&Okji h//"OChSiDu @DtL5 @45 @45 @4T,&,5 @4I(H(I)H)&Oi h //"OShw @DtiuDx @ddva Ae &Oi h /"OChl @txeRdQUH5ESdtC`&O h //"OChSiʱtTZxD5 @ded&Oi h tAT C`MP 2 - /"OSduGUL6aVX6FcePSh 8t @5 `&O h"OGVL7qWh7Gsfh&tATtCfSd3ce&O "OGUL6aVX6FceX% tAQqdBb"b B&O ////"OChSk) 65 @:ac4ff45Ra$RBc02)H$)H$Uudu$&Okji h /////"OChSkcjnTB;^0O!(/J"dx.D:L D"f45vbfb%Rc2$Bb$eU4fBc2&Qbb 1)H$)H$$TttCeTS3dQ49 @ R") e6Sdbc2$QBb 1)H$)H$ڋ2&B&k&j&i&h#o n /////"OChSkcjnTB;?f45vbfb%Rc2$Bb$e4UfBc2&Qbb 1)H$)H$"TttDS3B*Q49 @ R")e S6dbc2$QBb 1)H$)H$܋2&B&k&j&i&h#o n////"OChSjnTB:>f45vbfb%Rc2$Bb$e4UfBc2&Qbb 1)H$)H$!TttDS3C`Q49j @ R") e6Sdbc2$QBb 1)H$)H$݋2&B&j&i&h#o n////"OChnf45vbfb%Ra$Bc4fe5dRa$RBc02)H$)H$$TttMUX%  :zQ49@ @ R") f5cdRc2$QBb 1)H$)H$ڋ`2&B&j&i&h#o n////"OChnf45vbfb%Ra$Bc4fe5dRa$RBc02)H$)H$$TttMUX%A  :zQ49 @ R") f5cdRc2$QBb 1)H$)H$ڋ`2&B&j&i&h#o n"Ot&O "Ot&O H "Ot&O "Ot&O "O2t&O "O*t&O tAT C`"OQWRfHU @t&O "OCePb^&O /"OChR dPF&O h /"OCh @DtL8 @4P-& @4 @4V4Be @ H()&O h //"OChTUCiP4Tt&4d5R|845 @%exdT y@9&Oi h "OC`Sded @u&O P N /"OChe @tc(A`A`A`⃀"`&O h "OX$A`AA`AB`CV @t&O //"OChTH$ @2 @1@3!3 S8#/-$ a!4$" Ce5 @4 $ 1 @4 1 @4 ) @4&Oi h //"OShBUX% P2P1P3[h DTUP4W4)Dt]C`H e d@5G5)DtOC`t xFeBdTEedVG5 @4 "*0OtH./ px x. D"P5 @4dDtC` @tix @de @d &Oi h "OBVRQ6$h& `1 `3`2 DRTS02)H bX c02 )ru @t vu @t &O /"OChRTH$B@3@2 @1@3@2TR$uVdReD UX c3`Pu @4`&O h /"OCgShrT4> L `# 8Jr` jtVOЃdM @cg+ x gx'KdJՃdG @sf wDЃdrfF @qW 9w @sdBf= @d 1 @d 8= @d&O h"OBT4>L# &4BPv^ lSd  @ / Sd @ ( Sd @ ! Sd @  Sd @  Sd @ Sd  @  Sd @ &O ` H<0Pdpx //"OCh{?nQP1Р X%Sd @2 @17@3 @2r @1n TH$@2@1 e+ @4 +"ՄV @4 %T@U @65 @4㋠2TH$@3@2! e @4TUDUU @4  @4ea A4TUDU\|$` Xh̷T@3@2@1 a/ @4/2c Cdd( @4dD&2TH$@3@2 R-b#` @4  @4d @4 dC` 2&B&h#o n/"OCh @t (A`A`A`⃀#$%`&O hx "O$A`AA`BA`C#$% @t&O //"OChSiou @tQR$S5&Oi h "Ob @CT&O //"OChat @dc @  dV @`&Oi h//"OCh?S @tdV @ 4P VfIVgb$qVgVfrct VgVfr$aVfbTfc`LP`ME4VgIVfr$aVgVfrctTf`$PeS`ATH$#8= @ 5= @TQ!S8#'x. @df2mk5 @4h'$ @5 $4x @df'W5 @4R @5I,?&Oi h /"OChSdcesfWX( H &O h"OcgEVh&Sd Fse&O ༸ ȸ(Ը ̷   "O`5MSd @ce@&O "O>:6 @5&O /"O5@a` @a`$/Ch6 @d7 @d&O h "O)& @ &O "Oʿ &O "O&"6 @5&O /"O@a` @a`$Ch @d @d&O h "O  @ &O "Oʿ &O ?tT1|20@@182D: //"On?]؁TH$] OVؕ(`Ѓd @5  ]R45d @-P2 X05d @" TL,5d @;J O(5d @*2 KE$5d @C" F 5d @8 B>5d @'<2 =5d @" 975d @56  45d @$2 01 5d @/ " +5d @2  '*5d @!(2 "Ѓde @.X " O#Ѓd= @5M OЃd< @5B2 OЃd; @56" OЃd: @52ELT`ht|#̼Լ$4DO ]9[ᕃd @5ەF2 O^Ѓd8U @5ݕ" OZЃd7P @5ҕ= OVЃd6K @5ǕB2 ORЃd5F @5>" ONЃd4A @5? OJЃd3< @5@2 OFЃd27 @5A" OBЃd12 @5COR ?0}u.Ѓd @52 O;Ѓd/( @5HOR 7.pu$Ѓd @5IOR 3-kuЃd @5JOR /,fuЃd @5KR Oau+#5 @dUO *Ѓd @5IO2 )Ѓd @5 " 85d @> O25 d7'#DP@TX\8L\l|$оq @ gO2 &m啃d @5cOޕd" %g @5_Oڕd $b @5[Oϕd2 #] @5WOĕd" G"X @5SOd !!S @5OOd2 " N @5KO" #J|d @5HO $Exd @5DO2 %@td @5@O" &;pd @5<O '6ld @58O2 (1hd @5O" ),dd @5O *'`d @5O2 +"\d @5O" ,Xd @5O -Td @5 O2 .Pd @5" 1/Ľ`dhlptx|$OL}Ѓd @5i 0OHxЃd @5e2 1ODsЃd @5a" 2O@nЃd @5] k3<5d @/Z42 f85d @V" b545d @=S6 ]05d @,P2 Y7,5d @M8" T(5d @:I P9$5d @)F:2 K 5d @B" G;5d @7?< B5d @&;2 >L5d @8M" 95d @44 <2&B&h#o n /////"OChSlk^;*гj @d(ЃiT,9 @dQd<4$ 3#уd(A`A`A`E e @d @d"`&Olkji hȽнԽܽ  (0x $(\hP ///"OCh\Ѓj:i @ddX @,4d<4$ 3S(A`A`A`d۶"`&Oji h/"OG $B#`AB#`BB#`CCh82Cb22"2 3y; @4d9 @ &O h /////"OChSlL-Ќ;F @dQdMdH$֠ C3:zQ&ܠQdMd4 S<11cA,8(̠QdMd\ 4 Q2"aS1dMdt4L3aA ⇠3QdMdn 4L1bB 2,1R!dMdr04L2cC 3<2x ( \hPxS1dMd\4L3aA\T3QdMd" 4L1bB,1"G1!R!dMd'04L2cC<2'9"S1dMd04L3aA+3QdMdx 4QdMdX 4 Q2"aS<11c=dG @ R )!dIIMdC @ L3aA3 )b!#zS<11c S<11c=dL0cCzEQdMdH$* L0aA%]a 1z!p&&Olkji h/"OChQdMd""b B QdMd 44qR,32!bQdMd"b B 狂QdMd/ 4#Q d/ 4Q d$ 4Q2"aS1dMdH$‰R!dMd 04 dh(hS1dMd/4TS1 d*4NS<11cR,32!bQdMdH$+S1dMd*4S1 d/4S1dMd 4s6Q2"aS1dMdH$ R!dMd*04勂R! d/04ߋR! d/04f R,32!bQ2"aZ &O hBQe]e/ 5BQ e/ 5BQ e$ 5BQ2"aBS1e]eX%BR!e]e 05ܯ BS1e]e/5RBS1 e*5LBS<11cBR,32!bBQe]eX%+BS1e]e*5BS1 e/5BS1e]e 5,Ns6BQ2"aBS1e]eX% BR!e]e*05BR! e/05ߋBR! e/05BR,32!bBQ2"a d///"OChj:L9d "࿾d;d wd  ]d  od Mdas6`&Oji h ////"OChSiJ dF49S1dMd 4%L:S1dMd 4QdMd0`@{;E Q2"aS1dMdH$ dS1dMd 4݋ L:K` Lxd @e&Okji h` dhx////"OCiW@ @ tQdMdQҞ"b B  QdMd_ 4QdMd# 4 QdMd# 4Q2"adC`S1dMdH$9R!dMd;{2c C  R!dMd_04)R,32!b-dbBz 0 0:Ebr& LQdMdH$S1dMd&Qa A  ۋS1dMd_4ՉhE<8 0bBd95 y(d$:E65 @dac4eX6 4Ba&Rbc02)H$)H$UuQUd(&Okji h(Yhx //"OChQdMdH$!d<4BUX% L9 @Rdi")心d 8Lسd&Oi hhP////"OCh@ @ tQdMd"b B  QdMd0 4Q d"b B xR,32!b-dC`ↁQ2"adC`釁S1dMdH$ R!dMdv2c C (R!dMd.04"R!dMdo2c C e* QdMdi"b B a30 R!dMdc2c C f1vS1dMd.4 * QdMdZ"b B eR!dMdU2c C eS1 d-4 * Q2"ad 0aAyER,32!b-dbBy 0 09EAB&YQdMdH$-S1dMd8a A S1dMd.4S1dMd2a A e*R!dMd,2c C a0 S1dMd'a A f2 0I+% 7i,9Ӳd̲d  xe @4TUB)Q x @d)&Okji h//"OChQ2"ai464/DM# h$(x 4bb@^ Ce:P2-04 R,32!b28<9d-<8.4dR!dMd&04",8&)dQ2"a<8'dR!dMd|04 ,8:dQ2"a<8( dh,88d8d9  "09d,4d4 e_d &Oi h /"OChp&p 4? @ d 徰4"&O h//"OChSiomeFpd 4 5/ @ d<9d<8eB(QedRC&Oi h/"OChN% @4K&pd 冰 4Fp 8Ѓd @&O h /"OCh @ 0p&pd f 4%8d @"&O h "OCf bda AbV &O @H\dhPx "OCQSR 1=Re @Bd &O ///"OChSj3 @dQ1, @di- @d'ѓead Af &Oji hCQP1 )S` S "OtcRAa\5 A4@&O /"OCh @ d4Ce"%!" (B#`B#`B#``&O hGHdؿ  //"OCh_(A`A`A`e,5RfQWp6sicdDt4URiRTD @4 eDQWd @H @d&Oi h ///"OChSjci?B @4P=@ @49"be B4w2<85 @dT&Oji h //////"OChm`= GdY&#> @4$ @4aQd A | ) d@1@39@2Wf d `@ @4e 2cf C4OCkd F %H|ؿx D:dhd +c1S Cdپd  Ҿd dfI5  d z庾d z*b!R Bd  8 @4X&Omlkji h///"OSh`?Cj\A:Ud& @ V$ @4dCiUP4@af A4d @5DyT@95,?&Oji h /"OCh @ d$ @4 (B#`B#`B#``&O h0|H shDx   /"OCh(A`A`A`d8 @,4 @d&O h ///"OCh Ѓj#:id @5 (B#`B#`B#``&Oji h0Hd; /"OCh(A`A`A`d4,4 @ d&O h //"OChSi$? @4d e  @4 89e @d,?&Oi h%Hd//"OChSic?. @4d޼e( @4G8$9e @dO,?&Oi h "O75 @4&O "O+5 @4&O /N^2 )//"OChSi a A  33&Oi hpH ///"OwfUDnp$5 @4x @4 u r @4 5iE @4l @4 [hi @4fke @4ic$ @4dZ @  ͒II`YU,95 @dT @dU @dRQB,0`$YK<9e @dL @dSCR<0$B5T @4R㠐 6Qp&X<8d(A @4@ @44= @t$; @4`2&B&i&h#o n////"OChSjg?ni`9* @d !#[ @4! @d# ae A4 @ddKFFH F?d5 @,4 e @4VdU42&B&j&i&h#o nL, T  2d  \dh x ////"OChSkcj?V @d &Uиi4 @,9O @dSea A4F @ddFFDПd5 @,4 i9d;гe @d8,8e @dg,?&Okji h////"OChnM  ?jq,:25 @4dH$1+5 @4- @4TCi'Уd @e' @4PVdaU 5 @4  @4TAN> @dd ,2&B&j&i&h#o n "O @ &O LM2303%; `<\d /"OCh u8= @d&O h /"OChz895 @4dH$ 4 @d35 @4dH$&O h////"OChSkcjtCe%& @4!Ќ956 @d ( @4((A`A`A`e @4e @4`&Okji h /"Och @td @e&O h` &43;x  //////"OChSi?I845 @: )#`D8 @4L呺d  劺d 2eA,<04 @=fA d @5c;b&0; @4(T5I$6ba%RRc02)H$)H$ Ttt(Cl @d*' @dT@1 @3/@2V@1a M7M;vfrgduDp @d*Rr979;vfrgdu0p @d*9"'; բf @d* a Ad*dGM T`̷ 8l dÛ\;_բfW @d*Z2c CddBTSGP @5eX%L2c Cd eH"b Bd6 8A @4,?&Omlkji h//"OSh; @(ti9(x @de> @d &Oi h/"OCh, @(t*4 @V4Be+ @ , @4H@H&O h //"OChSi(u @(tQЌ45 @5 @4D&@3@2 R.TUN_I@H@IHHH&Oi hHDa(h@D3$̷X48 t/"OchBVL7qWh7Gsfh&BVL7qWh7GsfV6 BTEEL5< @d&O h/"OSh: @4 f g b7Ѓd. @$$&O h /"OSh. @4 f g& +-bd @$$&O h//"OCh iH956 @di?,956 @dd2<4Ce%d+ @4Ѓd( @,4 0(C3`C3`C3``&Oi h|4`̷ ////"OChj(A`A`A`jЃd @,4dړi @<4ґi9dUP4SkCjc2c Cdz:dUH5,EX%\E @Ed4CiK @dWh @dd,4FCi @dQh @dFd&Okji h 4/"OBSdu?`4冖: @ ⊐%4偖5 @ x<4~2 @ vo,12!J8ng,4m6G+ @ c45f2c C XQ4V5 @ OE,4 @ eG@<4 @ @8<5<4 @ 5.4 @ +,?&O h c4̯ $<5<#X"("( "!"D:d F///ȝL=Slml d H/"OBSdu?`4妖M @ ⩐%4塖H @ <4E @ ,12!8,46G= @ 45f32c C wq4u53 @ ne,4- @ ef`<4' @ _X[U<4 @ TN4 @ K,?&O h c4̯ F///@L=Slml d ///"OChAj:2db(";i#b2#TL@3%M@20dd)E<#X"("( "!"$dh a@Qd AEfSEdb#R B )A`a<1T@2t4.L# 6>FNc8#)0d& c8#"Ŷd c8# @d ૴d d wd d b("`z &Oji h///////"OCh?n}  im,=T04  h,z|邏m<={aQ Adj,:deCЃk<; @dlG` MND& X  8dhl0FeBd^O? @4 )@ Be8 @d8 @4 )@4 4 @4 )H$ / @40 @dm8.5 @deջd`c3Sd C$u`V2&B&m&l&k&j&i&h#o n//////"OChSiE?n::U9 @4T5QUH5,ESdH$Π (4 @  a Ad # @4 ` HM(t'd̷dx(4G @ GIa Ad EEЃi<9 @ddD: @D4>d @@ \6 @daAbB<-1zd @1,aA=`\T`@\5z-Гd @{0މTJ`5V:( @4 @T0 (4 @ a Ad $d5 (4 @ a Ad d5 y @d Fae A46 $<(|d ̷(4Ce2%12=Ѓjd @<:T4U(T:@5ClSkaa Ad{;dUH5 @4 @43/բfW @4d45(2c C  e T'E @5eX%M4"b B  @d < @"b B4 ;U(T;@5ClSjb"b Bdz:dUH5EX%E @E M@h ( X$̷D:8 r55 @4(2 5 @4 2 @4T5|QUH5ESd4ͮ T04T(U @4e>h @4' >Тe @4e8h @4u eQb@.-e @4e0h @4 @`*ТeV @4e*h @4`( @4)hd @5h5RdQUH5,ESdAc1S CdT  @d  @d GT 41Ѓd @ ; @4e h @4 @4Ѓd @{0& 8'| X7D:,T @4eNh @4M @4h @d (T5yQU;H5Sd @d4&Oji h //"OCh# @ &956 @d4Ce% 4Ce%,4Ce%84Ce%D4Ce% уd(A`A`A``&Oi h5\#mh( -l-4.P6-((kD:////"OCh(A`A`A`D9dUP4SjCkc2c Cd{;dUH5,EX%E @E8T;UP4SiCjb"b Bdz:dUH5EX%E @ET,U;P4SiCjaa Adz:dUH5Ѓd @4i,9dUP4SjCkaa AdP{;9PjT @4 eP5Wd @(dd<4 & @d&Okji h/////"OChSlckTE6R02*b,dH$ $(T5QUH5Гe @d&Olkji h ///////"OCiSjnhd)4 @8dAVBe) @ &ГmCd @,=&65d @<c1b$f5db$Bc2%QRb 1)H$)H$QTttCi1 @4LTy @4Ѓd @5c8#% @4e @4 X',H-(.-V"dc$ @4dЃd @5^( @4_Ѓd @5U @4W @dVafQd AEM @4(2&B&m&l&k&j&i&h#o n///"OCh?nb2!TH$咐U=k @4:e @4@AF @5|65 @43a* A45d @5e0 @d )O0 @dO c8#! @' @db!R Bd ]Ni9TH$@3NC@2H@1K@3@xd AM @d :F ϵd 4@ d .: ȸ, -HTH-(h "^8W  (hbj#R BdaQ Ad Q<8 @db#Rd BFu୒2&B&i&h#o n///"OCh?nb2!TH$p呐U=q @4:k @4?AF @5{65 @43a- A44d @5e/ @d )O/ @dO c8# $" @& @db!R Bd Ni9T@2 J@1d  cj3S Cdb!R Bd / 8 @dc3Sd CFu$2&B&i&h#o nȸh ^8W  (h ///////"OYChs?nq?ij90 @dde,4.dH @F-ЃdR @") @4c1S Cd Ӣ jL,:TH$CeR P1 P3h P2c P1^ P3Y @2 C@17 E@3"H@2 I@12 J@35 K@2 0 "h)8WXh\Tk @;b!R Bdbk @d } e$Z @4eX @4b!R BdZ @d kk;Vгdd56 @=b"-a\f5b%4Rb"$SBa3)H$)H$aZQd AEA dY5 9 T95F @dd9 @5vl956d @=b"-cmL45f4b%Ra$RBc02)H$)H$ Ttt$Cl5 @dd# @e @4 ! @d ١ Ѓk;<;|dD56 @=a-c?eT6xR&4ba$RBc02)H$)H$$  @4fNcd3S CEȡ *` !)' XLped @5  deβ6  d z ,d r Dd j d b | d Z t d R l TG @;!)c1S Cd?k @d T e5 @4ex16d @<5 6 @d =  / @d  1 , @d  e  @4aQ Ad# @d ɠ  @4 p=$6P5d @cQ2!c7f@5hb%4Ra$RBc02)H$)H$Tt tCm @dol` @(VЊ' X0LJ4 @=Gd @5TFI @4 J,d @5dIL @5A @d XA=(6H5d @bS"#b%d`6tB&5bc2%QRb 1)H$)H$Tt/tCmD @4 /0d @5d. @eTt"tCmL @4" @4f!K @ded h+# @d0iD}e @dcd3SfW Cu @dO Ѓe(6d @,5 (C % D..(V0# /jc3S Cdb!R Bd 0 >R"b02*b,dH$ dκG @4B @Tdbd#R BFu> @42&B&m&l&k&j&i&h#o n///////"OChSin. @4#1j^db!R B:T04  TCeP2 P1~ P3y P2t P1pE@3 T @;!)c1S Cde $ @4e @4e  @4 b#Rd B8u ` $"h))8'h_Ѓl<d56 @=b!adF6ebb"%SRa3)H$[cd3S CE] b!R BdF @d SeB @4 TC @;!)3aQ Ade5 @4 jc3S Cd-86d @5 $. @d c1S CdT4> 8! @4 c1S Cd" @d  @4 aQd A4u @4L2&B&m&l&k&j&i&h#o n/"OCh @  adQ A4u&O h~4` )Њ'Lp //"OChaQ A Xk @d i9dTU"b B  ᰐ dNS2c C  ⥐$aQd AJu&Oi h/"OChaQ A <k @d ? @4e<8: @d; @4cbd#R BE&O h//"OChn+ @4) @4aQ Ad Ѓd @Dv N @4 5 @4ed @6 @4 @4 @4b#Rd BDu @4 @42&B&h#o n` Pd_x D&0  h///"OChnMЃi$d @9c1S CdT4cg3S Cd b?Ѓde @$< @d9 @d|:<85 @dd2 @e7 @d bd#R Bu2 @d2&B&i&h#o n /////"OChn%ЃkL4 @;! @4b!R Bdc6T4SCJdEЃdU6 @4 c3Sd Cu b!R BdT04udb#R B DNx  hd_ @  mjYd @,:eRdQUH5 @d `c1S CdT4c3Sd C2uQ dLF b!R Bd0 @d Cb!R Bd)Ѓd @2v 7e#D @4b!R Bded )b!R Bdd@ @<40 D @47<8 dD @4*,8d @5d @eadQ A2u&Oji h`` (Њ#/h ////"OCiShư aQ Ad:Гdu @,4 5 @d(H() ` Dx* @dGafQd AE e=d  Ѓd @@гe @d jde @6de @6Ѓd @{0 @ded gT:a&1!9" @dТe @d P6H-55(-$$1 Xhw><9# @dAГe @d7 @d9 @d@5% @d6 @de3 @d6Гe @d.' @d2Гe @d*! @d, @de( @d*Гe @d! @d)$&Okji h//////"OCmSi @ z c1S Cd @4k*; @d 7 Tt4=@3 " 5t6H-5-55ЊH0 Xx.hj<:laQ AdT7 @RS!))c1S Cd0& @d -c1S Cd* @d e! @4'Уe @db!R Bd  @4 @df @45 @4Уe @dPxTL8 @d  Cd @F Ҡ ` 'l X̷0t0<j<:laQ Ad#c1S CdL @d  eC @4eA @4BУe @d  aQ Ad mc3S Cd2 ɮ *<= & @d Ѓe @d e @d!x` !H-@-H00) X0t0<pP(&Omlkji ht4=@3  /////"OChSknW @dTn @d o jdaQ A<:Tӿ  WTN @i19KE @d %b!R Bd@k @d Ge8 @4e6 @46e @d 72Ѓdt5 @4e4 @db!R Bd-k @d !%df @5  @d' @d c1S Cd @d 4 @d @dD2&B&k&j&i&h#o n///"OChSji9T 4e)d T04h*` !@h))Њ)' Xp&Oji h//"OChSip7 @4 c1S Cded c1S Cd e d &Oi h ///////"OCiSj9?nH4a"b @+H30h,8Tt64DM# L$ > d$ $ $ $ $ $ 49@2 % p\`h) Xh9 @dk7 @ddaQ Am2 @d ( aQ AdHdeD6  ' @d  l>daQ A<< @dгe @de @deHd   @d b!R Bd @d e @de @d гe @de'd ؤ гe @dL H--0Њ0H0 Xp @dkn @dmlУdg @#i @da"c1S Cdc @d  c1S CdHdeݴ6  H33TJ8R02*b,dH$ NГl<$ @dQe @dM @d v aQ AdFгe @dHde6B @d a bl!Rnd B<7 @d7U @d9e @d1 @d1U @d3e @d.e @dHde^6 5 H2#TG&Q 1adH$$ @d"e @d @dгe @de @d @d  b!R BdU @deLd   @de @d e @dUvd\H-`-0Њ0H0m @dhkkУd @#cm!b!R Bdd @d ţ b!R Bd]гe @dHdeݳ6  X @d  bl!Rd B aQ AdHdeZ6 1 H1T 4dK.uY @d  ldc1S C,вe @dAe @de9d 5@ @4 TtLN("TtUuDETt(tCeRdQU2H5Sd @dH$cW4Sd CE# @dTtCeH^ @d#e @dTtCeD^ @dTtCfУe @dѣd @e$ @de @dTtCeRb!R BSdTtABaa A@ @4g t\H--0x0ЊH0)a @dk\Уd @ec1S CdT4T04T 4 T4rc3S CdG m,=eRdQUOH5Sd @PdH$X 0:d2$ 2#D @4@0e @4Tt08 @5 XadQ AE Tt01гf @5c1S Cd/ @d 00 @4 c1S Cd+0 @4ؠ &ГmRd @,=k Уd @eeRdQU"H5Sd @PdH$0udaQ A ֠ TtLN8# udb#R B Ǡ TtLaQ Ad @d  aQ Ad 0ЊP0x c1S Cd[ @d  c1S CdW @d OГde @,4c1S CdM @d v c1S CdI @d BГl,%TcCm1S CdefKd 3TDTESQ3:ck<;T#45T%C31IڳTDb!R Bdefd &TFTERS02*b,dH$!)Uii<9:u @d9Гe @dT##4T%C1Ή&Omlkji h"O(% @ &O "O% @ &O "O @ &O "O޿ &O ///"OChSjciȲ  Ѓd(G @<4 b!R Bdef促d&Oji hLt, -H-H0 Xh /////"OChSlS۳j!)UЃi<9d @e4R02*b,dH$avQ Ad@ K @dc1S CdefԹd 2T04 ? @d (aQ Ad 7) @d8Гe @dta<1T 4ډC0Ѓd @F ͯ +2 @d,Гe @d&Olkji h//////"OChSicj۳l!)Ѓm<<=! @d 7b!R Bd  ef/d  @d0z @dfǠ ,8嘠d'H-ЊH00$1 Xhf) @d !b!R Bd u efd m W @d0Vz @df ,8ZdR8 @d ,b!R Bd M efɾd E C @d0Bz @dfg<7vi]vjE1dbw,8,'d8# @d )b!R Bd  ef@d  ) @d0z( @df. O,8d" @ "Ѓe @d 6 @d @b!R Bd  effd   @d0z @df#g<7]vjEvi1drgrc3S C  e 憠d'H-H0 Xhl`7 @d 1aQ Ad  efd  R @d60zO @dfg 7pvi]vjEdrgvb#R B} e Adefd q @6 @d : @d&0|7 @df; c1S Cd We d17 @d + @d&0)| @df c1S Cd :deJ . ! @d ' @d&0| @dfg2 7vipvj]ErgvdaQ A eǽd #19 гe @d&Omlkji h') Xl ////"OChSkcji9Lгd @e cu3S Cd S3:c @d ݠ aQ Ad ՠ lu<3 @d4e @d j42 @T  m],=' @d(e @dc1S Cd  L aQ Ad O Ld @@֠ FУef @d = :de @6 3 PQPUu1 @4 T1 @tj/y @dgdfؠГe @d66 @dU5u @d7Гe @d4 @4n2&B&m&l&k&j&i&h#o n//"OChci]?STH$ @2 @1@3@2  @4dfe @4 H @4dfҾe H @40,?&Oi h/"OCh( %8 @d&O h (|H-0-h)&)") L/"OChQ @ dR @4JЃd @,4dG @<4B"!dB"#&p 4AVBeC @ F8 @d&O h/////"OCiShcjn;d$ 3 @4(T5QUH52Sd @dH$ k^<;"5 @d# @d"гe @ddf @5T@1M@3@2@1Y  @dUKd @dUX% @4} Qad:e @dTUD4U\H-`0-H0}6x x.Xpdb/56 @,4' @dUd% @ $гe @d  @d гe @d @de @dгe @d(T5QUH5Sd @dH$d Lzb(" & 9 @d Тe @d Гe @d @42&B&k&j&i&h#o nH--H0x//"OCTevx?T. @4nl- @4k+/ @4e*4 @8O0@x4!)=#T5 @4Dy1TB5 @d T5QUH5Sd @XdT2LF xT5 @d  @4T @4,?&Oi hD..` Pyh))t0 /"OChtodjdfdad\dtdSNdIdDd@dd9di4dh/df*de%dc dbd`Ճdt^d] d[dZdWՃd4V$d%T뼃dSՃdttQՃdݼdOՃdּuOҼdOͼdNɼdNżdNՃd羼M4d絼%dH笼Hd棼vddD眼eDdd畼e4d5@猼6@td慼u>瀼d>dy4ud:p6:di48yd`lx  ,8<HL\`hpt$4 H(X0<HT$dtݻdػd4dл5˻dՃdŻtdՃdu繻dՃd泻t箻d穻dtd梻u睻d瘻d攻dd掻t牻d4d567zddttodjddc^ddXttdQeLdGdՃdAtՃd;tt~Ճd4e}/d{*dz%dx dwdtdsrdr drd$6Ճd5d4d4t%d& '()*+/dݺ-غd-dѺ4+̺d+dƺt*tde(纺d(絺d'Ճd毺t&Ճd橺tt$Ճde$tde"՗du (8L,d@|Th|0DXl $4Dh\|ttud6tudv 'tdudՃdttduvwd蹃dtd%۹dt5dҹ6͹dɹdՃd¹d绹4շd粹dd欹t樹dtud柹&iՃd晹tMItdf撹ue獹ddb煹`Ճdt^zd]ud[pdZkdXgdWbdVtd[uSVdRQddOՃdJuNdDtLd>tJ9dIՃd3tH.dH)dGՃd"4GdtFdDՃdtCՃd$BdtAd@d@d.Ѓd4= @5*<Ճd @&t9Ճd @%!Ѓd7 @t6 @ds ,H\p(8L`x` ,(8@HTXhl|AA @d>?Ճd @t:Ѓd0 @t7.Ճd @t3Ѓd45678( @9-4d% @5(du @0&O h //"OCh @ Ѓi?956 @d (B#`B#`B#`)4Cp4Cp4Cp4 `&Oi h8H\p 7`  //"OChD(AC`A`A`x$Bp$Bp$Bp$zd<4Ci5 @d9 @d6 @d&Oi h /////"OChSlckZeRdQUH5ESdH$=ed=DL5`@RS@4 eL5RPeL5SfaAAvbfe2bfrR" aeL5aTSAAb22e\4L a!e @dcs2,eRdyQUH5ESd4&Olkji h8(8D: //////"OChSicjsleRdQUH5!E!ESdH$!edDL5SfeL5SmbbB\Be,5d @ucbCCa<1e"{RdQUH5!E!ESd4݉)dDDmL=lb,d104 Id @5b"30,2 44,{9&Omlkji h ///////"OYCjn' à0 4\ @Rd+ @4,O @4 YUdֲ69U$d6 4# @tU,d6 4 @tD&UDdԳ6 4 @ty=U4d46 4 @ti @4 ,P)d k,;eRdQUH5!E!ESdH$/cf,36daA4ER"dcCC<4Ci`+ @ h) @dQ7edfRS<2e/}RdQUH5!E!ESd4Ӊ @4 Ud66 @44 @t`h2&B&m&l&k&j&i&h#o n///////"OYClcinH$Ch=d dЃdD @D44Ce%Vǒj,:rd,42$$5g4Ce%k;f<445vbfb%Rb"$Baf@50b%4Rb"$SBa3)H$)H$TtDtK,5 @4> @4d0N586bb"%SRa3)H$)H$UT5 @ TUCkP4h<f45vbfb%Rc2$Bb$e4UfBc2&Qbb 1)H$)H$!TtFS3tC`Q49 @ R") e6Sdbc2$QBb 1)H$)H$݋2&B&j&i&h#o nH `x    ////"OChSjnTB:>f45vbfb%Rc2$Bb$e4UfBc2&Qbb 1)H$)H$!TtES3tC`Q49d @ R") e6Sdbc2$QBb 1)H$)H$݋2&B&j&i&h#o n///////"OCjSkchnO9 @4)<:mTH$ڠ ed k4C @tՠUA @4a 1(U= @4b 2"(T04 TH$$8ea4 dCU- @4b 2"(4, @tTz4 U" @4b 2"(T(5QUH5 @ &O "O0; @ &O "O޿ &O ///"OChcj+, @d( @d @d*d @5 XГd @5 (8zd @e 4&Oji h /"OChG @4"&O h\XX,t` 4 $"d $ 4̙ ^0 pZGz@//"OChNO @4NxO԰e @,4&Oi h/"OChBHԡ @4"&O h//"OCh:A @4=x;Ԉe @,4&Oi h"O2v4 @ce&O "O/J4AVBe0 @ &O ///"OChSiZ?n' @4&e @4 5 @4 "5 @4 @4da Ae @4 @4 @4-2&B&i&h#o nף@@\XXT"` y<"("D3x   Zd /////"OChSkcjnْ @d @d @de @4e @d )O @4O b(".e @4ey @d )O @4O c8#{гe @dex @d )Ov @dO a!2&B&k&j&i&h#o n"O]bؑ @4&O "OT\̑ @4&O /"OCh[ @4MRԹ5 @4K @4dR"b BeT @4&O h/"OChK @4DBԙ5 @4; @4dB"b BeD @4&O h"OCe= @4,3 @5: @4&O "O,k4AVBe- @ &O  B! ///"ODUfw ! @d @dЃdM :546 @4b(a=5f4Bc2%QRb 1)H$$&Oji hT"y<"$"($V4"̙D3^x   BfcWx' r$rUX%R$RUX% aUSR 6R$SfQUSQ6BgsWP7R$ BePaa!QS1SP3SR"$BfbVh& ceSVh&ceSVh& R$QVbR 5b$aVBabR 1b$ CVbQbWx'AAS1Ra4 AWrQ4|5b%cB aBVcQcWx'AAS1Ra4 AW sQ4|5b%bC a//"OChSi(f`8_USd@cP=:/"OCh@A8 2c Cd d @ddC`xeSfF FvF l46Bfh&%Sd @ dC`bc2$cdC`&O hu\@"O@A5Cf 2c C uE EuE\45Bb"&b$&O Be%Beu"%BeuBc2%Be uBa %Be%Beu"%BeuBc2%Be uBa %Be%Beu"%BeuBc2%Be uBa %//"OChSi4$6@b &eRdQUH5Be%Beu"%BeuBc2%Be uBa %Be%Beu"%BeuBc2%Be uBa %Be%Beu"%BeuBc2%Be uBa %Be%Beu"%BeuBc2%Be uBa %//"OChci (t @ @4Гe @d`&Oi h? ^////"OChSk% @jвTa @4i ЂdR @(4SQ3!C!Cs 22#`&Okji h /"OChaR 1UЃd @uQ(`b82"(&O h$? //"OChSi4$6@b &eRdQUH5 @ Q<qde @Vl5v7 '3dpg @3e @d5 @dN eRdQUH561)h& QqLeR^.&3)h&RS&3PSR#QB!Rrį!  ///"OfChSj8 99 ,e @dy9&Oji h///"OwChSj8 cidH$ @e x8 y`&Oji hu/"OudSBXQ1)H$)H$  @4Q1)H$)H$&O h///"OwChSj8 cidH$ @e x8 y`&Oji h4v///"OwChSj8 cidH$ @ex8y`&Oji h Cfh&VdReB&Q Cfh&VdReB&Q Cfh&VdReB&Q /"OChVat @(`&O h /"OChVat @(`&O h9/"OChRaut @(`&O hx8/"OChc,32(Q3UЃd @uS2(`&O h$?///"OwChSj8 cidH$ @e x8 y`&Oji hu///"OwChSj8 cidH$ @e x8 y`&Oji h4v///"OwChSj8ciЃe @dDx8Dy`&Oji htsH5!E!EEFbu"&Ev c`sSgH7!G!GGuRbwGv"& c`///"OwChSj8 cidH$ @ex8y`&Oji h ///"OwChSj8 cidH$ @ex8y`&Oji hv///"OwChSj8 cidH$ @ex8y`&Oji hv///"OwChSj8 cidH$ @ePx8Py`&Oji hv///////"OjCiSh?n?LЃe @d1j dFD @4.54VfKVgb$qVgVfrctReR$DU;dVlWuObm"+cm2"@"{l0 @+ M^&3)X%tPCeE^RBPvHDStG3R 4 tPCbSBQ,32c@6HT,UW @&O ///////"O{jHSin?4DtR!D'9Ch DZL:54KVfVgb$qVgVfrctRe,R$>==*=+=-=//=%=++--~^|<<>>??????#include#define#undef#ifdef#ifndef#else#endif#resource#library#export#plibexport#cerror#pragma$##,*?x?? ?? @ @ 0@d@ x@$@qG k|H0H',I 8KLM9NXN4P.PRVV"V8WtWWW&0X\X.X3 Y-|Y Z7T[1[[0P\\,\ ] 8] \]-] ^ y_ N` W0Q2  8v$  4 ̙ $2 )8l,ĤnM< # ̮ :h)X- ?4 ?)  0 D Q a QPl( d s X    9L p,  >|p ], , Rh PP8..x ` hc0M/, i a `H U ig hh V0 \ }X X6 0X #    ,3P4 d      e  f     8 `   bH  '  @v, D&,h"&,`* "8"|$*L"4LFP66(4,`0d[H|:$X*< v,  z! y"D" b# z# d$ b%%%,D&& vt' zh((()P) K"ߧ$$b*L*t** .*"8+"|+ :+"4, .,",`-"- .4."x.". :0/ ./"/"0 .p0"0"0 .T1"1"1 .82"|2"23D3 :3 .4"X4"4 .4"<5"5(5 @P6&6&6 @h7 .7"8"L8x8L9^9<D:"::::,@;`;;;;;1`<<,<=0=P=`>"T>`$?X?"?`\@4@*A dBHB#>>>>>>>p1111113338 8$8(8,8084888<8@8D8H8P;T;X;\;`;d;h;l;p;t;x;|;;;;;;0>4>8><>@>D>H>L>P>T>X>\>`> x 1$1(1,10141333333333`6d6h6l6p6t6x6|6888888888888888899999<<<<<=>>>>>>0111111222 222225d8h8l8p8t8x8|88888888::::::::::::;;; ;;;;; ;$;(;0<4<8<<<@P0 0$0(002222277778888888,:0:4:8:<:@:D:H:L:;;;;;;;;;8<<<@> >>>>> >$>(>D?H?L?P?T?X?\?`?d?h?l?p?p|0000111111111222 2222223X4\4`4d4h4l4p4t4x4|44446 6$6(6,60687<78889999::: ::::: :;; ;$;(;,;0;<<<<<<<<<<<<<<<<<<@=D=H=<>@>D>H>L>P>???????????,1014181<1@1D1H1333355555555557 77777 7$7(78888888999999;;;;;;;;;;;>>??? ????? ?$?(?,?0?4?8?111111112333333444 44444 4$4(455555555577777777<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9::::::::;;; ;; <<<<=========??????????00000000000011X2\2`2d2h2l2333333333h5l5p5t5x5|555555566666666P8T8X8\8`8d8h8l8p8t8x899999999::::::::::;;;;;<<< <<<=== ===== =`>d>h>l>p>t>x>|>>>>>>>(0,0004080<0@0D0H0L0P0T0H1L1P1T1024282<2@2D2H233444 444555555555777 7$7(7,7074787888888888888p:t:x:|::::::;;;<<< <<<>@>D>H>L>P>T>X>\>h?l?p?t?x?|?0000000000000H2L2P2T233333P5T5X5\5`5d5666777 7778888888889999999(;,;0;4;8;<;@;D;H;L;P;T>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>H81<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111111111111111111111111222 222224444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5555555555555666666666666777777999999::::\<`>>>>>>>>D0H0L0P0T0h2l2p2t2x2,4044484<4@4D4H4L4P4666666666666666668888888888888888888999 99999 9$9p:t:x:|::::::::::::::<<<<=== ===== =$=(=,=0=4=8=<=$?(?,101111 2$2(2`2d222222$3(3X3\33333330444t4x444 555D5H55555666666@7D7H7L777 8$8888888$9(9X9\9999999(:,:\:`:::::::;;;;; <<@>4>8>h>l>|>>>t?x?|?????? 00000111 111111112<2@223333333334444|555555586<6@6x6|6L7P7T7X7\7`7d7h7H8L8P8T8X8\8`88888 99H9L9: ::D:H:l:p::::0;4;x;;0<<<<<====,>0>p>t>>,?????00h0l0000L1P11110242t2x2222(33 44P4T44444585|5555D6H6L666`7d77788H8t8999 9999994:8:<:@:::8;<;;;T> >P>? ??P??@xP0T0X000 111X2\2`2`4d4h4l4p4t4x45555t6x6666t7x788889::::::;;<<<<==??? ?$?(?,?P0000222222 3$3h3l3444L5P5T56666p77 8$89999@::::8<<<@<======>>??? ??????????`(1,1014181<1@12222<3@3333444455@6D6H67777|88888@99::::::::|<<<<<<=====>>>?????p1111 1$1(1,1p1t1222X3\3`3L4P4T4X4\444054555555,606666(7,70747x7|7778888|88888H9L9999:(;,;0;4;8;<;@;D;4<8<<<==>>>>?h000001X2\2`2H3L3P344555577788 88t9x9|9d:h:l:;; <T>X>\>???0000 2$2(222224383 4$4(4556666666687t8x8|8888884989<9@999990:p::::t;x;;;;<0>>>>>>>???? (0l112244x456 7,787D7P7\7h7t777777777777888(848@8L8X8d8p8|888888888889 99$909<99999`:d:h:l:p::::::::P;T;X;\;`;d;h;l;;?? ?$?(?,?0?4?8?>>> >(>0>8>@>H>P>X>`>h>p>x>>>>>>>>>>>>>>>>>???? ?(?0?8?@?H?P?X?`?h?p?x?????????????????0000 0(00080@0H0P0X0`0h0p0x000000000000000001111 1(10181@1H1P1X1`1h1p1x111111111111111112222 2(20282@2H2P2X2`2h2p2x222222222222222223333 3(30383@3H3P3X3`3h3p3x333333333333333334444 4(40484@4H4P4X4`4h4p4x444444444444444445555 5(50585@5H5P5X5`5h5p5x555555555555555556666 6(60686@6H6P6X6`6h6p6x666666666666666667777 7(70787@7H7P7X7`7h7p7x777777777777777778888 8(80888@8H8P8X8`8h8p8x888888888888888889999 9(90989@9H9P9X9`9h9p9x99999999999999999:::: :(:0:8:@:H:P:X:`:h:p:x:::::::::::::::::;;;; ;(;0;8;@;H;P;X;`;h;p;x;;;;;;;;;;;;;;;;;<<<< <(<0<8<@>>> >(>0>8>@>H>P>X>`>h>p>x>>>>>>>>>>>>>>>>>???? ?(?0?8?@?H?P?X?`?h?p?x????u@ PocketC CE API

PocketC Help 

Written by Jeremy Dewey and Kevin Cao

User Manual

PocketC Language

Database Programming

Function Library

check out BFsoft's Absolute Beginner Corner and Sundialsoft's Programming Tutorials in the OrbWorks links page.


User Manual
Concept
Step 1. Write Program
Step 2. Compile and Build
Step 3. Run Program
Step 4. Distribute Program
Features

PocketC Language
Introduction
Data Type and Variables
Assignment, Operators and Dec/Increments 
Automatic Conversion and Casting
Declare Functions
Statements
Include
Special Characters
Pointer and Walk around for Multidimensional Arrays
Resource
COM support


Windows CE Database
Introduction
Create a simple database
Enumerate databases
Read database contents
Write data to a database
Conclusion
Appendix - database functions

Concept

PocketC 's design is a mixture of a few modern language concepts.   The language is C.  Due to its invisible data type conversion feature, PocketC is also like a scripting language.  String variables can be converted to a float or integers and back without any special function calls.  It is similar to VB Script and Java Script.  

Due to Windows CE operating system can be used with various CPUs, regular software that are compiled directly to the CPU instruction can only be used with that CPU devices.  With our compiler, the source code is compiled into CPU-independent instructions.  This allow user's application to be CPU-independent.  We provide a free runtime module for PocketC developers.  This runtime module is required for PocketC applications to run on various platforms without recompile. Its concept is similar to Java applets which are CPU/OS-independent.

PocketC is not another ANSI standard C compiler.  If you are looking for an ANSI standard C compiler, we suggest you to take a look at gcc port for Windows CE.  

We provide our custom function API which are designed to make programming easier and fun.  If you have any good suggestions on new features, please post on the webboard or contact us through email.

Thank you.  

Kevin Cao


Step 1. Write Program

Writing PocketC program is simple if you already know C.  If you are new to programming, I suggest you pick up a beginner guide to C or read our language chapters.  Our webboard is a good place to share your ideas or ask questions at.  We have a descent size user community which mostly are software engineers, IT professionals, professors and students.  Hopefully, you will join us in the future.   Here are couple helpful links:

BFsoft's Absolutely Beginner's Corner 
http://pages.prodigy.net/gwen.and.wolfgang/abc.html

SundialSoft's Resource Library
http://www.sundialsoft.co.uk/

Once you install PocketC, you should be able to launch the program by Click on StartMenu->Programs->PocketC Development.

Now you are ready to write some code in the editor.

Example:

main()
{
    string hello;
    hello = "hello!";
    putsl(hello);	 
putsl(hello);
    alert("You say hi!");	 
alert("I say bye!");
    text(50,50,"hello world");
    graph_off();
}

In this example, we just demonstrated three methods of displaying text.  Please click on the function names to find out what they do.

 



Step 2. Compile and Build

Now we have a program in the editor, the next step is to compile and build an application.  Just click Build Menu -> Build.

If build process was successful, a message box will popup indicating the build was successful.  Otherwise, an error message box will popup.  After close the error message box, the editor will automatically jump to the error line.  


Step 3. Run Program

 After we successfully build a program, running the program is trivial.  Just click Build Menu->Run.

Your program will be launched.  Just sit back, and observe your first PocketC program in action.

You may also change the source code, and play around with with different functions in our function library. 

Step 4. Distribute Program

PocketC applications requires the runtime module.  We have an installer on the web for download.  You can distribute the runtime module with your program freely.  You may not charge money for our runtime module.  Thanks.  

End-users can launch PocketC runtime, and they will be able to see your program and launch it.  


Features

Function Browser

When you have a relative large program, it will become more difficult to move around in your source code. We added a feature to ease the pain. Just click on File menu->Function List. It will show you the file format, size and the list of function it contains. Just click on one of the function name in the list. The editor will take you to that particular function.

Multi-File Build

Some existing PocketC applications has over 2000 lines of code, and spread through 20 and more files.  You can use Multi-File feature to help out.  Just click Build Menu->Multifile Mode.  It will ask you for a full path to the source file which contains the main() function.  Now, you can edit any files and the compile will always compile the main file first.  

Font Adjustment

You can also adjust the editor's font type and size as well in Help menu.  Just click on Help menu->Preference.  A dialog will popup with settings for font type, size, tab length.  We even added a custom adjustable help system.  In theory, you link another help file with the Documentation menu.  In reality, WinCE help file must be in Windows directory.  That is the limitation of WinCE help file.  We cannot do much about it.

As you are writing code, the current line number is indicated on the status bar as well.

Command Line Support

syntax: <path>\pceditor.exe <file> [-multisession] [-directrun|-directbuild]

[-multisession] PCeditor will run single instance by default.  That means if PCeditor is running already, and you want to run it again in another process, the new instance will realize that one is running already, and it will terminate itself, and set the focus to the previous running instance.  This flag will allow multiple sessions of PCeditor running.

[-directbuild]  will ask the compiler to build this file

[-directrun] will ask the compiler to build this file, and then run this file.

Example:

exec("open", "\\PocketC\\pceditor.exe", "\\My Documents\\program.pc [-multisession] [-directrun]" ) ;

 

We update our software frequently to remove bugs and add new features.  You can check the PocketC build time stamp by click on Help menu->About PocketC.  The very first line will indicate the build time of your PocketC.  When you are posting bugs, please remember to post your PocketC's build time as well.  Sometime, the bug maybe already resolved.  You just need to download a new version.

 



Language Introduction


PocketC is designed and implemented by Jeremy Dewey. It was a his personal project during the summer of 1997. We met when we were both hired by a tiny software company for summer interns. At that time, He had great interests on PalmPilot devices. After reading the book "C the Complete Reference" by Herbert Schildt, he started to programming PocketC after work. It is not an easy task to achieve since Palm-Pilot has merely 2 Meg RAM total. I also believe that is one of the reason why he did it. Every morning at work, he would show me the latest progress. It was a fun experience to see a tiny language getting developed slowly. At the end of the summer, PocketC is finally finished for Palm-Pilot. With his permission, I ported PocketC for Windows CE during the school.

I hope you enjoying our little language

Kevin Cao 10/09/1999


PocketC Data Type and Variables


Basic Data Type

  • int
  • char
  • string
  • float

Identifier

PocketC identifier has the same rule as C indentifier. The first character must be a letter or an underscore and following characters must be either letters, digits or underscores

Variables

  • The following variable types are supported: int, float, char, string, pointer, and single-dimensional arrays.
  • Local variables must be declared before any code in a function.
  • Variable initializers are not yet supported. (e.g. int x=5; is not yet legal).
  • All variables, global and local, are initialized to zero or the empty string.
  • Variable names can be up to 31 characters long and are case sensitive.
Type Name Example
integer int 1, 2, 5, -789, 452349
floating point float -1.2, 3.141592, 5.7e-4
characters char 'a', 'b', '#'
strings string "Bob" "Katie" "Hello"
Variables are declared like this:
variable-type name[,name...];

Here are a few examples:

  • int myInteger, row, column;
  • string name;
  • float pi;
  • char c, last, first;
  • pointer pi;
        
It is also possible to have an array of values. An array is a list of values that are stored in one variable. Arrays are declared like normal variables except that the variable name is followed by '[size]' where size is the number of item that the variable can hold. A declaration might look like this:
int values[10];
string names[7];
Of course, arrays and normal variables can be declared together:
int row, values[10], column;
string name, colors[8];

Local Variables

Variables that are declared inside a function are called local variables.  Local variables are only referenced by the statements inside of the function.  One restriction, You have to declare all local variables at the start of a function.

Global Variables

Opposite to local variables, global variables are know throughout the code and can be referenced by any port of the program.  In addition, their values are kept through the entire program execution.  

Pointers

A pointer is defined by the pointer type, not int*, for example. Importantly, pointers in PocketC are not typed. Instead, they take on the type of the data to which they point. Additionally, a pointer can refer to a function, and would be used as follows:

func(int x) { return 5*x; }

main() {
   pointer ptr;
   int result;

   ptr = func;
   result = (*ptr)(7);
   puts("5*7=" + result);
}

Additionally, pointer values are not addresses to actual PalmOS or WindowsCE memory.

We will discuss more about pointers later on.

  


Assignment, Operators and Inc/Decrment

Assignment

Variable assignment is actually just another form of expression. Assignment is done in one of two ways--for a normal variable:
name = expression

and for an array:
name[index-expression] = expression

Here are a few examples:

int myInt, numbers[3];
string myString;
...
myInt = 8;
myString = "Animaniacs";
numbers[0] = myInt + 5;
numbers[2] = numbers[0] * 8;

However, since PocketC is loosely typed, any type of value can be assigned to any type of variable and the value will be automatically converted:

myString = 95; // The value of myString is now "95"
numbers[1] = "78"; // The value of numbers[1] is now 78;
numbers["2"] = "2"; // Another neat trick. numbers[2] is now 
2

Now, what are all the operators that can be used in an expression, and what is their associativity? Good question.

Operators

The following table is in order of precedence, lowest first.

Operator

Assoc

Description

=

right assigns the value of the expression on the right to the variable on the left. Evaluates to the expression on the right.

||

left logical 'or', evaluates to 0 if false, 1 if true

&&

left logical 'and'

== != < <= > >=

left relational operators. == (equal), != (not equal), <= (less than or equal), >= (greater than or equal). These evaluate to 1 if the expression is true, 0 otherwise

+ -

left addition, subtraction (subtraction cannot be used with a string argument)

* / %

left multiplication, division, modulus (cannot be used with strings, nor can modulus be used with floats)

- ! ++ - - ~ * [] () &

left - (negation), ! (logical 'not'), ++ (increment), -- (decrement), ~ (bitwise neg), [] (array subscript), () (function pointer dereference), & (address of ) (Of these, only the logical 'not' can be used with strings)

Notes: No shortcut logic is performed on the operands of || and &&
The compound assignment operators (+=, *=, etc.) are not supported.
The comma and conditional operators (?:) are not supported.

Bitwise Operators

PocketC supports a full complement of bitwise operators.  Bitwise operation is used for variable type int or char.  You cannot use bitwise operations on float or string data types.  

& AND
| OR
^ Exclusive OR (XOR)
~ One's complement
>> Shift Right
<<  Shift Left

 

Increment / Decrement

The ++ and -- operators are special in that they must be placed before or after a variable and modify the value of the variable. The ++ increments the value of a variable by one, while the -- decrements by one. The caveat is that if the ++/-- is placed in front of the variable, the expression evaluates to the value of the variable after it is incremented/decremented. If it is placed after the variable, the expression evaluates to the variable's previous value. Example:

int myInt;
...
myInt = 8;
puts(++myInt); // Prints "9" to the output form

myInt = 8;
puts(myInt++); // Prints "8" to the output form, but myInt is now 9

 


Automatic Casting


Just like in assignments statements, automatic conversion takes place in every part of an expression. If the two arguments to an operator are of different types, one of arguments will be promoted to the less strict type. The promotion order is char to int to float to string. So in the expression:
"Result is: " + 5;

The constant 5 is first promoted to a string, and the two strings are concatenated. This may have some undesirable side effects. For example, if you want to write an expression and result to the output form, you might do something like this:

puts("5 + 7 = " + 5 + 7); // Prints "5 + 7 = 57"

This probably wasn't the desired outcome. Instead, you would want the expression evaluated first, then concatenated to the string. The parentheses can be used to accomplish this:

puts("5 + 7 = " + (5 + 7)); // Prints "5 + 7 = 12"

One problem remains. Suppose you want to find the floating point value of a fraction of two integer.

puts("7 / 5 = " + (7 / 5)); // Prints "7 / 5 = 1"

This output is because both arguments are integers, so the result is also an integer. To solve this, we can cast one of them to a float:

puts("7 / 5 = " + ((float)7 / 5)); // Prints " 7 / 5 = 1.4"

This forces the integer 7 to a floating point number before dividing it by 5.


Declare Functions

Functions are the most important part of a program because they contain the actual instructions that make a program useful. All functions have a name and a parameter list (which may be empty) and are declared like the:
func-name([param-type param-name,...]) { statements }

Statements are discussed later, but for now, here are a few examples:

area(int width, int height) {
   return width * height;
}

square(float x) {
   return x * x;
}

five() {
   return 5;
}

There is one special function name which all programs must have: main. The main function is the function which is called first in your program. When the main function exits, the program terminates. The main function must be declared with no paramters:

// My Applet
main() {
   puts("Hello World");
}

Functions can also have local variables, which are variables that can only be accessed within the function that declares them. Global variables, however, can be accessed from anywhere. Local variables are declared in the same way that global variables are except that they immediately follow the opening brace of a function:

// My Applet
main() {
   string localString;

   localString = "Hello World";
   puts(localString);
}

Before we go any further, we need to talk a little bit about expressions.

Expressions

An expression is any number of constants, variables, and function calls connected by operators and parentheses.

A constant is any value that is directly entered into the program, such as: 5 5.4 'a' "String"

A value stored in a variable can be accessed by just typing its name: myInteger name
However, if that variable is an array, each value must be accessed individually by index. The valid indices for a given array are 0 to n-1 where n is the number of values in the array. So an array declared:

string names[4]

can be accessed like so:

names[0] = "first name";
names[1] = "second name";
names[2] = "third name";
names[3] = "fourth name";

A function call consists of the name of a function, followed by an open paren, the parameter list, and a closing paren:

area(5, 7);
square(8.9);
clear();
text(30, 55, "Game Over");

These three basic elements can be combined with operators:

5 + 7 - area(12, 34);
square(5) * pi;
"Hello, " + "World";

Of course, function calls can have expressions in them as well:

area(6+3, 8*9);
area(8 * square(4), 7);



Statements

Statements are the individual parts that make up the body of a function. The following are the available statements:

Statement Description
return; Returns immediately from the current function (with a default return value of integer 0)
return expr; Returns immediately from the current function, returning the value of the expression expr
if (expr) stmt Evaluates the expression expr, if its result is true (non-zero or non-empty string), the statement stmt is executed, otherwise stmt is skipped, and execution continues
if (expr) stmtA
else stmtB
Evaluates the expression expr, if its result is true (non-zero or non-empty string), the statement stmtA is executed, otherwise stmtB is executed
while (expr) stmt The expression expr is evaluated. If it is true (non-zero or non-empty string), stmt is executed. The loop then begin again, evaluating expr and executing stmt until expr is no longer true. This means that stmt will never execute if expr is initially false
do stmt
while (expr)
The same as while except that the statement stmt is executed before expr is evaluated. This guarantees that stmt will execute at least once
for (init;cond;iter)
stmt
The initializer expression init is first evaluated. The condition expression cond is evaluated. If it is true, stmt is executed and the iterator expression iter is evaluated continuing the loop, otherwise the the for loop ends. Note: init is evaluated only once.
break; Immediately exits from the directly enclosing while/do/for loop.
continue; Immediately restarts the directly enclosing while/do/for loop. In a for loop, the iter expression is evaluated, followed by the cond expression and possibly the stmt
{ statements } A brace followed by a list of statements, followed by another brace is considered a single statement
expression; An expression followed by a semicolon is also considered to be a statement
switch (expr) {

case const1:
{ statements }

break;

default:
{ statements }

}

switch statement is a multiple-branch selection statement.  It tests the value of an expression against a list of integer, character, float or string.  When a match is found, the case block with that constant are executed.  The break statement can be used at the end of a case statement.  It will cause program to jump to the code after switch statement.  

Note: Regular ANSI C will not allow constant string in switch statement for branch selection.  Constant string is a variable type for PocketC.  So PocketC's switch statement can handle constant string. 

 


Statement Examples

return
Let's visit a previous example function to see how return works.

five() {
   return 5;
}

Since the return value of the function five is always 5, we can use the function any place we would normal put the constant 5.

puts("Five is " + five()); // Prints "Five is 5"

Also, since return causes the function to exit immediately, we could do this:

five() {
   return 5;
   puts("This won't print");
}

and we would have the same effect.

if

lessThan5(int x) {
   if (x < 5)
      puts("Less than five");
   puts("Hello");
}

If this function is called with a number less than 5, "Less than five" will be printed followed by the word "Hello", otherwise, only the word "Hello" is printed.

if ... then

lessThan5(int x) {
   if (x < 5)
      puts("Less than five");
   else
      puts("Greater than or equal to five");
}

If this function is called with a number less than 5, "Less than five" is printed, otherwise "Greater than or equal to five" is printed.

while

count() {
   int x;

   x = 5;
   while (x > 0) {
      puts(x);
      x = x - 1;
   }
}

This bit of code will print the numbers from 5 to 1 counting backwards. Notice that braces were placed around the two lines of code in the while loop to make them act as a single statement.

do ... while

count() {
   int x;

   x = 6;
   do {
      x = x - 1; // could also be x--
      puts(x);
   } while (x > 0);
}

This bit of code (similar to the previous example) will print the numbers from 5 to 0 counting backwards. The zero is printed in this case because the expression x < 0 is not evaluated until after the loop

for

output() {
   string list[4];
   int index;

   list[0] = "Zero";
   list[1] = "One";
   list[2] = "Two";
   list[3] = "Three";

   for (index = 0 ; index < 4 ; index++)
      puts(list[index]);
}

This example will print out "ZeroOneTwoThree". When we disect it we see that the array list is initialized first. We then reach the for loop. First, the initializer is evaluated, setting index to 0. Next, the condition is evaluated index < 4, which is true, so the body of the loop executes, printing "Zero". The iterator expression is then evaluated, increasing index by one. This continues until index is equal to 4, at which point the loop exits without executing the body again.

break

count() {
   int x;

   x = 5;
   while (x > 0) {
      if (x == 1)
         break;
      puts(x);
      x = x - 1;
   }
}

In this slightly more complex piece of code, the counting goes on as it normally would, printing out "5432". However, when x reaches 1, break is executed, breaking out of th{he while loop early, before the 1 gets printed.

continue

count() {
   int x;

   x = 6;
   while (x > 1) {
      x--; // Do the subtraction first
      if (x == 3)
         continue;
      puts(x);
   }
}

In this clearly contrived example, the output is "5421". When x reaches 3, the continue is executed, passing execution to the beginning of the loop, skipping over the puts.

switch statement

int    myInteger;

myInteger = 50;

switch (myInteger)

{

   case    40:

    case   30:    putsl("MyInteger is 40 or 30"); break;

    case    50:    putsl("MyInteger is 50");    break;

    default    :    puts("MyInteger is " + myInteger); 

 }

Note: if myInteger is 50, it will printMyInteger is 50

if myInteger is 40 or 30, it will print MyInteger is 40 or 30

Otherwise, it will print MyInteger is the actualMyInteger's value.

 




Resource

Most programs include bitmap images, sound clips as their resources. I usually like to keep my program in one binary format. When you beam software to another device, it is much easier to beam one file than multiple files. There is a special preprocessor keywoard for packing additional resource files into your app file.

syntax: #resource [resourceid] "resource file path" for example: #resource 1 "table.bmp "

When the compiler processes this line, it will try to find table.bmp file in the same directory with your main source file. When the file is found, the compiler will pack this resource file into the final app file.

During the runtime, it will unpack this file into a temp directory. You can find out the file path by calling builtin function loadres(int resourceid).

PocketC and COM -- File System Control 

by Kevin Cao cao@orbworks.com

Introduction:

In the past, PocketC developers for the WindowsCE platforms are limited to the 225 default APIs. The APIs covers most areas of the devices. However, developers have been asking more and more access to the features provided by the OS. My solution to this problem is to open up the COM access. With this article, I will show you how to use FileSystem Control through PocketC.

For all the activeX controls availiable for the WindowsCE platfroms from Microsoft "http://www.pocketc.net/release/distribute/ActiveXControls.zip"

Brief Note on the File System Control:

File System Control is an ActiveX control provided by Microsoft. This control has a COM object. It offers a few methods for you to access to the file system. There are many similar ActiveX controls that allow you to access many other parts of the operating system.

Each ActiveX control is identified by an unique ID. This unique id is generate when the original file system control author created this control. It reduces the chances of two ActiveX control having the same identity greatly.

#define CEFILESYS_GUID "{3F0C2794-5C3A-11D1-A717-00AA0044064C}"

In order to use the activeX control, you have to register it on the windows os first. On the WindowsCE, you need to have regsvrce.exe to register COM components.

This following code registered the dll on the device, assuming you downloaded regsvrce.exe to the windows directory, and mscefile.dll into the windows directory. They don't have to be in the windows directory.

Regsvrce.exe has a few options you can pass in. It also has an UI interface to allow you to register components manually.  To obtain a regsvrce.exe for your device, please download here.   "http://www.pocketc.net/release/Distribute/regsvrce.zip"

/i = install

/u =unstall

/s =silent, without a notification dialog popup for registering the control successfully.

register_filesystem()

{

exec("open", "/windows/regsvrce.exe", "/i \\windows\\MSCEFile.dll") ;

}

Implementation:

Now we have registered the File System ActiveX control on our device. We need to initialize the control, and keep the handle to the control, so we can keep reuse this

control over and over again. Just remember to release the control at the end of your program.

pointer globalptr_filesystem = 0;

startup_filesystem()

{

if (!comdispatch(CEFILESYS_GUID, globalptr_filesystem))

{

alert("Failed to initialize filesystem control");

return 0;

}

return 1;

}

cleanup_filesystem() { comrelease(globalptr_filesystem); }

After we have the filesystem control started, it is time to explore some of the methods. It is rather complex to complete a COM call, so I suggest you wrap the complexity within a simple PocketC function. In my example, I will show you how to find out a file length by using the file system control.

According to the Microsoft documention, the filesystem control has a method called FileLen. We need to find out the method's id using comgetidbyname. It takes the pointer to the filesystem control pointer, and a string, and an integer passing by reference.

FileLen also requires one input parameter for the actual file path. We first clean COM function argument buffer in memory by using comargclr(). comargadd is used to add the first parameter. VT_BSTR is an integer to tell the COM interface that I am passing a string. The second parameter for comargadd is a pointer. We passed in a string pointer. This string is the file path.

Now just use cominvoke function to do the actually calling on FileLen. The cominvoke takes a pointer for return values. We know that FileLen returns an integer, so i passed in a integer's pointer.

#define VT_BSTR 8

fsFileLen(string f)

{

int dispid = 0;

int size = 0;

comgetidbyname(globalptr_filesystem, "FileLen", dispid);

comargclr();

comargadd(VT_BSTR, &f);

cominvoke(globalptr_filesystem,dispid,&size);

comargclr();

return size;

}

Now let us see if it works by writing a testing function.

test_filesys()

{

startup_filesystem();

putsl("hello.txt size = " + fsFileLen("hello.txt"));

cleanup_filesystem();

}

Since we hide all of that complexity with a few wrapper functions. Our testing function can be very clean. In our testing function, it assumes that you have a "hello.txt" file on the root directory.

Conclusion

In PocketC, there are a few helper functions to allow you load an activex control, call its method and set/get properties.  This opens 20-30 current VBcontrols to PocketC developers. 


Include

Using the include keyword, it becomes possible to write programs in smaller chunks. The contents of the included file are functionally inserted into the line containing the include keyword.
Note: 

For WinCE, include must contain the full path name.  WinCE doesn't support relative path.


Example

File  MyFunctions.pc

times5(int x) {

   return x*5;

}
Another memo:
// My Program

#include "MyFunctions.pc"

main() {

   int y;

   y = times5(7);

   puts(y); // Prints 35

}
The compiler sees this as:
// My Program

times5(int x) {

   return x*5;

}

main() {

   int y;

   y = times5(7);

   puts(y); // Prints 35

}



Special Characters

There are two ways to add special characters to a string. The first is by appending them by number, such as:
str = "Here is a neat little square: " + (char)149;
The other method is through using escape sequences. The following escape sequences are supported:
Escape sequence \\ \' \" \n \r \t \x
Interpretation \ ' " newline carriage return tab character specified by the following two hex digits. Example: '\x95' is the block character (decimal 149)
So, to create a string that contains a quote:
str = "She said \"I'm sorry,\" but it was too late...";

puts(str); // Prints: She said "I'm sorry," but it was too late...
PocketC Windows CE 's source code is in Unicode.  In order to make a unicode text file, you need to following a few rules.  The first two bytes must be 0xFF and oxFE.  

sample code for write unicode properly:

test_writeunicode(string data)
{
int handle; 
char byte1;
char byte2;
byte1 = 0xFF;
byte2 = 0xFE;
handle = fileopen("unicode.txt",1,FILE_CREATE|FILE_READWRITE);
writebyte(handle,byte1);
writebyte(handle,byte2);
filewrite(handle,data,strlen(data)*2);
fileclose(handle);
}

 


Pointers and Arrays

Note: Pointers are an advanced topic, which should be dealt with after the user is familiar with all the other programming concepts.

All variables are stored at some address in memory. A pointer is a variable which refers to another variable by containing that variable's address.

There are two primary operators which are used with pointers, * and &. The * operator dereferences the pointer. A dereferenced pointer acts just like the data to which it points. The & operator returns the address of a given variable. To illustrate:

pointer p, q;
int i;

main() {
  i = 5;
  p = &i;   // Assign the address of 'i' to the pointer 'p'
            // now, typing '*p' is the same as typing 'i'
  puts(*p); // Print the value of 'i'
  *p = 7;   // Assign 7 to 'i'
  q = p;    // Assign the value of 'p', which is the address of 'i', to 'q'
            // now, typing '*q' is the also the same as typing 'i'

  // Things not to do
  p = 8;    // BAD! Don't assign a constant value to a pointer
  *i = 9;   // BAD! Don't try to dereference a non-pointer
}

A pointer can also be used to take the address of a function (but NOT a built in function!). Unlike variables, however, the & operator is NOT used. Calling a function through a pointer is a little tricky. First, the code looks ugly. Second, no error checking can be done on the parameters, so type conversions are not done and the number of arguments is not confirmed. For example:

func(int x) { return 5*x; }

main() {
  int result;
  pointer ptr;

  ptr = func; // Take the address of a function
  result = (*ptr)(5); // call the function (ugly)

  // Things not to do
  result = (*ptr)("5"); // this won't work, since the string
                        // isn't converted to an integer
  result = (*ptr)(5,7); // this will compile, but will result
                        // in stack corruption because the
                        // wrong number of arguments are used
}

Pointers and arrays
Pointers and arrays are fairly similar. Pointers can use the [] operator, and an array variable (when not used with []) results in the address of the first element. For example:

int array[5];
pointer p;

main() {
  p = array; // Assign the address of the first element of
             // 'array' to 'p'
  *p = 7;    // Assign 7 to array[0]
  p[1] = 8;  // Assign 8 to array[1]
}

This enables the pointers to arrays to be passed as function parameters. This also allows the user to implement their own version of two-dimensional arrays. By creating an array of pointers, each of which is a pointer to an array (or part of one), a two-dimensional array can be simulated.

int array[100];
pointer twod[10]; // after init(), this can be treated
                  // like at 10x10 matrix

init() {
  int i;
  for (i=0;i<10;i++)
    twod[i]=array + i*10; // Pointer arithmetic
}

main() {
  int x, y;
  init();
  for (x=0;x<10;x++)
    for (y=0;y<10;y++)
      twod[x][y]=x * y; // Sets array[x*10 + y] = x*y
}

Pointer arithmetic
Pointer values can used in a limited number of expression. You can add and subtract from a pointer (and, thus, can use the increment and decrement operators as well). When you add 1 to a pointer, the pointer points to the next value in memory. Similarly, when you subtract 1 from a pointer, the pointer points to the previous value in memory. Caution should be used when using pointer arithmetic, because dereferencing an invalid memory location will cause an error during run time.


Introduction


A WinCE database is like a big spreadsheet table. In a regular spreadsheet, you have multiple columns and rows. In the WinCE database, Row is called record and columns are called properties. Each record can contain 0 or more properties. Each propertie is defined by a standard datatype, like integer or string.

Figure 1. A sample WinCE database

100 John Smith 11 Broadway Cleveland
101 Nicky Tayler 1 Sunny Drive MountainView
102 Blues Brother 532 194RD PL NE Seattle

You probably know something about SQL if you are using database functions. Microsoft announced the SQL support for WindowsCE . Right now, you have to write functions to manipulate the data in your database.

Memory on your WinCE machine is very limited. Before you start working on your database, take a moment to design the database layout to minimize the storage requirement.



Create a database


PocketC Database APIs are suppose to be simple and easy to use. If you have the time or luxary, go search on http://msdn.microsoft.com/ for WindowsCE database functions. You will thank us for the simple database interface in PocketC. In this section, we are going to learn how to create, open and close a database.

Create a database

Once you have a clear idea how the database or "spreadsheet" is going to look like, it is time to create the database with the dbcreate function. It takes two arguments:

Database name: The name can be up to 32 characters long. If you pass a longer name, the first 32 characters will be treated as the database name. All databases will be placed in the \Database folder.

Database type: an integer that can be used later on for search database of certain type. You can decide the number for your own database. Don't assume the number you pick is used only for your database. Other database might use the same number.

Return value: if dbcreate is successful, it returns an integer. This integer is the object identifier for your database. It can be used to open the database you just created. see dbopen for detail.

When can dbcreate fail?

  • The WinCE database storage is running out of space.
  • Another database is already using the name

When it fails, the return value is 0. You can call getlasterror to obtain the error information.

<Note to Kevin: Need to explain GetLastError later and the error handling system>

Open a database

After a database is created successfully, you can open it now. A good programming practice is to check the return value of dbcreate before call dbopen. If you don't check, your program might run on one user's machine, and fail on the other user's machine. For example: User B has a database called "TodoList", and your program tried to create a database with the same name.

*Each WinCE database can be distinguished from each other by using its object id or its name.

dbopen is the function you need to open a database. It takes two parameters:

  • Database Object ID: An integer which identify the database. It can be obtained by using dbcreate or dbenum.
  • Database name: The name can be up to 32 characters long. If you pass a longer name, the first 32 characters will be treated as the database name. All databases will be placed in the \Database folder.

You can specify either object id or name to open the database. If you know the function name only, just use 0 for the object ID. If you know the function object ID only, just use an empty string "" for the database name parameter.

Return value: If the database is opened, the return value is the object id of this database. Otherwise, the return value is 0.

When can dbopen fail?

  • the operating system doesnot have enough memory to open the database
  • the database doesnot exist with the OID or name you provided.

Note: PocketC Database API only supports opening one database at a time. If you want to open a second database, you must close the current database first.

Close Database

Since we can only open one database at one time, close a database is pretty simple. Just call dbclose().

Return value can be 1 or 0. 1 means the database is closed. 0 means the function failed to close the database.

Section One Summary

In Section One, we learned how to create, open and close a database on WindowsCE.

  • dbcreate(string name, int dbtype) -- create a new database. it needs a name and a type.
  • dbopen(int oid, string name) -- open a database by its object id or name
  • dbclose() -- close current opening database.

It is time to write a few lines of PocketC code to review what you have learned. After you create a new database, the big question is that how can you tell if your database is actually created? Please read Section Two to find out how!



Enumerate database


In this section, we are going to find out all the database on your WindowsCE device!  You will probably be surprised by the number of databases.

Enumerate Database

dbenum is the function can be used to enumerate all the databases.  It takes two parameters:

  • int bFirst:  you must use 1 for parameter bFirst if you are using dbenum to get the first database.  After that, you just keep using 0 until dbenum returns 0.
  • int databasetype: Do you remember dbcreate takes a database type parameter? You can use it here to specify what type of database you want to enumerate through.  If you want to see all the database regardless of their type, just use 0 for database type.

Return value:

dbenum returns one database object id each time it is called.   Once all of the databases are enumerated, dbenum returns 0.  You will need the object id to find out more about the database.

Database Attributes

Now we have the database's object id, we can find out the database's name, physical storage size in bytes and number of records.

string dbname(int oid) -- returns database name in a string. If failed, return an empty string ""

int dbsize(int oid) -- returns database physical storage size in bytes. If failed, returns 0

in dbnrecs(int oid) -- returns total records in the database. If failed, return 0

For above three functions, if parameter oid is 0, the function will return current open database's attributes.

Show me the CODE!

Here is a short segment of PocketC source code to list all the database.

listdb()
{
    int ret;    int oid;
    ret =    dbenum(1,0);
    if (ret==0) return;
    putsl("List all the databases");
    putsl("Name----------Size----------------NumRecords------");
    while ((oid=dbenum(0,0))!=0)
    {
        putsl(dbname(oid) + "\t\t" + dbsize(oid) + "\t" + dbnrecs(oid));
     }
}

Output:

List all the databases
Name----------Size----------------NumRecords------
testdb        456    2
\RecycleInfo        480    1
\Categories Database        1744    20
Contacts Database        380    0
Tasks Database        380    0
Appointments Database        380    0
\DesktopPositions        1444    11
\EventNotifications        600    5
\UserNotifications        380    0

The first database in the list is called testdb, which is created using PocketC.  We will show you how to write actual data to the database in the next section.

*Note: Did you notice that some database with a backslash afront of their names?  These databases are the Windows CE system databases.  Don't modified them unless you know what you are doing.  Btw, Don't forget to add a backslash, otherwise, \D will be converted into some character, and dbopen will fail.   You need to call dbopen(0,"\\DesktopPositions").  



Read database contents


Don't you want to find out what is in those databases listed by our code?  I know I want to.  In this section, we are going to learn how to dump the entire database out to the console screen.   

The concept is fairly simple.  We are going to go through each record in the database, and display the record properties one by one.  The number of the record can be found by using dbnrecs(int oid).  The tricky part is to find out the record properties.

int dbrecpropcnt() -- returns number of properties in the current record.  If failed, return -1.

int dbrecproptype(int index) -- returns the property type by using its index.  Windows CE database supports following data types.

#define CEVT_I2 2
#define CEVT_UI2 18
#define CEVT_I4 3
#define CEVT_UI4 19
/*Not Supported */ #define CEVT_FILETIME 64
#define CEVT_LPWSTR 31
/*Not Supported */ #define CEVT_BLOB 65
CEVT_I2
A 16-bit signed integer.
CEVT_I4
A 32-bit signed integer.
CEVT_LPWSTR
A null-terminated string.
CEVT_UI2
A 16-bit unsigned integer.
CEVT_UI4
A 32-bit unsigned integer.

We currently don't support CEVT_FILETIME and CEVT_BLOB.   PocketC users will not be able to access CEVT_FILETIME and CEVT_BLOB properties.   I am working on a solution, and open for suggestions as well.  It is possible to reuse the existing time function to obtain the CEVT_FILETIME.

dbrecpropval(int index) -- returns the property value by using its index.  Possible return type is int and string. 

It seems we almost have everything we needed.  We can find out the property count of the current record,  the property type and value.  When we call dbopen to open a database, it automatically set the current record to the first record in the database.  We need a function that allow us to move current record position.

dbseek(int seektype, int dwValue) -- seek the record depends on the seek type and seek value.  Returns record object id.  If failed, return 0.

#define CEDB_SEEK_CEOID 0x00000001
#define CEDB_SEEK_BEGINNING 0x00000002
#define CEDB_SEEK_END 0x00000004
#define CEDB_SEEK_CURRENT 0x00000008

Again, here is the list of seek type we support at this moment.  

Seek Type Seek Value
CEDB_SEEK_CEOID
Seek until finding an object that has the specified object identifier. The dwValue parameter specifies the object identifier. This type of seek operation is very efficient.
CEDB_SEEK_BEGINNING
Seek until finding the record at the specified position from the beginning of the database. The dwValue parameter specifies the number of records to seek.
CEDB_SEEK_END
Seek backward for the specified number of records from the end of the database. The dwValue parameter specifies the number of records.
CEDB_SEEK_CURRENT
Seek backward or forward from the current position of the seek pointer for the specified number of records. The dwValue parameter specifies the number of records from the current position. The function seeks forward if dwValue is a positive value, or backward if it is negative. A forward seek operation is efficient.

Show me the CODE!

This function dumps the contents of a database.

checkdb(int oid)
{
    int ret;    int cnt; int i; int reccnt; int j;
    putsl("----------------------------------------");
    ret =    dbopen(oid,"");
    if (ret==0)
    {
        putsl(dbname(0) + " open failed");
        return;
    }
    reccnt = dbnrecs(0);
    for (j = 0; j < reccnt; j++)
    {
        cnt = dbrecpropcnt();
        for (i=0; i < cnt; i++)
        {
            puts("("+ dbrecproptype(i) + " " + dbrecpropval(i)+ ")");
        }
        dbseek(8,1);
        putsl("");
    }
    putsl("----------------------------------------");
    ret = dbclose();
}
 
Database Output for a database with name "\Categories Database"
 
\Categories Database        1744     20
----------------------------------------
(2 0)(2 1)(31 Business)(2 0)(2 0)(2 0)
(2 1)(2 1)(31 Competition)(2 0)(2 0)(2 0)
(2 2)(2 1)(31 Favorites)(2 0)(2 0)(2 0)
(2 3)(2 1)(31 Gifts)(2 0)(2 0)(2 0)
(2 4)(2 1)(31 Goals/Objectives)(2 0)(2 0)(2 0)
(2 5)(2 1)(31 Holiday)(2 0)(2 0)(2 0)
(2 6)(2 1)(31 Holiday Cards)(2 0)(2 0)(2 0)
(2 7)(2 1)(31 Hot Contacts)(2 0)(2 0)(2 0)
(2 8)(2 1)(31 Ideas)(2 0)(2 0)(2 0)
(2 9)(2 1)(31 International)(2 0)(2 0)(2 0)
(2 10)(2 1)(31 Key Customer)(2 0)(2 0)(2 0)
(2 11)(2 1)(31 Miscellaneous)(2 0)(2 0)(2 0)
(2 12)(2 1)(31 Personal)(2 0)(2 0)(2 0)
(2 13)(2 1)(31 Phone Calls)(2 0)(2 0)(2 0)
(2 14)(2 1)(31 Status)(2 0)(2 0)(2 0)
(2 15)(2 1)(31 Strategies)(2 0)(2 0)(2 0)
(2 16)(2 1)(31 Suppliers)(2 0)(2 0)(2 0)
(2 17)(2 1)(31 Time & Expenses)(2 0)(2 0)(2 0)
(2 18)(2 1)(31 VIP)(2 0)(2 0)(2 0)
(2 19)(2 1)(31 Waiting)(2 0)(2 0)(2 0)
----------------------------------------

Write data to a database


After going through the previous three sections, you should have enough knowledge to browse through any WindowsCE databases. It is time to learn how to write to your own database, or modify the existing databases.

To make learning interesting, we are going to create a stock portfolio database.

Figure 2. A sample stock portfolio. The first column is the index number for each company stock. The second column is the company name, the third is the company's stock symbol and the l:=ast column is how many shares you have.

1001 Intel Corp INTC 60
1002 Net Bank NTBK 300
1003 QWest QWST 50

The name of our sample stock is called "sample stock", and the type for our database is 20000. You can use a different name and different value for the database type. Just remember not to use any existing database names.

Review Section One, you should be able to write following source code which will create and open the database.

Sample source code:

int dboid;
dboid = dbcreate("sample stock",20000);
if (dboid == 0)
{ alert("failed to open database"); return; }
dbopen(dboid,"");

Now we are almost ready to write data to the database.

First of all, we need to learn a few tricks with dbrecwrite function.

dbrecwriteprop(int rec_oid, int prop_type, int prop_id, void prop_value)

int rec_oid : each record in the database has its own object identifier. You can obtain the rec_oid by using dbrecnow(). If rec_oid is 0, a new record will be written.

int prop_type : each property has a property type. The property type can be

CEVT_I2
A 16-bit signed integer.
CEVT_I4
A 32-bit signed integer.
CEVT_LPWSTR
A null-terminated string.
CEVT_UI2
A 16-bit unsigned integer.
CEVT_UI4
A 32-bit unsigned integer.

int prop_id : each property can have its identification. The identification is simply an positive integer value which can be decided by the developer.

void prop_value: depends on the type you supplied in prop_type. If prop_type is CEVT_I4 a 32-bit signed integer, you better have a integer for prop_value.

For example, I want to create a new record with one integer property. The property's ID is 1, and Value is 1000.

Here is the code: int recoid; recoid = dbrecwriteprop(0, CEVT_I4, 1,(int) 1000);

*Remember to put typecast around the property value parameter.

What about one more property for this record? The good thing we saved the record object id for the new record we just created. Now we can use recoid again in the next call to dbrecwriteprop.

The second property is a string, its ID is 2, and Value is "Intel Corp".

recoid = dbrecwriteprop(recoid,CEVT_LPWSTR,2,(string)"Intel Corp");

*One more time, Remember to put typecast around the property value parameter. WinCE database doesnot support Float or Char Property Type. So if you have float or character values, just type cast them into string or int.

Now, Let's say I want to change first property's value to 1001. Sounds difficult? Nah.

recoid = dbrecwriteprop(recoid, CEVT_I4, 1, (int) 1001);

Now the record should look like

1001 Intel Corp

 

Review dbrecwrite(...)

Function dbrecwrite is a pretty useful function.   Let us review what it just did for us. 

  • Create a new record with one property
  • Update property in a record
  • Add property to a record

Since this function can do a many things at once, please be careful when you are using it.  I am going to show you a sample code which write our stock data into one database.

Show me the CODE!

storedb()
{
    int recoid;
    /* line 1 */
    recoid =    dbrecwrite(0,CEVT_I4,1,(int)1001);
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,2,(string) "Intel Corp");
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,3,(string) "INTC");
    recoid =    dbrecwrite(recoid,CEVT_I4,4,(int)60);

    /* line 2 */
    recoid =    dbrecwrite(0,CEVT_I4,1,(int)1002);
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,2,(string) "Net Bank");
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,3,(string) "NTBK");
    recoid =    dbrecwrite(recoid,CEVT_I4,4,(int)300);

    /* line 3 */
    recoid =    dbrecwrite(0,CEVT_I4,1,(int)1003);
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,2,(string) "QWest");
    recoid =     dbrecwrite(recoid,CEVT_LPWSTR,3,(string) "QWST");
    recoid =    dbrecwrite(recoid,CEVT_I4,4,(int)50);
}

Console Output :

----------------------------------------
(3 1003)(31 QWest)(31 QWST)(3 50)
(3 1002)(31 Net Bank)(31 NTBK)(3 300)
(3 1001)(31 Intel Corp)(31 INTC)(3 60)
----------------------------------------

*Note: We created Intel Record first, and it is pushed one lower every time when a new record is written to the database.



Conclusion


Section Five... I hope you are not bored to death right now.   If you made this far, you are capable of writting a simple database browser and you should know following basic concepts:

  • Database is made up by many records
  • Record is made up by many properties
  • Property can be an integer or a string
  • Each item in the database has its own indentification number.   Database has object id, Record has object id and Property has its own id
  • PocketC can only open one database at a time

Before we go any furthor, I strongly suggest you write a small database browser, and create a database with your own data. 

.... < a few hours later > ....

Now, here is a list of additional functions for you do play with.

dbrecdelprop(int recoid, int proptype, int propid); 

parameters:

  • int recoid -- record object id
  • int proptype -- the property you want to delete's type
  • int propid -- the property you want to delete's ID

Description:

  • Delete one property from the record

Return:

  • returns record id if successful.  If function failed, return 0.

dbrecdel(int recoid)

parameters:

  • int recoid -- record object id

Description:

  • Delete one record

Return:

  • 1 indicates success. 0 indicates failure.  The function could fail when you pass into a wrong or invalid record object id

dbrecnow()

Description:

  • Get current record object id.  When you are iterating through the database, you can obtain the current record object id by call dbrecnow.

Return:

  • 0 indicates failure.  The function should return the record object id for the current reading/writing record

dbdelete


dbdelete(int dboid)

parameters:

  • int dboid -- database object id

Description:

  • Delete one database

Return:

  • 1 indicates success. 0 indicates failure.  The function could fail when you pass into a wrong or invalid database object id or another program is using the database at this moment.

Appendix -- PocketC Database API


dbcreate(string dbname, int dbtype)
-- create database with name and type

dbopen(int dboid, string dbname)
-- open database by using database object id or name

dbclose()
-- close database

dbdelete(int dboid)
-- delete database

dbseek(int seektype, int seekvalue)
-- seek database in various ways

dbrecnow()
-- get current record object id

dbrecdelprop(int recoid, int proptype, int propid); 
-- delete property from a record

dbrecdel(int recoid)
-- delete a record

dbrecwrite(int recoid, int proptype, int propid, void propvalue)
-- write one property to the database

dbrecread(int proptype, int propid)
-- read one specific property from the database

dbsize(int dboid)
-- return database size

dbname(int dboid)
-- return database name

dbnrecs(int dboid)
-- return database record numbers

dbenum(int first, int dbtype)
-- enumerate through databases with certain type

dbrecproptype(int index)
-- find out property type

dbrecpropcnt()
-- find out property count

dbrecpropval()
-- find out property value

 


PocketC/CE API

Console
Draw
Event
File
GUI
Math
Registry
Serial
System
Sound
String
Time
Database
Memory
COM
COM FileSystem
InfraRed



Console


puts(string text)
putsl(string text)
gets(string prompt)
clear()


Draw


drawimage(string filename, int x, int y, int w, int h, int sizeratio,int flag)
CaptureBmp(int x,int y, int w, int h, string filepath)
imgload(string filename, int scale ,int max_width,int max_height)
imgunload(int imghandle)
imgtrans(int imghandle, int xpos,int ypos,int red, int green, int blue)
imgstretchblt(int imghandle, int destx,int desty, int destw,int desth, int srcx, int srcy, int srcw,int srch, int rop]
imgbitblt(int imghandle, int destx,int desty, int destw,int desth, int srcx, int srcy, int rop]
keepscreen_on()
keepscreen_off()
screenx()
screeny()
clearg()
text(int x, int y, string str)
line(int x1, int y1, int x2, int y2)
rect(int x1, int y1, int x2, int y2)
roundrect(int x1, int y1, int x2, int y2,int cx,int cy)
circle(int x, int y, int r)
ellipse(int x1, int y1, int x2, int y2)
drawbitmap(string filename,int x,int y)
drawbitblt (string filename,int x,int y,int flag)
setbrushattr(int R, int G, int B)
setpenattr(int style, int width, int R, int G, int B)
setbkcolor(int R, int G, int B)
settextcolor(int R, int G, int B)
setpixelattr(int R, int G, int B)
setpixel(int x,int y)
getpixelR(int x,int y)
getpixelG(int x,int y)
getpixelB(int x,int y)
settextangle(int x)
settextdefault()
setfontattr(string fontname, int italic, int underline,int strikeout, int weight,int width, int height)
textw(string text)
texth[string text)
setbkmode(int iBkMode)
getbkmode()
polygon(int * array, int nCount)
polyline(int * array, int nCount)


Event


eventmsg(int block, pointer msg)
event(int blocking)
postevent(int nEvent)
penx() mousex()
peny() or mousey()
cursorwait(int nState)
menu()
guiid()
key()
timerid()
settimer(int timerid,int timeElapse)
killtimer(int timerid)
waitp()
getc()
flushevent()
keyevent(char vkey,char cScan, int flag, int extra);
getnotify()


File


fileopen(string filepath, int type, int flag)
filemodeget(int filehandle)
filemodeset(int filehandle, int filetype)
fileclose(int filehandle)
fileread(int filehandle,int counter)
filewrite(int filehandle,string data,int counter)
filegetlen(int filehandle)
filesetlen(int filehandle, int newlen)
fileseek(int filehandle,int offset,int from)
fileseekend(int filehandle)
fileflush(int filehandle)
filepos(int filehandle)
MoveFile(string ExistingFileName,string NewFileName);
CreateDirectory(string Dirname),
RemoveDirectory(string Dirname),
DeleteFile(string FileName); ,
GetFileAttr(string filepath),
OpenFileDlg(string FileFilter);
SaveFileDlg(string FileFilter)
writebyte(int handle, int v)
writebytes(int handle, string s)
writechar(int handle, int v)
writechars(int handle, string s)
writeint(int handle, int v)
readint(int handle)
readchar(int handle)
readbyte(int handle)
fileenum(int first, string filename)
filecopy(string ExistingFilePath,string NewFilePath,int bFailIfExists);
filemove(string ExistingFilePath,string NewFilePath,int bFailIfExists);


GUI


createctrl1(string strCtrl, string strName, int nStyle, int nExStyle, int xpos, int ypos, int width, int height, int nID,int parentID)
gethwnd(int windowID)
menu_on()
menu_off()
guisetfocus(int guiid)
guigetfocus()
delgui(int id)
delallgui(int from, int to)
cbxset(int id, int state)
cbxget(int id)
editget(int id)
editset(int id,string str)
lbaddstr(int nID, string str)
lbinsstr(int nID, int nIndex, string str)
lbrstcnt(int nID)
lbdelstr(int nID, int nIndex)
lbgetcnt(int nID)
lbgetcur(int nID)
lbsetcur(int nID, int nIndex)
lbgettxt(int nID, int nIndex)
lbfndstr(int nID, string str)
sendmsg(int nID, int nMsg, anytype wparam, anytype lparam)
createctrl(string strCtrl, string strName, int nStyle, int nExStyle, int xpos, int ypos, int width, int height, int nID)
cbaddstr(int nID, string str)
cbinsstr(int nID, int nIndex, string str)
cbrstcnt(int nID)
cbdelstr(int nID, int nIndex)
cbgetcnt(int nID)
cbgetcur(int nID)
cbsetcur(int nID, int nIndex)
cbgettxt(int nID, int nIndex)
cbfndstr(int nID, int findindex string str)
cbselstr(int nID, int nStart, string str)
menupop(string strmenu)
menuins(int handle, int id_after, int flag, int id_new, string name);
menudel(int handle, int flag, int id)
wndshow(int handle, int flag)
wndmove(int handle, int x, int y, int width, int height)
menupopex(string strmenu, int x, int y)


Math


cos(float x)
sin(float x)
tan(float x)
acos(float x)
asin(float x)
atan(float x)
cosh(float x)
sinh(float x)
tanh(float x)
pow(float x, float y)
sqrt(float x)
log(float x)
log10(float x)
exp(float x)
rand()
random(int n)
floor(float x)
ceil(float x)
abs(floag x)


Registry


regrbin(int root,string keypath,string keyname, string& bin);
regwbin(int root,string keypath,string keyname, string bin);
regwstr(int root,string keypath,string keyname, string sval)
regwint(int root,string keypath,string keyname, int ival)
regrstr(int root,string keypath,string keyname)
regrint(int root,string keypath,string keyname)
regdelkey(int root, string keypath)
regdelval(int root, string keypath)


Serial


seropen(int baud, string settings, int timeout)
seropenex(string comport, int baud, string settings, int timeout)
rawiropen(int baud,string settings,int timeout)
commwait(int handle, int nblock)
commsetmask(int handle,int mask)
commgetmask(int handle)
commesc(int handle, int ext)
commclrbrk(int handle)
commsetbrk(int handle)
commclrerr(int handle, void v)


System


atexit(pointer functionptr)
devicesipinfo()
EnableHardwareKeyboard(int bEnable)
title(string text)
alert(string text)
confirm(string text)
about(string text)
MessageBox(string text,string caption,int icon,int buttons)
graph_on()
graph_off()
showabout()
quit()
runapptime(string path, int month, int day, int hour, int min)
exec(string action, string path, string parameter)
recentdoc(string path)
shortcut(string lnkpath,string filepath)
debugout(string debugstring)
getcurpath()